@simplysm/angular 14.0.46 → 14.0.48

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 (128) hide show
  1. package/README.md +468 -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 -13
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +0 -17
  24. package/docs/bootstrap.md +38 -0
  25. package/docs/directives.md +236 -0
  26. package/docs/features.md +169 -0
  27. package/docs/pipes.md +32 -0
  28. package/docs/plugins.md +37 -0
  29. package/docs/provider-types.md +283 -0
  30. package/docs/providers.md +379 -0
  31. package/docs/recipes/crud-detail.md +860 -0
  32. package/docs/recipes/crud-list.md +779 -0
  33. package/docs/recipes/data-select-button.md +319 -0
  34. package/docs/recipes/page-modal-container.md +178 -0
  35. package/docs/styling.md +222 -0
  36. package/docs/type-utilities.md +250 -0
  37. package/docs/ui-data.md +333 -0
  38. package/docs/ui-form.md +502 -0
  39. package/docs/ui-layout.md +140 -0
  40. package/docs/ui-navigation.md +273 -0
  41. package/docs/ui-overlay.md +157 -0
  42. package/docs/ui-visual.md +127 -0
  43. package/docs/utils.md +244 -0
  44. package/package.json +27 -26
  45. package/src/controls/dropdown/sd-dropdown-popup.ts +6 -2
  46. package/src/controls/dropdown/sd-dropdown.ts +3 -4
  47. package/src/controls/select/sd-select.ts +6 -30
  48. package/src/core/routing/injectViewTypeSignal.ts +17 -10
  49. package/src/core/selection/useSelectionManager.ts +62 -12
  50. package/src/data/shared-data/sd-shared-data-select-button.ts +49 -14
  51. package/src/data/sheet/sd-sheet.ts +21 -0
  52. package/src/index.ts +0 -29
  53. package/dist/core/commons.d.ts +0 -2
  54. package/dist/core/commons.d.ts.map +0 -1
  55. package/dist/core/commons.js +0 -4
  56. package/dist/core/injectParent.d.ts +0 -7
  57. package/dist/core/injectParent.d.ts.map +0 -1
  58. package/dist/core/injectParent.js +0 -30
  59. package/dist/core/selection/setupCumulateSelectedKeys.d.ts +0 -9
  60. package/dist/core/selection/setupCumulateSelectedKeys.d.ts.map +0 -1
  61. package/dist/core/selection/setupCumulateSelectedKeys.js +0 -27
  62. package/dist/core/withBusy.d.ts +0 -3
  63. package/dist/core/withBusy.d.ts.map +0 -1
  64. package/dist/core/withBusy.js +0 -9
  65. package/dist/data/data-detail/sd-data-detail.base.d.ts +0 -51
  66. package/dist/data/data-detail/sd-data-detail.base.d.ts.map +0 -1
  67. package/dist/data/data-detail/sd-data-detail.base.js +0 -127
  68. package/dist/data/data-detail/sd-data-detail.d.ts +0 -30
  69. package/dist/data/data-detail/sd-data-detail.d.ts.map +0 -1
  70. package/dist/data/data-detail/sd-data-detail.js +0 -495
  71. package/dist/data/data-select-button/sd-data-select-button.base.d.ts +0 -24
  72. package/dist/data/data-select-button/sd-data-select-button.base.d.ts.map +0 -1
  73. package/dist/data/data-select-button/sd-data-select-button.base.js +0 -68
  74. package/dist/data/data-select-button/sd-data-select-button.d.ts +0 -15
  75. package/dist/data/data-select-button/sd-data-select-button.d.ts.map +0 -1
  76. package/dist/data/data-select-button/sd-data-select-button.js +0 -152
  77. package/dist/data/data-sheet/injectDataSheetExcelManager.d.ts +0 -14
  78. package/dist/data/data-sheet/injectDataSheetExcelManager.d.ts.map +0 -1
  79. package/dist/data/data-sheet/injectDataSheetExcelManager.js +0 -31
  80. package/dist/data/data-sheet/injectDataSheetInlineEditManager.d.ts +0 -26
  81. package/dist/data/data-sheet/injectDataSheetInlineEditManager.d.ts.map +0 -1
  82. package/dist/data/data-sheet/injectDataSheetInlineEditManager.js +0 -54
  83. package/dist/data/data-sheet/injectDataSheetModalEditManager.d.ts +0 -19
  84. package/dist/data/data-sheet/injectDataSheetModalEditManager.d.ts.map +0 -1
  85. package/dist/data/data-sheet/injectDataSheetModalEditManager.js +0 -44
  86. package/dist/data/data-sheet/injectDataSheetRefreshManager.d.ts +0 -25
  87. package/dist/data/data-sheet/injectDataSheetRefreshManager.d.ts.map +0 -1
  88. package/dist/data/data-sheet/injectDataSheetRefreshManager.js +0 -50
  89. package/dist/data/data-sheet/sd-data-sheet-column.d.ts +0 -8
  90. package/dist/data/data-sheet/sd-data-sheet-column.d.ts.map +0 -1
  91. package/dist/data/data-sheet/sd-data-sheet-column.js +0 -15
  92. package/dist/data/data-sheet/sd-data-sheet.base.d.ts +0 -75
  93. package/dist/data/data-sheet/sd-data-sheet.base.d.ts.map +0 -1
  94. package/dist/data/data-sheet/sd-data-sheet.base.js +0 -188
  95. package/dist/data/data-sheet/sd-data-sheet.d.ts +0 -49
  96. package/dist/data/data-sheet/sd-data-sheet.d.ts.map +0 -1
  97. package/dist/data/data-sheet/sd-data-sheet.js +0 -968
  98. package/dist/data/data-sheet/sd-data-sheet.types.d.ts +0 -17
  99. package/dist/data/data-sheet/sd-data-sheet.types.d.ts.map +0 -1
  100. package/dist/data/data-sheet/sd-data-sheet.types.js +0 -1
  101. package/dist/data/data-sheet/setupCloserWhenSingleSelectionChange.d.ts +0 -9
  102. package/dist/data/data-sheet/setupCloserWhenSingleSelectionChange.d.ts.map +0 -1
  103. package/dist/data/data-sheet/setupCloserWhenSingleSelectionChange.js +0 -20
  104. package/dist/data/data-sheet/useDataSheetFilterManager.d.ts +0 -13
  105. package/dist/data/data-sheet/useDataSheetFilterManager.d.ts.map +0 -1
  106. package/dist/data/data-sheet/useDataSheetFilterManager.js +0 -19
  107. package/dist/layout/base-container/sd-base-container.d.ts +0 -27
  108. package/dist/layout/base-container/sd-base-container.d.ts.map +0 -1
  109. package/dist/layout/base-container/sd-base-container.js +0 -193
  110. package/src/core/commons.ts +0 -4
  111. package/src/core/injectParent.ts +0 -45
  112. package/src/core/selection/setupCumulateSelectedKeys.ts +0 -38
  113. package/src/core/withBusy.ts +0 -13
  114. package/src/data/data-detail/sd-data-detail.base.ts +0 -187
  115. package/src/data/data-detail/sd-data-detail.ts +0 -237
  116. package/src/data/data-select-button/sd-data-select-button.base.ts +0 -104
  117. package/src/data/data-select-button/sd-data-select-button.ts +0 -105
  118. package/src/data/data-sheet/injectDataSheetExcelManager.ts +0 -57
  119. package/src/data/data-sheet/injectDataSheetInlineEditManager.ts +0 -89
  120. package/src/data/data-sheet/injectDataSheetModalEditManager.ts +0 -76
  121. package/src/data/data-sheet/injectDataSheetRefreshManager.ts +0 -90
  122. package/src/data/data-sheet/sd-data-sheet-column.ts +0 -10
  123. package/src/data/data-sheet/sd-data-sheet.base.ts +0 -294
  124. package/src/data/data-sheet/sd-data-sheet.ts +0 -479
  125. package/src/data/data-sheet/sd-data-sheet.types.ts +0 -18
  126. package/src/data/data-sheet/setupCloserWhenSingleSelectionChange.ts +0 -29
  127. package/src/data/data-sheet/useDataSheetFilterManager.ts +0 -30
  128. package/src/layout/base-container/sd-base-container.ts +0 -121
@@ -1,4 +1,4 @@
1
1
  import { type Signal } from "@angular/core";
2
- export declare function injectViewTypeSignal(getComp: () => object): Signal<SdViewType>;
2
+ export declare function injectViewTypeSignal(): Signal<SdViewType>;
3
3
  export type SdViewType = "page" | "modal" | "control";
4
4
  //# sourceMappingURL=injectViewTypeSignal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"injectViewTypeSignal.d.ts","sourceRoot":"","sources":["../../../src/core/routing/injectViewTypeSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAM9D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAwB9E;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"injectViewTypeSignal.d.ts","sourceRoot":"","sources":["../../../src/core/routing/injectViewTypeSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAMhG,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,UAAU,CAAC,CA+BzD;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
@@ -1,22 +1,30 @@
1
- import { computed, inject } from "@angular/core";
1
+ import { computed, ElementRef, inject, reflectComponentType } from "@angular/core";
2
2
  import { ActivatedRoute } from "@angular/router";
3
3
  import { SdActivatedModalProvider } from "../modal/sd-activated-modal.provider";
4
4
  import { injectCurrentPageCodeSignal } from "./injectCurrentPageCodeSignal";
5
5
  import { injectFullPageCodeSignal } from "./injectFullPageCodeSignal";
6
- export function injectViewTypeSignal(getComp) {
6
+ export function injectViewTypeSignal() {
7
7
  const sdActivatedModal = inject(SdActivatedModalProvider, { optional: true });
8
8
  const activatedRoute = inject(ActivatedRoute, { optional: true });
9
+ const elRef = inject(ElementRef);
9
10
  const fullPageCode = injectFullPageCodeSignal();
10
11
  const currPageCode = injectCurrentPageCodeSignal();
11
12
  return computed(() => {
12
13
  if (sdActivatedModal != null) {
13
14
  return "modal";
14
15
  }
15
- const comp = getComp();
16
- if (activatedRoute &&
17
- activatedRoute.component === comp.constructor &&
18
- fullPageCode() === currPageCode?.()) {
19
- return "page";
16
+ if (activatedRoute) {
17
+ const component = activatedRoute.component;
18
+ if (component == null || typeof component === "string") {
19
+ return "control";
20
+ }
21
+ if (reflectComponentType(component)?.selector !==
22
+ elRef.nativeElement.tagName.toLowerCase()) {
23
+ return "control";
24
+ }
25
+ if (fullPageCode() === currPageCode?.()) {
26
+ return "page";
27
+ }
20
28
  }
21
29
  return "control";
22
30
  });
@@ -4,6 +4,7 @@ export declare function useSelectionManager<T>(options: {
4
4
  selectedItems: WritableSignal<T[]>;
5
5
  selectMode: Signal<"single" | "multi" | undefined>;
6
6
  getItemSelectableFn: Signal<((item: T) => boolean | string) | undefined>;
7
+ trackByFn: Signal<(item: T, index: number) => unknown>;
7
8
  }): {
8
9
  hasSelectable: Signal<boolean>;
9
10
  isAllSelected: Signal<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionManager.d.ts","sourceRoot":"","sources":["../../../src/core/selection/useSelectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC9C,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IACnD,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;CAC1E,GAAG;IACF,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAClD,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;CAC9B,CAwFA"}
1
+ {"version":3,"file":"useSelectionManager.d.ts","sourceRoot":"","sources":["../../../src/core/selection/useSelectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAG3E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC9C,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IACnD,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;CACxD,GAAG;IACF,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAClD,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;CAC9B,CAwIA"}
@@ -1,4 +1,5 @@
1
1
  import { computed } from "@angular/core";
2
+ import { obj } from "@simplysm/core-common";
2
3
  export function useSelectionManager(options) {
3
4
  const selectableItems = computed(() => {
4
5
  const fn = options.getItemSelectableFn();
@@ -9,13 +10,34 @@ export function useSelectionManager(options) {
9
10
  const hasSelectable = computed(() => {
10
11
  return options.selectMode() != null;
11
12
  }, ...(ngDevMode ? [{ debugName: "hasSelectable" }] : /* istanbul ignore next */ []));
12
- const selectedItemsSet = computed(() => new Set(options.selectedItems()), ...(ngDevMode ? [{ debugName: "selectedItemsSet" }] : /* istanbul ignore next */ []));
13
+ const displayItemIndexMap = computed(() => {
14
+ const map = new Map();
15
+ options.displayItems().forEach((it, i) => map.set(it, i));
16
+ return map;
17
+ }, ...(ngDevMode ? [{ debugName: "displayItemIndexMap" }] : /* istanbul ignore next */ []));
18
+ const selectedKeys = computed(() => {
19
+ const fn = options.trackByFn();
20
+ return options.selectedItems().map((it, i) => fn(it, i));
21
+ }, ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
22
+ function isKeyEqual(a, b) {
23
+ if (a === b)
24
+ return true;
25
+ return obj.equal(a, b);
26
+ }
27
+ function keyOf(item) {
28
+ const idx = displayItemIndexMap().get(item);
29
+ return options.trackByFn()(item, idx ?? 0);
30
+ }
13
31
  const isAllSelected = computed(() => {
14
32
  const items = selectableItems();
15
33
  if (items.length === 0)
16
34
  return false;
17
- const set = selectedItemsSet();
18
- return items.every((item) => set.has(item));
35
+ const keys = selectedKeys();
36
+ const fn = options.trackByFn();
37
+ return items.every((it, i) => {
38
+ const key = fn(it, i);
39
+ return keys.some((k) => isKeyEqual(k, key));
40
+ });
19
41
  }, ...(ngDevMode ? [{ debugName: "isAllSelected" }] : /* istanbul ignore next */ []));
20
42
  function getSelectable(item) {
21
43
  const mode = options.selectMode();
@@ -45,17 +67,20 @@ export function useSelectionManager(options) {
45
67
  return;
46
68
  if (mode === "single") {
47
69
  options.selectedItems.set([item]);
70
+ return;
48
71
  }
49
- else {
50
- options.selectedItems.update((arr) => {
51
- if (arr.includes(item))
52
- return arr;
53
- return [...arr, item];
54
- });
55
- }
72
+ const key = keyOf(item);
73
+ const fn = options.trackByFn();
74
+ options.selectedItems.update((arr) => {
75
+ if (arr.some((it, i) => isKeyEqual(fn(it, i), key)))
76
+ return arr;
77
+ return [...arr, item];
78
+ });
56
79
  }
57
80
  function deselect(item) {
58
- options.selectedItems.update((arr) => arr.filter((i) => i !== item));
81
+ const key = keyOf(item);
82
+ const fn = options.trackByFn();
83
+ options.selectedItems.update((arr) => arr.filter((it, i) => !isKeyEqual(fn(it, i), key)));
59
84
  }
60
85
  function toggle(item) {
61
86
  if (isSelected(item)) {
@@ -66,15 +91,30 @@ export function useSelectionManager(options) {
66
91
  }
67
92
  }
68
93
  function toggleAll() {
94
+ const selectable = selectableItems();
95
+ const fn = options.trackByFn();
96
+ const idxMap = displayItemIndexMap();
69
97
  if (isAllSelected()) {
70
- options.selectedItems.set([]);
98
+ const keysToRemove = selectable.map((it) => fn(it, idxMap.get(it) ?? 0));
99
+ options.selectedItems.update((arr) => arr.filter((it, i) => {
100
+ const k = fn(it, i);
101
+ return !keysToRemove.some((rk) => isKeyEqual(rk, k));
102
+ }));
71
103
  }
72
104
  else {
73
- options.selectedItems.set([...selectableItems()]);
105
+ options.selectedItems.update((arr) => {
106
+ const existingKeys = arr.map((it, i) => fn(it, i));
107
+ const toAdd = selectable.filter((it) => {
108
+ const k = fn(it, idxMap.get(it) ?? 0);
109
+ return !existingKeys.some((ek) => isKeyEqual(ek, k));
110
+ });
111
+ return [...arr, ...toAdd];
112
+ });
74
113
  }
75
114
  }
76
115
  function isSelected(item) {
77
- return selectedItemsSet().has(item);
116
+ const key = keyOf(item);
117
+ return selectedKeys().some((k) => isKeyEqual(k, key));
78
118
  }
79
119
  return {
80
120
  hasSelectable,
@@ -1,16 +1,22 @@
1
1
  import { TemplateRef } from "@angular/core";
2
2
  import type { SharedDataBase } from "../../core/shared-data/sd-shared-data.provider";
3
3
  import { type SdItemOfTemplateContext } from "../../core/template/sd-item-of-template";
4
- import { SdDataSelectButtonBase } from "../data-select-button/sd-data-select-button.base";
5
- import type { SdSelectModal, SdSelectModalInfo } from "../../controls/button/sd-modal-select-button";
4
+ import { type SdSelectModal, type SdSelectModalInfo } from "../../controls/button/sd-modal-select-button";
6
5
  import type { SelectModeValue } from "../../controls/select/sd-select";
7
6
  import * as i0 from "@angular/core";
8
- export declare class SdSharedDataSelectButton<TItem extends SharedDataBase<string | number>, TMode extends keyof SelectModeValue<string | number>, TModal extends SdSelectModal<any>> extends SdDataSelectButtonBase<TItem, string | number, TMode> {
7
+ export declare class SdSharedDataSelectButton<TItem extends SharedDataBase<string | number>, TMode extends keyof SelectModeValue<string | number>, TModal extends SdSelectModal<any>> {
8
+ value: import("@angular/core").ModelSignal<SelectModeValue<string | number>[TMode] | undefined>;
9
9
  items: import("@angular/core").InputSignal<TItem[]>;
10
10
  modal: import("@angular/core").InputSignal<SdSelectModalInfo<TModal>>;
11
+ selectMode: import("@angular/core").InputSignal<TMode>;
12
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
14
+ inset: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ size: import("@angular/core").InputSignal<"sm" | "lg" | undefined>;
11
16
  itemTplRef: import("@angular/core").Signal<TemplateRef<SdItemOfTemplateContext<TItem>>>;
12
- load(keys: (string | number)[]): TItem[];
17
+ protected readonly _selectedItems: import("@angular/core").WritableSignal<TItem[]>;
18
+ constructor();
13
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SdSharedDataSelectButton<any, any, any>, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<SdSharedDataSelectButton<any, any, any>, "sd-shared-data-select-button", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": true; "isSignal": true; }; }, {}, ["itemTplRef"], ["*"], true, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdSharedDataSelectButton<any, any, any>, "sd-shared-data-select-button", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["itemTplRef"], never, true, never>;
15
21
  }
16
22
  //# sourceMappingURL=sd-shared-data-select-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-shared-data-select-button.d.ts","sourceRoot":"","sources":["../../../src/data/shared-data/sd-shared-data-select-button.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EAClB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;;AAEvE,qBAuBa,wBAAwB,CACnC,KAAK,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAC7C,KAAK,SAAS,MAAM,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EACpD,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC,CACjC,SAAQ,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC;IAC7D,KAAK,+CAAsB;IAC3B,KAAK,iEAA+C;IAEpD,UAAU,8EAGR;IAEO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE;yCAbtC,wBAAwB;2CAAxB,wBAAwB;CAgBpC"}
1
+ {"version":3,"file":"sd-shared-data-select-button.d.ts","sourceRoot":"","sources":["../../../src/data/shared-data/sd-shared-data-select-button.ts"],"names":[],"mappings":"AACA,OAAO,EASL,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;;AAEvE,qBAkCa,wBAAwB,CACnC,KAAK,SAAS,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAC7C,KAAK,SAAS,MAAM,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EACpD,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC;IAEjC,KAAK,2FAAoD;IACzD,KAAK,+CAAsB;IAC3B,KAAK,iEAA+C;IACpD,UAAU,6CAAmC;IAC7C,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,KAAK,qEAAiD;IACtD,IAAI,+DAAwB;IAE5B,UAAU,8EAGR;IAEF,SAAS,CAAC,QAAQ,CAAC,cAAc,kDAAuB;;yCAnB7C,wBAAwB;2CAAxB,wBAAwB;CAqCpC"}
@@ -1,42 +1,70 @@
1
1
  import { NgTemplateOutlet } from "@angular/common";
2
- import { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, ViewEncapsulation, } from "@angular/core";
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, effect, input, model, signal, TemplateRef, ViewEncapsulation, } from "@angular/core";
3
3
  import { SdItemOfTemplate, } from "../../core/template/sd-item-of-template";
4
- import { SdDataSelectButton } from "../data-select-button/sd-data-select-button";
5
- import { SdDataSelectButtonBase } from "../data-select-button/sd-data-select-button.base";
4
+ import { SdModalSelectButton, } from "../../controls/button/sd-modal-select-button";
6
5
  import * as i0 from "@angular/core";
7
- const _c0 = ["*"];
8
- const _c1 = (a0, a1, a2) => ({ $implicit: a0, item: a1, index: a2, depth: 0 });
9
- function SdSharedDataSelectButton_ng_template_1_ng_template_0_Template(rf, ctx) { }
10
- function SdSharedDataSelectButton_ng_template_1_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵtemplate(0, SdSharedDataSelectButton_ng_template_1_ng_template_0_Template, 0, 0, "ng-template", 1);
6
+ const _c0 = (a0, a1, a2) => ({ $implicit: a0, item: a1, index: a2, depth: 0 });
7
+ function SdSharedDataSelectButton_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "span");
9
+ i0.ɵɵtext(1, ",\u00A0");
10
+ i0.ɵɵelementEnd();
11
+ } }
12
+ function SdSharedDataSelectButton_For_2_ng_template_1_Template(rf, ctx) { }
13
+ function SdSharedDataSelectButton_For_2_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵconditionalCreate(0, SdSharedDataSelectButton_For_2_Conditional_0_Template, 2, 0, "span");
15
+ i0.ɵɵtemplate(1, SdSharedDataSelectButton_For_2_ng_template_1_Template, 0, 0, "ng-template", 1);
12
16
  } if (rf & 2) {
13
17
  const item_r1 = ctx.$implicit;
14
- const index_r2 = ctx.index;
18
+ const ɵ$index_3_r2 = ctx.$index;
15
19
  const ctx_r2 = i0.ɵɵnextContext();
16
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.itemTplRef())("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c1, item_r1, item_r1, index_r2));
20
+ i0.ɵɵconditional(ɵ$index_3_r2 !== 0 ? 0 : -1);
21
+ i0.ɵɵadvance();
22
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.itemTplRef())("ngTemplateOutletContext", i0.ɵɵpureFunction3(3, _c0, item_r1, item_r1, ɵ$index_3_r2));
17
23
  } }
18
- export class SdSharedDataSelectButton extends SdDataSelectButtonBase {
24
+ export class SdSharedDataSelectButton {
25
+ value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
19
26
  items = input([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
20
27
  modal = input.required(...(ngDevMode ? [{ debugName: "modal" }] : /* istanbul ignore next */ []));
28
+ selectMode = input("single", ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
29
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
30
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
31
+ inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
32
+ size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
21
33
  itemTplRef = contentChild.required(SdItemOfTemplate, { read: TemplateRef });
22
- load(keys) {
23
- return this.items().filter((item) => keys.includes(item.__valueKey));
34
+ _selectedItems = signal([], ...(ngDevMode ? [{ debugName: "_selectedItems" }] : /* istanbul ignore next */ []));
35
+ constructor() {
36
+ effect(() => {
37
+ const v = this.value();
38
+ const items = this.items();
39
+ const mode = this.selectMode();
40
+ if (mode === "multi" && Array.isArray(v) && v.filterExists().length > 0) {
41
+ const keys = v.filterExists();
42
+ this._selectedItems.set(items.filter((it) => keys.includes(it.__valueKey)));
43
+ }
44
+ else if (mode === "single" && !Array.isArray(v) && v != null) {
45
+ this._selectedItems.set(items.filter((it) => it.__valueKey === v));
46
+ }
47
+ else {
48
+ this._selectedItems.set([]);
49
+ }
50
+ });
24
51
  }
25
- static ɵfac = /*@__PURE__*/ (() => { let ɵSdSharedDataSelectButton_BaseFactory; return function SdSharedDataSelectButton_Factory(__ngFactoryType__) { return (ɵSdSharedDataSelectButton_BaseFactory || (ɵSdSharedDataSelectButton_BaseFactory = i0.ɵɵgetInheritedFactory(SdSharedDataSelectButton)))(__ngFactoryType__ || SdSharedDataSelectButton); }; })();
52
+ static ɵfac = function SdSharedDataSelectButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdSharedDataSelectButton)(); };
26
53
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSharedDataSelectButton, selectors: [["sd-shared-data-select-button"]], contentQueries: function SdSharedDataSelectButton_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
27
54
  i0.ɵɵcontentQuerySignal(dirIndex, ctx.itemTplRef, SdItemOfTemplate, 5, TemplateRef);
28
55
  } if (rf & 2) {
29
56
  i0.ɵɵqueryAdvance();
30
- } }, inputs: { items: [1, "items"], modal: [1, "modal"] }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 3, vars: 1, consts: [[3, "itemOf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSharedDataSelectButton_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵprojectionDef();
32
- i0.ɵɵelementStart(0, "sd-data-select-button");
33
- i0.ɵɵtemplate(1, SdSharedDataSelectButton_ng_template_1_Template, 1, 6, "ng-template", 0);
34
- i0.ɵɵprojection(2);
57
+ } }, inputs: { value: [1, "value"], items: [1, "items"], modal: [1, "modal"], selectMode: [1, "selectMode"], disabled: [1, "disabled"], required: [1, "required"], inset: [1, "inset"], size: [1, "size"] }, outputs: { value: "valueChange" }, decls: 3, vars: 8, consts: [[3, "valueChange", "selectedItemsChange", "value", "selectedItems", "modal", "disabled", "required", "inset", "size", "selectMode"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSharedDataSelectButton_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "sd-modal-select-button", 0);
59
+ i0.ɵɵtwoWayListener("valueChange", function SdSharedDataSelectButton_Template_sd_modal_select_button_valueChange_0_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.value, $event) || (ctx.value = $event); return $event; })("selectedItemsChange", function SdSharedDataSelectButton_Template_sd_modal_select_button_selectedItemsChange_0_listener($event) { i0.ɵɵtwoWayBindingSet(ctx._selectedItems, $event) || (ctx._selectedItems = $event); return $event; });
60
+ i0.ɵɵrepeaterCreate(1, SdSharedDataSelectButton_For_2_Template, 2, 7, null, null, i0.ɵɵrepeaterTrackByIdentity);
35
61
  i0.ɵɵelementEnd();
36
62
  } if (rf & 2) {
63
+ i0.ɵɵtwoWayProperty("value", ctx.value)("selectedItems", ctx._selectedItems);
64
+ i0.ɵɵproperty("modal", ctx.modal())("disabled", ctx.disabled())("required", ctx.required())("inset", ctx.inset())("size", ctx.size())("selectMode", ctx.selectMode());
37
65
  i0.ɵɵadvance();
38
- i0.ɵɵproperty("itemOf", ctx.items());
39
- } }, dependencies: [SdDataSelectButton, NgTemplateOutlet, SdItemOfTemplate], encapsulation: 2, changeDetection: 0 });
66
+ i0.ɵɵrepeater(ctx._selectedItems());
67
+ } }, dependencies: [SdModalSelectButton, NgTemplateOutlet], encapsulation: 2, changeDetection: 0 });
40
68
  }
41
69
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSharedDataSelectButton, [{
42
70
  type: Component,
@@ -45,10 +73,22 @@ export class SdSharedDataSelectButton extends SdDataSelectButtonBase {
45
73
  changeDetection: ChangeDetectionStrategy.OnPush,
46
74
  encapsulation: ViewEncapsulation.None,
47
75
  standalone: true,
48
- imports: [SdDataSelectButton, NgTemplateOutlet, SdItemOfTemplate],
76
+ imports: [SdModalSelectButton, NgTemplateOutlet],
49
77
  template: `
50
- <sd-data-select-button>
51
- <ng-template [itemOf]="items()" let-item let-index="index">
78
+ <sd-modal-select-button
79
+ [(value)]="value"
80
+ [(selectedItems)]="_selectedItems"
81
+ [modal]="modal()"
82
+ [disabled]="disabled()"
83
+ [required]="required()"
84
+ [inset]="inset()"
85
+ [size]="size()"
86
+ [selectMode]="selectMode()"
87
+ >
88
+ @for (item of _selectedItems(); track item; let index = $index) {
89
+ @if (index !== 0) {
90
+ <span>,&nbsp;</span>
91
+ }
52
92
  <ng-template
53
93
  [ngTemplateOutlet]="itemTplRef()"
54
94
  [ngTemplateOutletContext]="{
@@ -58,10 +98,9 @@ export class SdSharedDataSelectButton extends SdDataSelectButtonBase {
58
98
  depth: 0,
59
99
  }"
60
100
  />
61
- </ng-template>
62
- <ng-content />
63
- </sd-data-select-button>
101
+ }
102
+ </sd-modal-select-button>
64
103
  `,
65
104
  }]
66
- }], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: true }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
67
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectButton, { className: "SdSharedDataSelectButton", filePath: "packages/angular/src/data/shared-data/sd-shared-data-select-button.ts", lineNumber: 46 }); })();
105
+ }], () => [], { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: true }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
106
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectButton, { className: "SdSharedDataSelectButton", filePath: "packages/angular/src/data/shared-data/sd-shared-data-select-button.ts", lineNumber: 60 }); })();
@@ -22,6 +22,7 @@ export declare class SdSheet<T> {
22
22
  getItemCellClassFn: import("@angular/core").InputSignal<((item: T, colKey: string) => string) | undefined>;
23
23
  getItemCellStyleFn: import("@angular/core").InputSignal<((item: T, colKey: string) => string | undefined) | undefined>;
24
24
  hideConfigBar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
25
+ cumulativeSelection: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
25
26
  itemKeydown: import("@angular/core").OutputEmitterRef<SdSheetItemKeydownEventParam<T>>;
26
27
  cellKeydown: import("@angular/core").OutputEmitterRef<SdSheetCellKeydownEventParam<T>>;
27
28
  selectedItems: import("@angular/core").ModelSignal<T[]>;
@@ -119,6 +120,8 @@ export declare class SdSheet<T> {
119
120
  toggleAll(): void;
120
121
  isSelected(item: T): boolean;
121
122
  };
123
+ private _resetOnItemsChangeSkipFirst;
124
+ private readonly _resetOnItemsChange;
122
125
  icons: {
123
126
  tablerSettings: string;
124
127
  tablerCaretRight: string;
@@ -159,7 +162,7 @@ export declare class SdSheet<T> {
159
162
  onCellKeydown(event: KeyboardEvent, item: T, colKey: string): void;
160
163
  onConfigButtonClick(): Promise<void>;
161
164
  static ɵfac: i0.ɵɵFactoryDeclaration<SdSheet<any>, never>;
162
- static ɵcmp: i0.ɵɵComponentDeclaration<SdSheet<any>, "sd-sheet", never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "autoSelect": { "alias": "autoSelect"; "required": false; "isSignal": true; }; "getItemSelectableFn": { "alias": "getItemSelectableFn"; "required": false; "isSignal": true; }; "getChildrenFn": { "alias": "getChildrenFn"; "required": false; "isSignal": true; }; "useAutoSort": { "alias": "useAutoSort"; "required": false; "isSignal": true; }; "visiblePageCount": { "alias": "visiblePageCount"; "required": false; "isSignal": true; }; "totalPageCount": { "alias": "totalPageCount"; "required": false; "isSignal": true; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "contentStyle": { "alias": "contentStyle"; "required": false; "isSignal": true; }; "getItemCellClassFn": { "alias": "getItemCellClassFn"; "required": false; "isSignal": true; }; "getItemCellStyleFn": { "alias": "getItemCellStyleFn"; "required": false; "isSignal": true; }; "hideConfigBar": { "alias": "hideConfigBar"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "expandedItems": { "alias": "expandedItems"; "required": false; "isSignal": true; }; "sorts": { "alias": "sorts"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "itemKeydown": "itemKeydown"; "cellKeydown": "cellKeydown"; "selectedItems": "selectedItemsChange"; "expandedItems": "expandedItemsChange"; "sorts": "sortsChange"; "currentPage": "currentPageChange"; }, ["columnControls"], never, true, [{ directive: typeof i1.SdEvents; inputs: {}; outputs: { "keydown.capture": "keydown.capture"; "focus.capture": "focus.capture"; "blur.capture": "blur.capture"; }; }]>;
165
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdSheet<any>, "sd-sheet", never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "autoSelect": { "alias": "autoSelect"; "required": false; "isSignal": true; }; "getItemSelectableFn": { "alias": "getItemSelectableFn"; "required": false; "isSignal": true; }; "getChildrenFn": { "alias": "getChildrenFn"; "required": false; "isSignal": true; }; "useAutoSort": { "alias": "useAutoSort"; "required": false; "isSignal": true; }; "visiblePageCount": { "alias": "visiblePageCount"; "required": false; "isSignal": true; }; "totalPageCount": { "alias": "totalPageCount"; "required": false; "isSignal": true; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "contentStyle": { "alias": "contentStyle"; "required": false; "isSignal": true; }; "getItemCellClassFn": { "alias": "getItemCellClassFn"; "required": false; "isSignal": true; }; "getItemCellStyleFn": { "alias": "getItemCellStyleFn"; "required": false; "isSignal": true; }; "hideConfigBar": { "alias": "hideConfigBar"; "required": false; "isSignal": true; }; "cumulativeSelection": { "alias": "cumulativeSelection"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "expandedItems": { "alias": "expandedItems"; "required": false; "isSignal": true; }; "sorts": { "alias": "sorts"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "itemKeydown": "itemKeydown"; "cellKeydown": "cellKeydown"; "selectedItems": "selectedItemsChange"; "expandedItems": "expandedItemsChange"; "sorts": "sortsChange"; "currentPage": "currentPageChange"; }, ["columnControls"], never, true, [{ directive: typeof i1.SdEvents; inputs: {}; outputs: { "keydown.capture": "keydown.capture"; "focus.capture": "focus.capture"; "blur.capture": "blur.capture"; }; }]>;
163
166
  }
164
167
  export type { SortingDef } from "../../core/selection/useSortingManager";
165
168
  //# sourceMappingURL=sd-sheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-sheet.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/sd-sheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-sheet.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/sd-sheet.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, inject, input, model, output, signal, ViewEncapsulation, } from "@angular/core";
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, effect, inject, input, model, output, signal, untracked, ViewEncapsulation, } from "@angular/core";
2
2
  import { NgTemplateOutlet } from "@angular/common";
3
3
  import { SdSheetColumn } from "./sd-sheet-column";
4
4
  import { SdCheckbox } from "../../controls/checkbox/sd-checkbox";
@@ -426,6 +426,7 @@ export class SdSheet {
426
426
  getItemCellClassFn = input(...(ngDevMode ? [undefined, { debugName: "getItemCellClassFn" }] : /* istanbul ignore next */ []));
427
427
  getItemCellStyleFn = input(...(ngDevMode ? [undefined, { debugName: "getItemCellStyleFn" }] : /* istanbul ignore next */ []));
428
428
  hideConfigBar = input(false, { ...(ngDevMode ? { debugName: "hideConfigBar" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
429
+ cumulativeSelection = input(false, { ...(ngDevMode ? { debugName: "cumulativeSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
429
430
  // Outputs
430
431
  itemKeydown = output();
431
432
  cellKeydown = output();
@@ -527,7 +528,25 @@ export class SdSheet {
527
528
  selectedItems: this.selectedItems,
528
529
  selectMode: this.selectMode,
529
530
  getItemSelectableFn: this.getItemSelectableFn,
531
+ trackByFn: this.trackByFn,
530
532
  });
533
+ // cumulativeSelection=false면 items 변경 시 selectedItems를 초기화한다.
534
+ // 첫 실행(초기 마운트)은 skip하여 소비자가 넘긴 초기 selectedItems 값을 보존한다.
535
+ _resetOnItemsChangeSkipFirst = true;
536
+ _resetOnItemsChange = effect(() => {
537
+ this.items(); // track only items
538
+ if (this._resetOnItemsChangeSkipFirst) {
539
+ this._resetOnItemsChangeSkipFirst = false;
540
+ return;
541
+ }
542
+ untracked(() => {
543
+ if (this.cumulativeSelection())
544
+ return;
545
+ if (this.selectedItems().length > 0) {
546
+ this.selectedItems.set([]);
547
+ }
548
+ });
549
+ }, ...(ngDevMode ? [{ debugName: "_resetOnItemsChange" }] : /* istanbul ignore next */ []));
531
550
  // Icons
532
551
  icons = {
533
552
  tablerSettings,
@@ -727,7 +746,7 @@ export class SdSheet {
727
746
  i0.ɵɵlistener("keydown.capture", function SdSheet_keydown_capture_HostBindingHandler($event) { return ctx.onKeydownCapture($event); })("focus.capture", function SdSheet_focus_capture_HostBindingHandler($event) { return ctx.onFocusCapture($event); })("dblclick", function SdSheet_dblclick_HostBindingHandler($event) { return ctx.onDblClick($event); })("blur.capture", function SdSheet_blur_capture_HostBindingHandler($event) { return ctx.onBlurCapture($event); });
728
747
  } if (rf & 2) {
729
748
  i0.ɵɵattribute("data-sd-inset", ctx.inset())("data-sd-focus-mode", ctx.focusMode());
730
- } }, inputs: { key: [1, "key"], items: [1, "items"], trackByFn: [1, "trackByFn"], selectMode: [1, "selectMode"], autoSelect: [1, "autoSelect"], getItemSelectableFn: [1, "getItemSelectableFn"], getChildrenFn: [1, "getChildrenFn"], useAutoSort: [1, "useAutoSort"], visiblePageCount: [1, "visiblePageCount"], totalPageCount: [1, "totalPageCount"], itemsPerPage: [1, "itemsPerPage"], focusMode: [1, "focusMode"], inset: [1, "inset"], contentStyle: [1, "contentStyle"], getItemCellClassFn: [1, "getItemCellClassFn"], getItemCellStyleFn: [1, "getItemCellStyleFn"], hideConfigBar: [1, "hideConfigBar"], selectedItems: [1, "selectedItems"], expandedItems: [1, "expandedItems"], sorts: [1, "sorts"], currentPage: [1, "currentPage"] }, outputs: { itemKeydown: "itemKeydown", cellKeydown: "cellKeydown", selectedItems: "selectedItemsChange", expandedItems: "expandedItemsChange", sorts: "sortsChange", currentPage: "currentPageChange" }, features: [i0.ɵɵHostDirectivesFeature([{ directive: i1.SdEvents, outputs: ["keydown.capture", "keydown.capture", "focus.capture", "focus.capture", "blur.capture", "blur.capture"] }])], decls: 14, vars: 8, consts: [[1, "_tool", "flex-row", "gap-sm", "p-xs"], [1, "_sheet-container", "flex-fill", 3, "scroll.passive"], [3, "sdResize"], [1, "_summary-row"], [1, "_focus-row-indicator"], [1, "_focus-cell-indicator"], [1, "_resize-indicator"], [1, "_select-row-indicator-container"], [3, "theme", "size"], [1, "flex-fill", 3, "currentPage", "totalPageCount", "visiblePageCount"], [3, "click", "theme", "size"], [3, "svg"], [1, "flex-fill", 3, "currentPageChange", "currentPage", "totalPageCount", "visiblePageCount"], [1, "_fixed", "_feature-cell", "_last-depth", 3, "sdResize"], [3, "value", "inline", "theme"], [1, "_fixed", "_feature-cell", "_last-depth", 3, "left"], [3, "valueChange", "value", "inline", "theme"], [3, "click", "svg"], [3, "_fixed", "left"], [1, "_last-depth", 3, "_fixed", "_sort", "help", "style"], [1, "_p-sheet"], [1, "_last-depth", 3, "click"], [1, "_headerContent", "flex-row"], [1, "flex-fill"], [1, "flex-fill", "_p-sheet"], [1, "_sort-icon"], [1, "_resizer"], [3, "ngTemplateOutlet"], [1, "tx-trans-lightest", 3, "svg"], [1, "_resizer", 3, "mousedown", "dblclick"], [1, "_fixed", "_feature-cell"], [3, "click", "keydown"], [3, "value", "canChangeFn", "inline", "theme", "disabled"], [1, "_fixed", "_feature-cell", 3, "left"], ["tabindex", "0", 3, "_fixed", "class", "style"], [3, "valueChange", "mousedown", "value", "canChangeFn", "inline", "theme", "disabled"], [3, "theme"], [3, "pointerdown", "theme"], [1, "_depth-indicator", 3, "margin-left"], [3, "svg", "transform", "tx-theme-primary-default"], [1, "_depth-indicator"], ["tabindex", "0", 3, "click", "focus", "keydown"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSheet_Template(rf, ctx) { if (rf & 1) {
749
+ } }, inputs: { key: [1, "key"], items: [1, "items"], trackByFn: [1, "trackByFn"], selectMode: [1, "selectMode"], autoSelect: [1, "autoSelect"], getItemSelectableFn: [1, "getItemSelectableFn"], getChildrenFn: [1, "getChildrenFn"], useAutoSort: [1, "useAutoSort"], visiblePageCount: [1, "visiblePageCount"], totalPageCount: [1, "totalPageCount"], itemsPerPage: [1, "itemsPerPage"], focusMode: [1, "focusMode"], inset: [1, "inset"], contentStyle: [1, "contentStyle"], getItemCellClassFn: [1, "getItemCellClassFn"], getItemCellStyleFn: [1, "getItemCellStyleFn"], hideConfigBar: [1, "hideConfigBar"], cumulativeSelection: [1, "cumulativeSelection"], selectedItems: [1, "selectedItems"], expandedItems: [1, "expandedItems"], sorts: [1, "sorts"], currentPage: [1, "currentPage"] }, outputs: { itemKeydown: "itemKeydown", cellKeydown: "cellKeydown", selectedItems: "selectedItemsChange", expandedItems: "expandedItemsChange", sorts: "sortsChange", currentPage: "currentPageChange" }, features: [i0.ɵɵHostDirectivesFeature([{ directive: i1.SdEvents, outputs: ["keydown.capture", "keydown.capture", "focus.capture", "focus.capture", "blur.capture", "blur.capture"] }])], decls: 14, vars: 8, consts: [[1, "_tool", "flex-row", "gap-sm", "p-xs"], [1, "_sheet-container", "flex-fill", 3, "scroll.passive"], [3, "sdResize"], [1, "_summary-row"], [1, "_focus-row-indicator"], [1, "_focus-cell-indicator"], [1, "_resize-indicator"], [1, "_select-row-indicator-container"], [3, "theme", "size"], [1, "flex-fill", 3, "currentPage", "totalPageCount", "visiblePageCount"], [3, "click", "theme", "size"], [3, "svg"], [1, "flex-fill", 3, "currentPageChange", "currentPage", "totalPageCount", "visiblePageCount"], [1, "_fixed", "_feature-cell", "_last-depth", 3, "sdResize"], [3, "value", "inline", "theme"], [1, "_fixed", "_feature-cell", "_last-depth", 3, "left"], [3, "valueChange", "value", "inline", "theme"], [3, "click", "svg"], [3, "_fixed", "left"], [1, "_last-depth", 3, "_fixed", "_sort", "help", "style"], [1, "_p-sheet"], [1, "_last-depth", 3, "click"], [1, "_headerContent", "flex-row"], [1, "flex-fill"], [1, "flex-fill", "_p-sheet"], [1, "_sort-icon"], [1, "_resizer"], [3, "ngTemplateOutlet"], [1, "tx-trans-lightest", 3, "svg"], [1, "_resizer", 3, "mousedown", "dblclick"], [1, "_fixed", "_feature-cell"], [3, "click", "keydown"], [3, "value", "canChangeFn", "inline", "theme", "disabled"], [1, "_fixed", "_feature-cell", 3, "left"], ["tabindex", "0", 3, "_fixed", "class", "style"], [3, "valueChange", "mousedown", "value", "canChangeFn", "inline", "theme", "disabled"], [3, "theme"], [3, "pointerdown", "theme"], [1, "_depth-indicator", 3, "margin-left"], [3, "svg", "transform", "tx-theme-primary-default"], [1, "_depth-indicator"], ["tabindex", "0", 3, "click", "focus", "keydown"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSheet_Template(rf, ctx) { if (rf & 1) {
731
750
  i0.ɵɵconditionalCreate(0, SdSheet_Conditional_0_Template, 3, 2, "div", 0);
732
751
  i0.ɵɵelementStart(1, "div", 1);
733
752
  i0.ɵɵlistener("scroll.passive", function SdSheet_Template_div_scroll_passive_1_listener() { return ctx.onContainerScroll(); });
@@ -1030,5 +1049,5 @@ export class SdSheet {
1030
1049
  <div class="_select-row-indicator-container"></div>
1031
1050
  </div>
1032
1051
  `, styles: ["sd-sheet {\n border: 1px solid var(--theme-gray-lighter);\n border-radius: var(--border-radius-default);\n}\nsd-sheet > ._tool {\n background: var(--control-color);\n border-top-left-radius: var(--border-radius-default);\n border-top-right-radius: var(--border-radius-default);\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container {\n position: relative;\n background: var(--sheet-bg);\n border-bottom-left-radius: var(--border-radius-default);\n border-bottom-right-radius: var(--border-radius-default);\n overflow: auto;\n}\nsd-sheet > ._sheet-container > table {\n border-spacing: 0;\n table-layout: fixed;\n margin-right: 2px;\n margin-bottom: 2px;\n border-bottom-right-radius: var(--border-radius-default);\n}\nsd-sheet > ._sheet-container > table > * > tr > *:last-child {\n border-right: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr:last-child > * {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > *:last-child > tr:last-child > td:last-child {\n border-bottom-right-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-sheet > ._sheet-container > table > * > tr > * {\n border-right: 1px solid var(--theme-gray-lighter);\n border-bottom: 1px solid var(--theme-gray-lighter);\n white-space: nowrap;\n overflow: hidden;\n padding: 0;\n position: relative;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed:has(+ :not(._fixed)) + :not(._fixed):not([data-c=\"0\"]) {\n border-left: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr > *._feature-cell {\n background: var(--theme-gray-lightest);\n min-width: calc(var(--font-size-default) + 2px + var(--sheet-ph) * 2);\n padding: var(--sheet-pv) var(--sheet-ph);\n text-align: left;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._feature-cell > ng-icon {\n cursor: pointer;\n color: var(--text-trans-lightest);\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed {\n position: sticky;\n left: 0;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed:has(+ :not(._fixed)) {\n border-right: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead {\n position: sticky;\n top: 0;\n z-index: 3;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th {\n position: relative;\n background: var(--theme-gray-lightest);\n vertical-align: middle;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._fixed {\n z-index: 4;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._last-depth {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._feature-cell {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._sort {\n cursor: pointer;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._sort:hover {\n text-decoration: underline;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th > ._headerContent > ._sort-icon {\n padding: var(--gap-xs) var(--gap-xs) var(--gap-xs) 0;\n background-color: var(--theme-gray-lightest);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th > ._resizer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 2px;\n cursor: ew-resize;\n}\nsd-sheet > ._sheet-container > table > thead:has(> tr._summary-row) > tr > th._last-depth {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead:has(> tr._summary-row) > tr._summary-row > th {\n background: var(--theme-warning-lightest);\n text-align: left;\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td {\n background: var(--control-color);\n vertical-align: top;\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td._fixed {\n z-index: 2;\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td > ._depth-indicator {\n display: inline-block;\n margin-top: 0.4em;\n width: 0.5em;\n height: 0.5em;\n border-left: 1px solid var(--text-trans-default);\n border-bottom: 1px solid var(--text-trans-default);\n vertical-align: top;\n}\nsd-sheet > ._sheet-container > ._focus-row-indicator {\n display: none;\n position: absolute;\n pointer-events: none;\n background: rgba(158, 158, 158, 0.1);\n z-index: 6;\n}\nsd-sheet > ._sheet-container > ._focus-row-indicator > ._focus-cell-indicator {\n position: absolute;\n border: 2px solid var(--theme-primary-default);\n border-radius: var(--border-radius-default);\n}\nsd-sheet > ._sheet-container > ._resize-indicator {\n display: none;\n position: absolute;\n pointer-events: none;\n top: 0;\n height: 100%;\n border: 1px dotted var(--theme-gray-light);\n z-index: 7;\n}\nsd-sheet > ._sheet-container > ._select-row-indicator-container {\n display: none;\n position: absolute;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n}\nsd-sheet > ._sheet-container > ._select-row-indicator-container > ._select-row-indicator {\n display: block;\n left: 0;\n position: absolute;\n pointer-events: none;\n background: var(--theme-primary-default);\n opacity: 0.1;\n}\nsd-sheet ._p-sheet {\n padding: var(--sheet-pv) var(--sheet-ph);\n}\nsd-sheet[data-sd-focus-mode=row] > ._sheet-container > ._focus-row-indicator > ._focus-cell-indicator {\n display: none !important;\n}\nsd-sheet[data-sd-inset=true] {\n border: none;\n border-radius: 0;\n}"] }]
1033
- }], null, { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: false }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], autoSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSelect", required: false }] }], getItemSelectableFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemSelectableFn", required: false }] }], getChildrenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getChildrenFn", required: false }] }], useAutoSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAutoSort", required: false }] }], visiblePageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "visiblePageCount", required: false }] }], totalPageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPageCount", required: false }] }], itemsPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemsPerPage", required: false }] }], focusMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusMode", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], contentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyle", required: false }] }], getItemCellClassFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemCellClassFn", required: false }] }], getItemCellStyleFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemCellStyleFn", required: false }] }], hideConfigBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideConfigBar", required: false }] }], itemKeydown: [{ type: i0.Output, args: ["itemKeydown"] }], cellKeydown: [{ type: i0.Output, args: ["cellKeydown"] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], expandedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedItems", required: false }] }, { type: i0.Output, args: ["expandedItemsChange"] }], sorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorts", required: false }] }, { type: i0.Output, args: ["sortsChange"] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], columnControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSheetColumn), { isSignal: true }] }] }); })();
1034
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 562 }); })();
1052
+ }], null, { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: false }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], autoSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSelect", required: false }] }], getItemSelectableFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemSelectableFn", required: false }] }], getChildrenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getChildrenFn", required: false }] }], useAutoSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAutoSort", required: false }] }], visiblePageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "visiblePageCount", required: false }] }], totalPageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPageCount", required: false }] }], itemsPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemsPerPage", required: false }] }], focusMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusMode", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], contentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyle", required: false }] }], getItemCellClassFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemCellClassFn", required: false }] }], getItemCellStyleFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemCellStyleFn", required: false }] }], hideConfigBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideConfigBar", required: false }] }], cumulativeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "cumulativeSelection", required: false }] }], itemKeydown: [{ type: i0.Output, args: ["itemKeydown"] }], cellKeydown: [{ type: i0.Output, args: ["cellKeydown"] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], expandedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedItems", required: false }] }, { type: i0.Output, args: ["expandedItemsChange"] }], sorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorts", required: false }] }, { type: i0.Output, args: ["sortsChange"] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], columnControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSheetColumn), { isSignal: true }] }] }); })();
1053
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 564 }); })();
package/dist/index.d.ts CHANGED
@@ -1,11 +1,8 @@
1
1
  import "@simplysm/core-browser";
2
- export { TXT_CHANGE_IGNORE_CONFIRM } from "./core/commons";
3
2
  export { provideSdAngular } from "./core/provideSdAngular";
4
3
  export { setupBgTheme } from "./core/setupBgTheme";
5
4
  export { setSafeStyle } from "./core/setSafeStyle";
6
5
  export { setupModelHook } from "./core/setupModelHook";
7
- export { injectParent } from "./core/injectParent";
8
- export { withBusy } from "./core/withBusy";
9
6
  export { mark } from "./core/mark";
10
7
  export { FormatPipe } from "./core/format.pipe";
11
8
  export type { SelectModalOutputResult } from "./core/select-modal-output-result";
@@ -43,7 +40,6 @@ export type { SdMenu, SdFlatMenu, SdPermission, } from "./core/app-structure/sd-
43
40
  export { SdFileDialogProvider } from "./core/file-dialog/sd-file-dialog.provider";
44
41
  export { SdServiceClientFactoryProvider } from "./core/service-client/sd-service-client-factory.provider";
45
42
  export { SdSharedDataProvider, SdSharedDataChangeEvent, type SharedDataBase, type SharedDataInfo, type SharedDataHandle, } from "./core/shared-data/sd-shared-data.provider";
46
- export { setupCumulateSelectedKeys } from "./core/selection/setupCumulateSelectedKeys";
47
43
  export { useExpandingManager, type ExpandItemDef, } from "./core/selection/useExpandingManager";
48
44
  export { useSelectionManager } from "./core/selection/useSelectionManager";
49
45
  export { useSortingManager, type SortingDef } from "./core/selection/useSortingManager";
@@ -88,7 +84,6 @@ export { SdGap } from "./controls/gap/sd-gap";
88
84
  export { SdPagination } from "./controls/pagination/sd-pagination";
89
85
  export { SdDockContainer } from "./layout/dock/sd-dock-container";
90
86
  export { SdDock } from "./layout/dock/sd-dock";
91
- export { SdBaseContainer } from "./layout/base-container/sd-base-container";
92
87
  export { SdSidebarContainer } from "./layout/sidebar/sd-sidebar-container";
93
88
  export { SdSidebar } from "./layout/sidebar/sd-sidebar";
94
89
  export { SdSidebarMenu } from "./layout/sidebar/sd-sidebar-menu";
@@ -102,15 +97,7 @@ export { SdSheetColumn, type SdSheetCellContext } from "./data/sheet/sd-sheet-co
102
97
  export { SdSheetColumnCellTemplate } from "./data/sheet/sd-sheet-column-cell-template";
103
98
  export { SdSheetConfigModal } from "./data/sheet/sd-sheet-config.modal";
104
99
  export type { SdSheetColumnDef, SdSheetConfig, SdSheetHeaderDef, SdSheetItemKeydownEventParam, SdSheetCellKeydownEventParam, } from "./data/sheet/types";
105
- export { SdDataSheet } from "./data/data-sheet/sd-data-sheet";
106
- export { SdDataSheetBase, type SdDataSheetItemPropInfo, type SdDataSheetItemInfo, type SdDataSheetSearchResult, } from "./data/data-sheet/sd-data-sheet.base";
107
- export { SdDataSheetColumn } from "./data/data-sheet/sd-data-sheet-column";
108
- export { setupCloserWhenSingleSelectionChange } from "./data/data-sheet/setupCloserWhenSingleSelectionChange";
109
- export { SdDataDetail } from "./data/data-detail/sd-data-detail";
110
- export { SdDataDetailBase, type SdDataDetailDataInfo, } from "./data/data-detail/sd-data-detail.base";
111
100
  export { getOrmDataEditToastErrorMessage } from "./data/getOrmDataEditToastErrorMessage";
112
- export { SdDataSelectButton } from "./data/data-select-button/sd-data-select-button";
113
- export { SdDataSelectButtonBase } from "./data/data-select-button/sd-data-select-button.base";
114
101
  export { SdSharedDataSelect } from "./data/shared-data/sd-shared-data-select";
115
102
  export { SdSharedDataSelectButton } from "./data/shared-data/sd-shared-data-select-button";
116
103
  export { SdSharedDataSelectList } from "./data/shared-data/sd-shared-data-select-list";
@@ -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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"}