@simplysm/angular 14.0.47 → 14.0.49

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 (134) hide show
  1. package/README.md +467 -0
  2. package/dist/controls/dropdown/sd-dropdown-popup.d.ts +1 -0
  3. package/dist/controls/dropdown/sd-dropdown-popup.d.ts.map +1 -1
  4. package/dist/controls/dropdown/sd-dropdown-popup.js +6 -1
  5. package/dist/controls/dropdown/sd-dropdown.d.ts.map +1 -1
  6. package/dist/controls/dropdown/sd-dropdown.js +6 -2
  7. package/dist/controls/select/sd-select.d.ts.map +1 -1
  8. package/dist/controls/select/sd-select.js +12 -34
  9. package/dist/core/routing/injectViewTypeSignal.d.ts +1 -1
  10. package/dist/core/routing/injectViewTypeSignal.d.ts.map +1 -1
  11. package/dist/core/routing/injectViewTypeSignal.js +15 -7
  12. package/dist/core/selection/useSelectionManager.d.ts +1 -0
  13. package/dist/core/selection/useSelectionManager.d.ts.map +1 -1
  14. package/dist/core/selection/useSelectionManager.js +54 -14
  15. package/dist/data/shared-data/sd-shared-data-select-button.d.ts +11 -5
  16. package/dist/data/shared-data/sd-shared-data-select-button.d.ts.map +1 -1
  17. package/dist/data/shared-data/sd-shared-data-select-button.js +68 -29
  18. package/dist/data/sheet/sd-sheet.d.ts +4 -1
  19. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  20. package/dist/data/sheet/sd-sheet.js +23 -4
  21. package/dist/index.d.ts +0 -14
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +0 -19
  24. package/dist/styles.css +9 -0
  25. package/docs/bootstrap.md +38 -0
  26. package/docs/directives.md +236 -0
  27. package/docs/features.md +154 -0
  28. package/docs/pipes.md +32 -0
  29. package/docs/plugins.md +37 -0
  30. package/docs/provider-types.md +283 -0
  31. package/docs/providers.md +379 -0
  32. package/docs/recipes/crud-detail.md +875 -0
  33. package/docs/recipes/crud-list.md +1037 -0
  34. package/docs/recipes/data-select-button.md +318 -0
  35. package/docs/recipes/page-modal-container.md +178 -0
  36. package/docs/styling.md +222 -0
  37. package/docs/type-utilities.md +250 -0
  38. package/docs/ui-data.md +333 -0
  39. package/docs/ui-form.md +502 -0
  40. package/docs/ui-layout.md +140 -0
  41. package/docs/ui-navigation.md +303 -0
  42. package/docs/ui-overlay.md +157 -0
  43. package/docs/ui-visual.md +127 -0
  44. package/docs/utils.md +244 -0
  45. package/package.json +21 -20
  46. package/scss/commons/_styles.scss +12 -0
  47. package/src/controls/dropdown/sd-dropdown-popup.ts +6 -2
  48. package/src/controls/dropdown/sd-dropdown.ts +3 -4
  49. package/src/controls/select/sd-select.ts +6 -30
  50. package/src/core/routing/injectViewTypeSignal.ts +17 -10
  51. package/src/core/selection/useSelectionManager.ts +62 -12
  52. package/src/data/shared-data/sd-shared-data-select-button.ts +49 -14
  53. package/src/data/sheet/sd-sheet.ts +21 -0
  54. package/src/index.ts +0 -32
  55. package/dist/core/commons.d.ts +0 -2
  56. package/dist/core/commons.d.ts.map +0 -1
  57. package/dist/core/commons.js +0 -4
  58. package/dist/core/injectParent.d.ts +0 -7
  59. package/dist/core/injectParent.d.ts.map +0 -1
  60. package/dist/core/injectParent.js +0 -30
  61. package/dist/core/selection/setupCumulateSelectedKeys.d.ts +0 -9
  62. package/dist/core/selection/setupCumulateSelectedKeys.d.ts.map +0 -1
  63. package/dist/core/selection/setupCumulateSelectedKeys.js +0 -27
  64. package/dist/core/withBusy.d.ts +0 -3
  65. package/dist/core/withBusy.d.ts.map +0 -1
  66. package/dist/core/withBusy.js +0 -9
  67. package/dist/data/data-detail/sd-data-detail.base.d.ts +0 -51
  68. package/dist/data/data-detail/sd-data-detail.base.d.ts.map +0 -1
  69. package/dist/data/data-detail/sd-data-detail.base.js +0 -127
  70. package/dist/data/data-detail/sd-data-detail.d.ts +0 -30
  71. package/dist/data/data-detail/sd-data-detail.d.ts.map +0 -1
  72. package/dist/data/data-detail/sd-data-detail.js +0 -495
  73. package/dist/data/data-select-button/sd-data-select-button.base.d.ts +0 -24
  74. package/dist/data/data-select-button/sd-data-select-button.base.d.ts.map +0 -1
  75. package/dist/data/data-select-button/sd-data-select-button.base.js +0 -68
  76. package/dist/data/data-select-button/sd-data-select-button.d.ts +0 -15
  77. package/dist/data/data-select-button/sd-data-select-button.d.ts.map +0 -1
  78. package/dist/data/data-select-button/sd-data-select-button.js +0 -152
  79. package/dist/data/data-sheet/injectDataSheetExcelManager.d.ts +0 -14
  80. package/dist/data/data-sheet/injectDataSheetExcelManager.d.ts.map +0 -1
  81. package/dist/data/data-sheet/injectDataSheetExcelManager.js +0 -31
  82. package/dist/data/data-sheet/injectDataSheetInlineEditManager.d.ts +0 -26
  83. package/dist/data/data-sheet/injectDataSheetInlineEditManager.d.ts.map +0 -1
  84. package/dist/data/data-sheet/injectDataSheetInlineEditManager.js +0 -54
  85. package/dist/data/data-sheet/injectDataSheetModalEditManager.d.ts +0 -19
  86. package/dist/data/data-sheet/injectDataSheetModalEditManager.d.ts.map +0 -1
  87. package/dist/data/data-sheet/injectDataSheetModalEditManager.js +0 -44
  88. package/dist/data/data-sheet/injectDataSheetRefreshManager.d.ts +0 -25
  89. package/dist/data/data-sheet/injectDataSheetRefreshManager.d.ts.map +0 -1
  90. package/dist/data/data-sheet/injectDataSheetRefreshManager.js +0 -50
  91. package/dist/data/data-sheet/sd-data-sheet-column.d.ts +0 -8
  92. package/dist/data/data-sheet/sd-data-sheet-column.d.ts.map +0 -1
  93. package/dist/data/data-sheet/sd-data-sheet-column.js +0 -15
  94. package/dist/data/data-sheet/sd-data-sheet.base.d.ts +0 -75
  95. package/dist/data/data-sheet/sd-data-sheet.base.d.ts.map +0 -1
  96. package/dist/data/data-sheet/sd-data-sheet.base.js +0 -188
  97. package/dist/data/data-sheet/sd-data-sheet.d.ts +0 -49
  98. package/dist/data/data-sheet/sd-data-sheet.d.ts.map +0 -1
  99. package/dist/data/data-sheet/sd-data-sheet.js +0 -968
  100. package/dist/data/data-sheet/sd-data-sheet.types.d.ts +0 -17
  101. package/dist/data/data-sheet/sd-data-sheet.types.d.ts.map +0 -1
  102. package/dist/data/data-sheet/sd-data-sheet.types.js +0 -1
  103. package/dist/data/data-sheet/setupCloserWhenSingleSelectionChange.d.ts +0 -9
  104. package/dist/data/data-sheet/setupCloserWhenSingleSelectionChange.d.ts.map +0 -1
  105. package/dist/data/data-sheet/setupCloserWhenSingleSelectionChange.js +0 -20
  106. package/dist/data/data-sheet/useDataSheetFilterManager.d.ts +0 -13
  107. package/dist/data/data-sheet/useDataSheetFilterManager.d.ts.map +0 -1
  108. package/dist/data/data-sheet/useDataSheetFilterManager.js +0 -19
  109. package/dist/data/getOrmDataEditToastErrorMessage.d.ts +0 -2
  110. package/dist/data/getOrmDataEditToastErrorMessage.d.ts.map +0 -1
  111. package/dist/data/getOrmDataEditToastErrorMessage.js +0 -8
  112. package/dist/layout/base-container/sd-base-container.d.ts +0 -27
  113. package/dist/layout/base-container/sd-base-container.d.ts.map +0 -1
  114. package/dist/layout/base-container/sd-base-container.js +0 -193
  115. package/src/core/commons.ts +0 -4
  116. package/src/core/injectParent.ts +0 -45
  117. package/src/core/selection/setupCumulateSelectedKeys.ts +0 -38
  118. package/src/core/withBusy.ts +0 -13
  119. package/src/data/data-detail/sd-data-detail.base.ts +0 -187
  120. package/src/data/data-detail/sd-data-detail.ts +0 -237
  121. package/src/data/data-select-button/sd-data-select-button.base.ts +0 -104
  122. package/src/data/data-select-button/sd-data-select-button.ts +0 -105
  123. package/src/data/data-sheet/injectDataSheetExcelManager.ts +0 -57
  124. package/src/data/data-sheet/injectDataSheetInlineEditManager.ts +0 -89
  125. package/src/data/data-sheet/injectDataSheetModalEditManager.ts +0 -76
  126. package/src/data/data-sheet/injectDataSheetRefreshManager.ts +0 -90
  127. package/src/data/data-sheet/sd-data-sheet-column.ts +0 -10
  128. package/src/data/data-sheet/sd-data-sheet.base.ts +0 -294
  129. package/src/data/data-sheet/sd-data-sheet.ts +0 -479
  130. package/src/data/data-sheet/sd-data-sheet.types.ts +0 -18
  131. package/src/data/data-sheet/setupCloserWhenSingleSelectionChange.ts +0 -29
  132. package/src/data/data-sheet/useDataSheetFilterManager.ts +0 -30
  133. package/src/data/getOrmDataEditToastErrorMessage.ts +0 -10
  134. package/src/layout/base-container/sd-base-container.ts +0 -121
@@ -1,152 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, contentChild, TemplateRef, ViewEncapsulation, } from "@angular/core";
2
- import { SdItemOfTemplate, } from "../../core/template/sd-item-of-template";
3
- import { NgTemplateOutlet } from "@angular/common";
4
- import { injectParent } from "../../core/injectParent";
5
- import { SdAdditionalButton } from "../../controls/button/sd-additional-button";
6
- import { SdAnchor } from "../../controls/button/sd-anchor";
7
- import { SdButton } from "../../controls/button/sd-button";
8
- import { NgIcon } from "@ng-icons/core";
9
- import { tablerEraser, tablerSearch } from "@ng-icons/tabler-icons";
10
- import { SdDataSelectButtonBase } from "./sd-data-select-button.base";
11
- import * as i0 from "@angular/core";
12
- const _c0 = ["*"];
13
- const _c1 = (a0, a1, a2) => ({ $implicit: a0, item: a1, index: a2, depth: 0 });
14
- function SdDataSelectButton_Conditional_1_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelementStart(0, "div", 3);
16
- i0.ɵɵtext(1, ",\u00A0");
17
- i0.ɵɵelementEnd();
18
- } }
19
- function SdDataSelectButton_Conditional_1_For_1_ng_template_2_Template(rf, ctx) { }
20
- function SdDataSelectButton_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵconditionalCreate(0, SdDataSelectButton_Conditional_1_For_1_Conditional_0_Template, 2, 0, "div", 3);
22
- i0.ɵɵelementStart(1, "div", 3);
23
- i0.ɵɵtemplate(2, SdDataSelectButton_Conditional_1_For_1_ng_template_2_Template, 0, 0, "ng-template", 4);
24
- i0.ɵɵelementEnd();
25
- } if (rf & 2) {
26
- const item_r1 = ctx.$implicit;
27
- const ɵ$index_4_r2 = ctx.$index;
28
- const ctx_r2 = i0.ɵɵnextContext(2);
29
- i0.ɵɵconditional(ɵ$index_4_r2 !== 0 ? 0 : -1);
30
- i0.ɵɵadvance(2);
31
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.itemTplRef())("ngTemplateOutletContext", i0.ɵɵpureFunction3(3, _c1, item_r1, item_r1, ɵ$index_4_r2));
32
- } }
33
- function SdDataSelectButton_Conditional_1_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵrepeaterCreate(0, SdDataSelectButton_Conditional_1_For_1_Template, 3, 7, null, null, i0.ɵɵrepeaterTrackByIdentity);
35
- } if (rf & 2) {
36
- const ctx_r2 = i0.ɵɵnextContext();
37
- i0.ɵɵrepeater(ctx_r2.parent.selectedItems());
38
- } }
39
- function SdDataSelectButton_Conditional_3_Template(rf, ctx) { if (rf & 1) {
40
- const _r4 = i0.ɵɵgetCurrentView();
41
- i0.ɵɵelementStart(0, "sd-anchor", 5);
42
- i0.ɵɵlistener("click", function SdDataSelectButton_Conditional_3_Template_sd_anchor_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onEraseClick()); });
43
- i0.ɵɵelement(1, "ng-icon", 6);
44
- i0.ɵɵelementEnd();
45
- } if (rf & 2) {
46
- const ctx_r2 = i0.ɵɵnextContext();
47
- i0.ɵɵproperty("theme", "danger");
48
- i0.ɵɵadvance();
49
- i0.ɵɵproperty("svg", ctx_r2.tablerEraser);
50
- } }
51
- function SdDataSelectButton_Conditional_4_Template(rf, ctx) { if (rf & 1) {
52
- const _r5 = i0.ɵɵgetCurrentView();
53
- i0.ɵɵelementStart(0, "sd-button", 7);
54
- i0.ɵɵlistener("click", function SdDataSelectButton_Conditional_4_Template_sd_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSearchClick($event)); });
55
- i0.ɵɵelement(1, "ng-icon", 6);
56
- i0.ɵɵelementEnd();
57
- } if (rf & 2) {
58
- const ctx_r2 = i0.ɵɵnextContext();
59
- i0.ɵɵproperty("inset", true);
60
- i0.ɵɵadvance();
61
- i0.ɵɵproperty("svg", ctx_r2.tablerSearch);
62
- } }
63
- //#region SdDataSelectButton
64
- export class SdDataSelectButton {
65
- parent = injectParent();
66
- itemTplRef = contentChild(SdItemOfTemplate, { ...(ngDevMode ? { debugName: "itemTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
67
- async onSearchClick(event) {
68
- event.preventDefault();
69
- event.stopPropagation();
70
- await this.parent.doShowModal();
71
- }
72
- onEraseClick() {
73
- this.parent.doInitialValue();
74
- }
75
- tablerEraser = tablerEraser;
76
- tablerSearch = tablerSearch;
77
- static ɵfac = function SdDataSelectButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdDataSelectButton)(); };
78
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdDataSelectButton, selectors: [["sd-data-select-button"]], contentQueries: function SdDataSelectButton_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
79
- i0.ɵɵcontentQuerySignal(dirIndex, ctx.itemTplRef, SdItemOfTemplate, 5, TemplateRef);
80
- } if (rf & 2) {
81
- i0.ɵɵqueryAdvance();
82
- } }, hostVars: 1, hostBindings: function SdDataSelectButton_HostBindings(rf, ctx) { if (rf & 2) {
83
- i0.ɵɵattribute("data-sd-disabled", ctx.parent.disabled());
84
- } }, ngContentSelectors: _c0, decls: 5, vars: 5, consts: [[3, "inset", "size"], [3, "theme"], [3, "inset"], [2, "display", "inline-block"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "click", "theme"], [3, "svg"], [3, "click", "inset"]], template: function SdDataSelectButton_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵprojectionDef();
86
- i0.ɵɵelementStart(0, "sd-additional-button", 0);
87
- i0.ɵɵconditionalCreate(1, SdDataSelectButton_Conditional_1_Template, 2, 0);
88
- i0.ɵɵprojection(2);
89
- i0.ɵɵconditionalCreate(3, SdDataSelectButton_Conditional_3_Template, 2, 2, "sd-anchor", 1);
90
- i0.ɵɵconditionalCreate(4, SdDataSelectButton_Conditional_4_Template, 2, 2, "sd-button", 2);
91
- i0.ɵɵelementEnd();
92
- } if (rf & 2) {
93
- i0.ɵɵproperty("inset", ctx.parent.inset())("size", ctx.parent.size());
94
- i0.ɵɵadvance();
95
- i0.ɵɵconditional(ctx.itemTplRef() ? 1 : -1);
96
- i0.ɵɵadvance(2);
97
- i0.ɵɵconditional(!ctx.parent.disabled() && !ctx.parent.isNoValue() && !ctx.parent.required() ? 3 : -1);
98
- i0.ɵɵadvance();
99
- i0.ɵɵconditional(!ctx.parent.disabled() ? 4 : -1);
100
- } }, dependencies: [SdAdditionalButton,
101
- NgTemplateOutlet,
102
- SdAnchor,
103
- SdButton,
104
- NgIcon], styles: ["sd-data-select-button {\n display: block;\n width: 100%;\n min-width: 3em;\n}"], encapsulation: 2, changeDetection: 0 });
105
- }
106
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSelectButton, [{
107
- type: Component,
108
- args: [{ selector: "sd-data-select-button", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
109
- SdAdditionalButton,
110
- NgTemplateOutlet,
111
- SdAnchor,
112
- SdButton,
113
- NgIcon,
114
- ], template: `
115
- <sd-additional-button [inset]="parent.inset()" [size]="parent.size()">
116
- @if (itemTplRef()) {
117
- @for (item of parent.selectedItems(); track item; let index = $index) {
118
- @if (index !== 0) {
119
- <div style="display: inline-block">,&nbsp;</div>
120
- }
121
- <div style="display: inline-block">
122
- <ng-template
123
- [ngTemplateOutlet]="itemTplRef()!"
124
- [ngTemplateOutletContext]="{
125
- $implicit: item,
126
- item: item,
127
- index: index,
128
- depth: 0,
129
- }"
130
- ></ng-template>
131
- </div>
132
- }
133
- }
134
- <ng-content />
135
-
136
- @if (!parent.disabled() && !parent.isNoValue() && !parent.required()) {
137
- <sd-anchor [theme]="'danger'" (click)="onEraseClick()">
138
- <ng-icon [svg]="tablerEraser" />
139
- </sd-anchor>
140
- }
141
-
142
- @if (!parent.disabled()) {
143
- <sd-button (click)="onSearchClick($event)" [inset]="true">
144
- <ng-icon [svg]="tablerSearch" />
145
- </sd-button>
146
- }
147
- </sd-additional-button>
148
- `, host: {
149
- "[attr.data-sd-disabled]": "parent.disabled()",
150
- }, styles: ["sd-data-select-button {\n display: block;\n width: 100%;\n min-width: 3em;\n}"] }]
151
- }], null, { itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
152
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdDataSelectButton, { className: "SdDataSelectButton", filePath: "packages/angular/src/data/data-select-button/sd-data-select-button.ts", lineNumber: 83 }); })();
@@ -1,14 +0,0 @@
1
- import { type WritableSignal } from "@angular/core";
2
- import type { SdDataSheetSearchResult } from "./sd-data-sheet.types";
3
- export declare function injectDataSheetExcelManager<TItem>(options: {
4
- busyCount: WritableSignal<number>;
5
- search: (usePagination: boolean) => Promise<SdDataSheetSearchResult<TItem>> | SdDataSheetSearchResult<TItem>;
6
- refresh: () => Promise<void>;
7
- getDownloadExcelFn: () => ((items: TItem[]) => Promise<void> | void) | undefined;
8
- getUploadExcelFn: () => ((file: File) => Promise<void> | void) | undefined;
9
- errorMessageFn: (err: unknown) => string;
10
- }): {
11
- doDownloadExcel: () => Promise<void>;
12
- doUploadExcel: () => Promise<void>;
13
- };
14
- //# sourceMappingURL=injectDataSheetExcelManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectDataSheetExcelManager.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/injectDataSheetExcelManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,eAAe,CAAC;AAI5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE;IAC1D,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,CACN,aAAa,EAAE,OAAO,KACnB,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,kBAAkB,EAAE,MAChB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAC1C,SAAS,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3E,cAAc,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;2BAImC,OAAO,CAAC,IAAI,CAAC;yBAYf,OAAO,CAAC,IAAI,CAAC;EAuB9C"}
@@ -1,31 +0,0 @@
1
- import { inject } from "@angular/core";
2
- import { SdToastProvider } from "../../core/toast/sd-toast.provider";
3
- import { SdFileDialogProvider } from "../../core/file-dialog/sd-file-dialog.provider";
4
- import { withBusy } from "../../core/withBusy";
5
- export function injectDataSheetExcelManager(options) {
6
- const sdToast = inject(SdToastProvider);
7
- const sdFileDialog = inject(SdFileDialogProvider);
8
- async function doDownloadExcel() {
9
- const downloadExcelFn = options.getDownloadExcelFn();
10
- if (!downloadExcelFn)
11
- return;
12
- await withBusy(options.busyCount, () => sdToast.try(async () => {
13
- const items = (await options.search(false)).items;
14
- await downloadExcelFn(items);
15
- }));
16
- }
17
- async function doUploadExcel() {
18
- const uploadExcelFn = options.getUploadExcelFn();
19
- if (!uploadExcelFn)
20
- return;
21
- const file = await sdFileDialog.showAsync(false, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
22
- if (!file)
23
- return;
24
- await withBusy(options.busyCount, () => sdToast.try(async () => {
25
- await uploadExcelFn(file);
26
- await options.refresh();
27
- sdToast.success("엑셀 업로드가 완료되었습니다.");
28
- }, (err) => options.errorMessageFn(err)));
29
- }
30
- return { doDownloadExcel, doUploadExcel };
31
- }
@@ -1,26 +0,0 @@
1
- import { type OutputEmitterRef, type WritableSignal } from "@angular/core";
2
- import type { ArrayOneWayDiffResult } from "@simplysm/core-common";
3
- import type { SdDataSheetItemPropInfo } from "./sd-data-sheet.types";
4
- export declare function injectDataSheetInlineEditManager<TItem, TKey>(options: {
5
- busyCount: WritableSignal<number>;
6
- canEdit: () => boolean;
7
- items: WritableSignal<TItem[]>;
8
- submitted: OutputEmitterRef<boolean>;
9
- itemPropInfo: () => SdDataSheetItemPropInfo<TItem>;
10
- getItemInfoFn: (item: TItem) => {
11
- key: TKey;
12
- };
13
- getDiffs: () => ArrayOneWayDiffResult<TItem>[];
14
- refresh: () => Promise<void>;
15
- getNewItemFn: () => (() => Promise<TItem> | TItem) | undefined;
16
- getSubmitFn: () => ((diffs: ArrayOneWayDiffResult<TItem>[]) => Promise<boolean> | boolean) | undefined;
17
- errorMessageFn: (err: unknown) => string;
18
- }): {
19
- doAddItem: () => Promise<void>;
20
- doSubmit: (opt?: {
21
- permCheck?: boolean;
22
- hideNoChangeMessage?: boolean;
23
- }) => Promise<void>;
24
- doToggleDeleteItem: (item: TItem) => void;
25
- };
26
- //# sourceMappingURL=injectDataSheetInlineEditManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectDataSheetInlineEditManager.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/injectDataSheetInlineEditManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAInE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;IACrE,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;QAAE,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC;IAC/D,WAAW,EAAE,MACT,CAAC,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GACvE,SAAS,CAAC;IACd,cAAc,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;qBAG6B,OAAO,CAAC,IAAI,CAAC;qBAYX;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,KAAG,OAAO,CAAC,IAAI,CAAC;+BA8BiB,KAAK,KAAG,IAAI;EAe/C"}
@@ -1,54 +0,0 @@
1
- import { inject, } from "@angular/core";
2
- import { mark } from "../../core/mark";
3
- import { SdToastProvider } from "../../core/toast/sd-toast.provider";
4
- import { withBusy } from "../../core/withBusy";
5
- export function injectDataSheetInlineEditManager(options) {
6
- const sdToast = inject(SdToastProvider);
7
- async function doAddItem() {
8
- const newItemFn = options.getNewItemFn();
9
- if (!newItemFn)
10
- return;
11
- await withBusy(options.busyCount, () => sdToast.try(async () => {
12
- const newItem = await newItemFn();
13
- options.items.update((items) => [newItem, ...items]);
14
- }));
15
- }
16
- async function doSubmit(opt) {
17
- if (options.busyCount() > 0)
18
- return;
19
- if (opt?.permCheck && !options.canEdit())
20
- return;
21
- const submitFn = options.getSubmitFn();
22
- if (!submitFn)
23
- return;
24
- const diffs = options.getDiffs();
25
- if (diffs.length === 0) {
26
- if (!opt?.hideNoChangeMessage) {
27
- sdToast.info("변경사항이 없습니다.");
28
- }
29
- return;
30
- }
31
- await withBusy(options.busyCount, () => sdToast.try(async () => {
32
- const result = await submitFn(diffs);
33
- if (!result)
34
- return;
35
- sdToast.success("저장되었습니다.");
36
- await options.refresh();
37
- options.submitted.emit(true);
38
- }, (err) => options.errorMessageFn(err)));
39
- }
40
- function doToggleDeleteItem(item) {
41
- if (!options.canEdit())
42
- return;
43
- const propInfo = options.itemPropInfo();
44
- if (propInfo.isDeleted == null)
45
- return;
46
- if (options.getItemInfoFn(item).key == null) {
47
- options.items.update((items) => items.filter((item1) => item1 !== item));
48
- return;
49
- }
50
- item[propInfo.isDeleted] = !item[propInfo.isDeleted];
51
- mark(options.items);
52
- }
53
- return { doAddItem, doSubmit, doToggleDeleteItem };
54
- }
@@ -1,19 +0,0 @@
1
- import { type OutputEmitterRef, type Signal, type WritableSignal } from "@angular/core";
2
- import type { SelectModalOutputResult } from "../../core/select-modal-output-result";
3
- export declare function injectDataSheetModalEditManager<TItem, TKey>(options: {
4
- busyCount: WritableSignal<number>;
5
- canEdit: () => boolean;
6
- selectedItemKeys: Signal<TKey[]>;
7
- selectedItems: Signal<TItem[]>;
8
- close: OutputEmitterRef<SelectModalOutputResult<TItem>>;
9
- refresh: () => Promise<void>;
10
- getEditItemFn: () => ((item?: TItem) => Promise<boolean | undefined> | boolean | undefined) | undefined;
11
- getToggleDeleteItemsFn: () => ((del: boolean) => Promise<boolean>) | undefined;
12
- errorMessageFn: (err: unknown) => string;
13
- }): {
14
- doEditItem: (item?: TItem) => Promise<void>;
15
- doToggleDeleteItems: (del: boolean) => Promise<void>;
16
- doModalConfirm: () => void;
17
- doModalCancel: () => void;
18
- };
19
- //# sourceMappingURL=injectDataSheetModalEditManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectDataSheetModalEditManager.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/injectDataSheetModalEditManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;IACpE,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,aAAa,EAAE,MACX,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC,GACtE,SAAS,CAAC;IACd,sBAAsB,EAAE,MACpB,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GACpC,SAAS,CAAC;IACd,cAAc,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;wBAGkC,KAAK,KAAG,OAAO,CAAC,IAAI,CAAC;+BAcd,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC;0BAmBpC,IAAI;yBAOL,IAAI;EAQ/B"}
@@ -1,44 +0,0 @@
1
- import { inject, } from "@angular/core";
2
- import { SdToastProvider } from "../../core/toast/sd-toast.provider";
3
- import { withBusy } from "../../core/withBusy";
4
- export function injectDataSheetModalEditManager(options) {
5
- const sdToast = inject(SdToastProvider);
6
- async function doEditItem(item) {
7
- const editItemFn = options.getEditItemFn();
8
- if (!editItemFn)
9
- return;
10
- const result = await editItemFn(item);
11
- if (!result)
12
- return;
13
- await withBusy(options.busyCount, () => sdToast.try(async () => {
14
- await options.refresh();
15
- }));
16
- }
17
- async function doToggleDeleteItems(del) {
18
- if (!options.canEdit())
19
- return;
20
- const toggleDeleteItemsFn = options.getToggleDeleteItemsFn();
21
- if (!toggleDeleteItemsFn)
22
- return;
23
- await withBusy(options.busyCount, () => sdToast.try(async () => {
24
- const result = await toggleDeleteItemsFn(del);
25
- if (!result)
26
- return;
27
- await options.refresh();
28
- sdToast.success(`${del ? "삭제" : "복구"}되었습니다.`);
29
- }, (err) => options.errorMessageFn(err)));
30
- }
31
- function doModalConfirm() {
32
- options.close.emit({
33
- selectedItemKeys: options.selectedItemKeys(),
34
- selectedItems: options.selectedItems(),
35
- });
36
- }
37
- function doModalCancel() {
38
- options.close.emit({
39
- selectedItemKeys: [],
40
- selectedItems: [],
41
- });
42
- }
43
- return { doEditItem, doToggleDeleteItems, doModalConfirm, doModalCancel };
44
- }
@@ -1,25 +0,0 @@
1
- import { type Signal, type WritableSignal } from "@angular/core";
2
- import { type ArrayOneWayDiffResult } from "@simplysm/core-common";
3
- import type { SdDataSheetSearchResult } from "./sd-data-sheet.types";
4
- export declare function injectDataSheetRefreshManager<TItem, TKey extends string | number | undefined>(options: {
5
- busyCount: WritableSignal<number>;
6
- initialized: WritableSignal<boolean>;
7
- canUse: () => boolean;
8
- items: WritableSignal<TItem[]>;
9
- selectedItems: WritableSignal<TItem[]>;
10
- pageLength: WritableSignal<number>;
11
- summaryData: WritableSignal<Partial<TItem>>;
12
- page: Signal<number>;
13
- lastFilter: Signal<unknown>;
14
- sortingDefs: Signal<unknown[]>;
15
- getItemInfoFn: (item: TItem) => {
16
- key: TKey;
17
- };
18
- search: (usePagination: boolean) => Promise<SdDataSheetSearchResult<TItem>> | SdDataSheetSearchResult<TItem>;
19
- prepareRefreshEffect?: () => void;
20
- getDiffsExcludes: () => string[] | undefined;
21
- }): {
22
- refresh: () => Promise<void>;
23
- getDiffs: () => ArrayOneWayDiffResult<TItem>[];
24
- };
25
- //# sourceMappingURL=injectDataSheetRefreshManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectDataSheetRefreshManager.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/injectDataSheetRefreshManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAkB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,KAAK,qBAAqB,EAAO,MAAM,uBAAuB,CAAC;AAIxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,wBAAgB,6BAA6B,CAC3C,KAAK,EACL,IAAI,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,OAAO,EAAE;IACT,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/B,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;QAAE,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAC9C,MAAM,EAAE,CACN,aAAa,EAAE,OAAO,KACnB,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC9E,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9C;mBAK2B,OAAO,CAAC,IAAI,CAAC;oBAgBlB,qBAAqB,CAAC,KAAK,CAAC,EAAE;EAyCpD"}
@@ -1,50 +0,0 @@
1
- import { effect, inject } from "@angular/core";
2
- import { obj } from "@simplysm/core-common";
3
- import { SdToastProvider } from "../../core/toast/sd-toast.provider";
4
- import { SdSharedDataProvider } from "../../core/shared-data/sd-shared-data.provider";
5
- import { withBusy } from "../../core/withBusy";
6
- export function injectDataSheetRefreshManager(options) {
7
- const sdToast = inject(SdToastProvider);
8
- const sdSharedData = inject(SdSharedDataProvider);
9
- let itemsSnapshot = [];
10
- async function refresh() {
11
- const result = await options.search(true);
12
- options.items.set(result.items);
13
- itemsSnapshot = obj.clone(result.items);
14
- options.pageLength.set(result.pageLength ?? 0);
15
- options.summaryData.set(result.summary ?? {});
16
- const selectedKeySet = new Set(options.selectedItems().map((sel) => options.getItemInfoFn(sel).key));
17
- options.selectedItems.set(options.items().filter((item) => selectedKeySet.has(options.getItemInfoFn(item).key)));
18
- }
19
- function getDiffs() {
20
- const diffsExcludes = options.getDiffsExcludes();
21
- return options
22
- .items()
23
- .oneWayDiffs(itemsSnapshot, (item) => options.getItemInfoFn(item).key, diffsExcludes ? { excludes: diffsExcludes } : undefined)
24
- .filter((d) => d.type !== "same");
25
- }
26
- effect((onCleanup) => {
27
- options.page();
28
- options.lastFilter();
29
- options.sortingDefs();
30
- options.prepareRefreshEffect?.();
31
- let cancelled = false;
32
- onCleanup(() => {
33
- cancelled = true;
34
- });
35
- queueMicrotask(async () => {
36
- if (cancelled)
37
- return;
38
- if (!options.canUse()) {
39
- options.initialized.set(true);
40
- return;
41
- }
42
- await withBusy(options.busyCount, () => sdToast.try(async () => {
43
- await sdSharedData.wait();
44
- await refresh();
45
- }));
46
- options.initialized.set(true);
47
- });
48
- });
49
- return { refresh, getDiffs };
50
- }
@@ -1,8 +0,0 @@
1
- import { SdSheetColumn } from "../sheet/sd-sheet-column";
2
- import * as i0 from "@angular/core";
3
- export declare class SdDataSheetColumn extends SdSheetColumn {
4
- edit: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSheetColumn, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<SdDataSheetColumn, "sd-data-sheet-column", never, { "edit": { "alias": "edit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
- }
8
- //# sourceMappingURL=sd-data-sheet-column.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sd-data-sheet-column.d.ts","sourceRoot":"","sources":["../../../src/data/data-sheet/sd-data-sheet-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAEzD,qBAIa,iBAAkB,SAAQ,aAAa;IAClD,IAAI,qEAAiD;yCAD1C,iBAAiB;2CAAjB,iBAAiB;CAE7B"}
@@ -1,15 +0,0 @@
1
- import { booleanAttribute, Directive, input } from "@angular/core";
2
- import { SdSheetColumn } from "../sheet/sd-sheet-column";
3
- import * as i0 from "@angular/core";
4
- export class SdDataSheetColumn extends SdSheetColumn {
5
- edit = input(false, { ...(ngDevMode ? { debugName: "edit" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
6
- static ɵfac = /*@__PURE__*/ (() => { let ɵSdDataSheetColumn_BaseFactory; return function SdDataSheetColumn_Factory(__ngFactoryType__) { return (ɵSdDataSheetColumn_BaseFactory || (ɵSdDataSheetColumn_BaseFactory = i0.ɵɵgetInheritedFactory(SdDataSheetColumn)))(__ngFactoryType__ || SdDataSheetColumn); }; })();
7
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataSheetColumn, selectors: [["sd-data-sheet-column"]], inputs: { edit: [1, "edit"] }, features: [i0.ɵɵInheritDefinitionFeature] });
8
- }
9
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSheetColumn, [{
10
- type: Directive,
11
- args: [{
12
- selector: "sd-data-sheet-column",
13
- standalone: true,
14
- }]
15
- }], null, { edit: [{ type: i0.Input, args: [{ isSignal: true, alias: "edit", required: false }] }] }); })();
@@ -1,75 +0,0 @@
1
- import { type InputSignal, type Signal, TemplateRef, type WritableSignal } from "@angular/core";
2
- import type { ArrayOneWayDiffResult } from "@simplysm/core-common";
3
- import type { SortingDef } from "../sheet/sd-sheet";
4
- import type { SdSelectModal } from "../../controls/button/sd-modal-select-button";
5
- import type { SelectModalOutputResult } from "../../core/select-modal-output-result";
6
- import type { SdDataSheetItemPropInfo, SdDataSheetItemInfo, SdDataSheetSearchResult } from "./sd-data-sheet.types";
7
- import * as i0 from "@angular/core";
8
- export type { SdDataSheetItemPropInfo, SdDataSheetItemInfo, SdDataSheetSearchResult, } from "./sd-data-sheet.types";
9
- export declare abstract class SdDataSheetBase<TFilter extends Record<string, any>, TItem, TKey extends string | number | undefined> implements SdSelectModal<TItem> {
10
- abstract canUse: Signal<boolean>;
11
- abstract canEdit: Signal<boolean>;
12
- hideTool?: Signal<boolean>;
13
- abstract editMode: "inline" | "modal" | undefined;
14
- abstract selectMode: InputSignal<"single" | "multi" | undefined>;
15
- diffsExcludes?: string[];
16
- abstract bindFilter(): TFilter;
17
- abstract itemPropInfo: SdDataSheetItemPropInfo<TItem>;
18
- abstract getItemInfoFn: (item: TItem) => SdDataSheetItemInfo<TKey>;
19
- prepareRefreshEffect?(): void;
20
- abstract search(usePagination: boolean): Promise<SdDataSheetSearchResult<TItem>> | SdDataSheetSearchResult<TItem>;
21
- editItem?(item?: TItem): Promise<boolean | undefined> | boolean | undefined;
22
- toggleDeleteItems?(del: boolean): Promise<boolean>;
23
- newItem?(): Promise<TItem> | TItem;
24
- submit?(diffs: ArrayOneWayDiffResult<TItem>[]): Promise<boolean> | boolean;
25
- downloadExcel?(items: TItem[]): Promise<void> | void;
26
- uploadExcel?(file: File): Promise<void> | void;
27
- private readonly _filterMgr;
28
- private readonly _refreshMgr;
29
- private readonly _inlineEditMgr;
30
- private readonly _modalEditMgr;
31
- private readonly _excelMgr;
32
- key: string;
33
- viewType: Signal<import("../..").SdViewType>;
34
- busyCount: WritableSignal<number>;
35
- busyMessage: WritableSignal<string | undefined>;
36
- initialized: WritableSignal<boolean>;
37
- close: import("@angular/core").OutputEmitterRef<SelectModalOutputResult<TItem>>;
38
- submitted: import("@angular/core").OutputEmitterRef<boolean>;
39
- selectedItemKeys: import("@angular/core").ModelSignal<TKey[]>;
40
- actionTplRef?: TemplateRef<any>;
41
- autoSelect: Signal<"click" | undefined>;
42
- items: WritableSignal<TItem[]>;
43
- summaryData: WritableSignal<Partial<TItem>>;
44
- selectedItems: WritableSignal<TItem[]>;
45
- trackByFn: (item: TItem) => TKey | TItem;
46
- page: WritableSignal<number>;
47
- pageLength: WritableSignal<number>;
48
- sortingDefs: WritableSignal<SortingDef[]>;
49
- filter: WritableSignal<TFilter>;
50
- lastFilter: WritableSignal<TFilter>;
51
- isSelectedItemsHasDeleted: Signal<boolean>;
52
- isSelectedItemsHasNotDeleted: Signal<boolean>;
53
- getItemCellStyleFn: (item: TItem) => string | undefined;
54
- getItemSelectableFn: (item: TItem) => boolean;
55
- constructor();
56
- checkIgnoreChanges(): boolean;
57
- doFilterSubmit(): void;
58
- doRefresh(): void;
59
- refresh(): Promise<void>;
60
- doAddItem(): Promise<void>;
61
- doSubmit(opt?: {
62
- permCheck?: boolean;
63
- hideNoChangeMessage?: boolean;
64
- }): Promise<void>;
65
- doToggleDeleteItem(item: TItem): void;
66
- doEditItem(item?: TItem): Promise<void>;
67
- doToggleDeleteItems(del: boolean): Promise<void>;
68
- doModalConfirm(): void;
69
- doModalCancel(): void;
70
- doDownloadExcel(): Promise<void>;
71
- doUploadExcel(): Promise<void>;
72
- static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSheetBase<any, any, any>, never>;
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>;
74
- }
75
- //# sourceMappingURL=sd-data-sheet.base.d.ts.map
@@ -1 +0,0 @@
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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"}