@masterteam/work-center 0.0.83 → 0.0.85
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/assets/i18n/ar.json +5 -1
- package/assets/i18n/en.json +5 -1
- package/assets/work-center.css +1 -1
- package/fesm2022/masterteam-work-center-work-center-process-preview-qG9T9HoP.mjs +538 -0
- package/fesm2022/masterteam-work-center-work-center-process-preview-qG9T9HoP.mjs.map +1 -0
- package/fesm2022/masterteam-work-center.mjs +120 -599
- package/fesm2022/masterteam-work-center.mjs.map +1 -1
- package/package.json +5 -5
- package/types/masterteam-work-center.d.ts +54 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/work-center",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.85",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"directory": "../../../dist/masterteam/work-center",
|
|
6
6
|
"linkDirectory": false,
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"tailwindcss": "^4.2.2",
|
|
22
22
|
"tailwindcss-primeui": "^0.6.1",
|
|
23
23
|
"@masterteam/client-components": "^0.0.87",
|
|
24
|
-
"@masterteam/
|
|
25
|
-
"@masterteam/forms": "^0.0.
|
|
24
|
+
"@masterteam/discussion": "^0.0.26",
|
|
25
|
+
"@masterteam/forms": "^0.0.142",
|
|
26
|
+
"@masterteam/components": "^0.0.276",
|
|
26
27
|
"@masterteam/icons": "^0.0.17",
|
|
27
|
-
"@masterteam/structure-builder": "^0.0.
|
|
28
|
-
"@masterteam/discussion": "^0.0.26"
|
|
28
|
+
"@masterteam/structure-builder": "^0.0.63"
|
|
29
29
|
},
|
|
30
30
|
"sideEffects": false,
|
|
31
31
|
"exports": {
|
|
@@ -376,6 +376,7 @@ declare class WorkCenterPage {
|
|
|
376
376
|
align?: "start" | "center" | "end";
|
|
377
377
|
shrink?: boolean;
|
|
378
378
|
filterOnly?: boolean;
|
|
379
|
+
filterable?: boolean;
|
|
379
380
|
exportable?: boolean;
|
|
380
381
|
exportValue?: (row: any) => string | number | boolean | null;
|
|
381
382
|
}[]>;
|
|
@@ -589,8 +590,11 @@ declare const WORK_CENTER_TYPE_COMPONENTS: InjectionToken<Record<string, Type<un
|
|
|
589
590
|
*/
|
|
590
591
|
/**
|
|
591
592
|
* `'removed'` means a row that is in the published snapshot but no longer in the
|
|
592
|
-
* plan. `'unchanged'`
|
|
593
|
-
*
|
|
593
|
+
* plan. `'unchanged'` appears only on a CONVERGENT-CONFLICT row (round 3: both
|
|
594
|
+
* sides were touched and ended with equal values) - it carries no publishable
|
|
595
|
+
* change and is excluded from every publish count, but the approver must still
|
|
596
|
+
* see it in the conflicts section, or the request reports conflicts the view
|
|
597
|
+
* cannot show. A non-conflict `unchanged` row is still dropped.
|
|
594
598
|
*/
|
|
595
599
|
type SchedulePublishState = 'added' | 'changed' | 'removed' | 'unchanged';
|
|
596
600
|
interface SchedulePublishFieldChange {
|
|
@@ -624,6 +628,19 @@ interface SchedulePublishDiffRow {
|
|
|
624
628
|
* list: the whole row is the change.
|
|
625
629
|
*/
|
|
626
630
|
changes?: SchedulePublishFieldChange[] | null;
|
|
631
|
+
/**
|
|
632
|
+
* `'stale'` | `'conflict'` - the server's per-row baseline verdict (round 3,
|
|
633
|
+
* additive). `'conflict'` means the PUBLISHED side also moved on a row this
|
|
634
|
+
* draft edits; such rows lead the comparison in their own section. Absent on
|
|
635
|
+
* an older backend, which renders exactly as before.
|
|
636
|
+
*/
|
|
637
|
+
draftBaselineState?: string | null;
|
|
638
|
+
/**
|
|
639
|
+
* Comma-joined field keys the published side changed on a conflict row -
|
|
640
|
+
* parse with {@link parseSchedulePublishChangedFields}. Additive; absent on
|
|
641
|
+
* older backends.
|
|
642
|
+
*/
|
|
643
|
+
publishedChangedFields?: string | null;
|
|
627
644
|
}
|
|
628
645
|
interface SchedulePublishDiff {
|
|
629
646
|
levelDataId?: number | null;
|
|
@@ -676,8 +693,10 @@ interface SchedulePublishFormLoadResponse {
|
|
|
676
693
|
* group is where the eye stops.
|
|
677
694
|
*/
|
|
678
695
|
declare const SCHEDULE_PUBLISH_GROUP_ORDER: readonly SchedulePublishState[];
|
|
696
|
+
/** Group keys: the publish states plus the leading conflicts section (round 3). */
|
|
697
|
+
type SchedulePublishGroupKey = SchedulePublishState | 'conflict';
|
|
679
698
|
interface SchedulePublishGroup {
|
|
680
|
-
state:
|
|
699
|
+
state: SchedulePublishGroupKey;
|
|
681
700
|
rows: SchedulePublishDiffRow[];
|
|
682
701
|
/** Rows in this group BEFORE the search filter - the badge count stays honest. */
|
|
683
702
|
totalCount: number;
|
|
@@ -688,18 +707,42 @@ interface SchedulePublishSummary {
|
|
|
688
707
|
changedCount: number;
|
|
689
708
|
removedCount: number;
|
|
690
709
|
totalCount: number;
|
|
710
|
+
/** Rows the published plan moved under the draft's own edits. */
|
|
711
|
+
conflictCount: number;
|
|
691
712
|
/** True when there is genuinely nothing to publish (as opposed to never published). */
|
|
692
713
|
isEmpty: boolean;
|
|
714
|
+
/**
|
|
715
|
+
* The comparison has something to show: publishable changes OR conflicts.
|
|
716
|
+
* A diff of only zero-diff conflict rows is publish-empty but must still
|
|
717
|
+
* render its conflicts section - "nothing to publish" would contradict the
|
|
718
|
+
* request the approver is looking at.
|
|
719
|
+
*/
|
|
720
|
+
needsAttention: boolean;
|
|
693
721
|
}
|
|
722
|
+
/** The server's per-row baseline verdict says the published side also moved. */
|
|
723
|
+
declare function isSchedulePublishConflictRow(row: SchedulePublishDiffRow): boolean;
|
|
694
724
|
declare function summarizeSchedulePublish(diff: SchedulePublishDiff | null | undefined): SchedulePublishSummary;
|
|
695
725
|
/**
|
|
696
726
|
* Group the comparison for display, optionally narrowed by a free-text search.
|
|
697
727
|
*
|
|
728
|
+
* CONFLICTS LEAD, as their own section holding every conflicted row (whatever
|
|
729
|
+
* its publish state - including the zero-diff `unchanged` convergences the
|
|
730
|
+
* backend ships solely for this section). The approver has no resolution
|
|
731
|
+
* control - the section is informational: the frozen plan they are approving
|
|
732
|
+
* was captured while the live plan had moved under it. The remaining rows
|
|
733
|
+
* group added → changed → removed exactly as before, with non-conflict
|
|
734
|
+
* `unchanged` rows still dropped.
|
|
735
|
+
*
|
|
698
736
|
* Search matches a row's NAME and its changed FIELD KEYS, so "start" finds every
|
|
699
737
|
* row whose planned start moved even though that text appears nowhere in a name.
|
|
700
738
|
* Empty groups are dropped rather than rendered as empty headers.
|
|
701
739
|
*/
|
|
702
740
|
declare function groupSchedulePublishRows(diff: SchedulePublishDiff | null | undefined, searchText?: string): SchedulePublishGroup[];
|
|
741
|
+
/**
|
|
742
|
+
* The changed-field keys a conflict row ships as one comma-joined string -
|
|
743
|
+
* the same wire shape the schedule read envelope uses.
|
|
744
|
+
*/
|
|
745
|
+
declare function parseSchedulePublishChangedFields(changedFields: string | null | undefined): string[];
|
|
703
746
|
/**
|
|
704
747
|
* Plan order, falling back to the row id.
|
|
705
748
|
*
|
|
@@ -797,6 +840,12 @@ declare class WorkCenterSchedulePublishType implements OnDestroy {
|
|
|
797
840
|
* nothing.
|
|
798
841
|
*/
|
|
799
842
|
protected isExpandable(row: SchedulePublishDiffRow): boolean;
|
|
843
|
+
/**
|
|
844
|
+
* The published-side field keys of a conflict row, as human labels. Rendered
|
|
845
|
+
* as an informational hint — the approver has no per-row resolution control;
|
|
846
|
+
* the frozen plan they decide on was captured as-is.
|
|
847
|
+
*/
|
|
848
|
+
protected publishedMovedFields(row: SchedulePublishDiffRow): string[];
|
|
800
849
|
protected groupBadgeClass(state: string): string;
|
|
801
850
|
protected groupLabel(state: string): string;
|
|
802
851
|
/**
|
|
@@ -1015,5 +1064,5 @@ declare class WorkCenterState {
|
|
|
1015
1064
|
|
|
1016
1065
|
declare const APP_STATES: (typeof WorkCenterState)[];
|
|
1017
1066
|
|
|
1018
|
-
export { APP_STATES, ApplyColumnFilters, ApplyHeaderFilters, ClearAllFilters, EnterArea, HydrateFromContext, LoadRuntime, SCHEDULE_PUBLISH_GROUP_ORDER, SCHEDULE_PUBLISH_OPERATION_KEY, SelectCard, SetGroupBy, SetLookups, SetParams, WORK_CENTER_EMPTY_LABEL, WORK_CENTER_GROUP_NONE, WORK_CENTER_LEVEL_GROUP_FIELD, WORK_CENTER_LEVEL_NAME_KEY, WORK_CENTER_MAX_FILTERS, WORK_CENTER_MAX_PAGE_SIZE, WORK_CENTER_MAX_SORT, WORK_CENTER_QUERY_VERSION, WORK_CENTER_TYPE_COMPONENTS, WorkCenterActionKey, WorkCenterClientFormModal, WorkCenterFacade, WorkCenterItemModal, WorkCenterItemModalRoute, WorkCenterPage, WorkCenterSchedulePublishType, WorkCenterState, decodeWorkCenterRouteContextKey, encodeWorkCenterRouteContextKey, groupSchedulePublishRows, matchesSchedulePublishSearch, readSchedulePublishChanges, schedulePublishRowKey, sortSchedulePublishRows, summarizeSchedulePublish, windowSchedulePublishRows };
|
|
1019
|
-
export type { ApiEnvelope, SchedulePublishDiff, SchedulePublishDiffRow, SchedulePublishFieldChange, SchedulePublishFormLoadResponse, SchedulePublishGroup, SchedulePublishState, SchedulePublishSummary, TranslatableDto, WorkCenterArea, WorkCenterAreaState, WorkCenterBootstrapInputs, WorkCenterClientFormModalData, WorkCenterClientFormModalOptions, WorkCenterColumnsConfig, WorkCenterContext, WorkCenterFilterOperator, WorkCenterFilterRule, WorkCenterHydratePatch, WorkCenterItemActionAfterSuccess, WorkCenterItemActionExecutionResult, WorkCenterItemActionsData, WorkCenterItemBasicInfoData, WorkCenterItemContextKey, WorkCenterItemModalComponentInput, WorkCenterItemModalOptions, WorkCenterLoadReason, WorkCenterLookups, WorkCenterPreviewLevelTarget, WorkCenterRuntimeCard, WorkCenterRuntimeFilterSchema, WorkCenterRuntimeItemAction, WorkCenterRuntimeOperatorOption, WorkCenterRuntimePagination, WorkCenterRuntimeProperty, WorkCenterRuntimeRequest, WorkCenterRuntimeResponseData, WorkCenterRuntimeSelectedCard, WorkCenterRuntimeStatsItem, WorkCenterRuntimeWarningDto, WorkCenterSortRule, WorkCenterStateModel, WorkCenterTypeComponentInputs };
|
|
1067
|
+
export { APP_STATES, ApplyColumnFilters, ApplyHeaderFilters, ClearAllFilters, EnterArea, HydrateFromContext, LoadRuntime, SCHEDULE_PUBLISH_GROUP_ORDER, SCHEDULE_PUBLISH_OPERATION_KEY, SelectCard, SetGroupBy, SetLookups, SetParams, WORK_CENTER_EMPTY_LABEL, WORK_CENTER_GROUP_NONE, WORK_CENTER_LEVEL_GROUP_FIELD, WORK_CENTER_LEVEL_NAME_KEY, WORK_CENTER_MAX_FILTERS, WORK_CENTER_MAX_PAGE_SIZE, WORK_CENTER_MAX_SORT, WORK_CENTER_QUERY_VERSION, WORK_CENTER_TYPE_COMPONENTS, WorkCenterActionKey, WorkCenterClientFormModal, WorkCenterFacade, WorkCenterItemModal, WorkCenterItemModalRoute, WorkCenterPage, WorkCenterSchedulePublishType, WorkCenterState, decodeWorkCenterRouteContextKey, encodeWorkCenterRouteContextKey, groupSchedulePublishRows, isSchedulePublishConflictRow, matchesSchedulePublishSearch, parseSchedulePublishChangedFields, readSchedulePublishChanges, schedulePublishRowKey, sortSchedulePublishRows, summarizeSchedulePublish, windowSchedulePublishRows };
|
|
1068
|
+
export type { ApiEnvelope, SchedulePublishDiff, SchedulePublishDiffRow, SchedulePublishFieldChange, SchedulePublishFormLoadResponse, SchedulePublishGroup, SchedulePublishGroupKey, SchedulePublishState, SchedulePublishSummary, TranslatableDto, WorkCenterArea, WorkCenterAreaState, WorkCenterBootstrapInputs, WorkCenterClientFormModalData, WorkCenterClientFormModalOptions, WorkCenterColumnsConfig, WorkCenterContext, WorkCenterFilterOperator, WorkCenterFilterRule, WorkCenterHydratePatch, WorkCenterItemActionAfterSuccess, WorkCenterItemActionExecutionResult, WorkCenterItemActionsData, WorkCenterItemBasicInfoData, WorkCenterItemContextKey, WorkCenterItemModalComponentInput, WorkCenterItemModalOptions, WorkCenterLoadReason, WorkCenterLookups, WorkCenterPreviewLevelTarget, WorkCenterRuntimeCard, WorkCenterRuntimeFilterSchema, WorkCenterRuntimeItemAction, WorkCenterRuntimeOperatorOption, WorkCenterRuntimePagination, WorkCenterRuntimeProperty, WorkCenterRuntimeRequest, WorkCenterRuntimeResponseData, WorkCenterRuntimeSelectedCard, WorkCenterRuntimeStatsItem, WorkCenterRuntimeWarningDto, WorkCenterSortRule, WorkCenterStateModel, WorkCenterTypeComponentInputs };
|