@masterteam/task-schedule 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/task-schedule",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/task-schedule",
6
6
  "linkDirectory": false,
@@ -10,8 +10,8 @@
10
10
  "@angular/common": "^21.0.3",
11
11
  "@angular/core": "^21.0.3",
12
12
  "@angular/forms": "^21.0.3",
13
- "@syncfusion/ej2-angular-gantt": "^32.2.7",
14
- "@syncfusion/ej2-base": "^32.2.6",
13
+ "@syncfusion/ej2-angular-gantt": "^32.2.9",
14
+ "@syncfusion/ej2-base": "^32.2.9",
15
15
  "@syncfusion/ej2-pdf-export": "^32.2.3",
16
16
  "rxjs": "^7.8.2",
17
17
  "@primeuix/themes": "^2.0.2",
@@ -20,7 +20,7 @@
20
20
  "primeng": "21.0.1",
21
21
  "tailwindcss": "^4.1.17",
22
22
  "tailwindcss-primeui": "^0.6.1",
23
- "@masterteam/components": "^0.0.100",
23
+ "@masterteam/components": "^0.0.101",
24
24
  "@masterteam/icons": "^0.0.13"
25
25
  },
26
26
  "sideEffects": false,
@@ -9,14 +9,27 @@ import * as _masterteam_task_schedule from '@masterteam/task-schedule';
9
9
  type TaskScheduleModelKey = 'default' | 'edit' | 'baseline' | 'criticalPath' | 'resources' | 'unscheduled' | 'phaseGate' | 'custom';
10
10
  type TaskScheduleModelAlias = 'critical-path' | 'criticalpath' | 'critical path' | 'phase-gate' | 'phasegate' | 'phase gate' | 'resource' | 'resource-view' | 'resourceview' | 'unscheduled-task' | 'unscheduled task' | 'scheduling' | 'view' | 'defauilt' | 'custom-view';
11
11
  type TaskScheduleModelType = TaskScheduleModelKey | TaskScheduleModelAlias | string;
12
+ interface TaskScheduleModeOption {
13
+ value: TaskScheduleModelType;
14
+ label?: string;
15
+ }
12
16
  declare function normalizeTaskScheduleModelType(modelType: TaskScheduleModelType): TaskScheduleModelKey;
13
17
  interface TaskScheduleContext {
14
18
  levelId: number | string;
19
+ modelType?: TaskScheduleModelType;
15
20
  schemaId?: number | string;
16
21
  levelDataId?: number | string;
17
22
  customViewId?: number | string;
18
23
  apiBaseUrl?: string;
19
24
  scheduleViewKey?: string;
25
+ dateFormat?: string;
26
+ height?: string;
27
+ modeOptions?: TaskScheduleModeOption[];
28
+ allowEditMode?: boolean;
29
+ allowImport?: boolean;
30
+ allowSetBaseline?: boolean;
31
+ hasTasks?: boolean;
32
+ baselinePending?: boolean;
20
33
  resources?: Array<Record<string, unknown>>;
21
34
  endpoints?: TaskScheduleContextEndpoints;
22
35
  pdfFonts?: TaskSchedulePdfFonts;
@@ -34,14 +47,7 @@ interface TaskSchedulePdfFonts {
34
47
  }
35
48
  interface TaskScheduleContextEndpoints {
36
49
  scheduleTree?: string;
37
- scheduleTreeDefault?: string;
38
- scheduleTreeEdit?: string;
39
- scheduleTreeBaseline?: string;
40
- scheduleTreeCriticalPath?: string;
41
- scheduleTreeResources?: string;
42
- scheduleTreeUnscheduled?: string;
43
50
  scheduleTreePhaseGate?: string;
44
- scheduleTreeCustom?: string;
45
51
  scheduleManagerBase?: string;
46
52
  scheduleViewById?: string;
47
53
  scheduleViewsByLevel?: string;
@@ -220,14 +226,7 @@ declare class TaskSchedule implements OnInit, OnDestroy {
220
226
  private readonly operationSub;
221
227
  private readonly contextAddTask;
222
228
  private readonly customProperties;
223
- readonly modelType: _angular_core.InputSignal<string>;
224
229
  readonly context: _angular_core.InputSignal<TaskScheduleContext | null>;
225
- readonly dateFormat: _angular_core.InputSignal<string>;
226
- readonly height: _angular_core.InputSignal<string>;
227
- readonly langCode: _angular_core.InputSignal<"en" | "ar" | null>;
228
- readonly pdfFontData: _angular_core.InputSignal<string | null>;
229
- readonly pdfRtlFontData: _angular_core.InputSignal<string | null>;
230
- readonly pdfFontSize: _angular_core.InputSignal<number>;
231
230
  readonly toolbarAction: _angular_core.OutputEmitterRef<string>;
232
231
  readonly actionBegin: _angular_core.OutputEmitterRef<any>;
233
232
  readonly actionCompleted: _angular_core.OutputEmitterRef<any>;
@@ -238,6 +237,9 @@ declare class TaskSchedule implements OnInit, OnDestroy {
238
237
  readonly dataSource: _angular_core.WritableSignal<TaskScheduleTask[]>;
239
238
  readonly ganttConfig: _angular_core.WritableSignal<TaskScheduleGanttConfig>;
240
239
  readonly ganttId: string;
240
+ readonly resolvedModelTypeInput: _angular_core.Signal<string>;
241
+ readonly resolvedDateFormat: _angular_core.Signal<string>;
242
+ readonly resolvedHeight: _angular_core.Signal<string>;
241
243
  readonly resolvedModelType: _angular_core.Signal<TaskScheduleModelKey>;
242
244
  readonly resolvedLangCode: _angular_core.Signal<"en" | "ar">;
243
245
  readonly isEditMode: _angular_core.Signal<boolean>;
@@ -306,13 +308,29 @@ declare class TaskSchedule implements OnInit, OnDestroy {
306
308
  private readLegacyHolidays;
307
309
  formatDateValue(value: unknown): string;
308
310
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TaskSchedule, never>;
309
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TaskSchedule, "mt-task-schedule", never, { "modelType": { "alias": "modelType"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "langCode": { "alias": "langCode"; "required": false; "isSignal": true; }; "pdfFontData": { "alias": "pdfFontData"; "required": false; "isSignal": true; }; "pdfRtlFontData": { "alias": "pdfRtlFontData"; "required": false; "isSignal": true; }; "pdfFontSize": { "alias": "pdfFontSize"; "required": false; "isSignal": true; }; }, { "toolbarAction": "toolbarAction"; "actionBegin": "actionBegin"; "actionCompleted": "actionCompleted"; "loaded": "loaded"; "loadError": "loadError"; }, never, never, true, never>;
311
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TaskSchedule, "mt-task-schedule", never, { "context": { "alias": "context"; "required": false; "isSignal": true; }; }, { "toolbarAction": "toolbarAction"; "actionBegin": "actionBegin"; "actionCompleted": "actionCompleted"; "loaded": "loaded"; "loadError": "loadError"; }, never, never, true, never>;
310
312
  }
311
313
 
312
314
  declare const TASK_SCHEDULE_DATA_ADAPTER: InjectionToken<TaskScheduleDataAdapter>;
313
315
  declare class TaskScheduleBackendAdapter implements TaskScheduleDataAdapter {
314
316
  private readonly http;
315
317
  load(modelType: TaskScheduleModelType, context: TaskScheduleContext): Observable<TaskScheduleDataResult>;
318
+ private resolveReadPayload;
319
+ private loadScheduleQueryPayload;
320
+ private loadScheduleUtilityPayload;
321
+ private loadLegacyPhaseGatePayload;
322
+ private composeFetchPayload;
323
+ private resolveFetchRootRecords;
324
+ private toFetchSchemaMap;
325
+ private mapFetchRecords;
326
+ private mapFetchRecord;
327
+ private readFetchCustomProps;
328
+ private mapFetchCustomProperties;
329
+ private mergeFetchCustomProperties;
330
+ private readFetchCellRaw;
331
+ private readFetchCellValue;
332
+ private readFetchCellDisplay;
333
+ private readFetchOrder;
316
334
  createTask(context: TaskScheduleContext, payload: TaskScheduleTaskMutation): Observable<unknown>;
317
335
  updateTask(context: TaskScheduleContext, taskId: number | string, payload: TaskScheduleTaskMutation): Observable<unknown>;
318
336
  deleteTask(context: TaskScheduleContext, taskId: number | string): Observable<unknown>;
@@ -324,6 +342,10 @@ declare class TaskScheduleBackendAdapter implements TaskScheduleDataAdapter {
324
342
  applyImportedTasks(context: TaskScheduleContext, payload: TaskScheduleApplyImportPayload): Observable<unknown>;
325
343
  setBaseline(context: TaskScheduleContext, payload?: Record<string, unknown>): Observable<unknown>;
326
344
  exportTasks(context: TaskScheduleContext): Observable<Blob>;
345
+ private mapRuntimeMutationPayload;
346
+ private mapRuntimeBulkUpdatePayload;
347
+ private mapRuntimeOrderUpdatePayload;
348
+ private resolveRuntimeScheduleItemType;
327
349
  private loadCustomColumns;
328
350
  private resolveTreeRouteTemplate;
329
351
  private buildTreeRouteParams;
@@ -335,6 +357,11 @@ declare class TaskScheduleBackendAdapter implements TaskScheduleDataAdapter {
335
357
  private buildIdempotencyKey;
336
358
  private unwrapResponse;
337
359
  private extractTaskArray;
360
+ private normalizeTaskRows;
361
+ private flattenResourceGroups;
362
+ private attachGroupResource;
363
+ private mergeTaskResources;
364
+ private resolveResourceIdentity;
338
365
  private mapRuntimeTask;
339
366
  private applyModelTransformations;
340
367
  private resolveResources;
@@ -406,7 +433,6 @@ declare class TaskScheduleImportModal {
406
433
  private readonly adapter;
407
434
  readonly visible: _angular_core.InputSignal<boolean>;
408
435
  readonly context: _angular_core.InputSignal<TaskScheduleContext | null>;
409
- readonly langCode: _angular_core.InputSignal<"en" | "ar" | null>;
410
436
  readonly title: _angular_core.InputSignal<string | null>;
411
437
  readonly maxRows: _angular_core.InputSignal<number>;
412
438
  readonly closed: _angular_core.OutputEmitterRef<void>;
@@ -485,27 +511,13 @@ declare class TaskScheduleImportModal {
485
511
  private getErrorMessage;
486
512
  private emitError;
487
513
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TaskScheduleImportModal, never>;
488
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TaskScheduleImportModal, "mt-task-schedule-import-modal", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "langCode": { "alias": "langCode"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "imported": "imported"; "applied": "applied"; "failed": "failed"; }, never, never, true, never>;
514
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TaskScheduleImportModal, "mt-task-schedule-import-modal", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "imported": "imported"; "applied": "applied"; "failed": "failed"; }, never, never, true, never>;
489
515
  }
490
516
 
491
- interface TaskScheduleModeOption {
492
- value: TaskScheduleModelType;
493
- label?: string;
494
- }
495
517
  declare class TaskScheduleShell {
496
518
  private readonly adapter;
497
519
  private readonly queueService;
498
520
  readonly context: _angular_core.InputSignal<TaskScheduleContext | null>;
499
- readonly langCode: _angular_core.InputSignal<"en" | "ar" | null>;
500
- readonly dateFormat: _angular_core.InputSignal<string>;
501
- readonly height: _angular_core.InputSignal<string>;
502
- readonly modelType: _angular_core.InputSignal<string>;
503
- readonly modeOptions: _angular_core.InputSignal<TaskScheduleModeOption[] | null>;
504
- readonly allowEditMode: _angular_core.InputSignal<boolean>;
505
- readonly allowImport: _angular_core.InputSignal<boolean>;
506
- readonly allowSetBaseline: _angular_core.InputSignal<boolean>;
507
- readonly hasTasks: _angular_core.InputSignal<boolean>;
508
- readonly baselinePending: _angular_core.InputSignal<boolean>;
509
521
  readonly modeChanged: _angular_core.OutputEmitterRef<string>;
510
522
  readonly baselineSet: _angular_core.OutputEmitterRef<unknown>;
511
523
  readonly tasksExported: _angular_core.OutputEmitterRef<void>;
@@ -515,6 +527,7 @@ declare class TaskScheduleShell {
515
527
  readonly settingBaseline: _angular_core.WritableSignal<boolean>;
516
528
  readonly exportingTasks: _angular_core.WritableSignal<boolean>;
517
529
  readonly resolvedLangCode: _angular_core.Signal<"en" | "ar">;
530
+ readonly resolvedContext: _angular_core.Signal<TaskScheduleContext | null>;
518
531
  readonly labels: _angular_core.Signal<{
519
532
  mode: string;
520
533
  setBaseline: string;
@@ -550,7 +563,7 @@ declare class TaskScheduleShell {
550
563
  private getErrorMessage;
551
564
  private emitError;
552
565
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TaskScheduleShell, never>;
553
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TaskScheduleShell, "mt-task-schedule-shell", never, { "context": { "alias": "context"; "required": false; "isSignal": true; }; "langCode": { "alias": "langCode"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "modelType": { "alias": "modelType"; "required": false; "isSignal": true; }; "modeOptions": { "alias": "modeOptions"; "required": false; "isSignal": true; }; "allowEditMode": { "alias": "allowEditMode"; "required": false; "isSignal": true; }; "allowImport": { "alias": "allowImport"; "required": false; "isSignal": true; }; "allowSetBaseline": { "alias": "allowSetBaseline"; "required": false; "isSignal": true; }; "hasTasks": { "alias": "hasTasks"; "required": false; "isSignal": true; }; "baselinePending": { "alias": "baselinePending"; "required": false; "isSignal": true; }; }, { "modeChanged": "modeChanged"; "baselineSet": "baselineSet"; "tasksExported": "tasksExported"; "actionError": "actionError"; }, never, never, true, never>;
566
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TaskScheduleShell, "mt-task-schedule-shell", never, { "context": { "alias": "context"; "required": false; "isSignal": true; }; }, { "modeChanged": "modeChanged"; "baselineSet": "baselineSet"; "tasksExported": "tasksExported"; "actionError": "actionError"; }, never, never, true, never>;
554
567
  }
555
568
 
556
569
  declare const TASK_SCHEDULE_DEFAULT_PDF_FONT: string;