@simplysm/angular 14.0.37 → 14.0.39
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/dist/controls/checkbox/sd-checkbox.d.ts +1 -1
- package/dist/controls/checkbox/sd-checkbox.d.ts.map +1 -1
- package/dist/controls/checkbox/sd-checkbox.js +8 -5
- package/dist/controls/checkbox/sd-switch.d.ts +3 -1
- package/dist/controls/checkbox/sd-switch.d.ts.map +1 -1
- package/dist/controls/checkbox/sd-switch.js +11 -5
- package/dist/controls/dropdown/sd-dropdown.js +8 -8
- package/dist/controls/input/{sd-date-range.picker.d.ts → sd-date-range-picker.d.ts} +1 -1
- package/dist/controls/input/{sd-date-range.picker.d.ts.map → sd-date-range-picker.d.ts.map} +1 -1
- package/dist/controls/input/{sd-date-range.picker.js → sd-date-range-picker.js} +1 -1
- package/dist/controls/input/sd-textfield.d.ts.map +1 -1
- package/dist/controls/input/sd-textfield.js +1 -0
- package/dist/core/error-handler/sd-global-error-handler.plugin.d.ts.map +1 -1
- package/dist/core/error-handler/sd-global-error-handler.plugin.js +7 -2
- package/dist/core/modal/sd-activated-modal.provider.d.ts +1 -1
- package/dist/core/modal/sd-activated-modal.provider.d.ts.map +1 -1
- package/dist/core/modal/sd-activated-modal.provider.js +1 -1
- package/dist/core/modal/sd-modal.d.ts +2 -3
- package/dist/core/modal/sd-modal.d.ts.map +1 -1
- package/dist/core/modal/sd-modal.js +9 -10
- package/dist/core/modal/sd-modal.provider.d.ts +0 -1
- package/dist/core/modal/sd-modal.provider.d.ts.map +1 -1
- package/dist/core/modal/sd-modal.provider.js +14 -6
- package/dist/core/routing/sd-navigate-window.provider.d.ts.map +1 -1
- package/dist/core/routing/sd-navigate-window.provider.js +3 -1
- package/dist/core/routing/setupCanDeactivate.js +1 -1
- package/dist/core/selection/useSelectionManager.d.ts.map +1 -1
- package/dist/core/selection/useSelectionManager.js +4 -3
- package/dist/core/setupModelHook.d.ts.map +1 -1
- package/dist/core/setupModelHook.js +18 -1
- package/dist/core/shared-data/sd-shared-data.provider.d.ts.map +1 -1
- package/dist/core/shared-data/sd-shared-data.provider.js +12 -3
- package/dist/data/data-detail/sd-data-detail.base.d.ts +1 -1
- package/dist/data/data-detail/sd-data-detail.base.d.ts.map +1 -1
- package/dist/data/data-detail/sd-data-detail.base.js +24 -19
- package/dist/data/data-sheet/injectDataSheetExcelManager.js +1 -1
- package/dist/data/data-sheet/injectDataSheetModalEditManager.js +1 -1
- package/dist/data/data-sheet/sd-data-sheet.base.d.ts +1 -2
- package/dist/data/data-sheet/sd-data-sheet.base.d.ts.map +1 -1
- package/dist/data/data-sheet/sd-data-sheet.base.js +5 -13
- package/dist/data/getOrmDataEditToastErrorMessage.d.ts +2 -0
- package/dist/data/getOrmDataEditToastErrorMessage.d.ts.map +1 -0
- package/dist/data/getOrmDataEditToastErrorMessage.js +8 -0
- package/dist/data/permission-table/sd-permission-table.d.ts +1 -1
- package/dist/data/permission-table/sd-permission-table.d.ts.map +1 -1
- package/dist/data/permission-table/sd-permission-table.js +6 -5
- package/dist/data/shared-data/sd-shared-data-select.d.ts +1 -0
- package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
- package/dist/data/shared-data/sd-shared-data-select.js +15 -7
- package/dist/data/sheet/injectSheetColumnResizing.d.ts.map +1 -1
- package/dist/data/sheet/injectSheetColumnResizing.js +1 -0
- package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
- package/dist/data/state-preset/sd-state-preset.js +4 -0
- package/dist/features/address/sd-address-search.modal.d.ts +2 -1
- package/dist/features/address/sd-address-search.modal.d.ts.map +1 -1
- package/dist/features/address/sd-address-search.modal.js +69 -23
- package/dist/features/editor/sd-tiptap-editor.d.ts.map +1 -1
- package/dist/features/editor/sd-tiptap-editor.js +3 -1
- package/dist/features/visual/sd-barcode.d.ts.map +1 -1
- package/dist/features/visual/sd-barcode.js +10 -5
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/layout/base-container/sd-base-container.d.ts +1 -0
- package/dist/layout/base-container/sd-base-container.d.ts.map +1 -1
- package/dist/layout/base-container/sd-base-container.js +5 -2
- package/dist/layout/dock/sd-dock.d.ts.map +1 -1
- package/dist/layout/dock/sd-dock.js +1 -0
- package/package.json +8 -7
- package/src/controls/checkbox/sd-checkbox.ts +7 -3
- package/src/controls/checkbox/sd-switch.ts +8 -2
- package/src/controls/dropdown/sd-dropdown.ts +8 -8
- package/src/controls/input/sd-textfield.ts +1 -0
- package/src/core/error-handler/sd-global-error-handler.plugin.ts +6 -2
- package/src/core/modal/sd-activated-modal.provider.ts +1 -1
- package/src/core/modal/sd-modal.provider.ts +13 -7
- package/src/core/modal/sd-modal.ts +6 -6
- package/src/core/routing/sd-navigate-window.provider.ts +3 -1
- package/src/core/routing/setupCanDeactivate.ts +1 -1
- package/src/core/selection/useSelectionManager.ts +5 -3
- package/src/core/setupModelHook.ts +21 -1
- package/src/core/shared-data/sd-shared-data.provider.ts +13 -2
- package/src/data/data-detail/sd-data-detail.base.ts +27 -23
- package/src/data/data-sheet/injectDataSheetExcelManager.ts +1 -1
- package/src/data/data-sheet/injectDataSheetModalEditManager.ts +1 -1
- package/src/data/data-sheet/sd-data-sheet.base.ts +5 -16
- package/src/data/getOrmDataEditToastErrorMessage.ts +10 -0
- package/src/data/permission-table/sd-permission-table.ts +7 -6
- package/src/data/shared-data/sd-shared-data-select.ts +24 -13
- package/src/data/sheet/injectSheetColumnResizing.ts +2 -0
- package/src/data/state-preset/sd-state-preset.ts +6 -0
- package/src/features/address/sd-address-search.modal.ts +75 -31
- package/src/features/editor/sd-tiptap-editor.ts +2 -0
- package/src/features/visual/sd-barcode.ts +9 -5
- package/src/index.ts +4 -1
- package/src/layout/base-container/sd-base-container.ts +4 -1
- package/src/layout/dock/sd-dock.ts +2 -0
- /package/src/controls/input/{sd-date-range.picker.ts → sd-date-range-picker.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-shared-data.provider.d.ts","sourceRoot":"","sources":["../../../src/core/shared-data/sd-shared-data.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIrH,OAAO,uBAAuB,CAAC;;AAE/B,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC1D,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;CACtD;AAED,eAAO,MAAM,uBAAuB;UAC1B,MAAM;YAAU,OAAO;mCAEV,CAAC;
|
|
1
|
+
{"version":3,"file":"sd-shared-data.provider.d.ts","sourceRoot":"","sources":["../../../src/core/shared-data/sd-shared-data.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIrH,OAAO,uBAAuB,CAAC;;AAE/B,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC1D,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;CACtD;AAED,eAAO,MAAM,uBAAuB;UAC1B,MAAM;YAAU,OAAO;mCAEV,CAAC;AAYxB,8BACsB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0C;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAa;IAE1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IAEpE,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAqC/E,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAchE,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EACxC,IAAI,EAAE,CAAC,EACP,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC/B,OAAO,CAAC,IAAI,CAAC;IAcV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,cAAc;YAuCR,QAAQ;yCAzHF,oBAAoB;6CAApB,oBAAoB;CAkKzC"}
|
|
@@ -13,12 +13,13 @@ export class SdSharedDataProvider {
|
|
|
13
13
|
register(name, info) {
|
|
14
14
|
const existing = this._entries.get(name);
|
|
15
15
|
if (existing != null) {
|
|
16
|
-
// 기존 리스너 키 초기화
|
|
16
|
+
// 기존 리스너 키 초기화 + generation 증가로 이전 이벤트 무시
|
|
17
17
|
if (existing.listenerKey != null) {
|
|
18
18
|
const client = this._clientFactory.get(existing.info.serviceKey);
|
|
19
19
|
void client.removeListener(existing.listenerKey);
|
|
20
20
|
existing.listenerKey = undefined;
|
|
21
21
|
}
|
|
22
|
+
existing.generation++;
|
|
22
23
|
existing.info = info;
|
|
23
24
|
existing.needsReload = true;
|
|
24
25
|
}
|
|
@@ -37,6 +38,7 @@ export class SdSharedDataProvider {
|
|
|
37
38
|
info,
|
|
38
39
|
itemsSignal,
|
|
39
40
|
handle,
|
|
41
|
+
generation: 0,
|
|
40
42
|
needsReload: true,
|
|
41
43
|
isLoading: false,
|
|
42
44
|
});
|
|
@@ -67,18 +69,22 @@ export class SdSharedDataProvider {
|
|
|
67
69
|
}
|
|
68
70
|
_loadAndListen(name, entry) {
|
|
69
71
|
entry.isLoading = true;
|
|
72
|
+
const capturedGeneration = entry.generation;
|
|
70
73
|
this.loadingCount.update((v) => v + 1);
|
|
71
74
|
// 비동기 로드
|
|
72
75
|
void entry.info
|
|
73
76
|
.getter()
|
|
74
77
|
.then(async (data) => {
|
|
78
|
+
// register 재호출로 generation이 변경되었으면 결과를 무시
|
|
79
|
+
if (entry.generation !== capturedGeneration)
|
|
80
|
+
return;
|
|
75
81
|
entry.itemsSignal.set(data);
|
|
76
82
|
// 이벤트 리스너 등록
|
|
77
83
|
if (entry.listenerKey == null) {
|
|
78
84
|
const client = this._clientFactory.get(entry.info.serviceKey);
|
|
79
85
|
const event = client.getEvent("SdSharedDataChange");
|
|
80
86
|
entry.listenerKey = await event.addListener({ name, filter: entry.info.filter }, async (changeKeys) => {
|
|
81
|
-
await this._onEvent(name, entry, changeKeys);
|
|
87
|
+
await this._onEvent(name, entry, changeKeys, capturedGeneration);
|
|
82
88
|
});
|
|
83
89
|
}
|
|
84
90
|
})
|
|
@@ -94,7 +100,10 @@ export class SdSharedDataProvider {
|
|
|
94
100
|
}
|
|
95
101
|
});
|
|
96
102
|
}
|
|
97
|
-
async _onEvent(name, entry, changeKeys) {
|
|
103
|
+
async _onEvent(name, entry, changeKeys, generation) {
|
|
104
|
+
// register 재호출로 generation이 변경되었으면 이벤트 무시
|
|
105
|
+
if (entry.generation !== generation)
|
|
106
|
+
return;
|
|
98
107
|
this.loadingCount.update((v) => v + 1);
|
|
99
108
|
try {
|
|
100
109
|
if (changeKeys == null) {
|
|
@@ -24,6 +24,7 @@ export declare abstract class SdDataDetailBase<T extends object, R = boolean> im
|
|
|
24
24
|
submit?(data: T): Promise<R | undefined> | R | undefined;
|
|
25
25
|
private readonly _sdToast;
|
|
26
26
|
private readonly _sdSharedData;
|
|
27
|
+
private readonly _errorHandler;
|
|
27
28
|
viewType: Signal<import("../..").SdViewType>;
|
|
28
29
|
busyCount: import("@angular/core").WritableSignal<number>;
|
|
29
30
|
busyMessage: import("@angular/core").WritableSignal<string | undefined>;
|
|
@@ -42,7 +43,6 @@ export declare abstract class SdDataDetailBase<T extends object, R = boolean> im
|
|
|
42
43
|
permCheck?: boolean;
|
|
43
44
|
hideNoChangeMessage?: boolean;
|
|
44
45
|
}): Promise<void>;
|
|
45
|
-
private _getOrmDataEditToastErrorMessage;
|
|
46
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdDataDetailBase<any, any>, never>;
|
|
47
47
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SdDataDetailBase<any, any>, never, never, {}, { "close": "close"; }, never, never, true, never>;
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-data-detail.base.d.ts","sourceRoot":"","sources":["../../../src/data/data-detail/sd-data-detail.base.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sd-data-detail.base.d.ts","sourceRoot":"","sources":["../../../src/data/data-detail/sd-data-detail.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,MAAM,EACX,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAO,MAAM,uBAAuB,CAAC;AAMtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAI5E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,8BACsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,CAClE,YAAW,iBAAiB,CAAC,CAAC,CAAC;IAI/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5B,oBAAoB,CAAC,IAAI,IAAI;IAE7B,QAAQ,CAAC,IAAI,IACT,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,oBAAoB,CAAA;KAAE,CAAC,GAChD;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,oBAAoB,CAAA;KAAE;IAE3C,YAAY,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAEnE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAIxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,QAAQ,qCAAoC;IAE5C,SAAS,iDAAa;IACtB,WAAW,6DAAyC;IACpD,WAAW,kDAAiB;IAC5B,KAAK,8CAAe;IACpB,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,4CAAsB;IAE1B,QAAQ,2EAAuD;IAE/D,OAAO,CAAC,aAAa,CAAC,CAAI;;IAoC1B,kBAAkB;IAQZ,SAAS;IAYT,OAAO;IASP,cAAc,CAAC,GAAG,EAAE,OAAO;IAqB3B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE;yCA3HvD,gBAAgB;2CAAhB,gBAAgB;CA8JrC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, effect, inject, output, signal, TemplateRef, } from "@angular/core";
|
|
1
|
+
import { Directive, effect, ErrorHandler, inject, output, signal, TemplateRef, } from "@angular/core";
|
|
2
2
|
import { DateTime, obj } from "@simplysm/core-common";
|
|
3
3
|
import { TXT_CHANGE_IGNORE_CONFIRM } from "../../core/commons";
|
|
4
4
|
import { SdSharedDataProvider } from "../../core/shared-data/sd-shared-data.provider";
|
|
@@ -7,12 +7,14 @@ import { injectViewTypeSignal } from "../../core/routing/injectViewTypeSignal";
|
|
|
7
7
|
import { withBusy } from "../../core/withBusy";
|
|
8
8
|
import {} from "../../core/modal/sd-modal.provider";
|
|
9
9
|
import { SdToastProvider } from "../../core/toast/sd-toast.provider";
|
|
10
|
+
import { getOrmDataEditToastErrorMessage } from "../getOrmDataEditToastErrorMessage";
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class SdDataDetailBase {
|
|
12
13
|
canDelete;
|
|
13
14
|
//-- implement
|
|
14
15
|
_sdToast = inject(SdToastProvider);
|
|
15
16
|
_sdSharedData = inject(SdSharedDataProvider);
|
|
17
|
+
_errorHandler = inject(ErrorHandler);
|
|
16
18
|
viewType = injectViewTypeSignal(() => this);
|
|
17
19
|
busyCount = signal(0, ...(ngDevMode ? [{ debugName: "busyCount" }] : /* istanbul ignore next */ []));
|
|
18
20
|
busyMessage = signal(undefined, ...(ngDevMode ? [{ debugName: "busyMessage" }] : /* istanbul ignore next */ []));
|
|
@@ -23,18 +25,29 @@ export class SdDataDetailBase {
|
|
|
23
25
|
dataInfo = signal(undefined, ...(ngDevMode ? [{ debugName: "dataInfo" }] : /* istanbul ignore next */ []));
|
|
24
26
|
_dataSnapshot;
|
|
25
27
|
constructor() {
|
|
26
|
-
effect(() => {
|
|
28
|
+
effect((onCleanup) => {
|
|
27
29
|
this.prepareRefreshEffect?.();
|
|
30
|
+
let cancelled = false;
|
|
31
|
+
onCleanup(() => {
|
|
32
|
+
cancelled = true;
|
|
33
|
+
});
|
|
28
34
|
queueMicrotask(async () => {
|
|
29
|
-
|
|
35
|
+
try {
|
|
36
|
+
if (cancelled)
|
|
37
|
+
return;
|
|
38
|
+
if (!this.canUse()) {
|
|
39
|
+
this.initialized.set(true);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
await withBusy(this.busyCount, () => this._sdToast.try(async () => {
|
|
43
|
+
await this._sdSharedData.wait();
|
|
44
|
+
await this.refresh();
|
|
45
|
+
}));
|
|
30
46
|
this.initialized.set(true);
|
|
31
|
-
return;
|
|
32
47
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}));
|
|
37
|
-
this.initialized.set(true);
|
|
48
|
+
catch (err) {
|
|
49
|
+
this._errorHandler.handleError(err);
|
|
50
|
+
}
|
|
38
51
|
});
|
|
39
52
|
});
|
|
40
53
|
setupCanDeactivate(() => this.viewType() === "modal" || this.checkIgnoreChanges());
|
|
@@ -78,7 +91,7 @@ export class SdDataDetailBase {
|
|
|
78
91
|
return;
|
|
79
92
|
this._sdToast.success(`${del ? "삭제" : "복구"}되었습니다.`);
|
|
80
93
|
this.close.emit(result);
|
|
81
|
-
}, (err) =>
|
|
94
|
+
}, (err) => getOrmDataEditToastErrorMessage(err)));
|
|
82
95
|
}
|
|
83
96
|
async doSubmit(opt) {
|
|
84
97
|
if (this.busyCount() > 0)
|
|
@@ -104,15 +117,7 @@ export class SdDataDetailBase {
|
|
|
104
117
|
this._sdToast.success("저장되었습니다.");
|
|
105
118
|
this.close.emit(result);
|
|
106
119
|
await this.refresh();
|
|
107
|
-
}, (err) =>
|
|
108
|
-
}
|
|
109
|
-
_getOrmDataEditToastErrorMessage(err) {
|
|
110
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
111
|
-
if (message.includes("a parent row: a foreign key constraint") ||
|
|
112
|
-
message.includes("conflicted with the REFERENCE")) {
|
|
113
|
-
return "경고! 연결된 작업에 의한 처리 거부. 후속작업 확인 요망";
|
|
114
|
-
}
|
|
115
|
-
return message;
|
|
120
|
+
}, (err) => getOrmDataEditToastErrorMessage(err)));
|
|
116
121
|
}
|
|
117
122
|
static ɵfac = function SdDataDetailBase_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdDataDetailBase)(); };
|
|
118
123
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataDetailBase, outputs: { close: "close" } });
|
|
@@ -24,7 +24,7 @@ export function injectDataSheetExcelManager(options) {
|
|
|
24
24
|
await withBusy(options.busyCount, () => sdToast.try(async () => {
|
|
25
25
|
await uploadExcelFn(file);
|
|
26
26
|
await options.refresh();
|
|
27
|
-
sdToast.success("엑셀 업로드가
|
|
27
|
+
sdToast.success("엑셀 업로드가 완료되었습니다.");
|
|
28
28
|
}, (err) => options.errorMessageFn(err)));
|
|
29
29
|
}
|
|
30
30
|
return { doDownloadExcel, doUploadExcel };
|
|
@@ -25,7 +25,7 @@ export function injectDataSheetModalEditManager(options) {
|
|
|
25
25
|
if (!result)
|
|
26
26
|
return;
|
|
27
27
|
await options.refresh();
|
|
28
|
-
sdToast.success(`${del ? "삭제" : "복구"}
|
|
28
|
+
sdToast.success(`${del ? "삭제" : "복구"}되었습니다.`);
|
|
29
29
|
}, (err) => options.errorMessageFn(err)));
|
|
30
30
|
}
|
|
31
31
|
function doModalConfirm() {
|
|
@@ -29,7 +29,7 @@ export declare abstract class SdDataSheetBase<TFilter extends Record<string, any
|
|
|
29
29
|
private readonly _inlineEditMgr;
|
|
30
30
|
private readonly _modalEditMgr;
|
|
31
31
|
private readonly _excelMgr;
|
|
32
|
-
key: string
|
|
32
|
+
key: string;
|
|
33
33
|
viewType: Signal<import("../..").SdViewType>;
|
|
34
34
|
busyCount: WritableSignal<number>;
|
|
35
35
|
busyMessage: WritableSignal<string | undefined>;
|
|
@@ -69,7 +69,6 @@ export declare abstract class SdDataSheetBase<TFilter extends Record<string, any
|
|
|
69
69
|
doModalCancel(): void;
|
|
70
70
|
doDownloadExcel(): Promise<void>;
|
|
71
71
|
doUploadExcel(): Promise<void>;
|
|
72
|
-
private _getOrmDataEditToastErrorMessage;
|
|
73
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSheetBase<any, any, any>, never>;
|
|
74
73
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SdDataSheetBase<any, any, any>, never, never, { "selectedItemKeys": { "alias": "selectedItemKeys"; "required": false; "isSignal": true; }; }, { "close": "close"; "submitted": "submitted"; "selectedItemKeys": "selectedItemKeysChange"; }, never, never, true, never>;
|
|
75
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-data-sheet.base.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/sd-data-sheet.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAKhB,KAAK,MAAM,EACX,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"sd-data-sheet.base.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/sd-data-sheet.base.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { injectDataSheetRefreshManager } from "./injectDataSheetRefreshManager";
|
|
|
10
10
|
import { injectDataSheetInlineEditManager } from "./injectDataSheetInlineEditManager";
|
|
11
11
|
import { injectDataSheetModalEditManager } from "./injectDataSheetModalEditManager";
|
|
12
12
|
import { injectDataSheetExcelManager } from "./injectDataSheetExcelManager";
|
|
13
|
+
import { getOrmDataEditToastErrorMessage } from "../getOrmDataEditToastErrorMessage";
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
export class SdDataSheetBase {
|
|
15
16
|
hideTool;
|
|
@@ -21,7 +22,7 @@ export class SdDataSheetBase {
|
|
|
21
22
|
_modalEditMgr;
|
|
22
23
|
_excelMgr;
|
|
23
24
|
//-- shared state (D1: class 소유)
|
|
24
|
-
key = reflectComponentType(this.constructor)?.selector;
|
|
25
|
+
key = reflectComponentType(this.constructor)?.selector ?? this.constructor.name;
|
|
25
26
|
viewType = injectViewTypeSignal(() => this);
|
|
26
27
|
busyCount = signal(0, ...(ngDevMode ? [{ debugName: "busyCount" }] : /* istanbul ignore next */ []));
|
|
27
28
|
busyMessage = signal(undefined, ...(ngDevMode ? [{ debugName: "busyMessage" }] : /* istanbul ignore next */ []));
|
|
@@ -105,7 +106,7 @@ export class SdDataSheetBase {
|
|
|
105
106
|
refresh: () => this._refreshMgr.refresh(),
|
|
106
107
|
getNewItemFn: () => this.newItem?.bind(this),
|
|
107
108
|
getSubmitFn: () => this.submit?.bind(this),
|
|
108
|
-
errorMessageFn: (err) =>
|
|
109
|
+
errorMessageFn: (err) => getOrmDataEditToastErrorMessage(err),
|
|
109
110
|
});
|
|
110
111
|
//-- modal edit composable
|
|
111
112
|
this._modalEditMgr = injectDataSheetModalEditManager({
|
|
@@ -117,7 +118,7 @@ export class SdDataSheetBase {
|
|
|
117
118
|
refresh: () => this._refreshMgr.refresh(),
|
|
118
119
|
getEditItemFn: () => this.editItem?.bind(this),
|
|
119
120
|
getToggleDeleteItemsFn: () => this.toggleDeleteItems?.bind(this),
|
|
120
|
-
errorMessageFn: (err) =>
|
|
121
|
+
errorMessageFn: (err) => getOrmDataEditToastErrorMessage(err),
|
|
121
122
|
});
|
|
122
123
|
//-- excel composable
|
|
123
124
|
this._excelMgr = injectDataSheetExcelManager({
|
|
@@ -126,7 +127,7 @@ export class SdDataSheetBase {
|
|
|
126
127
|
refresh: () => this._refreshMgr.refresh(),
|
|
127
128
|
getDownloadExcelFn: () => this.downloadExcel?.bind(this),
|
|
128
129
|
getUploadExcelFn: () => this.uploadExcel?.bind(this),
|
|
129
|
-
errorMessageFn: (err) =>
|
|
130
|
+
errorMessageFn: (err) => getOrmDataEditToastErrorMessage(err),
|
|
130
131
|
});
|
|
131
132
|
setupCanDeactivate(() => this.viewType() === "modal" || this.checkIgnoreChanges());
|
|
132
133
|
}
|
|
@@ -179,15 +180,6 @@ export class SdDataSheetBase {
|
|
|
179
180
|
async doUploadExcel() {
|
|
180
181
|
await this._excelMgr.doUploadExcel();
|
|
181
182
|
}
|
|
182
|
-
//-- private
|
|
183
|
-
_getOrmDataEditToastErrorMessage(err) {
|
|
184
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
185
|
-
if (message.includes("a parent row: a foreign key constraint") ||
|
|
186
|
-
message.includes("conflicted with the REFERENCE")) {
|
|
187
|
-
return "경고! 연결된 작업에 의한 처리 거부. 후속작업 확인 요망";
|
|
188
|
-
}
|
|
189
|
-
return message;
|
|
190
|
-
}
|
|
191
183
|
static ɵfac = function SdDataSheetBase_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdDataSheetBase)(); };
|
|
192
184
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataSheetBase, inputs: { selectedItemKeys: [1, "selectedItemKeys"] }, outputs: { close: "close", submitted: "submitted", selectedItemKeys: "selectedItemKeysChange" } });
|
|
193
185
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOrmDataEditToastErrorMessage.d.ts","sourceRoot":"","sources":["../../src/data/getOrmDataEditToastErrorMessage.ts"],"names":[],"mappings":"AAAA,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CASpE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function getOrmDataEditToastErrorMessage(err) {
|
|
2
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
3
|
+
if (message.includes("a parent row: a foreign key constraint") ||
|
|
4
|
+
message.includes("conflicted with the REFERENCE")) {
|
|
5
|
+
return "경고! 연결된 작업에 의한 처리 거부. 후속작업 확인 요망";
|
|
6
|
+
}
|
|
7
|
+
return message;
|
|
8
|
+
}
|
|
@@ -4,7 +4,7 @@ export declare class SdPermissionTable<TModule> {
|
|
|
4
4
|
value: import("@angular/core").ModelSignal<Record<string, boolean>>;
|
|
5
5
|
items: import("@angular/core").InputSignal<SdPermission<TModule>[]>;
|
|
6
6
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
7
|
-
collapsedItems: import("@angular/core").WritableSignal<Set<
|
|
7
|
+
collapsedItems: import("@angular/core").WritableSignal<Set<string>>;
|
|
8
8
|
depthLength: import("@angular/core").Signal<number>;
|
|
9
9
|
private readonly _permExistsCache;
|
|
10
10
|
private readonly _permCheckedCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-permission-table.d.ts","sourceRoot":"","sources":["../../../src/data/permission-table/sd-permission-table.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;;AAMpF,qBAiMa,iBAAiB,CAAC,OAAO;IACpC,KAAK,+DAAsC;IAE3C,KAAK,+DAAsC;IAC3C,QAAQ,qEAAiD;IAEzD,cAAc,
|
|
1
|
+
{"version":3,"file":"sd-permission-table.d.ts","sourceRoot":"","sources":["../../../src/data/permission-table/sd-permission-table.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;;AAMpF,qBAiMa,iBAAiB,CAAC,OAAO;IACpC,KAAK,+DAAsC;IAE3C,KAAK,+DAAsC;IAC3C,QAAQ,qEAAiD;IAEzD,cAAc,sDAA6B;IAE3C,WAAW,yCAER;IAEH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CA6B9B;IAEH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAgC/B;IAEH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CA6ChC;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAW1B,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO;IAIxD,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE;IAIpE,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO;IAIrD,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAI3E,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAI5E,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;IAiBhD,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO;IAQjF,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,eAAe;IAYvB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAG;QACpC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;KAC3C,CAAC;yCAzPS,iBAAiB;2CAAjB,iBAAiB;CA0P7B"}
|
|
@@ -251,7 +251,7 @@ export class SdPermissionTable {
|
|
|
251
251
|
return cached;
|
|
252
252
|
}
|
|
253
253
|
getIsPermCollapsed(item) {
|
|
254
|
-
return this.collapsedItems().has(item);
|
|
254
|
+
return this.collapsedItems().has(item.codeChain.join("."));
|
|
255
255
|
}
|
|
256
256
|
getAllChildren(item) {
|
|
257
257
|
return item.children?.mapMany((child) => [child, ...this.getAllChildren(child)]) ?? [];
|
|
@@ -266,16 +266,17 @@ export class SdPermissionTable {
|
|
|
266
266
|
return this._permCheckedCache().get(item.codeChain.join(".") + "." + type) ?? false;
|
|
267
267
|
}
|
|
268
268
|
onPermCollapseToggle(item) {
|
|
269
|
+
const key = item.codeChain.join(".");
|
|
269
270
|
this.collapsedItems.update((v) => {
|
|
270
271
|
const r = new Set(v);
|
|
271
|
-
if (r.has(
|
|
272
|
-
r.delete(
|
|
272
|
+
if (r.has(key)) {
|
|
273
|
+
r.delete(key);
|
|
273
274
|
}
|
|
274
275
|
else {
|
|
275
|
-
r.add(
|
|
276
|
+
r.add(key);
|
|
276
277
|
const allChildren = this.getAllChildren(item);
|
|
277
278
|
for (const allChild of allChildren) {
|
|
278
|
-
r.add(allChild);
|
|
279
|
+
r.add(allChild.codeChain.join("."));
|
|
279
280
|
}
|
|
280
281
|
}
|
|
281
282
|
return r;
|
|
@@ -39,6 +39,7 @@ export declare class SdSharedDataSelect<TItem extends SharedDataBase<string | nu
|
|
|
39
39
|
getItemSelectable(item: TItem, _index: number, depth: number): boolean;
|
|
40
40
|
getItemVisible(item: TItem, index: number): boolean;
|
|
41
41
|
isIncludeSearchText(item: TItem, _index: number): boolean;
|
|
42
|
+
private readonly _sortedChildrenMap;
|
|
42
43
|
getChildren: (item: SharedDataBase<string | number>) => TItem[];
|
|
43
44
|
onUndefinedClick(): void;
|
|
44
45
|
onModalButtonClick(event: MouseEvent): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-shared-data-select.d.ts","sourceRoot":"","sources":["../../../src/data/shared-data/sd-shared-data-select.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIjF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EAClB,MAAM,8CAA8C,CAAC;;AAKtD,qBAwGa,kBAAkB,CAC7B,KAAK,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAC7C,KAAK,SAAS,MAAM,eAAe,CAAC,KAAK,CAAC,EAC1C,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,KAAK,2GAAoE;IAEzE,KAAK,+CAA6B;IAElC,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,YAAY,qEAAiD;IAC7D,KAAK,qEAAiD;IACtD,MAAM,qEAAiD;IAEvD,IAAI,+DAAwB;IAC5B,UAAU,6CAA4B;IACtC,QAAQ,8CAAgB,KAAK,SAAS,MAAM,aAAa,GAAG,EAAE,KAAK,OAAO,eAAI;IAC9E,cAAc,yDAAkB;IAEhC,KAAK,6EAAsC;IAC3C,SAAS,+FAAoD;IAE7D,WAAW,0DAAmB;IAC9B,8BAA8B,8DAAuB;IACrD,aAAa,6CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,EAE3D;IACF,eAAe,6CAAgB,KAAK,SAAS,MAAM,KAAK,MAAM,EAE5D;IACF,mBAAmB,0DAAmB;IAEtC,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,cAAc,0CAA+D;IAE7E,YAAY,0CAEV;IAEF,kBAAkB,4FAcf;IAEH,gBAAgB,0CAyBb;IAEH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAsCnC;IAEH,YAAY,wCAKT;;IAgBH,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMtE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAcnD,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzD,WAAW,GAAI,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sd-shared-data-select.d.ts","sourceRoot":"","sources":["../../../src/data/shared-data/sd-shared-data-select.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIjF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EAClB,MAAM,8CAA8C,CAAC;;AAKtD,qBAwGa,kBAAkB,CAC7B,KAAK,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAC7C,KAAK,SAAS,MAAM,eAAe,CAAC,KAAK,CAAC,EAC1C,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,KAAK,2GAAoE;IAEzE,KAAK,+CAA6B;IAElC,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,YAAY,qEAAiD;IAC7D,KAAK,qEAAiD;IACtD,MAAM,qEAAiD;IAEvD,IAAI,+DAAwB;IAC5B,UAAU,6CAA4B;IACtC,QAAQ,8CAAgB,KAAK,SAAS,MAAM,aAAa,GAAG,EAAE,KAAK,OAAO,eAAI;IAC9E,cAAc,yDAAkB;IAEhC,KAAK,6EAAsC;IAC3C,SAAS,+FAAoD;IAE7D,WAAW,0DAAmB;IAC9B,8BAA8B,8DAAuB;IACrD,aAAa,6CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,EAE3D;IACF,eAAe,6CAAgB,KAAK,SAAS,MAAM,KAAK,MAAM,EAE5D;IACF,mBAAmB,0DAAmB;IAEtC,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,cAAc,0CAA+D;IAE7E,YAAY,0CAEV;IAEF,kBAAkB,4FAcf;IAEH,gBAAgB,0CAyBb;IAEH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAsCnC;IAEH,YAAY,wCAKT;;IAgBH,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMtE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAcnD,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAqBhC;IAEH,WAAW,GAAI,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,KAAK,EAAE,CAK5D;IAEF,gBAAgB,IAAI,IAAI;IAIlB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,SAAS,CAAC,QAAQ,CAAC,YAAY,yXAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,UAAU,geAAc;yCA1PhC,kBAAkB;2CAAlB,kBAAkB;CA2P9B"}
|
|
@@ -245,12 +245,16 @@ export class SdSharedDataSelect {
|
|
|
245
245
|
isIncludeSearchText(item, _index) {
|
|
246
246
|
return this._searchTextMatchCache().get(item.__valueKey) ?? false;
|
|
247
247
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
248
|
+
_sortedChildrenMap = computed(() => {
|
|
249
|
+
const parentMap = this.itemByParentKeyMap();
|
|
250
|
+
if (parentMap == null)
|
|
251
|
+
return undefined;
|
|
251
252
|
const orderProp = this.displayOrderKeyProp();
|
|
252
|
-
if (orderProp
|
|
253
|
-
|
|
253
|
+
if (orderProp == null)
|
|
254
|
+
return parentMap;
|
|
255
|
+
const sorted = new Map();
|
|
256
|
+
for (const [key, children] of parentMap) {
|
|
257
|
+
sorted.set(key, [...children].sort((a, b) => {
|
|
254
258
|
const aVal = a[orderProp];
|
|
255
259
|
const bVal = b[orderProp];
|
|
256
260
|
if (aVal < bVal)
|
|
@@ -258,9 +262,13 @@ export class SdSharedDataSelect {
|
|
|
258
262
|
if (aVal > bVal)
|
|
259
263
|
return 1;
|
|
260
264
|
return 0;
|
|
261
|
-
});
|
|
265
|
+
}));
|
|
262
266
|
}
|
|
263
|
-
return
|
|
267
|
+
return sorted;
|
|
268
|
+
}, ...(ngDevMode ? [{ debugName: "_sortedChildrenMap" }] : /* istanbul ignore next */ []));
|
|
269
|
+
getChildren = (item) => {
|
|
270
|
+
return (this._sortedChildrenMap()?.get(item.__valueKey) ??
|
|
271
|
+
[]);
|
|
264
272
|
};
|
|
265
273
|
onUndefinedClick() {
|
|
266
274
|
this.value.set(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectSheetColumnResizing.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/injectSheetColumnResizing.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACvD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;QACzC,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;KACjC,CAAC;CACH;;;;yBAsB6B,UAAU,UAAU,gBAAgB,KAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"injectSheetColumnResizing.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/injectSheetColumnResizing.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACvD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;QACzC,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;KACjC,CAAC;CACH;;;;yBAsB6B,UAAU,UAAU,gBAAgB,KAAG,IAAI;wBA0C5C,UAAU,UAAU,gBAAgB,KAAG,IAAI;EAmBvE"}
|
|
@@ -15,6 +15,7 @@ export function injectSheetColumnResizing(options) {
|
|
|
15
15
|
options.configResource.set({ ...current, columnRecord });
|
|
16
16
|
}
|
|
17
17
|
function onMousedown(event, colDef) {
|
|
18
|
+
resizingCleanup?.();
|
|
18
19
|
event.preventDefault();
|
|
19
20
|
event.stopPropagation();
|
|
20
21
|
const container = options.domAccessor.getContainer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-state-preset.d.ts","sourceRoot":"","sources":["../../../src/data/state-preset/sd-state-preset.ts"],"names":[],"mappings":";AAmBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,qBA6Ea,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,GAAG,8CAA4B;IAC/B,KAAK,2CAAgB;IACrB,IAAI,+DAAwB;IAE5B,SAAS,CAAC,QAAQ,CAAC,UAAU,wZAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,sdAAsB;IAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,yVAAW;IAErC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE7B;IAEH,QAAQ,qDAAsD;IAExD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sd-state-preset.d.ts","sourceRoot":"","sources":["../../../src/data/state-preset/sd-state-preset.ts"],"names":[],"mappings":";AAmBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,qBA6Ea,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,GAAG,8CAA4B;IAC/B,KAAK,2CAAgB;IACrB,IAAI,+DAAwB;IAE5B,SAAS,CAAC,QAAQ,CAAC,UAAU,wZAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,sdAAsB;IAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,yVAAW;IAErC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE7B;IAEH,QAAQ,qDAAsD;IAExD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAM7C,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IASrC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;yCA7DjD,aAAa;2CAAb,aAAa;CA6EzB"}
|
|
@@ -58,6 +58,10 @@ export class SdStatePreset {
|
|
|
58
58
|
if (name == null)
|
|
59
59
|
return;
|
|
60
60
|
const currentPresets = this._presets();
|
|
61
|
+
if (currentPresets.some((p) => p.name === name)) {
|
|
62
|
+
this._sdToast.warning("이미 존재하는 프리셋 이름입니다.");
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
61
65
|
const newPreset = {
|
|
62
66
|
name,
|
|
63
67
|
state: obj.clone(this.state()),
|
|
@@ -8,9 +8,10 @@ export interface Address {
|
|
|
8
8
|
buildingName: string | undefined;
|
|
9
9
|
}
|
|
10
10
|
export declare class SdAddressSearchModal implements SdModalContentDef<Address>, OnInit {
|
|
11
|
-
contentElRef: import("@angular/core").Signal<ElementRef<HTMLElement
|
|
11
|
+
contentElRef: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
|
|
12
12
|
close: import("@angular/core").OutputEmitterRef<Address>;
|
|
13
13
|
initialized: import("@angular/core").WritableSignal<boolean>;
|
|
14
|
+
errorMessage: import("@angular/core").WritableSignal<string | null>;
|
|
14
15
|
ngOnInit(): void;
|
|
15
16
|
private _initAsync;
|
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdAddressSearchModal, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-address-search.modal.d.ts","sourceRoot":"","sources":["../../../src/features/address/sd-address-search.modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAKX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;
|
|
1
|
+
{"version":3,"file":"sd-address-search.modal.d.ts","sourceRoot":"","sources":["../../../src/features/address/sd-address-search.modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAKX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AA0B5E,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AA+CD,qBAgBa,oBAAqB,YAAW,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;IAC7E,YAAY,sEAET;IAEH,KAAK,oDAAqB;IAE1B,WAAW,kDAAiB;IAC5B,YAAY,wDAA+B;IAE3C,QAAQ;YAIM,UAAU;yCAdb,oBAAoB;2CAApB,oBAAoB;CA6DhC"}
|
|
@@ -2,33 +2,73 @@ import { ChangeDetectionStrategy, Component, ElementRef, output, signal, viewChi
|
|
|
2
2
|
import { SdBusyContainer } from "../../core/busy/sd-busy-container";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
const _c0 = ["content"];
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function SdAddressSearchModal_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
7
|
+
i0.ɵɵtext(1);
|
|
8
|
+
i0.ɵɵelementEnd();
|
|
9
|
+
} if (rf & 2) {
|
|
10
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
11
|
+
i0.ɵɵadvance();
|
|
12
|
+
i0.ɵɵtextInterpolate(ctx_r0.errorMessage());
|
|
13
|
+
} }
|
|
14
|
+
function SdAddressSearchModal_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
i0.ɵɵelement(0, "div", 3, 0);
|
|
16
|
+
} }
|
|
17
|
+
function loadDaumPostcodeScript() {
|
|
18
|
+
const existing = document.getElementById("daum_address");
|
|
19
|
+
if (existing != null) {
|
|
20
|
+
if (typeof daum !== "undefined") {
|
|
21
|
+
return Promise.resolve();
|
|
22
|
+
}
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
existing.addEventListener("load", () => {
|
|
25
|
+
daum.postcode.load(() => {
|
|
26
|
+
resolve();
|
|
27
|
+
});
|
|
28
|
+
}, { once: true });
|
|
29
|
+
existing.addEventListener("error", () => {
|
|
30
|
+
existing.remove();
|
|
31
|
+
reject(new Error("주소 검색 스크립트를 불러올 수 없습니다."));
|
|
32
|
+
}, { once: true });
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return new Promise((resolve, reject) => {
|
|
36
|
+
const scriptEl = document.createElement("script");
|
|
37
|
+
scriptEl.src = "//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js";
|
|
38
|
+
scriptEl.setAttribute("id", "daum_address");
|
|
39
|
+
scriptEl.onload = () => {
|
|
40
|
+
daum.postcode.load(() => {
|
|
41
|
+
resolve();
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
scriptEl.onerror = () => {
|
|
45
|
+
scriptEl.remove();
|
|
46
|
+
reject(new Error("주소 검색 스크립트를 불러올 수 없습니다."));
|
|
47
|
+
};
|
|
48
|
+
document.head.appendChild(scriptEl);
|
|
8
49
|
});
|
|
50
|
+
}
|
|
51
|
+
export class SdAddressSearchModal {
|
|
52
|
+
contentElRef = viewChild("content", { ...(ngDevMode ? { debugName: "contentElRef" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
9
53
|
close = output();
|
|
10
54
|
initialized = signal(false, ...(ngDevMode ? [{ debugName: "initialized" }] : /* istanbul ignore next */ []));
|
|
55
|
+
errorMessage = signal(null, ...(ngDevMode ? [{ debugName: "errorMessage" }] : /* istanbul ignore next */ []));
|
|
11
56
|
ngOnInit() {
|
|
12
57
|
void this._initAsync();
|
|
13
58
|
}
|
|
14
59
|
async _initAsync() {
|
|
15
|
-
|
|
16
|
-
await
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
resolve();
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
scriptEl.onerror = () => {
|
|
26
|
-
reject(new Error("주소 검색 스크립트를 불러올 수 없습니다."));
|
|
27
|
-
};
|
|
28
|
-
document.head.appendChild(scriptEl);
|
|
29
|
-
});
|
|
60
|
+
try {
|
|
61
|
+
await loadDaumPostcodeScript();
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
this.errorMessage.set(err instanceof Error ? err.message : String(err));
|
|
65
|
+
this.initialized.set(true);
|
|
66
|
+
return;
|
|
30
67
|
}
|
|
31
|
-
const
|
|
68
|
+
const contentElRef = this.contentElRef();
|
|
69
|
+
if (contentElRef == null)
|
|
70
|
+
return;
|
|
71
|
+
const contentEl = contentElRef.nativeElement;
|
|
32
72
|
new daum.Postcode({
|
|
33
73
|
oncomplete: (data) => {
|
|
34
74
|
const addr = data.userSelectedType === "R" ? data.roadAddress : data.jibunAddress;
|
|
@@ -63,12 +103,14 @@ export class SdAddressSearchModal {
|
|
|
63
103
|
i0.ɵɵviewQuerySignal(ctx.contentElRef, _c0, 5, ElementRef);
|
|
64
104
|
} if (rf & 2) {
|
|
65
105
|
i0.ɵɵqueryAdvance();
|
|
66
|
-
} }, outputs: { close: "close" }, decls: 3, vars:
|
|
106
|
+
} }, outputs: { close: "close" }, decls: 3, vars: 2, consts: [["content", ""], [3, "busy"], [1, "_error"], [2, "min-height", "100px"]], template: function SdAddressSearchModal_Template(rf, ctx) { if (rf & 1) {
|
|
67
107
|
i0.ɵɵelementStart(0, "sd-busy-container", 1);
|
|
68
|
-
i0.ɵɵ
|
|
108
|
+
i0.ɵɵconditionalCreate(1, SdAddressSearchModal_Conditional_1_Template, 2, 1, "div", 2)(2, SdAddressSearchModal_Conditional_2_Template, 2, 0, "div", 3);
|
|
69
109
|
i0.ɵɵelementEnd();
|
|
70
110
|
} if (rf & 2) {
|
|
71
111
|
i0.ɵɵproperty("busy", !ctx.initialized());
|
|
112
|
+
i0.ɵɵadvance();
|
|
113
|
+
i0.ɵɵconditional(ctx.errorMessage() !== null ? 1 : 2);
|
|
72
114
|
} }, dependencies: [SdBusyContainer], encapsulation: 2, changeDetection: 0 });
|
|
73
115
|
}
|
|
74
116
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdAddressSearchModal, [{
|
|
@@ -81,11 +123,15 @@ export class SdAddressSearchModal {
|
|
|
81
123
|
imports: [SdBusyContainer],
|
|
82
124
|
template: `
|
|
83
125
|
<sd-busy-container [busy]="!initialized()">
|
|
84
|
-
|
|
126
|
+
@if (errorMessage() !== null) {
|
|
127
|
+
<div class="_error">{{ errorMessage() }}</div>
|
|
128
|
+
} @else {
|
|
129
|
+
<div #content style="min-height: 100px;"></div>
|
|
130
|
+
}
|
|
85
131
|
</sd-busy-container>
|
|
86
132
|
`,
|
|
87
133
|
}]
|
|
88
134
|
}], null, { contentElRef: [{ type: i0.ViewChild, args: ["content", { ...{
|
|
89
135
|
read: ElementRef,
|
|
90
136
|
}, isSignal: true }] }], close: [{ type: i0.Output, args: ["close"] }] }); })();
|
|
91
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdAddressSearchModal, { className: "SdAddressSearchModal", filePath: "packages/angular/src/features/address/sd-address-search.modal.ts", lineNumber:
|
|
137
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdAddressSearchModal, { className: "SdAddressSearchModal", filePath: "packages/angular/src/features/address/sd-address-search.modal.ts", lineNumber: 105, forbidOrphanRendering: true }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-tiptap-editor.d.ts","sourceRoot":"","sources":["../../../src/features/editor/sd-tiptap-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;;
|
|
1
|
+
{"version":3,"file":"sd-tiptap-editor.d.ts","sourceRoot":"","sources":["../../../src/features/editor/sd-tiptap-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;;AAqBzD,qBAsMa,cAAc;IACzB,KAAK,0DAAmB;IACxB,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,WAAW,0DAAmB;IAC9B,WAAW,+CAAiB,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,eAAI;IACzE,UAAU,kEAA2B;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,QAAQ,CAAC,YAAY,WAMnB;IAEF,qDAAqD;IACrD,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAqB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,YAAY,kEAA8B;IAC1C,WAAW,yBAA6B;IACxC,aAAa,yBAA+B;IAC5C,eAAe,4CAAiC;IAChD,OAAO,wBAAyB;IAChC,iBAAiB,gCAAmC;IACpD,UAAU,sCAA4B;IAEtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CASjC;;IA4DH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,kBAAkB;yCArIf,cAAc;2CAAd,cAAc;CA2I1B"}
|