ngx-histaff-alpha 6.4.6 → 6.4.7

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.
Files changed (56) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CgpENu_Z.mjs → ngx-histaff-alpha-ai-hint-for-table.component-DdDwSM6u.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CgpENu_Z.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-DdDwSM6u.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-BwT0fNvW.mjs → ngx-histaff-alpha-core-form-design.component-CyFCxOF0.mjs} +5 -5
  4. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-BwT0fNvW.mjs.map → ngx-histaff-alpha-core-form-design.component-CyFCxOF0.mjs.map} +1 -1
  5. package/fesm2022/ngx-histaff-alpha-core-sys-action-edit.component-m1ILcKj5.mjs +14 -0
  6. package/fesm2022/ngx-histaff-alpha-core-sys-action-edit.component-m1ILcKj5.mjs.map +1 -0
  7. package/fesm2022/ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs +211 -0
  8. package/fesm2022/ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs.map +1 -0
  9. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-baBZ5cUE.mjs → ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-baBZ5cUE.mjs.map → ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-Bwdo2YR_.mjs → ngx-histaff-alpha-core-toast-loading.component-D7kdGgFZ.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-Bwdo2YR_.mjs.map → ngx-histaff-alpha-core-toast-loading.component-D7kdGgFZ.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-Cn7p5YAA.mjs → ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs} +2 -2
  14. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-Cn7p5YAA.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-db-settings.component-BemCRZVg.mjs → ngx-histaff-alpha-db-settings.component-BliMPr0A.mjs} +5 -5
  16. package/fesm2022/{ngx-histaff-alpha-db-settings.component-BemCRZVg.mjs.map → ngx-histaff-alpha-db-settings.component-BliMPr0A.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-DQugPvG6.mjs → ngx-histaff-alpha-design-wrapper.component-Ky5KiJ0p.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-DQugPvG6.mjs.map → ngx-histaff-alpha-design-wrapper.component-Ky5KiJ0p.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-dJP8TOCG.mjs → ngx-histaff-alpha-design-wrapper.route-NqkSYCoA.mjs} +5 -5
  20. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-dJP8TOCG.mjs.map → ngx-histaff-alpha-design-wrapper.route-NqkSYCoA.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-form-array-props.component-BD0nlr9q.mjs → ngx-histaff-alpha-form-array-props.component-jsc0BYaH.mjs} +3 -3
  22. package/fesm2022/{ngx-histaff-alpha-form-array-props.component-BD0nlr9q.mjs.map → ngx-histaff-alpha-form-array-props.component-jsc0BYaH.mjs.map} +1 -1
  23. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-x9pUtNDf.mjs → ngx-histaff-alpha-hrm-schema.component-B1G4bcjr.mjs} +2 -2
  24. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-x9pUtNDf.mjs.map → ngx-histaff-alpha-hrm-schema.component-B1G4bcjr.mjs.map} +1 -1
  25. package/fesm2022/{ngx-histaff-alpha-live-form.component-DaQa2HMD.mjs → ngx-histaff-alpha-live-form.component-BEq38Xps.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-live-form.component-DaQa2HMD.mjs.map → ngx-histaff-alpha-live-form.component-BEq38Xps.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-BkmluNfL.mjs → ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs} +115 -48
  28. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs.map +1 -0
  29. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-DWiZCkqY.mjs → ngx-histaff-alpha-simple-chat.component-BajN-snY.mjs} +2 -2
  30. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-DWiZCkqY.mjs.map → ngx-histaff-alpha-simple-chat.component-BajN-snY.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-template-list.component-CtNxC8rS.mjs → ngx-histaff-alpha-template-list.component-BtsN7KE4.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-template-list.component-CtNxC8rS.mjs.map → ngx-histaff-alpha-template-list.component-BtsN7KE4.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-Dd2L5LNv.mjs → ngx-histaff-alpha-tracker-studio.component-B-goIeUx.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-Dd2L5LNv.mjs.map → ngx-histaff-alpha-tracker-studio.component-B-goIeUx.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BqsovEHT.mjs → ngx-histaff-alpha-wf-form-assign.component-Btmiiris.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BqsovEHT.mjs.map → ngx-histaff-alpha-wf-form-assign.component-Btmiiris.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BaI4euBK.mjs → ngx-histaff-alpha-wf-global-config.component-C-xap0Tf.mjs} +2 -2
  38. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BaI4euBK.mjs.map → ngx-histaff-alpha-wf-global-config.component-C-xap0Tf.mjs.map} +1 -1
  39. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-CvvQUEOp.mjs → ngx-histaff-alpha-wf-instance-status.component-DnUwQI1R.mjs} +2 -2
  40. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-CvvQUEOp.mjs.map → ngx-histaff-alpha-wf-instance-status.component-DnUwQI1R.mjs.map} +1 -1
  41. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-D7zhYRrj.mjs → ngx-histaff-alpha-wf-instance-step-react.component-Dng7IbhV.mjs} +3 -3
  42. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-D7zhYRrj.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-Dng7IbhV.mjs.map} +1 -1
  43. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  44. package/lib/app/interfaces/entities/ISysAction.d.ts +3 -0
  45. package/lib/app/libraries/core-button-group-vns/core-button-group-vns/core-button-group-vns.component.d.ts +1 -0
  46. package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -1
  47. package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +1 -1
  48. package/lib/app/root/core-sys-action/core-sys-action-edit/core-sys-action-edit.component.d.ts +5 -0
  49. package/lib/app/root/core-sys-action/core-sys-action.component.d.ts +54 -0
  50. package/lib/app/root/core-sys-action/core-sys-action.routes.d.ts +2 -0
  51. package/lib/app/root/core-sys-action/core-sys-action.service.d.ts +14 -0
  52. package/lib/app/services/action.service.d.ts +1 -0
  53. package/lib/app/services/app-config.service.d.ts +2 -0
  54. package/package.json +2 -2
  55. package/public-api.d.ts +1 -0
  56. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-BkmluNfL.mjs.map +0 -1
@@ -0,0 +1,14 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component } from '@angular/core';
3
+
4
+ class CoreSysActionEditComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CoreSysActionEditComponent, isStandalone: true, selector: "lib-core-sys-action-edit", ngImport: i0, template: "<p>core-sys-action-edit works!</p>\r\n", styles: [""] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionEditComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'lib-core-sys-action-edit', imports: [], template: "<p>core-sys-action-edit works!</p>\r\n" }]
11
+ }] });
12
+
13
+ export { CoreSysActionEditComponent };
14
+ //# sourceMappingURL=ngx-histaff-alpha-core-sys-action-edit.component-m1ILcKj5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-histaff-alpha-core-sys-action-edit.component-m1ILcKj5.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/root/core-sys-action/core-sys-action-edit/core-sys-action-edit.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/root/core-sys-action/core-sys-action-edit/core-sys-action-edit.component.html"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-core-sys-action-edit',\r\n imports: [],\r\n templateUrl: './core-sys-action-edit.component.html',\r\n styleUrl: './core-sys-action-edit.component.scss'\r\n})\r\nexport class CoreSysActionEditComponent {\r\n\r\n}\r\n","<p>core-sys-action-edit works!</p>\r\n"],"names":[],"mappings":";;;MAQa,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,oFCRvC,wCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDOa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,WAC3B,EAAE,EAAA,QAAA,EAAA,wCAAA,EAAA;;;;;"}
@@ -0,0 +1,211 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, inject, Injectable, computed, isDevMode, Component } from '@angular/core';
3
+ import { A as AppService, B as BaseComponent, a as AppConfigService, b as AlertService, M as MultiLanguageService, c as CoreTerminalSpinnerComponent, T as TooltipDirective, d as CorePageHeaderComponent, D as DragReorderDirective, S as StringHtmlPipe, e as TranslatePipe } from './ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs';
4
+ import { BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, map, Subject, buffer, filter, tap, switchMap, catchError, of, finalize, skip } from 'rxjs';
5
+ import * as i1 from '@angular/router';
6
+ import { RouterOutlet } from '@angular/router';
7
+
8
+ class CoreSysActionService {
9
+ constructor() {
10
+ this.$currentAction = signal(null);
11
+ this.$allActions = signal([]);
12
+ this.appService = inject(AppService);
13
+ }
14
+ refreshObservable(searchKey = '', signal = null) {
15
+ const url = `/api/CoreSysAction/ReadAllWithSearch?searchKey=${encodeURIComponent(searchKey)}`;
16
+ return this.appService.get(url, false, signal);
17
+ }
18
+ updateActionOrder(newOrder, signal = null) {
19
+ return this.appService.post('/api/CoreSysAction/UpdateOrder', newOrder, signal);
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionService, providedIn: 'root' }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionService, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: 'root'
28
+ }]
29
+ }], ctorParameters: () => [] });
30
+
31
+ class CoreSysActionComponent extends BaseComponent {
32
+ constructor(router, route, coreSysActionService,
33
+ //public coreFormDesignService: CoreFormDesignService,
34
+ appService, alertService, mls) {
35
+ super(mls);
36
+ this.router = router;
37
+ this.route = route;
38
+ this.coreSysActionService = coreSysActionService;
39
+ this.appService = appService;
40
+ this.alertService = alertService;
41
+ this.mls = mls;
42
+ this.controller = null;
43
+ this.$loading = signal(false);
44
+ this.$sortMode = signal(false);
45
+ this.searchTearm$ = new BehaviorSubject('');
46
+ this.orderChanges$ = new BehaviorSubject([]);
47
+ this.tabHeaderChanges$ = new BehaviorSubject('Drafts');
48
+ this.actionDeletedFlag$ = new BehaviorSubject(false);
49
+ this.workflowPublishedFlag$ = new BehaviorSubject(false);
50
+ this.activeAction$ = new BehaviorSubject(undefined);
51
+ this.$activeAction = signal(undefined);
52
+ this.appConfigService = inject(AppConfigService);
53
+ this.$headerCreateLessActions = computed(() => this.coreSysActionService.$allActions().filter(a => a.code !== 'HEADER_CREATE'));
54
+ this.mergedState$ = combineLatest([
55
+ this.searchTearm$,
56
+ //this.orderChanges$,
57
+ this.tabHeaderChanges$,
58
+ this.actionDeletedFlag$,
59
+ this.workflowPublishedFlag$
60
+ ]).pipe(debounceTime(300), distinctUntilChanged(([s1, t1, d1, p1], [s2, t2, d2, p2]) => s1 === s2 &&
61
+ //JSON.stringify(o1) === JSON.stringify(o2) &&
62
+ t1 === t2 &&
63
+ d1 === d2 &&
64
+ p1 === p2), map(([searchTerm, /*orderChanges,*/ tabHeader, deletedFlag, publishedFlag]) => ({
65
+ searchTerm,
66
+ //orderChanges,
67
+ tabHeader,
68
+ deletedFlag,
69
+ publishedFlag
70
+ })));
71
+ this.isDevMode = isDevMode();
72
+ this.pointerdown$ = new Subject();
73
+ this.doublePointDown = this.pointerdown$.pipe(buffer(this.pointerdown$.pipe(debounceTime(500))), filter(clicks => clicks.length >= 2)).subscribe(() => {
74
+ if (!!this.$activeAction() && !!this.$activeAction()?.id) {
75
+ this.router.navigate([
76
+ {
77
+ outlets: {
78
+ coreSysActionAux: [
79
+ btoa(this.$activeAction().id.toString()),
80
+ {},
81
+ ],
82
+ },
83
+ },
84
+ ], { relativeTo: this.route });
85
+ }
86
+ });
87
+ }
88
+ onSearchChange(event) {
89
+ this.searchTearm$.next(event.target.value);
90
+ }
91
+ createWorkflowGroup() {
92
+ this.router.navigate([{ outlets: { workflowAux: ['workflow-group-edit', btoa('0')] } }], { relativeTo: this.route.parent });
93
+ }
94
+ createSysAction() {
95
+ this.router.navigate([0], { relativeTo: this.route.parent });
96
+ }
97
+ togglerSortMode() {
98
+ this.$sortMode.set(!this.$sortMode());
99
+ }
100
+ onListReorderUpdate(orderSet) {
101
+ // Normalize ID to numbers
102
+ const orderMap = new Map(orderSet.map(x => [Number(x.id), x.orderNum]));
103
+ // Get current state
104
+ const currentActions = this.coreSysActionService.$allActions();
105
+ // Rebuild reordered state
106
+ const reordered = currentActions
107
+ .map(group => ({
108
+ ...group,
109
+ orderNum: orderMap.get(group.id) ?? group.orderNum
110
+ }))
111
+ .sort((a, b) => (a.orderNum ?? 9999) - (b.orderNum ?? 9999));
112
+ // Debug output
113
+ //console.log("🌀 Reordered Groups:", reordered);
114
+ // Commit to signal/store
115
+ this.coreSysActionService.$allActions.set(reordered);
116
+ // Confirm state consistency
117
+ //console.log("✅ New State:", this.coreSysActionService.$allActions());
118
+ // Optional: Trigger backend sync
119
+ this.orderChanges$.next(reordered);
120
+ }
121
+ ngAfterViewInit() {
122
+ requestAnimationFrame(() => {
123
+ this.subscriptions.push(this.mergedState$.pipe(tap(() => this.$loading.set(true)), debounceTime(500), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), switchMap(x => {
124
+ // 🧹 Cancel previous request if still running
125
+ if (this.controller)
126
+ this.controller.abort();
127
+ // 🧩 Create a new controller for this request
128
+ this.controller = new AbortController();
129
+ // 🔹 Pass the signal to your service
130
+ return this.coreSysActionService.refreshObservable(x.searchTerm, this.controller.signal).pipe(
131
+ // Always catch inside switchMap so the stream doesn’t die
132
+ catchError(err => {
133
+ console.error('🚨 Backend fetch failed:', err);
134
+ return of({
135
+ ok: true,
136
+ status: 200,
137
+ body: {
138
+ statusCode: 400,
139
+ messageCode: 'REQUEST_CANCELLED',
140
+ errorType: 1,
141
+ innerBody: null
142
+ }
143
+ });
144
+ }));
145
+ }), finalize(() => {
146
+ this.$loading.set(false);
147
+ if (this.controller) {
148
+ this.controller.abort();
149
+ this.controller = null;
150
+ }
151
+ }))
152
+ .subscribe(x => {
153
+ this.$loading.set(false);
154
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
155
+ const actions = x.body.innerBody
156
+ .map(g => ({ ...g, orderNum: g.orderNum ?? 9999 }))
157
+ .sort((a, b) => a.orderNum - b.orderNum);
158
+ this.coreSysActionService.$allActions.set(actions);
159
+ }
160
+ else {
161
+ console.warn('⚠️ SysAction/ReadAll returned non-200 statusCode', x.body);
162
+ }
163
+ }));
164
+ this.subscriptions.push(this.orderChanges$
165
+ .pipe(skip(1), debounceTime(800), // wait 800ms after last change
166
+ distinctUntilChanged((a, b) => JSON.stringify(a.map(x => ({ id: x.id, orderNum: x.orderNum }))) ===
167
+ JSON.stringify(b.map(x => ({ id: x.id, orderNum: x.orderNum })))), switchMap(newOrder => {
168
+ if (this.controller)
169
+ this.controller.abort();
170
+ return this.coreSysActionService.updateActionOrder(newOrder, this.controller?.signal);
171
+ }), catchError(err => {
172
+ console.error('🚨 Backend update failed:', err);
173
+ return of({ ok: false, status: 500, body: { statusCode: 500 } });
174
+ }), finalize(() => {
175
+ if (this.controller)
176
+ this.controller = null;
177
+ }))
178
+ .subscribe(x => {
179
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
180
+ // no need to send any UI alert
181
+ }
182
+ }));
183
+ });
184
+ }
185
+ onPointerdown(action) {
186
+ this.$activeAction.set(action);
187
+ const uuid = crypto.randomUUID();
188
+ this.pointerdown$.next(uuid);
189
+ }
190
+ ngOnDestroy() {
191
+ this.subscriptions.forEach(x => x?.unsubscribe());
192
+ this.doublePointDown.unsubscribe();
193
+ }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: CoreSysActionService }, { token: AppService }, { token: AlertService }, { token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreSysActionComponent, isStandalone: true, selector: "core-sys-action", usesInheritance: true, ngImport: i0, template: "<div class=\"core-sys-action-list-container\">\r\n\r\n <core-page-header title=\"Action List\" [hideButtonGroup]=\"true\"></core-page-header>\r\n\r\n <div class=\"container-fluid\">\r\n\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"ActionList_operations d-flex d-flex-between\">\r\n <div class=\"ActionList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\"\r\n (input)=\"onSearchChange($event)\">\r\n </div>\r\n <div class=\"ActionList_operationsRight\">\r\n @if ($loading()) {\r\n <core-terminal-spinner />\r\n }\r\n <!-- <button class=\"btn btn-secondary\" (click)=\"createSysAction()\"\r\n [class.d-none]=\"$sortMode()\">Create Action</button> -->\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' :\r\n 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"action-list p-relative\">\r\n\r\n @for (action of $headerCreateLessActions(); track action.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <!-- SORT MODE: only show code + drag handle -->\r\n <div class=\"SysAction card sort-mode\" [attr.data-id]=\"action.id\" dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\">\r\n\r\n <div class=\"sysaction-grid\">\r\n\r\n <!-- Col 1: iconSvg -->\r\n <div class=\"sysaction-col icon-col\" [innerHTML]=\"(action.iconSvg ?? '') | stringHtml\"\r\n [style.width]=\"'24px'\" [style.height]=\"'24px'\">\r\n </div>\r\n\r\n <!-- Col 2: code -->\r\n <div class=\"sysaction-col code-col\" [appTooltip]=\"action?.code\">\r\n {{ action?.code }}\r\n </div>\r\n\r\n <!-- Col 3: nameVn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameVn\">\r\n {{ action?.nameVn }}\r\n </div>\r\n\r\n <!-- Col 4: nameEn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameEn\">\r\n {{ action?.nameEn }}\r\n </div>\r\n\r\n <!-- Col 5: operations -->\r\n <div class=\"sysaction-col op-col d-flex d-flex-end\">\r\n\r\n <div class=\"SysAction_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n } @else {\r\n\r\n <!-- NORMAL MODE: full 4 columns -->\r\n <div class=\"SysAction card\">\r\n <div class=\"sysaction-grid\">\r\n\r\n <!-- Col 1: iconSvg -->\r\n <div class=\"sysaction-col icon-col\" [innerHTML]=\"(action.iconSvg ?? '') | stringHtml\"\r\n [style.width]=\"'24px'\" [style.height]=\"'24px'\">\r\n </div>\r\n\r\n <!-- Col 2: code -->\r\n <div class=\"sysaction-col code-col\" [appTooltip]=\"action?.code\">\r\n {{ action?.code }}\r\n </div>\r\n\r\n <!-- Col 3: nameVn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameVn\">\r\n {{ action?.nameVn }}\r\n </div>\r\n\r\n <!-- Col 4: nameEn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameEn\">\r\n {{ action?.nameEn }}\r\n </div>\r\n\r\n <!-- Col 5: operations -->\r\n <div class=\"sysaction-col op-col d-flex d-flex-end\">\r\n\r\n <!-- <div class=\"SysAction_itemEdit pointer\" [appTooltip]=\"'Edit'\" [showAnyway]=\"true\">\r\n <i class=\"feather-edit\"></i>\r\n </div>\r\n\r\n <div class=\"SysAction_itemEditI18n pointer\" [appTooltip]=\"'Multi-language integration'\"\r\n [showAnyway]=\"true\">\r\n <i class=\"feather-globe\"></i>\r\n </div> -->\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".core-sys-action-list-container .container-fluid{max-width:800px}.core-sys-action-list-container .row>*{padding:0}.core-sys-action-list-container .ActionList_operations .ActionList_operationsLeft{width:50%}.core-sys-action-list-container .ActionList_operations .ActionList_operationsLeft input{width:100%}.core-sys-action-list-container .ActionList_operations .ActionList_operationsRight button{margin-left:12px;border-radius:0}.core-sys-action-list-container :root{--md-primary: #6750a4;--md-surface: #ffffff;--md-outline: #d0d0d0;--md-radius: 12px;--md-elev-1: 0 1px 2px rgba(0, 0, 0, .08);--md-elev-2: 0 3px 6px rgba(0, 0, 0, .12)}.core-sys-action-list-container .SysAction.card{background:var(--md-surface);border-radius:var(--md-radius);border:1px solid #ececec;padding:14px 18px;margin-bottom:12px;box-shadow:var(--md-elev-1);transition:box-shadow .2s ease}.core-sys-action-list-container .SysAction.card:hover{box-shadow:var(--md-elev-2)}.core-sys-action-list-container .sysaction-grid{display:grid;grid-template-columns:50px 2fr 1fr 1fr 50px;align-items:center;gap:12px}.core-sys-action-list-container .icon-col{display:flex;align-items:center;justify-content:center}.core-sys-action-list-container .icon-col svg{width:22px;height:22px;stroke:currentColor;color:#5f5f5f}.core-sys-action-list-container .code-col{font-size:15px;font-weight:600;color:#222}.core-sys-action-list-container .name-col{font-size:15px;font-weight:500;color:#444;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}.core-sys-action-list-container .op-col{display:flex;justify-content:flex-end;align-items:center;gap:14px}.core-sys-action-list-container .op-col i{font-size:18px;opacity:.75;transition:color .2s ease,opacity .2s ease}.core-sys-action-list-container .op-col i:hover{opacity:1;color:var(--md-primary)}.core-sys-action-list-container .SysAction.card.sort-mode{cursor:grab;background:#faf7ff;border:1px dashed var(--md-primary);opacity:.95}.core-sys-action-list-container .for-dragging i{cursor:grab}\n"], dependencies: [{ kind: "component", type: CoreTerminalSpinnerComponent, selector: "core-terminal-spinner" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup", "htmlTooltipRef"], outputs: ["buttonClick"] }, { kind: "directive", type: DragReorderDirective, selector: "[dragReorder]", inputs: ["item"], outputs: ["updateList"] }, { kind: "pipe", type: StringHtmlPipe, name: "stringHtml" }] }); }
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreSysActionComponent, decorators: [{
198
+ type: Component,
199
+ args: [{ selector: 'core-sys-action', imports: [
200
+ CoreTerminalSpinnerComponent,
201
+ RouterOutlet,
202
+ TooltipDirective,
203
+ CorePageHeaderComponent,
204
+ DragReorderDirective,
205
+ TranslatePipe,
206
+ StringHtmlPipe
207
+ ], template: "<div class=\"core-sys-action-list-container\">\r\n\r\n <core-page-header title=\"Action List\" [hideButtonGroup]=\"true\"></core-page-header>\r\n\r\n <div class=\"container-fluid\">\r\n\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"ActionList_operations d-flex d-flex-between\">\r\n <div class=\"ActionList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\"\r\n (input)=\"onSearchChange($event)\">\r\n </div>\r\n <div class=\"ActionList_operationsRight\">\r\n @if ($loading()) {\r\n <core-terminal-spinner />\r\n }\r\n <!-- <button class=\"btn btn-secondary\" (click)=\"createSysAction()\"\r\n [class.d-none]=\"$sortMode()\">Create Action</button> -->\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' :\r\n 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"action-list p-relative\">\r\n\r\n @for (action of $headerCreateLessActions(); track action.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <!-- SORT MODE: only show code + drag handle -->\r\n <div class=\"SysAction card sort-mode\" [attr.data-id]=\"action.id\" dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\">\r\n\r\n <div class=\"sysaction-grid\">\r\n\r\n <!-- Col 1: iconSvg -->\r\n <div class=\"sysaction-col icon-col\" [innerHTML]=\"(action.iconSvg ?? '') | stringHtml\"\r\n [style.width]=\"'24px'\" [style.height]=\"'24px'\">\r\n </div>\r\n\r\n <!-- Col 2: code -->\r\n <div class=\"sysaction-col code-col\" [appTooltip]=\"action?.code\">\r\n {{ action?.code }}\r\n </div>\r\n\r\n <!-- Col 3: nameVn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameVn\">\r\n {{ action?.nameVn }}\r\n </div>\r\n\r\n <!-- Col 4: nameEn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameEn\">\r\n {{ action?.nameEn }}\r\n </div>\r\n\r\n <!-- Col 5: operations -->\r\n <div class=\"sysaction-col op-col d-flex d-flex-end\">\r\n\r\n <div class=\"SysAction_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n } @else {\r\n\r\n <!-- NORMAL MODE: full 4 columns -->\r\n <div class=\"SysAction card\">\r\n <div class=\"sysaction-grid\">\r\n\r\n <!-- Col 1: iconSvg -->\r\n <div class=\"sysaction-col icon-col\" [innerHTML]=\"(action.iconSvg ?? '') | stringHtml\"\r\n [style.width]=\"'24px'\" [style.height]=\"'24px'\">\r\n </div>\r\n\r\n <!-- Col 2: code -->\r\n <div class=\"sysaction-col code-col\" [appTooltip]=\"action?.code\">\r\n {{ action?.code }}\r\n </div>\r\n\r\n <!-- Col 3: nameVn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameVn\">\r\n {{ action?.nameVn }}\r\n </div>\r\n\r\n <!-- Col 4: nameEn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameEn\">\r\n {{ action?.nameEn }}\r\n </div>\r\n\r\n <!-- Col 5: operations -->\r\n <div class=\"sysaction-col op-col d-flex d-flex-end\">\r\n\r\n <!-- <div class=\"SysAction_itemEdit pointer\" [appTooltip]=\"'Edit'\" [showAnyway]=\"true\">\r\n <i class=\"feather-edit\"></i>\r\n </div>\r\n\r\n <div class=\"SysAction_itemEditI18n pointer\" [appTooltip]=\"'Multi-language integration'\"\r\n [showAnyway]=\"true\">\r\n <i class=\"feather-globe\"></i>\r\n </div> -->\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".core-sys-action-list-container .container-fluid{max-width:800px}.core-sys-action-list-container .row>*{padding:0}.core-sys-action-list-container .ActionList_operations .ActionList_operationsLeft{width:50%}.core-sys-action-list-container .ActionList_operations .ActionList_operationsLeft input{width:100%}.core-sys-action-list-container .ActionList_operations .ActionList_operationsRight button{margin-left:12px;border-radius:0}.core-sys-action-list-container :root{--md-primary: #6750a4;--md-surface: #ffffff;--md-outline: #d0d0d0;--md-radius: 12px;--md-elev-1: 0 1px 2px rgba(0, 0, 0, .08);--md-elev-2: 0 3px 6px rgba(0, 0, 0, .12)}.core-sys-action-list-container .SysAction.card{background:var(--md-surface);border-radius:var(--md-radius);border:1px solid #ececec;padding:14px 18px;margin-bottom:12px;box-shadow:var(--md-elev-1);transition:box-shadow .2s ease}.core-sys-action-list-container .SysAction.card:hover{box-shadow:var(--md-elev-2)}.core-sys-action-list-container .sysaction-grid{display:grid;grid-template-columns:50px 2fr 1fr 1fr 50px;align-items:center;gap:12px}.core-sys-action-list-container .icon-col{display:flex;align-items:center;justify-content:center}.core-sys-action-list-container .icon-col svg{width:22px;height:22px;stroke:currentColor;color:#5f5f5f}.core-sys-action-list-container .code-col{font-size:15px;font-weight:600;color:#222}.core-sys-action-list-container .name-col{font-size:15px;font-weight:500;color:#444;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}.core-sys-action-list-container .op-col{display:flex;justify-content:flex-end;align-items:center;gap:14px}.core-sys-action-list-container .op-col i{font-size:18px;opacity:.75;transition:color .2s ease,opacity .2s ease}.core-sys-action-list-container .op-col i:hover{opacity:1;color:var(--md-primary)}.core-sys-action-list-container .SysAction.card.sort-mode{cursor:grab;background:#faf7ff;border:1px dashed var(--md-primary);opacity:.95}.core-sys-action-list-container .for-dragging i{cursor:grab}\n"] }]
208
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: CoreSysActionService }, { type: AppService }, { type: AlertService }, { type: MultiLanguageService }] });
209
+
210
+ export { CoreSysActionComponent };
211
+ //# sourceMappingURL=ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/root/core-sys-action/core-sys-action.service.ts","../../../projects/ngx-histaff-alpha/src/lib/app/root/core-sys-action/core-sys-action.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/root/core-sys-action/core-sys-action.component.html"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\r\nimport { ISysAction } from '../../interfaces/entities/ISysAction';\r\nimport { AppService } from '../../services/app.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CoreSysActionService {\r\n\r\n $currentAction = signal<ISysAction | null>(null);\r\n $allActions = signal<ISysAction[]>([]);\r\n\r\n appService = inject(AppService);\r\n\r\n constructor() { }\r\n\r\n refreshObservable(searchKey: string = '', signal: AbortSignal | null = null): Observable<any> {\r\n const url = `/api/CoreSysAction/ReadAllWithSearch?searchKey=${encodeURIComponent(searchKey)}`;\r\n return this.appService.get(url, false, signal);\r\n }\r\n\r\n updateActionOrder(newOrder: ISysAction[], signal: AbortSignal | null = null): Observable<any> {\r\n return this.appService.post('/api/CoreSysAction/UpdateOrder', newOrder, signal);\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Component, computed, inject, isDevMode, signal } from '@angular/core';\r\nimport { BaseComponent } from '../../libraries/base-component/base/base.component';\r\nimport { BehaviorSubject, buffer, catchError, combineLatest, debounceTime, distinctUntilChanged, filter, finalize, map, of, skip, Subject, Subscription, switchMap, tap } from 'rxjs';\r\nimport { ISysAction } from '../../interfaces/entities/ISysAction';\r\nimport { AppConfigService } from '../../services/app-config.service';\r\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\r\nimport { CoreSysActionService } from './core-sys-action.service';\r\nimport { AppService } from '../../services/app.service';\r\nimport { AlertService } from '../../libraries/alert/alert.service';\r\nimport { MultiLanguageService } from '../../services/multi-language.service';\r\nimport { CoreTerminalSpinnerComponent } from '../../libraries/core-terminal-spinner/core-terminal-spinner.component';\r\nimport { TooltipDirective } from '../../libraries/tooltip/tooltip.directive';\r\nimport { CorePageHeaderComponent } from '../../libraries/core-page-header/core-page-header/core-page-header.component';\r\nimport { DragReorderDirective } from '../../directives/drag-reorder.directive'\r\nimport { TranslatePipe } from '../../app-pipes/translate.pipe';\r\nimport { StringHtmlPipe } from '../../app-pipes/string-html.pipe';\r\n\r\n@Component({\r\n selector: 'core-sys-action',\r\n imports: [\r\n CoreTerminalSpinnerComponent,\r\n RouterOutlet,\r\n TooltipDirective,\r\n CorePageHeaderComponent,\r\n DragReorderDirective,\r\n TranslatePipe,\r\n StringHtmlPipe\r\n ],\r\n templateUrl: './core-sys-action.component.html',\r\n styleUrl: './core-sys-action.component.scss'\r\n})\r\nexport class CoreSysActionComponent extends BaseComponent implements AfterViewInit {\r\n\r\n controller: AbortController | null = null;\r\n\r\n doublePointDown!: Subscription;\r\n\r\n $loading = signal<boolean>(false);\r\n $sortMode = signal<boolean>(false);\r\n\r\n searchTearm$ = new BehaviorSubject<string>('');\r\n orderChanges$ = new BehaviorSubject<ISysAction[]>([]);\r\n tabHeaderChanges$ = new BehaviorSubject<string>('Drafts');\r\n actionDeletedFlag$ = new BehaviorSubject<boolean>(false);\r\n workflowPublishedFlag$ = new BehaviorSubject<boolean>(false);\r\n activeAction$ = new BehaviorSubject<ISysAction[] | undefined>(undefined);\r\n $activeAction = signal<ISysAction | undefined>(undefined);\r\n\r\n appConfigService = inject(AppConfigService);\r\n\r\n $headerCreateLessActions = computed(() => this.coreSysActionService.$allActions().filter(a => a.code !== 'HEADER_CREATE'))\r\n\r\n mergedState$ = combineLatest([\r\n this.searchTearm$,\r\n //this.orderChanges$,\r\n this.tabHeaderChanges$,\r\n this.actionDeletedFlag$,\r\n this.workflowPublishedFlag$\r\n ]).pipe(\r\n debounceTime(300),\r\n distinctUntilChanged(\r\n ([s1, t1, d1, p1], [s2, t2, d2, p2]) =>\r\n s1 === s2 &&\r\n //JSON.stringify(o1) === JSON.stringify(o2) &&\r\n t1 === t2 &&\r\n d1 === d2 &&\r\n p1 === p2\r\n ),\r\n map(([searchTerm, /*orderChanges,*/ tabHeader, deletedFlag, publishedFlag]) => ({\r\n searchTerm,\r\n //orderChanges,\r\n tabHeader,\r\n deletedFlag,\r\n publishedFlag\r\n }))\r\n );\r\n\r\n isDevMode = isDevMode();\r\n\r\n pointerdown$ = new Subject<string>();\r\n\r\n constructor(\r\n public router: Router,\r\n public route: ActivatedRoute,\r\n public coreSysActionService: CoreSysActionService,\r\n //public coreFormDesignService: CoreFormDesignService,\r\n public appService: AppService,\r\n private alertService: AlertService,\r\n public override mls: MultiLanguageService\r\n ) {\r\n super(mls);\r\n\r\n this.doublePointDown = this.pointerdown$.pipe(\r\n buffer(this.pointerdown$.pipe(debounceTime(500))),\r\n filter(clicks => clicks.length >= 2)\r\n ).subscribe(() => {\r\n\r\n if (!!this.$activeAction() && !!this.$activeAction()?.id) {\r\n this.router.navigate(\r\n [\r\n {\r\n outlets: {\r\n coreSysActionAux: [\r\n btoa(this.$activeAction()!.id.toString()),\r\n {},\r\n ],\r\n },\r\n },\r\n ],\r\n { relativeTo: this.route }\r\n );\r\n }\r\n })\r\n\r\n }\r\n\r\n onSearchChange(event: any) {\r\n this.searchTearm$.next(event.target.value);\r\n }\r\n\r\n createWorkflowGroup(): void {\r\n this.router.navigate(\r\n [{ outlets: { workflowAux: ['workflow-group-edit', btoa('0')] } }],\r\n { relativeTo: this.route.parent }\r\n );\r\n }\r\n\r\n createSysAction(): void {\r\n this.router.navigate([0], { relativeTo: this.route.parent })\r\n }\r\n\r\n togglerSortMode(): void {\r\n this.$sortMode.set(!this.$sortMode())\r\n }\r\n\r\n onListReorderUpdate(orderSet: { id: string; orderNum: number }[]): void {\r\n // Normalize ID to numbers\r\n const orderMap = new Map<number, number>(\r\n orderSet.map(x => [Number(x.id), x.orderNum])\r\n );\r\n\r\n // Get current state\r\n const currentActions = this.coreSysActionService.$allActions();\r\n\r\n // Rebuild reordered state\r\n const reordered = currentActions\r\n .map(group => ({\r\n ...group,\r\n orderNum: orderMap.get(group.id) ?? group.orderNum\r\n }))\r\n .sort((a, b) => (a.orderNum ?? 9999) - (b.orderNum ?? 9999));\r\n\r\n // Debug output\r\n //console.log(\"🌀 Reordered Groups:\", reordered);\r\n\r\n // Commit to signal/store\r\n this.coreSysActionService.$allActions.set(reordered);\r\n\r\n // Confirm state consistency\r\n //console.log(\"✅ New State:\", this.coreSysActionService.$allActions());\r\n\r\n // Optional: Trigger backend sync\r\n this.orderChanges$.next(reordered);\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n requestAnimationFrame(() => {\r\n\r\n this.subscriptions.push(\r\n this.mergedState$.pipe(\r\n tap(() => this.$loading.set(true)),\r\n debounceTime(500),\r\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\r\n\r\n switchMap(x => {\r\n // 🧹 Cancel previous request if still running\r\n if (this.controller) this.controller.abort();\r\n\r\n // 🧩 Create a new controller for this request\r\n this.controller = new AbortController();\r\n\r\n // 🔹 Pass the signal to your service\r\n return this.coreSysActionService.refreshObservable(\r\n x.searchTerm,\r\n this.controller.signal\r\n ).pipe(\r\n // Always catch inside switchMap so the stream doesn’t die\r\n catchError(err => {\r\n console.error('🚨 Backend fetch failed:', err);\r\n return of({\r\n ok: true,\r\n status: 200,\r\n body: {\r\n statusCode: 400,\r\n messageCode: 'REQUEST_CANCELLED',\r\n errorType: 1,\r\n innerBody: null\r\n }\r\n });\r\n })\r\n );\r\n }),\r\n\r\n finalize(() => {\r\n this.$loading.set(false);\r\n if (this.controller) {\r\n this.controller.abort();\r\n this.controller = null;\r\n }\r\n })\r\n )\r\n .subscribe(x => {\r\n this.$loading.set(false);\r\n\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const actions = (x.body.innerBody as ISysAction[])\r\n .map(g => ({ ...g, orderNum: g.orderNum ?? 9999 }))\r\n .sort((a, b) => a.orderNum - b.orderNum);\r\n\r\n this.coreSysActionService.$allActions.set(actions);\r\n } else {\r\n console.warn('⚠️ SysAction/ReadAll returned non-200 statusCode', x.body);\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.orderChanges$\r\n .pipe(\r\n skip(1),\r\n debounceTime(800), // wait 800ms after last change\r\n distinctUntilChanged((a, b) =>\r\n JSON.stringify(a.map(x => ({ id: x.id, orderNum: x.orderNum }))) ===\r\n JSON.stringify(b.map(x => ({ id: x.id, orderNum: x.orderNum })))\r\n ),\r\n switchMap(newOrder => {\r\n if (this.controller) this.controller.abort();\r\n return this.coreSysActionService.updateActionOrder(newOrder, this.controller?.signal)\r\n }),\r\n catchError(err => {\r\n console.error('🚨 Backend update failed:', err);\r\n return of({ ok: false, status: 500, body: { statusCode: 500 } });\r\n }),\r\n finalize(() => {\r\n if (this.controller) this.controller = null;\r\n })\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n // no need to send any UI alert \r\n }\r\n })\r\n )\r\n })\r\n }\r\n\r\n onPointerdown(action: ISysAction): void {\r\n this.$activeAction.set(action);\r\n const uuid = crypto.randomUUID()\r\n this.pointerdown$.next(uuid)\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n this.subscriptions.forEach(x => x?.unsubscribe());\r\n this.doublePointDown.unsubscribe();\r\n }\r\n}","<div class=\"core-sys-action-list-container\">\r\n\r\n <core-page-header title=\"Action List\" [hideButtonGroup]=\"true\"></core-page-header>\r\n\r\n <div class=\"container-fluid\">\r\n\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"ActionList_operations d-flex d-flex-between\">\r\n <div class=\"ActionList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\"\r\n (input)=\"onSearchChange($event)\">\r\n </div>\r\n <div class=\"ActionList_operationsRight\">\r\n @if ($loading()) {\r\n <core-terminal-spinner />\r\n }\r\n <!-- <button class=\"btn btn-secondary\" (click)=\"createSysAction()\"\r\n [class.d-none]=\"$sortMode()\">Create Action</button> -->\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' :\r\n 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"action-list p-relative\">\r\n\r\n @for (action of $headerCreateLessActions(); track action.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <!-- SORT MODE: only show code + drag handle -->\r\n <div class=\"SysAction card sort-mode\" [attr.data-id]=\"action.id\" dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\">\r\n\r\n <div class=\"sysaction-grid\">\r\n\r\n <!-- Col 1: iconSvg -->\r\n <div class=\"sysaction-col icon-col\" [innerHTML]=\"(action.iconSvg ?? '') | stringHtml\"\r\n [style.width]=\"'24px'\" [style.height]=\"'24px'\">\r\n </div>\r\n\r\n <!-- Col 2: code -->\r\n <div class=\"sysaction-col code-col\" [appTooltip]=\"action?.code\">\r\n {{ action?.code }}\r\n </div>\r\n\r\n <!-- Col 3: nameVn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameVn\">\r\n {{ action?.nameVn }}\r\n </div>\r\n\r\n <!-- Col 4: nameEn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameEn\">\r\n {{ action?.nameEn }}\r\n </div>\r\n\r\n <!-- Col 5: operations -->\r\n <div class=\"sysaction-col op-col d-flex d-flex-end\">\r\n\r\n <div class=\"SysAction_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n } @else {\r\n\r\n <!-- NORMAL MODE: full 4 columns -->\r\n <div class=\"SysAction card\">\r\n <div class=\"sysaction-grid\">\r\n\r\n <!-- Col 1: iconSvg -->\r\n <div class=\"sysaction-col icon-col\" [innerHTML]=\"(action.iconSvg ?? '') | stringHtml\"\r\n [style.width]=\"'24px'\" [style.height]=\"'24px'\">\r\n </div>\r\n\r\n <!-- Col 2: code -->\r\n <div class=\"sysaction-col code-col\" [appTooltip]=\"action?.code\">\r\n {{ action?.code }}\r\n </div>\r\n\r\n <!-- Col 3: nameVn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameVn\">\r\n {{ action?.nameVn }}\r\n </div>\r\n\r\n <!-- Col 4: nameEn -->\r\n <div class=\"sysaction-col name-col\" [appTooltip]=\"action?.nameEn\">\r\n {{ action?.nameEn }}\r\n </div>\r\n\r\n <!-- Col 5: operations -->\r\n <div class=\"sysaction-col op-col d-flex d-flex-end\">\r\n\r\n <!-- <div class=\"SysAction_itemEdit pointer\" [appTooltip]=\"'Edit'\" [showAnyway]=\"true\">\r\n <i class=\"feather-edit\"></i>\r\n </div>\r\n\r\n <div class=\"SysAction_itemEditI18n pointer\" [appTooltip]=\"'Multi-language integration'\"\r\n [showAnyway]=\"true\">\r\n <i class=\"feather-globe\"></i>\r\n </div> -->\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>"],"names":["i2.CoreSysActionService","i3.AppService","i4.AlertService","i5.MultiLanguageService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component } from '@angular/core';
3
3
  import { Validators } from '@angular/forms';
4
- import { c as BaseEditComponent, d as EnumFormBaseContolType, D as DialogService, A as AppService, e as CorePageEditComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-BkmluNfL.mjs';
4
+ import { h as BaseEditComponent, i as EnumFormBaseContolType, j as DialogService, A as AppService, k as CorePageEditComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs';
5
5
  import { EnumTranslateKey } from 'alpha-global-constants';
6
6
 
7
7
  class CoreTemplateEditorComponent extends BaseEditComponent {
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
162
162
  }], ctorParameters: () => [{ type: DialogService }, { type: AppService }] });
163
163
 
164
164
  export { CoreTemplateEditorComponent };
165
- //# sourceMappingURL=ngx-histaff-alpha-core-template-editor.component-baBZ5cUE.mjs.map
165
+ //# sourceMappingURL=ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-core-template-editor.component-baBZ5cUE.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-doc-gen/core-template-editor/core-template-editor.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-doc-gen/core-template-editor/core-template-editor.component.html"],"sourcesContent":["import { Component } from \"@angular/core\";\r\nimport { FormGroup, Validators } from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { EnumFormBaseContolType } from \"../../../enum/EnumFormBaseContolType\";\r\nimport { EnumTranslateKey } from \"alpha-global-constants\";\r\nimport { BaseEditComponent } from \"../../../libraries/base-edit/base-edit/base-edit.component\";\r\nimport { ICoreFormSection } from \"../../../libraries/core-form/core-form/enum-interfaces\";\r\nimport { ICorePageEditCRUD } from \"../../../libraries/core-page-edit/ICorePageEditCRUD\";\r\nimport { AppService } from \"../../../services/app.service\";\r\nimport { DialogService } from \"../../../services/dialog.service\";\r\nimport { CorePageEditComponent } from \"../../../libraries/core-page-edit/core-page-edit.component\";\r\n\r\n@Component({\r\n selector: 'core-template-editor',\r\n imports: [\r\n CorePageEditComponent,\r\n ],\r\n templateUrl: './core-template-editor.component.html',\r\n styleUrls: ['./core-template-editor.component.scss']\r\n})\r\nexport class CoreTemplateEditorComponent extends BaseEditComponent {\r\n loading: boolean = false;\r\n override entityTable = \"DG_TEMPLATE\";\r\n captionCode: string = 'UI_COMPONENT_TITLE_DG_TEMPLATE_EDIT';\r\n subsctiptions: Subscription[] = [];\r\n crud!: ICorePageEditCRUD;\r\n sections: ICoreFormSection[] =\r\n [\r\n {\r\n rows: [\r\n [\r\n {\r\n flexSize: 12,\r\n label: EnumTranslateKey.UI_ENTITY_FIELD_CAPTION_COMMON_ID,\r\n field: 'id',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n readonly: true,\r\n type: 'string',\r\n hidden: true\r\n }\r\n ],\r\n [\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_NAME',\r\n field: 'name',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n },\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_LOCALE',\r\n field: 'locale',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n },\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_ENGINE',\r\n field: 'engine',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n }\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_CONTENT',\r\n field: 'content',\r\n value: '',\r\n controlType: EnumFormBaseContolType.LIQUID_WYSIWYG,\r\n type: 'string',\r\n liquidOptions: {\r\n fields: ['firstName','lastName','firstActor','dayDetails.0.date']\r\n },\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_VERSION',\r\n field: 'version',\r\n value: null,\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'number',\r\n },\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_IS_DEFAULT',\r\n field: 'isDefault',\r\n value: false,\r\n controlType: EnumFormBaseContolType.CHECKBOX,\r\n type: 'boolean',\r\n }\r\n ]\r\n ]\r\n },\r\n ];\r\n constructor(\r\n public override dialogService: DialogService,\r\n private appService: AppService,\r\n ) {\r\n\r\n super(dialogService);\r\n\r\n this.crud = {\r\n c: '/api/DocGen/Create',\r\n r: '/api/DocGen/GetByStringId',\r\n u: '/api/DocGen/Update',\r\n d: '/api/DocGen/Delete',\r\n };\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n onFormCreated(e: FormGroup): void {\r\n this.form = e;\r\n }\r\n\r\n onFormReinit(e: string): void {\r\n this.formInitStringValue = e;\r\n }\r\n}","@if (!!sections.length) {\r\n<core-page-edit [width]=\"1000\" [captionCode]=\"captionCode\" [sections]=\"sections\" [crud]=\"crud\"\r\n [hasIdOfStringType]=\"true\"\r\n [entityUniqueIndexs]=\"[['name', 'version']]\"\r\n [normalMode]=\"true\" [entityTable]=\"entityTable\" (onFormCreated)=\"onFormCreated($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\"></core-page-edit>\r\n}"],"names":["i1.DialogService","i2.AppService"],"mappings":";;;;;;AAoBM,MAAO,2BAA4B,SAAQ,iBAAiB,CAAA;IAkIhE,WACkB,CAAA,aAA4B,EACpC,UAAsB,EAAA;QAG9B,KAAK,CAAC,aAAa,CAAC;QAJJ,IAAa,CAAA,aAAA,GAAb,aAAa;QACrB,IAAU,CAAA,UAAA,GAAV,UAAU;QAnIpB,IAAO,CAAA,OAAA,GAAY,KAAK;QACf,IAAW,CAAA,WAAA,GAAG,aAAa;QACpC,IAAW,CAAA,WAAA,GAAW,qCAAqC;QAC3D,IAAa,CAAA,aAAA,GAAmB,EAAE;AAElC,QAAA,IAAA,CAAA,QAAQ,GACN;AACE,YAAA;AACE,gBAAA,IAAI,EAAE;AACJ,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;4BACZ,KAAK,EAAE,gBAAgB,CAAC,iCAAiC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,MAAM,EAAE;AACT;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,0CAA0C;AACjD,4BAAA,KAAK,EAAE,MAAM;AACb,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,4CAA4C;AACnD,4BAAA,KAAK,EAAE,QAAQ;AACf,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,4CAA4C;AACnD,4BAAA,KAAK,EAAE,QAAQ;AACf,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,6CAA6C;AACpD,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,cAAc;AAClD,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,aAAa,EAAE;gCACb,MAAM,EAAE,CAAC,WAAW,EAAC,UAAU,EAAC,YAAY,EAAC,mBAAmB;AACjE,6BAAA;AACD,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,6CAA6C;AACpD,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,KAAK,EAAE,IAAI;4BACX,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACD,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,gDAAgD;AACvD,4BAAA,KAAK,EAAE,WAAW;AAClB,4BAAA,KAAK,EAAE,KAAK;4BACZ,WAAW,EAAE,sBAAsB,CAAC,QAAQ;AAC5C,4BAAA,IAAI,EAAE,SAAS;AAChB;AACF;AACF;AACF,aAAA;SACF;QAQD,IAAI,CAAC,IAAI,GAAG;AACV,YAAA,CAAC,EAAE,oBAAoB;AACvB,YAAA,CAAC,EAAE,2BAA2B;AAC9B,YAAA,CAAC,EAAE,oBAAoB;AACvB,YAAA,CAAC,EAAE,oBAAoB;SACxB;;IAIH,QAAQ,GAAA;;AAIR,IAAA,aAAa,CAAC,CAAY,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;AAGf,IAAA,YAAY,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;;8GA3JnB,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBxC,wZAMC,EAAA,MAAA,EAAA,CAAA,sjBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDSG,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kCAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,WAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKZ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACvB,OAAA,EAAA;wBACP,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,wZAAA,EAAA,MAAA,EAAA,CAAA,sjBAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-doc-gen/core-template-editor/core-template-editor.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-doc-gen/core-template-editor/core-template-editor.component.html"],"sourcesContent":["import { Component } from \"@angular/core\";\r\nimport { FormGroup, Validators } from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { EnumFormBaseContolType } from \"../../../enum/EnumFormBaseContolType\";\r\nimport { EnumTranslateKey } from \"alpha-global-constants\";\r\nimport { BaseEditComponent } from \"../../../libraries/base-edit/base-edit/base-edit.component\";\r\nimport { ICoreFormSection } from \"../../../libraries/core-form/core-form/enum-interfaces\";\r\nimport { ICorePageEditCRUD } from \"../../../libraries/core-page-edit/ICorePageEditCRUD\";\r\nimport { AppService } from \"../../../services/app.service\";\r\nimport { DialogService } from \"../../../services/dialog.service\";\r\nimport { CorePageEditComponent } from \"../../../libraries/core-page-edit/core-page-edit.component\";\r\n\r\n@Component({\r\n selector: 'core-template-editor',\r\n imports: [\r\n CorePageEditComponent,\r\n ],\r\n templateUrl: './core-template-editor.component.html',\r\n styleUrls: ['./core-template-editor.component.scss']\r\n})\r\nexport class CoreTemplateEditorComponent extends BaseEditComponent {\r\n loading: boolean = false;\r\n override entityTable = \"DG_TEMPLATE\";\r\n captionCode: string = 'UI_COMPONENT_TITLE_DG_TEMPLATE_EDIT';\r\n subsctiptions: Subscription[] = [];\r\n crud!: ICorePageEditCRUD;\r\n sections: ICoreFormSection[] =\r\n [\r\n {\r\n rows: [\r\n [\r\n {\r\n flexSize: 12,\r\n label: EnumTranslateKey.UI_ENTITY_FIELD_CAPTION_COMMON_ID,\r\n field: 'id',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n readonly: true,\r\n type: 'string',\r\n hidden: true\r\n }\r\n ],\r\n [\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_NAME',\r\n field: 'name',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n },\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_LOCALE',\r\n field: 'locale',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n },\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_ENGINE',\r\n field: 'engine',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n }\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_CONTENT',\r\n field: 'content',\r\n value: '',\r\n controlType: EnumFormBaseContolType.LIQUID_WYSIWYG,\r\n type: 'string',\r\n liquidOptions: {\r\n fields: ['firstName','lastName','firstActor','dayDetails.0.date']\r\n },\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,\r\n },\r\n {\r\n name: 'minLength',\r\n validator: Validators.minLength(1),\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,\r\n },\r\n ]\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_VERSION',\r\n field: 'version',\r\n value: null,\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'number',\r\n },\r\n {\r\n flexSize: 4,\r\n label: 'UI_ENTITY_FIELD_CAPTION_DG_TEMPLATE_IS_DEFAULT',\r\n field: 'isDefault',\r\n value: false,\r\n controlType: EnumFormBaseContolType.CHECKBOX,\r\n type: 'boolean',\r\n }\r\n ]\r\n ]\r\n },\r\n ];\r\n constructor(\r\n public override dialogService: DialogService,\r\n private appService: AppService,\r\n ) {\r\n\r\n super(dialogService);\r\n\r\n this.crud = {\r\n c: '/api/DocGen/Create',\r\n r: '/api/DocGen/GetByStringId',\r\n u: '/api/DocGen/Update',\r\n d: '/api/DocGen/Delete',\r\n };\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n onFormCreated(e: FormGroup): void {\r\n this.form = e;\r\n }\r\n\r\n onFormReinit(e: string): void {\r\n this.formInitStringValue = e;\r\n }\r\n}","@if (!!sections.length) {\r\n<core-page-edit [width]=\"1000\" [captionCode]=\"captionCode\" [sections]=\"sections\" [crud]=\"crud\"\r\n [hasIdOfStringType]=\"true\"\r\n [entityUniqueIndexs]=\"[['name', 'version']]\"\r\n [normalMode]=\"true\" [entityTable]=\"entityTable\" (onFormCreated)=\"onFormCreated($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\"></core-page-edit>\r\n}"],"names":["i1.DialogService","i2.AppService"],"mappings":";;;;;;AAoBM,MAAO,2BAA4B,SAAQ,iBAAiB,CAAA;IAkIhE,WACkB,CAAA,aAA4B,EACpC,UAAsB,EAAA;QAG9B,KAAK,CAAC,aAAa,CAAC;QAJJ,IAAa,CAAA,aAAA,GAAb,aAAa;QACrB,IAAU,CAAA,UAAA,GAAV,UAAU;QAnIpB,IAAO,CAAA,OAAA,GAAY,KAAK;QACf,IAAW,CAAA,WAAA,GAAG,aAAa;QACpC,IAAW,CAAA,WAAA,GAAW,qCAAqC;QAC3D,IAAa,CAAA,aAAA,GAAmB,EAAE;AAElC,QAAA,IAAA,CAAA,QAAQ,GACN;AACE,YAAA;AACE,gBAAA,IAAI,EAAE;AACJ,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;4BACZ,KAAK,EAAE,gBAAgB,CAAC,iCAAiC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,MAAM,EAAE;AACT;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,0CAA0C;AACjD,4BAAA,KAAK,EAAE,MAAM;AACb,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,4CAA4C;AACnD,4BAAA,KAAK,EAAE,QAAQ;AACf,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,4CAA4C;AACnD,4BAAA,KAAK,EAAE,QAAQ;AACf,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,6CAA6C;AACpD,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,cAAc;AAClD,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,aAAa,EAAE;gCACb,MAAM,EAAE,CAAC,WAAW,EAAC,UAAU,EAAC,YAAY,EAAC,mBAAmB;AACjE,6BAAA;AACD,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;oCAC9B,YAAY,EAAE,gBAAgB,CAAC,8BAA8B;AAC9D,iCAAA;AACD,gCAAA;AACE,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,YAAY,EAAE,gBAAgB,CAAC,gCAAgC;AAChE,iCAAA;AACF;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,6CAA6C;AACpD,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,KAAK,EAAE,IAAI;4BACX,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACD,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,gDAAgD;AACvD,4BAAA,KAAK,EAAE,WAAW;AAClB,4BAAA,KAAK,EAAE,KAAK;4BACZ,WAAW,EAAE,sBAAsB,CAAC,QAAQ;AAC5C,4BAAA,IAAI,EAAE,SAAS;AAChB;AACF;AACF;AACF,aAAA;SACF;QAQD,IAAI,CAAC,IAAI,GAAG;AACV,YAAA,CAAC,EAAE,oBAAoB;AACvB,YAAA,CAAC,EAAE,2BAA2B;AAC9B,YAAA,CAAC,EAAE,oBAAoB;AACvB,YAAA,CAAC,EAAE,oBAAoB;SACxB;;IAIH,QAAQ,GAAA;;AAIR,IAAA,aAAa,CAAC,CAAY,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;AAGf,IAAA,YAAY,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;;8GA3JnB,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBxC,wZAMC,EAAA,MAAA,EAAA,CAAA,sjBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDSG,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kCAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,WAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKZ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACvB,OAAA,EAAA;wBACP,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,wZAAA,EAAA,MAAA,EAAA,CAAA,sjBAAA,CAAA,EAAA;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { NgStyle } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { signal, inject, ChangeDetectionStrategy, Component } from '@angular/core';
4
- import { x as DomService } from './ngx-histaff-alpha-ngx-histaff-alpha-BkmluNfL.mjs';
4
+ import { z as DomService } from './ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs';
5
5
  import { trigger, transition, query, style, stagger, animate } from '@angular/animations';
6
6
 
7
7
  class CoreToastLoadingComponent {
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
55
55
  }] });
56
56
 
57
57
  export { CoreToastLoadingComponent as C };
58
- //# sourceMappingURL=ngx-histaff-alpha-core-toast-loading.component-Bwdo2YR_.mjs.map
58
+ //# sourceMappingURL=ngx-histaff-alpha-core-toast-loading.component-D7kdGgFZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-core-toast-loading.component-Bwdo2YR_.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-toast-loading/core-toast-loading.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-toast-loading/core-toast-loading.component.html"],"sourcesContent":["import { NgStyle } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\r\nimport { DomService } from '../services/dom.service';\r\n\r\nimport {\r\n trigger,\r\n transition,\r\n query,\r\n style,\r\n animate,\r\n stagger,\r\n animateChild\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'core-toast-loading',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgStyle\r\n ],\r\n templateUrl: './core-toast-loading.component.html',\r\n styleUrl: './core-toast-loading.component.scss',\r\n animations: [\r\n trigger('alertList', [\r\n transition('* => *', [\r\n query(':enter', [\r\n style({ opacity: 0, transform: 'translateY(-10px)' }),\r\n stagger(100, [\r\n animate('250ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))\r\n ])\r\n ], { optional: true }),\r\n\r\n query(':leave', [\r\n stagger(100, [\r\n animate('200ms ease-in', style({ opacity: 0, transform: 'translateY(-10px)' }))\r\n ])\r\n ], { optional: true })\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class CoreToastLoadingComponent implements AfterViewInit {\r\n $zIndex = signal(1);\r\n domService = inject(DomService);\r\n\r\n ngAfterViewInit(): void {\r\n this.$zIndex.set(this.domService.getMaxZIndex() + 1);\r\n }\r\n\r\n}\r\n","<div class=\"core-toast-loading-container\" [ngStyle]=\"{ zIndex: $zIndex() }\">\r\nLoading...\r\n</div>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-core-toast-loading.component-D7kdGgFZ.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-toast-loading/core-toast-loading.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-toast-loading/core-toast-loading.component.html"],"sourcesContent":["import { NgStyle } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\r\nimport { DomService } from '../services/dom.service';\r\n\r\nimport {\r\n trigger,\r\n transition,\r\n query,\r\n style,\r\n animate,\r\n stagger,\r\n animateChild\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'core-toast-loading',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgStyle\r\n ],\r\n templateUrl: './core-toast-loading.component.html',\r\n styleUrl: './core-toast-loading.component.scss',\r\n animations: [\r\n trigger('alertList', [\r\n transition('* => *', [\r\n query(':enter', [\r\n style({ opacity: 0, transform: 'translateY(-10px)' }),\r\n stagger(100, [\r\n animate('250ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))\r\n ])\r\n ], { optional: true }),\r\n\r\n query(':leave', [\r\n stagger(100, [\r\n animate('200ms ease-in', style({ opacity: 0, transform: 'translateY(-10px)' }))\r\n ])\r\n ], { optional: true })\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class CoreToastLoadingComponent implements AfterViewInit {\r\n $zIndex = signal(1);\r\n domService = inject(DomService);\r\n\r\n ngAfterViewInit(): void {\r\n this.$zIndex.set(this.domService.getMaxZIndex() + 1);\r\n }\r\n\r\n}\r\n","<div class=\"core-toast-loading-container\" [ngStyle]=\"{ zIndex: $zIndex() }\">\r\nLoading...\r\n</div>\r\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { n as CoreWorkflowListComponent, f as CorePageHeaderComponent, o as TooltipDirective, p as DragReorderDirective, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-BkmluNfL.mjs';
3
+ import { r as CoreWorkflowListComponent, d as CorePageHeaderComponent, T as TooltipDirective, D as DragReorderDirective, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs';
4
4
  import { RouterOutlet } from '@angular/router';
5
5
  import { buffer, debounceTime, filter, distinctUntilChanged, switchMap, catchError, of } from 'rxjs';
6
6
 
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
59
59
  }] });
60
60
 
61
61
  export { CoreWorkflowConsumeComponent };
62
- //# sourceMappingURL=ngx-histaff-alpha-core-workflow-consume.component-Cn7p5YAA.mjs.map
62
+ //# sourceMappingURL=ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-core-workflow-consume.component-Cn7p5YAA.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/core-workflow-consume/core-workflow-consume.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/core-workflow-consume/core-workflow-consume.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { CoreWorkflowListComponent } from '../core-workflow-list/core-workflow-list.component'\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { DragReorderDirective } from '../../../directives/drag-reorder.directive';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\r\nimport { BehaviorSubject, buffer, catchError, debounceTime, distinctUntilChanged, filter, of, switchMap } from 'rxjs';\r\nimport { IWfWorkflow } from '../interfaces/IWfWorkflow';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\n\r\n@Component({\r\n selector: 'core-workflow-consume',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n RouterOutlet,\r\n CorePageHeaderComponent,\r\n TooltipDirective,\r\n DragReorderDirective,\r\n FullscreenModalLoaderComponent\r\n ],\r\n templateUrl: './core-workflow-consume.component.html',\r\n styleUrls: [\r\n './core-workflow-consume.component.scss'\r\n ]\r\n})\r\nexport class CoreWorkflowConsumeComponent extends CoreWorkflowListComponent {\r\n\r\n sendRequest(flow: IWfWorkflow): void {\r\n\r\n if (!!flow.afNormalMode) {\r\n // Fullscreen route\r\n this.router.navigate(\r\n ['/root/workflow/workflow-consume', flow.id]\r\n );\r\n } else {\r\n // Modal outlet route\r\n this.router.navigate(\r\n [\r\n '/root/workflow/workflow-consume',\r\n { outlets: { workflowConsume: [flow.id] } }\r\n ]\r\n );\r\n }\r\n\r\n }\r\n\r\n override ngAfterViewInit(): void {\r\n\r\n this.doublePointDown?.unsubscribe();\r\n\r\n requestAnimationFrame(() => {\r\n //this.coreWorkflowService.refresh('/api/WfWorkflowGroup/GetAllAvailableWithWorkflows', '');\r\n\r\n this.subscriptions.push(\r\n this.pointerdown$.pipe(\r\n buffer(this.pointerdown$.pipe(debounceTime(500))),\r\n filter(clicks => clicks.length >= 2)\r\n ).subscribe(() => {\r\n if (!!this.$activeWorkflow()) {\r\n this.sendRequest(this.$activeWorkflow()!)\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.orderChanges$\r\n .pipe(\r\n debounceTime(800), // wait 800ms after last change\r\n distinctUntilChanged((a, b) =>\r\n JSON.stringify(a.map(x => ({ id: x.id, orderNum: x.orderNum }))) ===\r\n JSON.stringify(b.map(x => ({ id: x.id, orderNum: x.orderNum })))\r\n ),\r\n switchMap(newOrder => this.coreWorkflowService.updateGroupOrder(newOrder)),\r\n catchError(err => {\r\n console.error('🚨 Backend update failed:', err);\r\n return of({ ok: false, status: 500, body: { statusCode: 500 } });\r\n })\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n // no need to send any UI alert \r\n }\r\n })\r\n )\r\n\r\n this.subscriptions.push(\r\n this.searchTearm$.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n ).subscribe(searchTerm => {\r\n //this.coreWorkflowService.refresh('/api/WfWorkflowGroup/GetAllAvailableWithWorkflows', searchTerm);\r\n })\r\n )\r\n })\r\n }\r\n\r\n}\r\n","<div class=\"core-workflow-list-container\">\r\n\r\n <core-page-header title=\"Workflow Use\" [hideButtonGroup]=\"true\"></core-page-header>\r\n <div class=\"container-fluid\">\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"WorkflowList_operations d-flex d-flex-between\">\r\n <div class=\"WorkflowList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\"\r\n (input)=\"onSearchChange($event)\"\r\n >\r\n </div>\r\n <div class=\"WorkflowList_operationsRight\">\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' : 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"group-list p-relative\">\r\n\r\n @for (group of coreWorkflowService.$allGroups(); track group.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <div class=\"WorkflowGroup card sort-mode\"\r\n [attr.data-id]=\"group.id\"\r\n dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\"\r\n >\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between pointer\">\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n <div class=\"WorkflowGroup_nameOperations d-flex d-flex-end\">\r\n \r\n <div class=\"WorkflowGroup_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n } @else {\r\n\r\n <div class=\"WorkflowGroup card\">\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between\">\r\n\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n </div>\r\n \r\n \r\n <div class=\"Workflows\">\r\n @for (flow of group.wfWorkflows; track $index) {\r\n <div class=\"Workflow pointer\" (pointerdown)=\"onPointerdown(flow, group)\">\r\n <div class=\"Workflow_code\">\r\n\r\n <span [appTooltip]=\"flow.description\" [position]=\"'above'\" [showAnyway]=\"true\">{{ flow.name\r\n }}</span>\r\n </div>\r\n <div class=\"Workflow_operationsRight\">\r\n <div class=\"pointer\" (click)=\"sendRequest(flow)\"\r\n [appTooltip]=\"'Send request'\">\r\n <i class=\"feather-mail\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <router-outlet name=\"workflowConsume\"></router-outlet>\r\n\r\n @if ($loading()) {\r\n <app-fullscreen-modal-loader/>\r\n }\r\n\r\n</div>"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/core-workflow-consume/core-workflow-consume.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/core-workflow-consume/core-workflow-consume.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { CoreWorkflowListComponent } from '../core-workflow-list/core-workflow-list.component'\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { DragReorderDirective } from '../../../directives/drag-reorder.directive';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\r\nimport { BehaviorSubject, buffer, catchError, debounceTime, distinctUntilChanged, filter, of, switchMap } from 'rxjs';\r\nimport { IWfWorkflow } from '../interfaces/IWfWorkflow';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\n\r\n@Component({\r\n selector: 'core-workflow-consume',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n RouterOutlet,\r\n CorePageHeaderComponent,\r\n TooltipDirective,\r\n DragReorderDirective,\r\n FullscreenModalLoaderComponent\r\n ],\r\n templateUrl: './core-workflow-consume.component.html',\r\n styleUrls: [\r\n './core-workflow-consume.component.scss'\r\n ]\r\n})\r\nexport class CoreWorkflowConsumeComponent extends CoreWorkflowListComponent {\r\n\r\n sendRequest(flow: IWfWorkflow): void {\r\n\r\n if (!!flow.afNormalMode) {\r\n // Fullscreen route\r\n this.router.navigate(\r\n ['/root/workflow/workflow-consume', flow.id]\r\n );\r\n } else {\r\n // Modal outlet route\r\n this.router.navigate(\r\n [\r\n '/root/workflow/workflow-consume',\r\n { outlets: { workflowConsume: [flow.id] } }\r\n ]\r\n );\r\n }\r\n\r\n }\r\n\r\n override ngAfterViewInit(): void {\r\n\r\n this.doublePointDown?.unsubscribe();\r\n\r\n requestAnimationFrame(() => {\r\n //this.coreWorkflowService.refresh('/api/WfWorkflowGroup/GetAllAvailableWithWorkflows', '');\r\n\r\n this.subscriptions.push(\r\n this.pointerdown$.pipe(\r\n buffer(this.pointerdown$.pipe(debounceTime(500))),\r\n filter(clicks => clicks.length >= 2)\r\n ).subscribe(() => {\r\n if (!!this.$activeWorkflow()) {\r\n this.sendRequest(this.$activeWorkflow()!)\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.orderChanges$\r\n .pipe(\r\n debounceTime(800), // wait 800ms after last change\r\n distinctUntilChanged((a, b) =>\r\n JSON.stringify(a.map(x => ({ id: x.id, orderNum: x.orderNum }))) ===\r\n JSON.stringify(b.map(x => ({ id: x.id, orderNum: x.orderNum })))\r\n ),\r\n switchMap(newOrder => this.coreWorkflowService.updateGroupOrder(newOrder)),\r\n catchError(err => {\r\n console.error('🚨 Backend update failed:', err);\r\n return of({ ok: false, status: 500, body: { statusCode: 500 } });\r\n })\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n // no need to send any UI alert \r\n }\r\n })\r\n )\r\n\r\n this.subscriptions.push(\r\n this.searchTearm$.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n ).subscribe(searchTerm => {\r\n //this.coreWorkflowService.refresh('/api/WfWorkflowGroup/GetAllAvailableWithWorkflows', searchTerm);\r\n })\r\n )\r\n })\r\n }\r\n\r\n}\r\n","<div class=\"core-workflow-list-container\">\r\n\r\n <core-page-header title=\"Workflow Use\" [hideButtonGroup]=\"true\"></core-page-header>\r\n <div class=\"container-fluid\">\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"WorkflowList_operations d-flex d-flex-between\">\r\n <div class=\"WorkflowList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\"\r\n (input)=\"onSearchChange($event)\"\r\n >\r\n </div>\r\n <div class=\"WorkflowList_operationsRight\">\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' : 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"group-list p-relative\">\r\n\r\n @for (group of coreWorkflowService.$allGroups(); track group.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <div class=\"WorkflowGroup card sort-mode\"\r\n [attr.data-id]=\"group.id\"\r\n dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\"\r\n >\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between pointer\">\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n <div class=\"WorkflowGroup_nameOperations d-flex d-flex-end\">\r\n \r\n <div class=\"WorkflowGroup_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n } @else {\r\n\r\n <div class=\"WorkflowGroup card\">\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between\">\r\n\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n </div>\r\n \r\n \r\n <div class=\"Workflows\">\r\n @for (flow of group.wfWorkflows; track $index) {\r\n <div class=\"Workflow pointer\" (pointerdown)=\"onPointerdown(flow, group)\">\r\n <div class=\"Workflow_code\">\r\n\r\n <span [appTooltip]=\"flow.description\" [position]=\"'above'\" [showAnyway]=\"true\">{{ flow.name\r\n }}</span>\r\n </div>\r\n <div class=\"Workflow_operationsRight\">\r\n <div class=\"pointer\" (click)=\"sendRequest(flow)\"\r\n [appTooltip]=\"'Send request'\">\r\n <i class=\"feather-mail\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <router-outlet name=\"workflowConsume\"></router-outlet>\r\n\r\n @if ($loading()) {\r\n <app-fullscreen-modal-loader/>\r\n }\r\n\r\n</div>"],"names":[],"mappings":"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"}