@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
|
@@ -7,6 +7,7 @@ import Color from "@tiptap/extension-color";
|
|
|
7
7
|
import Highlight from "@tiptap/extension-highlight";
|
|
8
8
|
import TextAlign from "@tiptap/extension-text-align";
|
|
9
9
|
import Image from "@tiptap/extension-image";
|
|
10
|
+
import Underline from "@tiptap/extension-underline";
|
|
10
11
|
import Placeholder from "@tiptap/extension-placeholder";
|
|
11
12
|
import { useTiptapToolbar } from "./useTiptapToolbar";
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
@@ -158,6 +159,7 @@ const DEFAULT_EXTENSIONS = [
|
|
|
158
159
|
Highlight.configure({ multicolor: true }),
|
|
159
160
|
TextAlign.configure({ types: ["heading", "paragraph"] }),
|
|
160
161
|
Image.configure({ inline: false, allowBase64: true }),
|
|
162
|
+
Underline,
|
|
161
163
|
];
|
|
162
164
|
export class SdTiptapEditor {
|
|
163
165
|
value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
|
|
@@ -374,4 +376,4 @@ export class SdTiptapEditor {
|
|
|
374
376
|
"[attr.data-sd-readonly]": "readonly()",
|
|
375
377
|
}, styles: ["sd-tiptap-editor {\n display: block;\n position: relative;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-tiptap-editor > ._toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap-xs);\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group {\n display: flex;\n gap: 1px;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button {\n padding: var(--gap-xs) var(--gap-sm);\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: transparent;\n cursor: pointer;\n font-size: var(--font-size-default);\n line-height: 1;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active {\n background: var(--theme-primary-default);\n color: var(--text-trans-rev-default);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button:hover {\n background: var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active:hover {\n background: var(--theme-primary-default);\n}\nsd-tiptap-editor > ._color-picker {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch {\n width: 1.25rem;\n height: 1.25rem;\n border: 1px solid var(--trans-lighter);\n border-radius: 2px;\n cursor: pointer;\n padding: 0;\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch._no-color {\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--control-color);\n font-size: 0.625rem;\n}\nsd-tiptap-editor > ._editor-container {\n padding: var(--gap-sm);\n min-height: 6.25rem;\n}\nsd-tiptap-editor > ._editor-container > .tiptap {\n outline: none;\n}\nsd-tiptap-editor > ._editor-container > .tiptap:focus {\n outline: none;\n}\nsd-tiptap-editor[data-sd-disabled=true] {\n background: var(--theme-gray-lightest);\n color: var(--text-trans-light);\n}\nsd-tiptap-editor[data-sd-disabled=true] > ._editor-container > .tiptap {\n cursor: not-allowed;\n}\nsd-tiptap-editor[data-sd-readonly=true] > ._editor-container > .tiptap {\n cursor: default;\n}\nsd-tiptap-editor ._color-btn {\n position: relative;\n}\nsd-tiptap-editor ._color-btn > ._color-indicator {\n display: block;\n height: 2px;\n width: 100%;\n position: absolute;\n bottom: 2px;\n left: 0;\n}"] }]
|
|
376
378
|
}], () => [], { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], validatorFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "validatorFn", required: false }] }], extensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "extensions", required: false }] }] }); })();
|
|
377
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTiptapEditor, { className: "SdTiptapEditor", filePath: "packages/angular/src/features/editor/sd-tiptap-editor.ts", lineNumber:
|
|
379
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTiptapEditor, { className: "SdTiptapEditor", filePath: "packages/angular/src/features/editor/sd-tiptap-editor.ts", lineNumber: 237, forbidOrphanRendering: true }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-barcode.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-barcode.ts"],"names":[],"mappings":";AAWA,qBAUa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD,IAAI,mDAAiC;IACrC,KAAK,0DAAmB;IAIxB,SAAS,CAAC,eAAe,+
|
|
1
|
+
{"version":3,"file":"sd-barcode.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-barcode.ts"],"names":[],"mappings":";AAWA,qBAUa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD,IAAI,mDAAiC;IACrC,KAAK,0DAAmB;IAIxB,SAAS,CAAC,eAAe,+EActB;yCAtBQ,SAAS;2CAAT,SAAS;CAuBrB;AAED,MAAM,MAAM,WAAW,GACnB,SAAS,GAAG,WAAW,GAAG,kBAAkB,GAAG,WAAW,GAAG,OAAO,GACpE,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAC/D,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GACpE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,iBAAiB,GACjE,0BAA0B,GAAG,wBAAwB,GAAG,iCAAiC,GACzF,gBAAgB,GAAG,yBAAyB,GAAG,aAAa,GAAG,sBAAsB,GACrF,gBAAgB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,6BAA6B,GACnG,kBAAkB,GAAG,2BAA2B,GAAG,eAAe,GAAG,YAAY,GACjF,uBAAuB,GAAG,gCAAgC,GAAG,SAAS,GAAG,OAAO,GAChF,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GACzF,SAAS,GAAG,kBAAkB,GAAG,QAAQ,GAAG,eAAe,GAAG,0BAA0B,GACxF,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,wBAAwB,GAAG,WAAW,GACzF,QAAQ,GAAG,eAAe,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAC/F,2BAA2B,GAAG,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAC1F,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GACvF,WAAW,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GACnF,aAAa,GAAG,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,eAAe,GAC9E,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GACpF,QAAQ,GAAG,qBAAqB,GAAG,KAAK,GAAG,wBAAwB,GAAG,WAAW,GACjF,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,WAAW,GAChF,MAAM,GAAG,eAAe,GAAG,MAAM,GAAG,eAAe,CAAC"}
|
|
@@ -13,11 +13,16 @@ export class SdBarcode {
|
|
|
13
13
|
if (text == null || text === "") {
|
|
14
14
|
return "";
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
try {
|
|
17
|
+
const svg = bwipjs.toSVG({
|
|
18
|
+
bcid: this.type(),
|
|
19
|
+
text,
|
|
20
|
+
});
|
|
21
|
+
return this._sanitizer.bypassSecurityTrustHtml(svg);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
21
26
|
}, ...(ngDevMode ? [{ debugName: "_trustedSvgHtml" }] : /* istanbul ignore next */ []));
|
|
22
27
|
static ɵfac = function SdBarcode_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdBarcode)(); };
|
|
23
28
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdBarcode, selectors: [["sd-barcode"]], inputs: { type: [1, "type"], value: [1, "value"] }, decls: 1, vars: 1, consts: [[3, "innerHTML"]], template: function SdBarcode_Template(rf, ctx) { if (rf & 1) {
|
package/dist/index.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export { type SdTextfieldTypes, sdTextfieldTypes } from "./controls/input/sd-tex
|
|
|
69
69
|
export { SdTextarea } from "./controls/input/sd-textarea";
|
|
70
70
|
export { SdNumpad } from "./controls/input/sd-numpad";
|
|
71
71
|
export { SdRange } from "./controls/input/sd-range";
|
|
72
|
-
export { SdDateRangePicker } from "./controls/input/sd-date-range
|
|
72
|
+
export { SdDateRangePicker } from "./controls/input/sd-date-range-picker";
|
|
73
73
|
export { SdCheckbox } from "./controls/checkbox/sd-checkbox";
|
|
74
74
|
export { SdSwitch } from "./controls/checkbox/sd-switch";
|
|
75
75
|
export { SdCheckboxGroup } from "./controls/checkbox/sd-checkbox-group";
|
|
@@ -109,6 +109,7 @@ export { SdDataSheetColumn } from "./data/data-sheet/sd-data-sheet-column";
|
|
|
109
109
|
export { setupCloserWhenSingleSelectionChange } from "./data/data-sheet/setupCloserWhenSingleSelectionChange";
|
|
110
110
|
export { SdDataDetail } from "./data/data-detail/sd-data-detail";
|
|
111
111
|
export { SdDataDetailBase, type SdDataDetailDataInfo, } from "./data/data-detail/sd-data-detail.base";
|
|
112
|
+
export { getOrmDataEditToastErrorMessage } from "./data/getOrmDataEditToastErrorMessage";
|
|
112
113
|
export { SdDataSelectButton } from "./data/data-select-button/sd-data-select-button";
|
|
113
114
|
export { SdDataSelectButtonBase } from "./data/data-select-button/sd-data-select-button.base";
|
|
114
115
|
export { SdSharedDataSelect } from "./data/shared-data/sd-shared-data-select";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -87,7 +87,7 @@ export { sdTextfieldTypes } from "./controls/input/sd-textfield-type-handlers";
|
|
|
87
87
|
export { SdTextarea } from "./controls/input/sd-textarea";
|
|
88
88
|
export { SdNumpad } from "./controls/input/sd-numpad";
|
|
89
89
|
export { SdRange } from "./controls/input/sd-range";
|
|
90
|
-
export { SdDateRangePicker } from "./controls/input/sd-date-range
|
|
90
|
+
export { SdDateRangePicker } from "./controls/input/sd-date-range-picker";
|
|
91
91
|
// controls/checkbox
|
|
92
92
|
export { SdCheckbox } from "./controls/checkbox/sd-checkbox";
|
|
93
93
|
export { SdSwitch } from "./controls/checkbox/sd-switch";
|
|
@@ -142,6 +142,8 @@ export { setupCloserWhenSingleSelectionChange } from "./data/data-sheet/setupClo
|
|
|
142
142
|
// data/data-detail
|
|
143
143
|
export { SdDataDetail } from "./data/data-detail/sd-data-detail";
|
|
144
144
|
export { SdDataDetailBase, } from "./data/data-detail/sd-data-detail.base";
|
|
145
|
+
// data/utils
|
|
146
|
+
export { getOrmDataEditToastErrorMessage } from "./data/getOrmDataEditToastErrorMessage";
|
|
145
147
|
// data/data-select-button
|
|
146
148
|
export { SdDataSelectButton } from "./data/data-select-button/sd-data-select-button";
|
|
147
149
|
export { SdDataSelectButtonBase } from "./data/data-select-button/sd-data-select-button.base";
|
|
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class SdBaseContainer {
|
|
5
5
|
private readonly _sdActivatedModal;
|
|
6
6
|
private readonly _sdAppStructure;
|
|
7
|
+
private readonly _systemLog;
|
|
7
8
|
private readonly _parent;
|
|
8
9
|
private readonly _fullPageCode;
|
|
9
10
|
private readonly _currPageCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-base-container.d.ts","sourceRoot":"","sources":["../../../src/layout/base-container/sd-base-container.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAQvB,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,yCAAyC,CAAC;;
|
|
1
|
+
{"version":3,"file":"sd-base-container.d.ts","sourceRoot":"","sources":["../../../src/layout/base-container/sd-base-container.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAQvB,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,yCAAyC,CAAC;;AAMjD,qBAqDa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwD;IAC1F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,aAAa,mDAA8D;IAE3E,gBAAgB,+DAAwD;IACxE,iBAAiB,+DAAyD;IAE1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E,QAAQ,8DAAuB;IAC/B,YAAY,6CAA6D;IAEzE,MAAM,0DAAmB;IACzB,gBAAgB,sCAWb;IAEH,WAAW,2DAAyC;IACpD,UAAU,qEAAiD;IAC3D,IAAI,qEAAiD;IACrD,WAAW,0DAAmB;IAE9B,SAAS,CAAC,QAAQ,CAAC,mBAAmB,ifAAuB;yCAtClD,eAAe;2CAAf,eAAe;CAuC3B"}
|
|
@@ -9,6 +9,7 @@ import { injectCurrentPageCodeSignal } from "../../core/routing/injectCurrentPag
|
|
|
9
9
|
import { injectFullPageCodeSignal } from "../../core/routing/injectFullPageCodeSignal";
|
|
10
10
|
import { injectViewTypeSignal, } from "../../core/routing/injectViewTypeSignal";
|
|
11
11
|
import { injectParent } from "../../core/injectParent";
|
|
12
|
+
import { SdSystemLogProvider } from "../../core/config/sd-system-log.provider";
|
|
12
13
|
import { NgIcon } from "@ng-icons/core";
|
|
13
14
|
import { tablerAlertTriangle } from "@ng-icons/tabler-icons";
|
|
14
15
|
import * as i0 from "@angular/core";
|
|
@@ -87,6 +88,7 @@ function SdBaseContainer_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
87
88
|
export class SdBaseContainer {
|
|
88
89
|
_sdActivatedModal = inject(SdActivatedModalProvider, { optional: true });
|
|
89
90
|
_sdAppStructure = inject(SdAppStructureProvider);
|
|
91
|
+
_systemLog = inject(SdSystemLogProvider);
|
|
90
92
|
_parent = injectParent();
|
|
91
93
|
_fullPageCode = injectFullPageCodeSignal();
|
|
92
94
|
_currPageCode = injectCurrentPageCodeSignal();
|
|
@@ -103,7 +105,8 @@ export class SdBaseContainer {
|
|
|
103
105
|
this._sdActivatedModal?.modalComponent()?.title() ??
|
|
104
106
|
this._sdAppStructure.getTitleByFullCode(this._currPageCode?.() ?? this._fullPageCode()));
|
|
105
107
|
}
|
|
106
|
-
catch {
|
|
108
|
+
catch (err) {
|
|
109
|
+
void this._systemLog.writeAsync("warn", `modalOrPageTitle 계산 중 에러: ${String(err)}`);
|
|
107
110
|
return "";
|
|
108
111
|
}
|
|
109
112
|
}, ...(ngDevMode ? [{ debugName: "modalOrPageTitle" }] : /* istanbul ignore next */ []));
|
|
@@ -187,4 +190,4 @@ export class SdBaseContainer {
|
|
|
187
190
|
`,
|
|
188
191
|
}]
|
|
189
192
|
}], null, { contentTplRef: [{ type: i0.ContentChild, args: ["contentTpl", { ...{ read: TemplateRef }, isSignal: true }] }], pageTopbarTplRef: [{ type: i0.ContentChild, args: ["pageTopbarTpl", { ...{ read: TemplateRef }, isSignal: true }] }], modalBottomTplRef: [{ type: i0.ContentChild, args: ["modalBottomTpl", { ...{ read: TemplateRef }, isSignal: true }] }], viewType: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewType", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], initialized: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialized", required: false }] }], restricted: [{ type: i0.Input, args: [{ isSignal: true, alias: "restricted", required: false }] }], busy: [{ type: i0.Input, args: [{ isSignal: true, alias: "busy", required: false }] }], busyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "busyMessage", required: false }] }] }); })();
|
|
190
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdBaseContainer, { className: "SdBaseContainer", filePath: "packages/angular/src/layout/base-container/sd-base-container.ts", lineNumber:
|
|
193
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdBaseContainer, { className: "SdBaseContainer", filePath: "packages/angular/src/layout/base-container/sd-base-container.ts", lineNumber: 82, forbidOrphanRendering: true }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-dock.d.ts","sourceRoot":"","sources":["../../../src/layout/dock/sd-dock.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;;AAE9E,qBAyEa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,OAAO,CAAC,YAAY,CAA2B;IAE/C,GAAG,0DAAmB;IACtB,QAAQ,2EAAqD;IAC7D,SAAS,qEAAiD;IAE1D,IAAI,iDAAa;IAEjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsE;;IAoB9F,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAI/C,YAAY,CAAC,KAAK,EAAE,aAAa;IASjC,oBAAoB,CAAC,KAAK,EAAE,UAAU;yCA7C3B,MAAM;2CAAN,MAAM;
|
|
1
|
+
{"version":3,"file":"sd-dock.d.ts","sourceRoot":"","sources":["../../../src/layout/dock/sd-dock.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;;AAE9E,qBAyEa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,OAAO,CAAC,YAAY,CAA2B;IAE/C,GAAG,0DAAmB;IACtB,QAAQ,2EAAqD;IAC7D,SAAS,qEAAiD;IAE1D,IAAI,iDAAa;IAEjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsE;;IAoB9F,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAI/C,YAAY,CAAC,KAAK,EAAE,aAAa;IASjC,oBAAoB,CAAC,KAAK,EAAE,UAAU;yCA7C3B,MAAM;2CAAN,MAAM;CAiGlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/angular",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.39",
|
|
4
4
|
"description": "심플리즘 패키지 - Angular",
|
|
5
5
|
"author": "심플리즘",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"@angular/platform-browser": "^21.2.8",
|
|
31
31
|
"@angular/router": "^21.2.8",
|
|
32
32
|
"@angular/service-worker": "^21.2.8",
|
|
33
|
-
"@ng-icons/core": "^33.2.
|
|
34
|
-
"@ng-icons/tabler-icons": "^33.2.
|
|
33
|
+
"@ng-icons/core": "^33.2.1",
|
|
34
|
+
"@ng-icons/tabler-icons": "^33.2.1",
|
|
35
35
|
"@tiptap/core": "^3.22.3",
|
|
36
36
|
"@tiptap/extension-color": "^3.22.3",
|
|
37
37
|
"@tiptap/extension-document": "^3.22.3",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"@tiptap/extension-text": "^3.22.3",
|
|
43
43
|
"@tiptap/extension-text-align": "^3.22.3",
|
|
44
44
|
"@tiptap/extension-text-style": "^3.22.3",
|
|
45
|
+
"@tiptap/extension-underline": "^3.22.3",
|
|
45
46
|
"@tiptap/starter-kit": "^3.22.3",
|
|
46
47
|
"bwip-js": "^4.9.0",
|
|
47
48
|
"echarts": "^6.0.0",
|
|
@@ -49,10 +50,10 @@
|
|
|
49
50
|
"jspdf": "^4.2.1",
|
|
50
51
|
"rxjs": "^7.8.2",
|
|
51
52
|
"tabbable": "^6.4.0",
|
|
52
|
-
"@simplysm/core-browser": "14.0.
|
|
53
|
-
"@simplysm/core-common": "14.0.
|
|
54
|
-
"@simplysm/service-client": "14.0.
|
|
55
|
-
"@simplysm/service-common": "14.0.
|
|
53
|
+
"@simplysm/core-browser": "14.0.39",
|
|
54
|
+
"@simplysm/core-common": "14.0.39",
|
|
55
|
+
"@simplysm/service-client": "14.0.39",
|
|
56
|
+
"@simplysm/service-common": "14.0.39"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|
|
58
59
|
"@angular/compiler": "^21.2.8",
|
|
@@ -247,8 +247,8 @@ import { tablerCheck } from "@ng-icons/tabler-icons";
|
|
|
247
247
|
"[attr.data-sd-radio]": "radio()",
|
|
248
248
|
"[attr.data-sd-size]": "size()",
|
|
249
249
|
"[attr.data-sd-theme]": "theme()",
|
|
250
|
-
"[attr.tabindex]": "0",
|
|
251
|
-
"(click)": "onClick()",
|
|
250
|
+
"[attr.tabindex]": "'0'",
|
|
251
|
+
"(click)": "onClick($event)",
|
|
252
252
|
"(keydown)": "onKeydown($event)",
|
|
253
253
|
},
|
|
254
254
|
})
|
|
@@ -282,7 +282,10 @@ export class SdCheckbox {
|
|
|
282
282
|
setupRipple(() => !this.disabled());
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
-
onClick() {
|
|
285
|
+
onClick(event: Event) {
|
|
286
|
+
event.preventDefault();
|
|
287
|
+
event.stopPropagation();
|
|
288
|
+
|
|
286
289
|
if (this.disabled()) return;
|
|
287
290
|
if (this.radio()) {
|
|
288
291
|
this.value.set(true);
|
|
@@ -294,6 +297,7 @@ export class SdCheckbox {
|
|
|
294
297
|
onKeydown(event: KeyboardEvent): void {
|
|
295
298
|
if (event.key === " ") {
|
|
296
299
|
event.preventDefault();
|
|
300
|
+
event.stopPropagation();
|
|
297
301
|
if (this.disabled()) return;
|
|
298
302
|
if (this.radio()) {
|
|
299
303
|
this.value.set(true);
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
model,
|
|
7
7
|
ViewEncapsulation,
|
|
8
8
|
} from "@angular/core";
|
|
9
|
+
import { setupModelHook } from "../../core/setupModelHook";
|
|
9
10
|
|
|
10
11
|
@Component({
|
|
11
12
|
selector: "sd-switch",
|
|
@@ -116,6 +117,7 @@ import {
|
|
|
116
117
|
})
|
|
117
118
|
export class SdSwitch {
|
|
118
119
|
value = model(false);
|
|
120
|
+
canChangeFn = input<(item: boolean) => boolean | Promise<boolean>>(() => true);
|
|
119
121
|
|
|
120
122
|
disabled = input(false, { transform: booleanAttribute });
|
|
121
123
|
inline = input(false, { transform: booleanAttribute });
|
|
@@ -126,18 +128,22 @@ export class SdSwitch {
|
|
|
126
128
|
"primary" | "secondary" | "info" | "success" | "warning" | "danger" | "gray" | "blue-gray"
|
|
127
129
|
>();
|
|
128
130
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
constructor() {
|
|
132
|
+
setupModelHook(this.value, this.canChangeFn);
|
|
133
|
+
}
|
|
131
134
|
|
|
135
|
+
onClick(event: Event) {
|
|
132
136
|
event.preventDefault();
|
|
133
137
|
event.stopPropagation();
|
|
134
138
|
|
|
139
|
+
if (this.disabled()) return;
|
|
135
140
|
this.value.update((v) => !v);
|
|
136
141
|
}
|
|
137
142
|
|
|
138
143
|
onKeydown(event: KeyboardEvent) {
|
|
139
144
|
if (event.key === " ") {
|
|
140
145
|
event.preventDefault();
|
|
146
|
+
event.stopPropagation();
|
|
141
147
|
if (this.disabled()) return;
|
|
142
148
|
this.value.update((v) => !v);
|
|
143
149
|
}
|
|
@@ -199,20 +199,20 @@ export class SdDropdown {
|
|
|
199
199
|
|
|
200
200
|
const rect = contentEl.getBoundingClientRect();
|
|
201
201
|
|
|
202
|
-
const
|
|
203
|
-
const
|
|
202
|
+
const shouldPlaceAbove = window.innerHeight < rect.top * 2;
|
|
203
|
+
const shouldPlaceLeft = window.innerWidth < rect.left * 2;
|
|
204
204
|
|
|
205
205
|
const gap = 2;
|
|
206
|
-
const topPos =
|
|
207
|
-
const bottomPos =
|
|
208
|
-
const leftPos =
|
|
209
|
-
const rightPos =
|
|
206
|
+
const topPos = shouldPlaceAbove ? undefined : rect.bottom + gap;
|
|
207
|
+
const bottomPos = shouldPlaceAbove ? window.innerHeight - rect.top : undefined;
|
|
208
|
+
const leftPos = shouldPlaceLeft ? undefined : rect.left;
|
|
209
|
+
const rightPos = shouldPlaceLeft ? window.innerWidth - rect.right : undefined;
|
|
210
210
|
|
|
211
211
|
// Calculate available space for popup
|
|
212
|
-
const availableHeight =
|
|
212
|
+
const availableHeight = shouldPlaceAbove
|
|
213
213
|
? rect.top - gap
|
|
214
214
|
: window.innerHeight - rect.bottom - gap;
|
|
215
|
-
const availableWidth =
|
|
215
|
+
const availableWidth = shouldPlaceLeft ? rect.right : window.innerWidth - rect.left;
|
|
216
216
|
|
|
217
217
|
Object.assign(popupEl.style, {
|
|
218
218
|
top: topPos !== undefined ? topPos + "px" : "",
|
|
@@ -373,6 +373,7 @@ export class SdTextfield<K extends keyof SdTextfieldTypes> {
|
|
|
373
373
|
}
|
|
374
374
|
const parsed = this._handler().parse(inputEl.value, { format: this.format() });
|
|
375
375
|
if (parsed === undefined) {
|
|
376
|
+
inputEl.value = this.controlValue();
|
|
376
377
|
return;
|
|
377
378
|
}
|
|
378
379
|
this.value.set(parsed as SdTextfieldTypes[K]);
|
|
@@ -78,8 +78,12 @@ export class SdGlobalErrorHandlerPlugin implements ErrorHandler {
|
|
|
78
78
|
document.body.textContent =
|
|
79
79
|
`[에러 처리 실패]\n원본: ${String(event)}\n2차: ${String(err)}`;
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
try {
|
|
82
|
+
const appRef = this._envInjector.get<ApplicationRef>(ApplicationRef);
|
|
83
|
+
appRef.destroy();
|
|
84
|
+
} catch {
|
|
85
|
+
// _displayErrorMessage에서 이미 destroy된 경우 무시
|
|
86
|
+
}
|
|
83
87
|
}
|
|
84
88
|
|
|
85
89
|
return false;
|
|
@@ -8,5 +8,5 @@ import type { SdModalContentDef } from "./sd-modal.provider";
|
|
|
8
8
|
export class SdActivatedModalProvider<T extends SdModalContentDef<any> = SdModalContentDef<any>> {
|
|
9
9
|
modalComponent = signal<any>(undefined);
|
|
10
10
|
contentComponent = signal<T | undefined>(undefined);
|
|
11
|
-
|
|
11
|
+
canDeactivateFn: () => boolean = () => true;
|
|
12
12
|
}
|
|
@@ -67,7 +67,6 @@ export interface SdModalOptions {
|
|
|
67
67
|
minWidthPx?: number;
|
|
68
68
|
heightPx?: number;
|
|
69
69
|
widthPx?: number;
|
|
70
|
-
headerStyle?: string;
|
|
71
70
|
noFirstControlFocusing?: boolean;
|
|
72
71
|
}
|
|
73
72
|
|
|
@@ -86,7 +85,7 @@ export class SdModalProvider {
|
|
|
86
85
|
modal: SdModalInfo<T>,
|
|
87
86
|
options?: SdModalOptions,
|
|
88
87
|
): Promise<Parameters<T["close"]["emit"]>[0] | undefined> {
|
|
89
|
-
return new Promise<Parameters<T["close"]["emit"]>[0] | undefined>((resolve) => {
|
|
88
|
+
return new Promise<Parameters<T["close"]["emit"]>[0] | undefined>((resolve, reject) => {
|
|
90
89
|
// 1. modalCount 증가
|
|
91
90
|
this.modalCount.update((v) => v + 1);
|
|
92
91
|
|
|
@@ -99,10 +98,17 @@ export class SdModalProvider {
|
|
|
99
98
|
parent: this._injector,
|
|
100
99
|
});
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
let contentRef: ComponentRef<T>;
|
|
102
|
+
try {
|
|
103
|
+
contentRef = createComponent(modal.type, {
|
|
104
|
+
environmentInjector: this._envInjector,
|
|
105
|
+
elementInjector: contentInjector,
|
|
106
|
+
});
|
|
107
|
+
} catch (err) {
|
|
108
|
+
this.modalCount.update((v) => v - 1);
|
|
109
|
+
reject(err);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
106
112
|
|
|
107
113
|
// 4. setInput으로 inputs 바인딩
|
|
108
114
|
for (const [key, value] of Object.entries(modal.inputs as Record<string, unknown>)) {
|
|
@@ -120,7 +126,7 @@ export class SdModalProvider {
|
|
|
120
126
|
modalRef.setInput("title", modal.title);
|
|
121
127
|
if (options !== undefined) {
|
|
122
128
|
for (const [key, value] of Object.entries(options)) {
|
|
123
|
-
if (value !== undefined) {
|
|
129
|
+
if (value !== undefined && key !== "noFirstControlFocusing") {
|
|
124
130
|
modalRef.setInput(key, value);
|
|
125
131
|
}
|
|
126
132
|
}
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
Component,
|
|
4
4
|
effect,
|
|
5
5
|
ElementRef,
|
|
6
|
+
ErrorHandler,
|
|
6
7
|
inject,
|
|
7
8
|
input,
|
|
8
9
|
model,
|
|
@@ -286,6 +287,7 @@ export class SdModal {
|
|
|
286
287
|
private readonly _elRef = inject(ElementRef<HTMLElement>);
|
|
287
288
|
private readonly _activatedModal = inject(SdActivatedModalProvider, { optional: true });
|
|
288
289
|
private readonly _systemConfig = inject(SdSystemConfigProvider, { optional: true });
|
|
290
|
+
private readonly _errorHandler = inject(ErrorHandler);
|
|
289
291
|
private readonly _focusTrap = injectFocusTrap();
|
|
290
292
|
|
|
291
293
|
protected readonly tablerX = tablerX;
|
|
@@ -306,8 +308,6 @@ export class SdModal {
|
|
|
306
308
|
minWidthPx = input<number | undefined>(undefined);
|
|
307
309
|
heightPx = input<number | undefined>(undefined);
|
|
308
310
|
widthPx = input<number | undefined>(undefined);
|
|
309
|
-
headerStyle = input<string | undefined>(undefined);
|
|
310
|
-
noFirstControlFocusing = input(false);
|
|
311
311
|
actionTplRef = input<TemplateRef<any> | undefined>(undefined);
|
|
312
312
|
|
|
313
313
|
closeRequest = output<void>();
|
|
@@ -316,7 +316,7 @@ export class SdModal {
|
|
|
316
316
|
getDialogEl: () => this._getDialogEl(),
|
|
317
317
|
minWidthPx: this.minWidthPx,
|
|
318
318
|
minHeightPx: this.minHeightPx,
|
|
319
|
-
onEnd: () => void this._saveConfig(),
|
|
319
|
+
onEnd: () => void this._saveConfig().catch((err) => this._errorHandler.handleError(err)),
|
|
320
320
|
});
|
|
321
321
|
|
|
322
322
|
constructor() {
|
|
@@ -349,7 +349,7 @@ export class SdModal {
|
|
|
349
349
|
const k = this.key();
|
|
350
350
|
if (k === undefined || this._systemConfig == null) return;
|
|
351
351
|
|
|
352
|
-
void this._restoreConfig(k);
|
|
352
|
+
void this._restoreConfig(k).catch((err) => this._errorHandler.handleError(err));
|
|
353
353
|
});
|
|
354
354
|
|
|
355
355
|
}
|
|
@@ -389,10 +389,10 @@ export class SdModal {
|
|
|
389
389
|
}
|
|
390
390
|
|
|
391
391
|
private _requestClose(): void {
|
|
392
|
-
if (this._activatedModal !== null && !this._activatedModal.
|
|
392
|
+
if (this._activatedModal !== null && !this._activatedModal.canDeactivateFn()) {
|
|
393
393
|
return;
|
|
394
394
|
}
|
|
395
|
-
void this._saveConfig();
|
|
395
|
+
void this._saveConfig().catch((err) => this._errorHandler.handleError(err));
|
|
396
396
|
this.closeRequest.emit();
|
|
397
397
|
}
|
|
398
398
|
|
|
@@ -34,8 +34,10 @@ export class SdNavigateWindowProvider {
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
} else {
|
|
37
|
+
const paramStr = params !== undefined ? new URLSearchParams(params).toString() : "";
|
|
38
|
+
const suffix = paramStr !== "" ? `;${paramStr}` : "";
|
|
37
39
|
window.open(
|
|
38
|
-
`${location.pathname}#${navigate}
|
|
40
|
+
`${location.pathname}#${navigate}${suffix}`,
|
|
39
41
|
"_blank",
|
|
40
42
|
);
|
|
41
43
|
}
|
|
@@ -26,11 +26,13 @@ export function useSelectionManager<T>(options: {
|
|
|
26
26
|
return options.selectMode() != null;
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
+
const selectedItemsSet = computed(() => new Set(options.selectedItems()));
|
|
30
|
+
|
|
29
31
|
const isAllSelected = computed(() => {
|
|
30
32
|
const items = selectableItems();
|
|
31
33
|
if (items.length === 0) return false;
|
|
32
|
-
const
|
|
33
|
-
return items.every((item) =>
|
|
34
|
+
const set = selectedItemsSet();
|
|
35
|
+
return items.every((item) => set.has(item));
|
|
34
36
|
});
|
|
35
37
|
|
|
36
38
|
function getSelectable(item: T): true | string | undefined {
|
|
@@ -87,7 +89,7 @@ export function useSelectionManager<T>(options: {
|
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
function isSelected(item: T): boolean {
|
|
90
|
-
return
|
|
92
|
+
return selectedItemsSet().has(item);
|
|
91
93
|
}
|
|
92
94
|
|
|
93
95
|
return {
|
|
@@ -29,6 +29,26 @@ export function setupModelHook<T, S extends WritableSignal<T>>(
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
model.update = (fn) => {
|
|
32
|
-
|
|
32
|
+
const value = fn(model());
|
|
33
|
+
const canSet = canFn()(value);
|
|
34
|
+
|
|
35
|
+
if (canSet === false) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (canSet === true) {
|
|
40
|
+
orgSet(value);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
void canSet
|
|
45
|
+
.then((allowed) => {
|
|
46
|
+
if (allowed !== false) {
|
|
47
|
+
orgSet(fn(model()));
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
.catch((err) => {
|
|
51
|
+
errorHandler.handleError(err);
|
|
52
|
+
});
|
|
33
53
|
};
|
|
34
54
|
}
|
|
@@ -33,6 +33,7 @@ interface SharedDataEntry<T extends SharedDataBase<string | number>> {
|
|
|
33
33
|
itemsSignal: WritableSignal<T[]>;
|
|
34
34
|
handle: SharedDataHandle<T>;
|
|
35
35
|
listenerKey?: string;
|
|
36
|
+
generation: number;
|
|
36
37
|
needsReload: boolean;
|
|
37
38
|
isLoading: boolean;
|
|
38
39
|
}
|
|
@@ -51,12 +52,13 @@ export abstract class SdSharedDataProvider<T extends Record<string, SharedDataBa
|
|
|
51
52
|
register<K extends string & keyof T>(name: K, info: SharedDataInfo<T[K]>): void {
|
|
52
53
|
const existing = this._entries.get(name as string);
|
|
53
54
|
if (existing != null) {
|
|
54
|
-
// 기존 리스너 키 초기화
|
|
55
|
+
// 기존 리스너 키 초기화 + generation 증가로 이전 이벤트 무시
|
|
55
56
|
if (existing.listenerKey != null) {
|
|
56
57
|
const client = this._clientFactory.get(existing.info.serviceKey);
|
|
57
58
|
void client.removeListener(existing.listenerKey);
|
|
58
59
|
existing.listenerKey = undefined;
|
|
59
60
|
}
|
|
61
|
+
existing.generation++;
|
|
60
62
|
existing.info = info;
|
|
61
63
|
existing.needsReload = true;
|
|
62
64
|
} else {
|
|
@@ -77,6 +79,7 @@ export abstract class SdSharedDataProvider<T extends Record<string, SharedDataBa
|
|
|
77
79
|
info,
|
|
78
80
|
itemsSignal,
|
|
79
81
|
handle,
|
|
82
|
+
generation: 0,
|
|
80
83
|
needsReload: true,
|
|
81
84
|
isLoading: false,
|
|
82
85
|
});
|
|
@@ -120,12 +123,16 @@ export abstract class SdSharedDataProvider<T extends Record<string, SharedDataBa
|
|
|
120
123
|
|
|
121
124
|
private _loadAndListen(name: string, entry: SharedDataEntry<any>): void {
|
|
122
125
|
entry.isLoading = true;
|
|
126
|
+
const capturedGeneration = entry.generation;
|
|
123
127
|
this.loadingCount.update((v) => v + 1);
|
|
124
128
|
|
|
125
129
|
// 비동기 로드
|
|
126
130
|
void entry.info
|
|
127
131
|
.getter()
|
|
128
132
|
.then(async (data: any[]) => {
|
|
133
|
+
// register 재호출로 generation이 변경되었으면 결과를 무시
|
|
134
|
+
if (entry.generation !== capturedGeneration) return;
|
|
135
|
+
|
|
129
136
|
entry.itemsSignal.set(data);
|
|
130
137
|
|
|
131
138
|
// 이벤트 리스너 등록
|
|
@@ -135,7 +142,7 @@ export abstract class SdSharedDataProvider<T extends Record<string, SharedDataBa
|
|
|
135
142
|
entry.listenerKey = await event.addListener(
|
|
136
143
|
{ name, filter: entry.info.filter },
|
|
137
144
|
async (changeKeys) => {
|
|
138
|
-
await this._onEvent(name, entry, changeKeys);
|
|
145
|
+
await this._onEvent(name, entry, changeKeys, capturedGeneration);
|
|
139
146
|
},
|
|
140
147
|
);
|
|
141
148
|
}
|
|
@@ -157,7 +164,11 @@ export abstract class SdSharedDataProvider<T extends Record<string, SharedDataBa
|
|
|
157
164
|
name: string,
|
|
158
165
|
entry: SharedDataEntry<any>,
|
|
159
166
|
changeKeys: (string | number)[] | undefined,
|
|
167
|
+
generation: number,
|
|
160
168
|
): Promise<void> {
|
|
169
|
+
// register 재호출로 generation이 변경되었으면 이벤트 무시
|
|
170
|
+
if (entry.generation !== generation) return;
|
|
171
|
+
|
|
161
172
|
this.loadingCount.update((v) => v + 1);
|
|
162
173
|
|
|
163
174
|
try {
|