@masterteam/workspace-builder 0.0.10 → 0.0.12
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 +1 -0
- package/assets/i18n/en.json +1 -0
- package/assets/workspace-builder.css +2 -2
- package/fesm2022/masterteam-workspace-builder.mjs +180 -216
- package/fesm2022/masterteam-workspace-builder.mjs.map +1 -1
- package/package.json +13 -12
- package/types/masterteam-workspace-builder.d.ts +19 -24
package/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/workspace-builder",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"directory": "../../../dist/masterteam/workspace-builder",
|
|
6
6
|
"linkDirectory": false,
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@angular/common": "^21.
|
|
11
|
-
"@angular/core": "^21.
|
|
12
|
-
"@angular/forms": "^21.
|
|
13
|
-
"@angular/cdk": "^21.
|
|
14
|
-
"@primeuix/themes": "^2.0.
|
|
15
|
-
"@tailwindcss/postcss": "^4.
|
|
16
|
-
"@jsverse/transloco": "^8.0
|
|
17
|
-
"postcss": "^8.5.
|
|
18
|
-
"primeng": "21.
|
|
10
|
+
"@angular/common": "^21.2.8",
|
|
11
|
+
"@angular/core": "^21.2.8",
|
|
12
|
+
"@angular/forms": "^21.2.8",
|
|
13
|
+
"@angular/cdk": "^21.2.6",
|
|
14
|
+
"@primeuix/themes": "^2.0.3",
|
|
15
|
+
"@tailwindcss/postcss": "^4.2.2",
|
|
16
|
+
"@jsverse/transloco": "^8.3.0",
|
|
17
|
+
"postcss": "^8.5.9",
|
|
18
|
+
"primeng": "21.1.5",
|
|
19
19
|
"rxjs": "^7.8.2",
|
|
20
|
-
"tailwindcss": "^4.
|
|
20
|
+
"tailwindcss": "^4.2.2",
|
|
21
21
|
"tailwindcss-primeui": "^0.6.1",
|
|
22
22
|
"@ngxs/store": "^20.1.0",
|
|
23
|
-
"@masterteam/components": "^0.0.
|
|
23
|
+
"@masterteam/components": "^0.0.155"
|
|
24
24
|
},
|
|
25
25
|
"sideEffects": false,
|
|
26
26
|
"exports": {
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"module": "fesm2022/masterteam-workspace-builder.mjs",
|
|
42
42
|
"typings": "types/masterteam-workspace-builder.d.ts",
|
|
43
|
+
"type": "module",
|
|
43
44
|
"dependencies": {
|
|
44
45
|
"tslib": "^2.8.1"
|
|
45
46
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { OnDestroy } from '@angular/core';
|
|
3
3
|
import { ToastService } from '@masterteam/components/toast';
|
|
4
|
-
import { MenuItem } from 'primeng/api';
|
|
5
|
-
import { ContextMenu } from 'primeng/contextmenu';
|
|
6
4
|
import * as rxjs from 'rxjs';
|
|
7
5
|
import * as _masterteam_workspace_builder from '@masterteam/workspace-builder';
|
|
8
6
|
import { StateContext } from '@ngxs/store';
|
|
@@ -13,7 +11,7 @@ interface LoadingStateShape<L extends string = string> {
|
|
|
13
11
|
errors: Partial<Record<L, string>>;
|
|
14
12
|
}
|
|
15
13
|
|
|
16
|
-
type WorkspaceArea = '
|
|
14
|
+
type WorkspaceArea = 'tabs';
|
|
17
15
|
type WorkspaceItemType = 'module' | 'group';
|
|
18
16
|
interface LocalizedTitle {
|
|
19
17
|
en: string;
|
|
@@ -41,8 +39,7 @@ interface WorkspaceGroupItem {
|
|
|
41
39
|
type WorkspaceItem = WorkspaceModuleItem | WorkspaceGroupItem;
|
|
42
40
|
interface WorkspaceBuilderLayoutDto {
|
|
43
41
|
levelId: number;
|
|
44
|
-
|
|
45
|
-
more: WorkspaceItem[];
|
|
42
|
+
tabs: WorkspaceItem[];
|
|
46
43
|
}
|
|
47
44
|
interface SaveWorkspaceModuleItemDto {
|
|
48
45
|
id: string;
|
|
@@ -55,12 +52,10 @@ interface SaveWorkspaceItemDto {
|
|
|
55
52
|
modules?: SaveWorkspaceModuleItemDto[];
|
|
56
53
|
}
|
|
57
54
|
interface SaveWorkspaceLayoutDto {
|
|
58
|
-
|
|
59
|
-
more: SaveWorkspaceItemDto[];
|
|
55
|
+
tabs: SaveWorkspaceItemDto[];
|
|
60
56
|
}
|
|
61
57
|
interface CreateWorkspaceGroupDto {
|
|
62
58
|
title: LocalizedTitle;
|
|
63
|
-
area: WorkspaceArea;
|
|
64
59
|
order: number;
|
|
65
60
|
}
|
|
66
61
|
interface CreateWorkspaceGroupResponseDto {
|
|
@@ -68,7 +63,6 @@ interface CreateWorkspaceGroupResponseDto {
|
|
|
68
63
|
}
|
|
69
64
|
interface UpdateWorkspaceGroupDto {
|
|
70
65
|
title?: LocalizedTitle;
|
|
71
|
-
area?: WorkspaceArea;
|
|
72
66
|
order?: number;
|
|
73
67
|
}
|
|
74
68
|
declare enum WorkspaceBuilderActionKey {
|
|
@@ -102,12 +96,14 @@ declare class WorkspaceBuilder implements OnDestroy {
|
|
|
102
96
|
readonly areas: WorkspaceArea[];
|
|
103
97
|
readonly dropScope = "workspace-builder-item";
|
|
104
98
|
readonly loadingSkeletonRows: number[];
|
|
105
|
-
readonly createGroupArea: _angular_core.WritableSignal<WorkspaceArea>;
|
|
106
99
|
readonly isDragging: _angular_core.WritableSignal<boolean>;
|
|
107
100
|
readonly activeDropSlotKey: _angular_core.WritableSignal<string | null>;
|
|
108
101
|
private readonly expandedGroups;
|
|
109
102
|
private readonly dragPayload;
|
|
110
103
|
private dragCleanupTimer;
|
|
104
|
+
private scrollAnimFrame;
|
|
105
|
+
private scrollContainer;
|
|
106
|
+
private scrollDirection;
|
|
111
107
|
private autoSaveInFlight;
|
|
112
108
|
private autoSaveQueued;
|
|
113
109
|
private autoSaveQueuedNotifySuccess;
|
|
@@ -116,16 +112,14 @@ declare class WorkspaceBuilder implements OnDestroy {
|
|
|
116
112
|
private readonly modal;
|
|
117
113
|
private readonly transloco;
|
|
118
114
|
ts: ToastService;
|
|
119
|
-
private readonly addGroupLabel;
|
|
120
115
|
readonly layout: _angular_core.Signal<WorkspaceBuilderLayoutDto>;
|
|
121
116
|
readonly validationErrors: _angular_core.Signal<string[]>;
|
|
122
117
|
readonly isLoadingLayout: _angular_core.Signal<boolean>;
|
|
123
118
|
readonly layoutError: _angular_core.Signal<string | null>;
|
|
124
119
|
readonly isSavingLayout: _angular_core.Signal<boolean>;
|
|
125
|
-
readonly areaContextItems: _angular_core.Signal<MenuItem[]>;
|
|
126
120
|
constructor();
|
|
127
121
|
ngOnDestroy(): void;
|
|
128
|
-
areaItems(
|
|
122
|
+
areaItems(_area: WorkspaceArea): WorkspaceItem[];
|
|
129
123
|
trackItem(item: WorkspaceItem): string;
|
|
130
124
|
isGroupExpanded(groupId: string): boolean;
|
|
131
125
|
toggleGroup(groupId: string): void;
|
|
@@ -144,8 +138,7 @@ declare class WorkspaceBuilder implements OnDestroy {
|
|
|
144
138
|
onNativeAreaDrop(event: DragEvent, area: WorkspaceArea): void;
|
|
145
139
|
onNativeGroupDrop(event: DragEvent, area: WorkspaceArea, groupId: string): void;
|
|
146
140
|
onNativeGroupModuleDrop(event: DragEvent, area: WorkspaceArea, groupId: string, moduleIndex: number): void;
|
|
147
|
-
|
|
148
|
-
openCreateGroupDialog(area: WorkspaceArea): void;
|
|
141
|
+
openCreateGroupDialog(_area?: WorkspaceArea): void;
|
|
149
142
|
startRenameGroup(group: WorkspaceGroupItem): void;
|
|
150
143
|
onSaveClick(): void;
|
|
151
144
|
reloadLayout(): void;
|
|
@@ -159,6 +152,11 @@ declare class WorkspaceBuilder implements OnDestroy {
|
|
|
159
152
|
private getDropPayloadFromTransfer;
|
|
160
153
|
private setDragTransferData;
|
|
161
154
|
private beginDragSession;
|
|
155
|
+
onAreaBodyDragOver(event: DragEvent): void;
|
|
156
|
+
onAreaBodyDragLeave(event: DragEvent): void;
|
|
157
|
+
private updateEdgeScroll;
|
|
158
|
+
private runEdgeScroll;
|
|
159
|
+
private stopEdgeScroll;
|
|
162
160
|
private endDragSession;
|
|
163
161
|
private scheduleDragSessionCleanup;
|
|
164
162
|
private clearDragCleanupTimer;
|
|
@@ -201,10 +199,9 @@ declare class SaveWorkspaceBuilderLayout {
|
|
|
201
199
|
}
|
|
202
200
|
declare class CreateWorkspaceBuilderGroup {
|
|
203
201
|
title: LocalizedTitle;
|
|
204
|
-
area: WorkspaceArea;
|
|
205
202
|
order?: number | undefined;
|
|
206
203
|
static readonly type = "[WorkspaceBuilder] Create Group";
|
|
207
|
-
constructor(title: LocalizedTitle,
|
|
204
|
+
constructor(title: LocalizedTitle, order?: number | undefined);
|
|
208
205
|
}
|
|
209
206
|
declare class RenameWorkspaceBuilderGroup {
|
|
210
207
|
groupId: string;
|
|
@@ -225,8 +222,7 @@ declare class WorkspaceBuilderFacade {
|
|
|
225
222
|
private readonly store;
|
|
226
223
|
readonly levelId: _angular_core.Signal<number | null>;
|
|
227
224
|
readonly layout: _angular_core.Signal<WorkspaceBuilderLayoutDto>;
|
|
228
|
-
readonly
|
|
229
|
-
readonly moreItems: _angular_core.Signal<_masterteam_workspace_builder.WorkspaceItem[]>;
|
|
225
|
+
readonly tabItems: _angular_core.Signal<_masterteam_workspace_builder.WorkspaceItem[]>;
|
|
230
226
|
readonly validationErrors: _angular_core.Signal<string[]>;
|
|
231
227
|
readonly isDirty: _angular_core.Signal<boolean>;
|
|
232
228
|
readonly successMessages: _angular_core.Signal<Partial<Record<WorkspaceBuilderActionKey, string>>>;
|
|
@@ -245,7 +241,7 @@ declare class WorkspaceBuilderFacade {
|
|
|
245
241
|
getLayout(): rxjs.Observable<void>;
|
|
246
242
|
patchLayout(layout: WorkspaceBuilderLayoutDto): rxjs.Observable<void>;
|
|
247
243
|
saveLayout(): rxjs.Observable<void>;
|
|
248
|
-
createGroup(title: LocalizedTitle,
|
|
244
|
+
createGroup(title: LocalizedTitle, order?: number): rxjs.Observable<void>;
|
|
249
245
|
renameGroup(groupId: string, title: LocalizedTitle): rxjs.Observable<void>;
|
|
250
246
|
deleteGroup(groupId: string): rxjs.Observable<void>;
|
|
251
247
|
resetState(): rxjs.Observable<void>;
|
|
@@ -268,20 +264,19 @@ declare class WorkspaceBuilderState extends CrudStateBase<WorkspaceItem, Workspa
|
|
|
268
264
|
private http;
|
|
269
265
|
static getLevelId(state: WorkspaceBuilderStateModel): number | null;
|
|
270
266
|
static getLayout(state: WorkspaceBuilderStateModel): WorkspaceBuilderLayoutDto;
|
|
271
|
-
static
|
|
272
|
-
static getMoreItems(state: WorkspaceBuilderStateModel): WorkspaceItem[];
|
|
267
|
+
static getTabItems(state: WorkspaceBuilderStateModel): WorkspaceItem[];
|
|
273
268
|
static getValidationErrors(state: WorkspaceBuilderStateModel): string[];
|
|
274
269
|
static getIsDirty(state: WorkspaceBuilderStateModel): boolean;
|
|
275
270
|
static getLoadingActive(state: WorkspaceBuilderStateModel): string[];
|
|
276
271
|
static getErrors(state: WorkspaceBuilderStateModel): Record<string, string | null>;
|
|
277
272
|
static getSuccessMessages(state: WorkspaceBuilderStateModel): Partial<Record<WorkspaceBuilderActionKey, string>>;
|
|
278
273
|
setLevelId(ctx: StateContext<WorkspaceBuilderStateModel>, { levelId }: SetWorkspaceBuilderLevelId): void;
|
|
279
|
-
getLayout(ctx: StateContext<WorkspaceBuilderStateModel>): rxjs.Observable<Response<
|
|
274
|
+
getLayout(ctx: StateContext<WorkspaceBuilderStateModel>): rxjs.Observable<Response<any>> | undefined;
|
|
280
275
|
patchLayoutLocally(ctx: StateContext<WorkspaceBuilderStateModel>, { layout }: PatchWorkspaceBuilderLayoutLocally): void;
|
|
281
276
|
saveLayout(ctx: StateContext<WorkspaceBuilderStateModel>): rxjs.Observable<Response<{
|
|
282
277
|
ok: boolean;
|
|
283
278
|
}>> | undefined;
|
|
284
|
-
createGroup(ctx: StateContext<WorkspaceBuilderStateModel>, { title,
|
|
279
|
+
createGroup(ctx: StateContext<WorkspaceBuilderStateModel>, { title, order }: CreateWorkspaceBuilderGroup): rxjs.Observable<Response<CreateWorkspaceGroupResponseDto>> | undefined;
|
|
285
280
|
renameGroup(ctx: StateContext<WorkspaceBuilderStateModel>, { groupId, title }: RenameWorkspaceBuilderGroup): rxjs.Observable<Response<any>> | undefined;
|
|
286
281
|
deleteGroup(ctx: StateContext<WorkspaceBuilderStateModel>, { groupId }: DeleteWorkspaceBuilderGroup): rxjs.Observable<Response<void>> | undefined;
|
|
287
282
|
resetState(ctx: StateContext<WorkspaceBuilderStateModel>): void;
|