goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
79 lines • 3.2 kB
TypeScript
import { default as React } from 'react';
import { ProjectBoardStyles, Comment, CaseUpdate, RawSeverityLevel, RawQueue, RawRegion, RawStatus, RawSubStatus, RawTopic, RawArticle, RawEmployee, RawProduct, RawService, TaskMeeting, NewMeetingData } from '../../types';
export interface InlineShowTaskProps {
taskId: string;
taskTitle: string;
createdBy: string;
description: string;
comments: Comment[];
caseUpdates: CaseUpdate[];
customerAssigned: string;
severity: string;
schedulingQueue: string;
region: string;
status: string;
subStatus: string;
topics: string[];
knowledgebaseArticles: string[];
teamMemberAssigned: string;
nextActionDate: string;
currentUserName: string;
productOrService: 'product' | 'service';
productServiceName: string;
productId: string;
serviceId: string;
onEdit: (updatedData: any) => void;
onDelete: () => void;
onComment: (text: string, taskId: string) => void;
onEditComment: (commentId: string, newText: string) => void;
onBack: () => void;
associatedCompanyId?: string;
associatedCompanyName?: string;
companyInternalNotes?: string;
onUpdateCompanyNotes?: (companyId: string, notes: string) => Promise<void> | void;
associatedCustomerId?: string;
associatedCustomerName?: string;
customerInternalNotes?: string;
onUpdateCustomerNotes?: (customerId: string, notes: string) => Promise<void> | void;
severityOptions: RawSeverityLevel[];
schedulingQueueOptions: RawQueue[];
regionOptions: RawRegion[];
statusOptions: RawStatus[];
subStatusOptions: RawSubStatus[];
topicOptions: RawTopic[];
knowledgebaseArticleOptions: RawArticle[];
teamMemberOptions: RawEmployee[];
/** Raw products - only required for company variant (admin only has services) */
rawProducts?: RawProduct[];
rawServices: RawService[];
/** Company employees (for resolving comment authors in company context) */
employees?: Array<{
_id: string;
firstName: string;
lastName: string;
}>;
/** Administrator users (for resolving comment authors in admin context) */
administrators?: Array<{
_id: string;
firstName: string;
lastName: string;
}>;
styles: ProjectBoardStyles;
meetings: TaskMeeting[];
onScheduleMeeting: (meetingData: NewMeetingData) => Promise<void> | void;
onCancelMeeting: (meetingId: string, reason: string) => Promise<void> | void;
onConfirmMeeting: (meetingId: string) => Promise<void> | void;
onRescheduleMeeting: (meetingId: string, newStartTime: string, newEndTime: string) => Promise<void> | void;
currentDate: Date;
/** Whether this is being viewed by an employee (can accept/decline bookings) or a customer */
variant?: 'employee' | 'customer';
onCaseUpdate?: (taskId: string, caseUpdate: {
updateType: CaseUpdate['updateType'];
description: string;
fieldChanged?: string;
oldValue?: string;
newValue?: string;
}) => Promise<void> | void;
}
export declare const InlineShowTask: React.FC<InlineShowTaskProps>;
//# sourceMappingURL=inline.d.ts.map