@simplysm/angular 14.0.42 → 14.0.43

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 (241) hide show
  1. package/dist/controls/button/sd-additional-button.js +1 -1
  2. package/dist/controls/button/sd-anchor.js +1 -1
  3. package/dist/controls/button/sd-button.js +1 -1
  4. package/dist/controls/button/sd-modal-select-button.d.ts +1 -1
  5. package/dist/controls/button/sd-modal-select-button.d.ts.map +1 -1
  6. package/dist/controls/button/sd-modal-select-button.js +8 -6
  7. package/dist/controls/checkbox/sd-checkbox-group-item.js +1 -1
  8. package/dist/controls/checkbox/sd-checkbox-group.js +1 -1
  9. package/dist/controls/checkbox/sd-checkbox.js +1 -1
  10. package/dist/controls/checkbox/sd-switch.js +1 -1
  11. package/dist/controls/collapse/sd-collapse-icon.d.ts.map +1 -1
  12. package/dist/controls/collapse/sd-collapse-icon.js +3 -3
  13. package/dist/controls/collapse/sd-collapse.d.ts +1 -1
  14. package/dist/controls/collapse/sd-collapse.d.ts.map +1 -1
  15. package/dist/controls/collapse/sd-collapse.js +8 -7
  16. package/dist/controls/dropdown/sd-dropdown-popup.d.ts +2 -0
  17. package/dist/controls/dropdown/sd-dropdown-popup.d.ts.map +1 -1
  18. package/dist/controls/dropdown/sd-dropdown-popup.js +21 -8
  19. package/dist/controls/dropdown/sd-dropdown.d.ts.map +1 -1
  20. package/dist/controls/dropdown/sd-dropdown.js +5 -16
  21. package/dist/controls/form/sd-form.js +1 -1
  22. package/dist/controls/gap/sd-gap.js +5 -5
  23. package/dist/controls/input/sd-date-range-picker.d.ts +1 -0
  24. package/dist/controls/input/sd-date-range-picker.d.ts.map +1 -1
  25. package/dist/controls/input/sd-date-range-picker.js +14 -19
  26. package/dist/controls/input/sd-numpad.js +3 -3
  27. package/dist/controls/input/sd-range.js +1 -1
  28. package/dist/controls/input/sd-textarea.js +2 -2
  29. package/dist/controls/input/sd-textfield-type-handlers.js +2 -2
  30. package/dist/controls/input/sd-textfield.js +9 -9
  31. package/dist/controls/list/sd-list-item.d.ts +0 -1
  32. package/dist/controls/list/sd-list-item.d.ts.map +1 -1
  33. package/dist/controls/list/sd-list-item.js +38 -38
  34. package/dist/controls/list/sd-list.d.ts.map +1 -1
  35. package/dist/controls/list/sd-list.js +3 -3
  36. package/dist/controls/pagination/sd-pagination.js +1 -1
  37. package/dist/controls/select/sd-select-button.d.ts.map +1 -1
  38. package/dist/controls/select/sd-select-button.js +4 -8
  39. package/dist/controls/select/sd-select-item.d.ts +3 -3
  40. package/dist/controls/select/sd-select-item.d.ts.map +1 -1
  41. package/dist/controls/select/sd-select-item.js +27 -20
  42. package/dist/controls/select/sd-select.d.ts +5 -4
  43. package/dist/controls/select/sd-select.d.ts.map +1 -1
  44. package/dist/controls/select/sd-select.js +20 -17
  45. package/dist/controls/tab/sd-tab-item.js +1 -1
  46. package/dist/controls/tab/sd-tab.js +1 -1
  47. package/dist/core/app-structure/sd-app-structure.utils.js +1 -1
  48. package/dist/core/busy/sd-busy-container.d.ts.map +1 -1
  49. package/dist/core/busy/sd-busy-container.js +62 -68
  50. package/dist/core/busy/sd-busy.provider.js +1 -1
  51. package/dist/core/commands/sd-command.d.ts +13 -0
  52. package/dist/core/commands/sd-command.d.ts.map +1 -0
  53. package/dist/core/commands/sd-command.js +52 -0
  54. package/dist/core/error-handler/sd-global-error-handler.plugin.js +1 -1
  55. package/dist/core/events/sd-events.d.ts +1 -6
  56. package/dist/core/events/sd-events.d.ts.map +1 -1
  57. package/dist/core/events/sd-events.js +3 -11
  58. package/dist/core/events/sd-intersection.d.ts +13 -0
  59. package/dist/core/events/sd-intersection.d.ts.map +1 -0
  60. package/dist/core/events/sd-intersection.js +27 -0
  61. package/dist/core/events/sd-resize.d.ts +16 -0
  62. package/dist/core/events/sd-resize.d.ts.map +1 -0
  63. package/dist/core/events/{sd-resize-event.plugin.js → sd-resize.js} +18 -20
  64. package/dist/core/file-dialog/sd-file-dialog.provider.js +1 -1
  65. package/dist/core/modal/injectDragResize.js +9 -9
  66. package/dist/core/modal/injectFocusTrap.js +1 -1
  67. package/dist/core/modal/sd-confirm-modal.js +1 -1
  68. package/dist/core/modal/sd-modal.d.ts +8 -1
  69. package/dist/core/modal/sd-modal.d.ts.map +1 -1
  70. package/dist/core/modal/sd-modal.js +135 -39
  71. package/dist/core/modal/sd-modal.provider.js +5 -5
  72. package/dist/core/modal/sd-prompt-modal.js +1 -1
  73. package/dist/core/provideSdAngular.d.ts.map +1 -1
  74. package/dist/core/provideSdAngular.js +0 -10
  75. package/dist/core/ripple/setupRipple.js +5 -5
  76. package/dist/core/routing/menu-utils.js +1 -1
  77. package/dist/core/routing/sd-navigate-window.provider.js +1 -1
  78. package/dist/core/routing/sd-router-link.js +1 -1
  79. package/dist/core/selection/setupCumulateSelectedKeys.js +3 -3
  80. package/dist/core/setupModelHook.js +1 -1
  81. package/dist/core/toast/sd-toast-container.d.ts +1 -1
  82. package/dist/core/toast/sd-toast-container.js +3 -7
  83. package/dist/core/toast/sd-toast.d.ts.map +1 -1
  84. package/dist/core/toast/sd-toast.js +27 -24
  85. package/dist/core/toast/sd-toast.provider.js +6 -6
  86. package/dist/core/validation/setupInvalid.js +2 -1
  87. package/dist/data/data-detail/sd-data-detail.d.ts +2 -1
  88. package/dist/data/data-detail/sd-data-detail.d.ts.map +1 -1
  89. package/dist/data/data-detail/sd-data-detail.js +37 -33
  90. package/dist/data/data-select-button/sd-data-select-button.js +1 -1
  91. package/dist/data/data-sheet/sd-data-sheet.d.ts +2 -1
  92. package/dist/data/data-sheet/sd-data-sheet.d.ts.map +1 -1
  93. package/dist/data/data-sheet/sd-data-sheet.js +30 -22
  94. package/dist/data/kanban/sd-kanban-board.js +1 -1
  95. package/dist/data/kanban/sd-kanban-lane.js +1 -1
  96. package/dist/data/kanban/sd-kanban.d.ts +1 -1
  97. package/dist/data/kanban/sd-kanban.d.ts.map +1 -1
  98. package/dist/data/kanban/sd-kanban.js +4 -4
  99. package/dist/data/permission-table/sd-permission-table.js +6 -6
  100. package/dist/data/shared-data/sd-shared-data-select-button.js +1 -1
  101. package/dist/data/shared-data/sd-shared-data-select-list.js +3 -3
  102. package/dist/data/shared-data/sd-shared-data-select.d.ts +1 -1
  103. package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
  104. package/dist/data/shared-data/sd-shared-data-select.js +29 -54
  105. package/dist/data/sheet/injectSheetDomAccessor.d.ts +6 -2
  106. package/dist/data/sheet/injectSheetDomAccessor.d.ts.map +1 -1
  107. package/dist/data/sheet/injectSheetDomAccessor.js +27 -22
  108. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts +10 -0
  109. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts.map +1 -0
  110. package/dist/data/sheet/injectSheetSelectRowIndicator.js +55 -0
  111. package/dist/data/sheet/sd-sheet-config.modal.d.ts +18 -19
  112. package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  113. package/dist/data/sheet/sd-sheet-config.modal.js +357 -217
  114. package/dist/data/sheet/sd-sheet.d.ts +27 -13
  115. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  116. package/dist/data/sheet/sd-sheet.js +609 -291
  117. package/dist/data/sheet/useSheetCellAgent.js +6 -6
  118. package/dist/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  119. package/dist/data/sheet/useSheetCellStyling.js +4 -4
  120. package/dist/data/sheet/useSheetFocusIndicator.d.ts +7 -0
  121. package/dist/data/sheet/useSheetFocusIndicator.d.ts.map +1 -0
  122. package/dist/data/sheet/useSheetFocusIndicator.js +53 -0
  123. package/dist/data/sheet/useSheetLayoutEngine.js +1 -1
  124. package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
  125. package/dist/data/state-preset/sd-state-preset.js +14 -14
  126. package/dist/features/address/sd-address-search.modal.js +3 -3
  127. package/dist/features/editor/sd-tiptap-editor.js +6 -6
  128. package/dist/features/editor/useTiptapToolbar.js +2 -2
  129. package/dist/features/theme/sd-theme-selector.js +1 -1
  130. package/dist/features/visual/sd-barcode.js +1 -1
  131. package/dist/features/visual/sd-calendar.js +2 -2
  132. package/dist/features/visual/sd-echarts.d.ts +2 -1
  133. package/dist/features/visual/sd-echarts.d.ts.map +1 -1
  134. package/dist/features/visual/sd-echarts.js +5 -3
  135. package/dist/features/visual/sd-label.js +1 -1
  136. package/dist/features/visual/sd-note.js +1 -1
  137. package/dist/features/visual/sd-progress.js +1 -1
  138. package/dist/index.d.ts +3 -5
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +3 -5
  141. package/dist/layout/base-container/sd-base-container.js +3 -3
  142. package/dist/layout/dock/sd-dock-container.js +1 -1
  143. package/dist/layout/dock/sd-dock.d.ts +3 -2
  144. package/dist/layout/dock/sd-dock.d.ts.map +1 -1
  145. package/dist/layout/dock/sd-dock.js +6 -4
  146. package/dist/layout/sidebar/sd-sidebar-container.js +5 -5
  147. package/dist/layout/sidebar/sd-sidebar-menu.d.ts.map +1 -1
  148. package/dist/layout/sidebar/sd-sidebar-menu.js +7 -6
  149. package/dist/layout/sidebar/sd-sidebar-user.js +1 -1
  150. package/dist/layout/sidebar/sd-sidebar.js +1 -1
  151. package/dist/layout/topbar/sd-topbar-container.js +1 -1
  152. package/dist/layout/topbar/sd-topbar-menu.d.ts.map +1 -1
  153. package/dist/layout/topbar/sd-topbar-menu.js +7 -7
  154. package/dist/layout/topbar/sd-topbar-user.js +1 -1
  155. package/dist/layout/topbar/sd-topbar.js +3 -3
  156. package/package.json +5 -5
  157. package/src/controls/button/sd-modal-select-button.ts +7 -2
  158. package/src/controls/collapse/sd-collapse-icon.ts +2 -2
  159. package/src/controls/collapse/sd-collapse.ts +4 -5
  160. package/src/controls/dropdown/sd-dropdown-popup.ts +15 -2
  161. package/src/controls/dropdown/sd-dropdown.ts +4 -16
  162. package/src/controls/gap/sd-gap.ts +4 -4
  163. package/src/controls/input/sd-date-range-picker.ts +13 -16
  164. package/src/controls/input/sd-numpad.ts +1 -1
  165. package/src/controls/input/sd-textarea.ts +1 -1
  166. package/src/controls/input/sd-textfield-type-handlers.ts +2 -2
  167. package/src/controls/input/sd-textfield.ts +6 -6
  168. package/src/controls/list/sd-list-item.ts +40 -26
  169. package/src/controls/list/sd-list.ts +2 -1
  170. package/src/controls/select/sd-select-button.ts +8 -11
  171. package/src/controls/select/sd-select-item.ts +35 -27
  172. package/src/controls/select/sd-select.ts +111 -41
  173. package/src/core/app-structure/sd-app-structure.utils.ts +1 -1
  174. package/src/core/busy/sd-busy-container.ts +235 -123
  175. package/src/core/busy/sd-busy.provider.ts +1 -1
  176. package/src/core/commands/sd-command.ts +46 -0
  177. package/src/core/error-handler/sd-global-error-handler.plugin.ts +1 -1
  178. package/src/core/events/sd-events.ts +1 -12
  179. package/src/core/events/sd-intersection.ts +29 -0
  180. package/src/core/events/{sd-resize-event.plugin.ts → sd-resize.ts} +17 -24
  181. package/src/core/file-dialog/sd-file-dialog.provider.ts +1 -1
  182. package/src/core/modal/injectDragResize.ts +9 -9
  183. package/src/core/modal/injectFocusTrap.ts +1 -1
  184. package/src/core/modal/sd-modal.provider.ts +5 -5
  185. package/src/core/modal/sd-modal.ts +119 -41
  186. package/src/core/provideSdAngular.ts +0 -10
  187. package/src/core/ripple/setupRipple.ts +5 -5
  188. package/src/core/routing/menu-utils.ts +1 -1
  189. package/src/core/routing/sd-navigate-window.provider.ts +1 -1
  190. package/src/core/routing/sd-router-link.ts +1 -1
  191. package/src/core/selection/setupCumulateSelectedKeys.ts +3 -3
  192. package/src/core/setupModelHook.ts +1 -1
  193. package/src/core/toast/sd-toast-container.ts +1 -1
  194. package/src/core/toast/sd-toast.provider.ts +6 -6
  195. package/src/core/toast/sd-toast.ts +25 -22
  196. package/src/core/validation/setupInvalid.ts +2 -1
  197. package/src/data/data-detail/sd-data-detail.ts +15 -11
  198. package/src/data/data-sheet/sd-data-sheet.ts +13 -15
  199. package/src/data/kanban/sd-kanban.ts +4 -5
  200. package/src/data/permission-table/sd-permission-table.ts +4 -4
  201. package/src/data/shared-data/sd-shared-data-select-list.ts +1 -1
  202. package/src/data/shared-data/sd-shared-data-select.ts +8 -27
  203. package/src/data/sheet/injectSheetDomAccessor.ts +37 -25
  204. package/src/data/sheet/injectSheetSelectRowIndicator.ts +69 -0
  205. package/src/data/sheet/sd-sheet-config.modal.ts +215 -191
  206. package/src/data/sheet/sd-sheet.ts +529 -209
  207. package/src/data/sheet/useSheetCellAgent.ts +8 -8
  208. package/src/data/sheet/useSheetCellStyling.ts +4 -8
  209. package/src/data/sheet/useSheetFocusIndicator.ts +66 -0
  210. package/src/data/sheet/useSheetLayoutEngine.ts +1 -1
  211. package/src/data/state-preset/sd-state-preset.ts +26 -13
  212. package/src/features/address/sd-address-search.modal.ts +1 -1
  213. package/src/features/editor/sd-tiptap-editor.ts +4 -4
  214. package/src/features/editor/useTiptapToolbar.ts +2 -2
  215. package/src/features/visual/sd-calendar.ts +1 -1
  216. package/src/features/visual/sd-echarts.ts +2 -0
  217. package/src/index.ts +4 -6
  218. package/src/layout/base-container/sd-base-container.ts +1 -1
  219. package/src/layout/dock/sd-dock.ts +3 -2
  220. package/src/layout/sidebar/sd-sidebar-container.ts +2 -2
  221. package/src/layout/sidebar/sd-sidebar-menu.ts +1 -3
  222. package/src/layout/topbar/sd-topbar-menu.ts +11 -15
  223. package/src/layout/topbar/sd-topbar.ts +1 -1
  224. package/dist/core/commands/sd-insert-command-event.plugin.d.ts +0 -11
  225. package/dist/core/commands/sd-insert-command-event.plugin.d.ts.map +0 -1
  226. package/dist/core/commands/sd-insert-command-event.plugin.js +0 -35
  227. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts +0 -11
  228. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts.map +0 -1
  229. package/dist/core/commands/sd-refresh-command-event.plugin.js +0 -38
  230. package/dist/core/commands/sd-save-command-event.plugin.d.ts +0 -11
  231. package/dist/core/commands/sd-save-command-event.plugin.d.ts.map +0 -1
  232. package/dist/core/commands/sd-save-command-event.plugin.js +0 -38
  233. package/dist/core/events/sd-intersection-event.plugin.d.ts +0 -13
  234. package/dist/core/events/sd-intersection-event.plugin.d.ts.map +0 -1
  235. package/dist/core/events/sd-intersection-event.plugin.js +0 -29
  236. package/dist/core/events/sd-resize-event.plugin.d.ts +0 -16
  237. package/dist/core/events/sd-resize-event.plugin.d.ts.map +0 -1
  238. package/src/core/commands/sd-insert-command-event.plugin.ts +0 -39
  239. package/src/core/commands/sd-refresh-command-event.plugin.ts +0 -44
  240. package/src/core/commands/sd-save-command-event.plugin.ts +0 -44
  241. package/src/core/events/sd-intersection-event.plugin.ts +0 -35
@@ -1,13 +0,0 @@
1
- import { EventManagerPlugin } from "@angular/platform-browser";
2
- import * as i0 from "@angular/core";
3
- export declare class SdIntersectionEventPlugin extends EventManagerPlugin {
4
- constructor();
5
- supports(eventName: string): boolean;
6
- addEventListener(element: HTMLElement, eventName: string, handler: (entry: SdIntersectionEvent) => void): () => void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<SdIntersectionEventPlugin, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<SdIntersectionEventPlugin>;
9
- }
10
- export interface SdIntersectionEvent {
11
- entry: IntersectionObserverEntry;
12
- }
13
- //# sourceMappingURL=sd-intersection-event.plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sd-intersection-event.plugin.d.ts","sourceRoot":"","sources":["../../../src/core/events/sd-intersection-event.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;;AAG/D,qBACa,yBAA0B,SAAQ,kBAAkB;;IAKtD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,gBAAgB,CACvB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAC5C,MAAM,IAAI;yCAbF,yBAAyB;6CAAzB,yBAAyB;CAyBrC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,yBAAyB,CAAC;CAClC"}
@@ -1,29 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { EventManagerPlugin } from "@angular/platform-browser";
3
- import { DOCUMENT } from "@angular/common";
4
- import * as i0 from "@angular/core";
5
- export class SdIntersectionEventPlugin extends EventManagerPlugin {
6
- constructor() {
7
- super(inject(DOCUMENT));
8
- }
9
- supports(eventName) {
10
- return eventName === "sdIntersection";
11
- }
12
- addEventListener(element, eventName, handler) {
13
- const observer = new IntersectionObserver((entries) => {
14
- if (entries.length === 0)
15
- return;
16
- handler({ entry: entries[entries.length - 1] });
17
- });
18
- observer.observe(element);
19
- return () => {
20
- observer.disconnect();
21
- };
22
- }
23
- static ɵfac = function SdIntersectionEventPlugin_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdIntersectionEventPlugin)(); };
24
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SdIntersectionEventPlugin, factory: SdIntersectionEventPlugin.ɵfac, providedIn: null });
25
- }
26
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdIntersectionEventPlugin, [{
27
- type: Injectable,
28
- args: [{ providedIn: null }]
29
- }], () => [], null); })();
@@ -1,16 +0,0 @@
1
- import { EventManagerPlugin } from "@angular/platform-browser";
2
- import * as i0 from "@angular/core";
3
- export declare class SdResizeEventPlugin extends EventManagerPlugin {
4
- constructor();
5
- supports(eventName: string): boolean;
6
- addEventListener(element: HTMLElement, eventName: string, handler: (entry: SdResizeEvent) => void): () => void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<SdResizeEventPlugin, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<SdResizeEventPlugin>;
9
- }
10
- export interface SdResizeEvent {
11
- heightChanged: boolean;
12
- widthChanged: boolean;
13
- target: Element;
14
- contentRect: DOMRectReadOnly;
15
- }
16
- //# sourceMappingURL=sd-resize-event.plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sd-resize-event.plugin.d.ts","sourceRoot":"","sources":["../../../src/core/events/sd-resize-event.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;;AAG/D,qBACa,mBAAoB,SAAQ,kBAAkB;;IAKhD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,gBAAgB,CACvB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GACtC,MAAM,IAAI;yCAbF,mBAAmB;6CAAnB,mBAAmB;CAgD/B;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,eAAe,CAAC;CAC9B"}
@@ -1,39 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { EventManagerPlugin } from "@angular/platform-browser";
3
- import { DOCUMENT } from "@angular/common";
4
- import { shouldProcessCommandEvent } from "./findTopOpenModalEl";
5
-
6
- @Injectable({ providedIn: null })
7
- export class SdInsertCommandEventPlugin extends EventManagerPlugin {
8
- private readonly _document = inject(DOCUMENT);
9
-
10
- constructor() {
11
- super(inject(DOCUMENT));
12
- }
13
-
14
- override supports(eventName: string): boolean {
15
- return eventName === "sdInsertCommand";
16
- }
17
-
18
- override addEventListener(
19
- element: HTMLElement,
20
- eventName: string,
21
- handler: (event: Event) => void,
22
- ): () => void {
23
- const listener = (event: KeyboardEvent): void => {
24
- if (event.key === "Insert" && event.ctrlKey && !event.altKey && !event.shiftKey) {
25
- if (!shouldProcessCommandEvent(this._document, element)) return;
26
-
27
- event.preventDefault();
28
- event.stopPropagation();
29
- handler(event);
30
- }
31
- };
32
-
33
- this._document.addEventListener("keydown", listener);
34
-
35
- return (): void => {
36
- this._document.removeEventListener("keydown", listener);
37
- };
38
- }
39
- }
@@ -1,44 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { EventManagerPlugin } from "@angular/platform-browser";
3
- import { DOCUMENT } from "@angular/common";
4
- import { shouldProcessCommandEvent } from "./findTopOpenModalEl";
5
-
6
- @Injectable({ providedIn: null })
7
- export class SdRefreshCommandEventPlugin extends EventManagerPlugin {
8
- private readonly _document = inject(DOCUMENT);
9
-
10
- constructor() {
11
- super(inject(DOCUMENT));
12
- }
13
-
14
- override supports(eventName: string) {
15
- return eventName === "sdRefreshCommand";
16
- }
17
-
18
- override addEventListener(
19
- element: HTMLElement,
20
- eventName: string,
21
- handler: (event: Event) => void,
22
- ): () => void {
23
- const listener = (event: KeyboardEvent): void => {
24
- if (
25
- (event.key === "l" || event.key === "L") &&
26
- event.ctrlKey &&
27
- event.altKey &&
28
- !event.shiftKey
29
- ) {
30
- if (!shouldProcessCommandEvent(this._document, element)) return;
31
-
32
- event.preventDefault();
33
- event.stopPropagation();
34
- handler(event);
35
- }
36
- };
37
-
38
- this._document.addEventListener("keydown", listener);
39
-
40
- return (): void => {
41
- this._document.removeEventListener("keydown", listener);
42
- };
43
- }
44
- }
@@ -1,44 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { EventManagerPlugin } from "@angular/platform-browser";
3
- import { DOCUMENT } from "@angular/common";
4
- import { shouldProcessCommandEvent } from "./findTopOpenModalEl";
5
-
6
- @Injectable({ providedIn: null })
7
- export class SdSaveCommandEventPlugin extends EventManagerPlugin {
8
- private readonly _document = inject(DOCUMENT);
9
-
10
- constructor() {
11
- super(inject(DOCUMENT));
12
- }
13
-
14
- override supports(eventName: string) {
15
- return eventName === "sdSaveCommand";
16
- }
17
-
18
- override addEventListener(
19
- element: HTMLElement,
20
- eventName: string,
21
- handler: (event: Event) => void,
22
- ): () => void {
23
- const listener = (event: KeyboardEvent): void => {
24
- if (
25
- (event.key === "s" || event.key === "S") &&
26
- event.ctrlKey &&
27
- !event.altKey &&
28
- !event.shiftKey
29
- ) {
30
- if (!shouldProcessCommandEvent(this._document, element)) return;
31
-
32
- event.preventDefault();
33
- event.stopPropagation();
34
- handler(event);
35
- }
36
- };
37
-
38
- this._document.addEventListener("keydown", listener);
39
-
40
- return (): void => {
41
- this._document.removeEventListener("keydown", listener);
42
- };
43
- }
44
- }
@@ -1,35 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { EventManagerPlugin } from "@angular/platform-browser";
3
- import { DOCUMENT } from "@angular/common";
4
-
5
- @Injectable({ providedIn: null })
6
- export class SdIntersectionEventPlugin extends EventManagerPlugin {
7
- constructor() {
8
- super(inject(DOCUMENT));
9
- }
10
-
11
- override supports(eventName: string): boolean {
12
- return eventName === "sdIntersection";
13
- }
14
-
15
- override addEventListener(
16
- element: HTMLElement,
17
- eventName: string,
18
- handler: (entry: SdIntersectionEvent) => void,
19
- ): () => void {
20
- const observer = new IntersectionObserver((entries) => {
21
- if (entries.length === 0) return;
22
-
23
- handler({ entry: entries[entries.length - 1] });
24
- });
25
- observer.observe(element);
26
-
27
- return (): void => {
28
- observer.disconnect();
29
- };
30
- }
31
- }
32
-
33
- export interface SdIntersectionEvent {
34
- entry: IntersectionObserverEntry;
35
- }