@ng-atomic/common 18.12.0 → 18.13.0-preview-v19e.1

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 (333) hide show
  1. package/directives/molecules/column/column.molecule.d.ts +2 -1
  2. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +3 -3
  3. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +9 -8
  4. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
  5. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +18 -12
  6. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -1
  7. package/fesm2022/ng-atomic-common-directives-resize-column.mjs +6 -6
  8. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +3 -4
  9. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
  10. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs +6 -6
  11. package/fesm2022/ng-atomic-common-interceptors-token.mjs +3 -3
  12. package/fesm2022/ng-atomic-common-interceptors.mjs +4 -4
  13. package/fesm2022/ng-atomic-common-pipes-actions.mjs +3 -3
  14. package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +3 -3
  15. package/fesm2022/ng-atomic-common-pipes-columns.mjs +3 -3
  16. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +3 -3
  17. package/fesm2022/ng-atomic-common-pipes-domain.mjs +3 -3
  18. package/fesm2022/ng-atomic-common-pipes-error.mjs +3 -3
  19. package/fesm2022/ng-atomic-common-pipes-expression.mjs +3 -3
  20. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs +3 -3
  21. package/fesm2022/ng-atomic-common-pipes-index-length.mjs +3 -3
  22. package/fesm2022/ng-atomic-common-pipes-index.mjs +3 -3
  23. package/fesm2022/ng-atomic-common-pipes-keys.mjs +3 -3
  24. package/fesm2022/ng-atomic-common-pipes-map.mjs +3 -3
  25. package/fesm2022/ng-atomic-common-pipes-page.mjs +3 -3
  26. package/fesm2022/ng-atomic-common-pipes-pagination.mjs +4 -4
  27. package/fesm2022/ng-atomic-common-pipes-query.mjs +4 -4
  28. package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +3 -3
  29. package/fesm2022/ng-atomic-common-pipes-secret.mjs +3 -3
  30. package/fesm2022/ng-atomic-common-pipes-select-id.mjs +3 -3
  31. package/fesm2022/ng-atomic-common-pipes-signal.mjs +3 -3
  32. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +3 -3
  33. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +3 -3
  34. package/fesm2022/ng-atomic-common-pipes-sort.mjs +3 -3
  35. package/fesm2022/ng-atomic-common-pipes-style.mjs +3 -3
  36. package/fesm2022/ng-atomic-common-pipes-yen.mjs +3 -3
  37. package/fesm2022/ng-atomic-common-services-app.mjs +6 -6
  38. package/fesm2022/ng-atomic-common-services-auth.mjs +3 -3
  39. package/fesm2022/ng-atomic-common-services-breakpoint.mjs +3 -3
  40. package/fesm2022/ng-atomic-common-services-chips-manager.mjs +3 -3
  41. package/fesm2022/ng-atomic-common-services-csv.mjs +3 -3
  42. package/fesm2022/ng-atomic-common-services-fab.mjs +3 -3
  43. package/fesm2022/ng-atomic-common-services-form-_index.mjs +3 -3
  44. package/fesm2022/ng-atomic-common-services-form-columns.mjs +3 -3
  45. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +3 -3
  46. package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
  47. package/fesm2022/ng-atomic-common-services-form-sort.mjs +3 -3
  48. package/fesm2022/ng-atomic-common-services-initializer.mjs +3 -3
  49. package/fesm2022/ng-atomic-common-services-language.mjs +3 -3
  50. package/fesm2022/ng-atomic-common-services-loading.mjs +6 -6
  51. package/fesm2022/ng-atomic-common-services-navigation-history.mjs +3 -3
  52. package/fesm2022/ng-atomic-common-services-query-resolver.mjs +6 -6
  53. package/fesm2022/ng-atomic-common-services-root-property.mjs +14 -15
  54. package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
  55. package/fesm2022/ng-atomic-common-services-router.mjs +3 -3
  56. package/fesm2022/ng-atomic-common-services-secret.mjs +3 -3
  57. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs +4 -4
  58. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
  59. package/fesm2022/ng-atomic-common-services-sheets.mjs +7 -7
  60. package/fesm2022/ng-atomic-common-services-side-app.mjs +6 -6
  61. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +3 -3
  62. package/fesm2022/ng-atomic-common-services-snack-bar.mjs +7 -7
  63. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +31 -31
  64. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -1
  65. package/fesm2022/ng-atomic-common-services-ui.mjs +5 -5
  66. package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
  67. package/fesm2022/ng-atomic-common-stores-entities.mjs +9 -9
  68. package/fesm2022/ng-atomic-common-stores-pagination.mjs +3 -3
  69. package/fesm2022/ng-atomic-common-stores-query.mjs +3 -3
  70. package/fesm2022/ng-atomic-common-stores-selection.mjs +3 -3
  71. package/fesm2022/ng-atomic-common-stores-sort.mjs +3 -3
  72. package/fesm2022/ng-atomic-common-utils.mjs +7 -7
  73. package/fesm2022/ng-atomic-common.mjs +11 -11
  74. package/package.json +54 -178
  75. package/pipes/index/index.pipe.d.ts +1 -1
  76. package/pipes/index-length/index-length.pipe.d.ts +1 -1
  77. package/services/spreadsheet/directives/grid-cell.directive.d.ts +3 -3
  78. package/services/ui/ui.helpers.d.ts +1 -1
  79. package/esm2022/common.module.mjs +0 -34
  80. package/esm2022/directives/fallback-src/fallback-src.directive.mjs +0 -25
  81. package/esm2022/directives/fallback-src/index.mjs +0 -2
  82. package/esm2022/directives/fallback-src/ng-atomic-common-directives-fallback-src.mjs +0 -5
  83. package/esm2022/directives/ios-safari-scroll-buggyfill/index.mjs +0 -3
  84. package/esm2022/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.directive.mjs +0 -24
  85. package/esm2022/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.module.mjs +0 -24
  86. package/esm2022/directives/ios-safari-scroll-buggyfill/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +0 -5
  87. package/esm2022/directives/molecules/column/column.molecule.mjs +0 -112
  88. package/esm2022/directives/molecules/column/index.mjs +0 -2
  89. package/esm2022/directives/molecules/column/ng-atomic-common-directives-molecules-column.mjs +0 -5
  90. package/esm2022/directives/resize-column/index.mjs +0 -2
  91. package/esm2022/directives/resize-column/ng-atomic-common-directives-resize-column.mjs +0 -5
  92. package/esm2022/directives/resize-column/resize-column.directive.mjs +0 -62
  93. package/esm2022/directives/resize-column/resize-handle.component.mjs +0 -13
  94. package/esm2022/index.mjs +0 -2
  95. package/esm2022/interceptors/authorization/authorization.interceptor.mjs +0 -39
  96. package/esm2022/interceptors/authorization/index.mjs +0 -2
  97. package/esm2022/interceptors/authorization/ng-atomic-common-interceptors-authorization.mjs +0 -5
  98. package/esm2022/interceptors/index.mjs +0 -2
  99. package/esm2022/interceptors/interceptors.module.mjs +0 -44
  100. package/esm2022/interceptors/ng-atomic-common-interceptors.mjs +0 -5
  101. package/esm2022/interceptors/throttle/index.mjs +0 -2
  102. package/esm2022/interceptors/throttle/ng-atomic-common-interceptors-throttle.mjs +0 -5
  103. package/esm2022/interceptors/throttle/throttle.interceptor.mjs +0 -63
  104. package/esm2022/interceptors/token/authorization.interceptor.mjs +0 -26
  105. package/esm2022/interceptors/token/index.mjs +0 -2
  106. package/esm2022/interceptors/token/ng-atomic-common-interceptors-token.mjs +0 -5
  107. package/esm2022/models/index.mjs +0 -2
  108. package/esm2022/models/menu-item.mjs +0 -2
  109. package/esm2022/models/ng-atomic-common-models.mjs +0 -5
  110. package/esm2022/ng-atomic-common.mjs +0 -5
  111. package/esm2022/pipes/actions/actions.pipe.mjs +0 -19
  112. package/esm2022/pipes/actions/index.mjs +0 -2
  113. package/esm2022/pipes/actions/ng-atomic-common-pipes-actions.mjs +0 -5
  114. package/esm2022/pipes/auto-columns/auto-columns.pipe.mjs +0 -20
  115. package/esm2022/pipes/auto-columns/index.mjs +0 -2
  116. package/esm2022/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.mjs +0 -5
  117. package/esm2022/pipes/columns/columns.pipe.mjs +0 -18
  118. package/esm2022/pipes/columns/index.mjs +0 -2
  119. package/esm2022/pipes/columns/ng-atomic-common-pipes-columns.mjs +0 -5
  120. package/esm2022/pipes/data-accessor/data-accessor.pipe.mjs +0 -46
  121. package/esm2022/pipes/data-accessor/index.mjs +0 -2
  122. package/esm2022/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.mjs +0 -5
  123. package/esm2022/pipes/domain/domain.pipe.mjs +0 -71
  124. package/esm2022/pipes/domain/index.mjs +0 -2
  125. package/esm2022/pipes/domain/ng-atomic-common-pipes-domain.mjs +0 -5
  126. package/esm2022/pipes/error/error.pipe.mjs +0 -46
  127. package/esm2022/pipes/error/index.mjs +0 -2
  128. package/esm2022/pipes/error/ng-atomic-common-pipes-error.mjs +0 -5
  129. package/esm2022/pipes/expression/expression.pipe.mjs +0 -18
  130. package/esm2022/pipes/expression/index.mjs +0 -2
  131. package/esm2022/pipes/expression/ng-atomic-common-pipes-expression.mjs +0 -5
  132. package/esm2022/pipes/grouped-by/grouped-by.pipe.mjs +0 -29
  133. package/esm2022/pipes/grouped-by/index.mjs +0 -2
  134. package/esm2022/pipes/grouped-by/ng-atomic-common-pipes-grouped-by.mjs +0 -5
  135. package/esm2022/pipes/index/index.mjs +0 -2
  136. package/esm2022/pipes/index/index.pipe.mjs +0 -29
  137. package/esm2022/pipes/index/ng-atomic-common-pipes-index.mjs +0 -5
  138. package/esm2022/pipes/index-length/index-length.pipe.mjs +0 -22
  139. package/esm2022/pipes/index-length/index.mjs +0 -2
  140. package/esm2022/pipes/index-length/ng-atomic-common-pipes-index-length.mjs +0 -5
  141. package/esm2022/pipes/keys/index.mjs +0 -2
  142. package/esm2022/pipes/keys/keys.pipe.mjs +0 -18
  143. package/esm2022/pipes/keys/ng-atomic-common-pipes-keys.mjs +0 -5
  144. package/esm2022/pipes/map/index.mjs +0 -2
  145. package/esm2022/pipes/map/map.pipe.mjs +0 -17
  146. package/esm2022/pipes/map/ng-atomic-common-pipes-map.mjs +0 -5
  147. package/esm2022/pipes/page/index.mjs +0 -2
  148. package/esm2022/pipes/page/ng-atomic-common-pipes-page.mjs +0 -5
  149. package/esm2022/pipes/page/page.pipe.mjs +0 -25
  150. package/esm2022/pipes/pagination/index.mjs +0 -2
  151. package/esm2022/pipes/pagination/ng-atomic-common-pipes-pagination.mjs +0 -5
  152. package/esm2022/pipes/pagination/pagination.pipe.mjs +0 -32
  153. package/esm2022/pipes/query/index.mjs +0 -2
  154. package/esm2022/pipes/query/ng-atomic-common-pipes-query.mjs +0 -5
  155. package/esm2022/pipes/query/query.pipe.mjs +0 -33
  156. package/esm2022/pipes/resolve-columns/index.mjs +0 -2
  157. package/esm2022/pipes/resolve-columns/ng-atomic-common-pipes-resolve-columns.mjs +0 -5
  158. package/esm2022/pipes/resolve-columns/resolve-columns.pipe.mjs +0 -24
  159. package/esm2022/pipes/secret/index.mjs +0 -2
  160. package/esm2022/pipes/secret/ng-atomic-common-pipes-secret.mjs +0 -5
  161. package/esm2022/pipes/secret/secret.pipe.mjs +0 -21
  162. package/esm2022/pipes/select-id/index.mjs +0 -2
  163. package/esm2022/pipes/select-id/ng-atomic-common-pipes-select-id.mjs +0 -5
  164. package/esm2022/pipes/select-id/select-id.pipe.mjs +0 -29
  165. package/esm2022/pipes/signal/index.mjs +0 -2
  166. package/esm2022/pipes/signal/ng-atomic-common-pipes-signal.mjs +0 -5
  167. package/esm2022/pipes/signal/signal.pipe.mjs +0 -23
  168. package/esm2022/pipes/smart-field/index.mjs +0 -2
  169. package/esm2022/pipes/smart-field/ng-atomic-common-pipes-smart-field.mjs +0 -5
  170. package/esm2022/pipes/smart-field/smart-field.pipe.mjs +0 -44
  171. package/esm2022/pipes/sort/index.mjs +0 -2
  172. package/esm2022/pipes/sort/ng-atomic-common-pipes-sort.mjs +0 -5
  173. package/esm2022/pipes/sort/sort.pipe.mjs +0 -14
  174. package/esm2022/pipes/sort-by/index.mjs +0 -2
  175. package/esm2022/pipes/sort-by/ng-atomic-common-pipes-sort-by.mjs +0 -5
  176. package/esm2022/pipes/sort-by/sort-by.pipe.mjs +0 -32
  177. package/esm2022/pipes/style/index.mjs +0 -2
  178. package/esm2022/pipes/style/ng-atomic-common-pipes-style.mjs +0 -5
  179. package/esm2022/pipes/style/style.pipe.mjs +0 -41
  180. package/esm2022/pipes/yen/index.mjs +0 -2
  181. package/esm2022/pipes/yen/ng-atomic-common-pipes-yen.mjs +0 -5
  182. package/esm2022/pipes/yen/yen.pipe.mjs +0 -20
  183. package/esm2022/services/app/app.service.mjs +0 -78
  184. package/esm2022/services/app/index.mjs +0 -2
  185. package/esm2022/services/app/ng-atomic-common-services-app.mjs +0 -5
  186. package/esm2022/services/auth/auth.service.mjs +0 -66
  187. package/esm2022/services/auth/index.mjs +0 -2
  188. package/esm2022/services/auth/ng-atomic-common-services-auth.mjs +0 -5
  189. package/esm2022/services/breakpoint/breakpoint.service.mjs +0 -57
  190. package/esm2022/services/breakpoint/index.mjs +0 -2
  191. package/esm2022/services/breakpoint/ng-atomic-common-services-breakpoint.mjs +0 -5
  192. package/esm2022/services/chips-manager/chips.manager.mjs +0 -29
  193. package/esm2022/services/chips-manager/index.mjs +0 -2
  194. package/esm2022/services/chips-manager/ng-atomic-common-services-chips-manager.mjs +0 -5
  195. package/esm2022/services/csv/csv.service.mjs +0 -25
  196. package/esm2022/services/csv/index.mjs +0 -2
  197. package/esm2022/services/csv/ng-atomic-common-services-csv.mjs +0 -5
  198. package/esm2022/services/fab/fab.service.mjs +0 -46
  199. package/esm2022/services/fab/index.mjs +0 -2
  200. package/esm2022/services/fab/ng-atomic-common-services-fab.mjs +0 -5
  201. package/esm2022/services/form/_index/index.mjs +0 -2
  202. package/esm2022/services/form/_index/index.service.mjs +0 -51
  203. package/esm2022/services/form/_index/ng-atomic-common-services-form-_index.mjs +0 -5
  204. package/esm2022/services/form/columns/columns.service.mjs +0 -145
  205. package/esm2022/services/form/columns/index.mjs +0 -2
  206. package/esm2022/services/form/columns/ng-atomic-common-services-form-columns.mjs +0 -5
  207. package/esm2022/services/form/form.service.mjs +0 -38
  208. package/esm2022/services/form/index.mjs +0 -2
  209. package/esm2022/services/form/json-schema/index.mjs +0 -2
  210. package/esm2022/services/form/json-schema/json-schema.mjs +0 -51
  211. package/esm2022/services/form/json-schema/json-schema.service.mjs +0 -178
  212. package/esm2022/services/form/json-schema/ng-atomic-common-services-form-json-schema.mjs +0 -5
  213. package/esm2022/services/form/ng-atomic-common-services-form.mjs +0 -5
  214. package/esm2022/services/form/pagination/index.mjs +0 -2
  215. package/esm2022/services/form/pagination/ng-atomic-common-services-form-pagination.mjs +0 -5
  216. package/esm2022/services/form/pagination/pagination.service.mjs +0 -24
  217. package/esm2022/services/form/sort/index.mjs +0 -2
  218. package/esm2022/services/form/sort/ng-atomic-common-services-form-sort.mjs +0 -5
  219. package/esm2022/services/form/sort/sort.service.mjs +0 -33
  220. package/esm2022/services/initializer/index.mjs +0 -2
  221. package/esm2022/services/initializer/initializer.service.mjs +0 -44
  222. package/esm2022/services/initializer/ng-atomic-common-services-initializer.mjs +0 -5
  223. package/esm2022/services/language/index.mjs +0 -2
  224. package/esm2022/services/language/language.service.mjs +0 -39
  225. package/esm2022/services/language/ng-atomic-common-services-language.mjs +0 -5
  226. package/esm2022/services/loading/index.mjs +0 -2
  227. package/esm2022/services/loading/loading.service.mjs +0 -62
  228. package/esm2022/services/loading/ng-atomic-common-services-loading.mjs +0 -5
  229. package/esm2022/services/navigation-history/index.mjs +0 -2
  230. package/esm2022/services/navigation-history/navigation-history.service.mjs +0 -50
  231. package/esm2022/services/navigation-history/ng-atomic-common-services-navigation-history.mjs +0 -5
  232. package/esm2022/services/query-resolver/index.mjs +0 -2
  233. package/esm2022/services/query-resolver/ng-atomic-common-services-query-resolver.mjs +0 -5
  234. package/esm2022/services/query-resolver/query-resolver.service.mjs +0 -94
  235. package/esm2022/services/root-property/index.mjs +0 -3
  236. package/esm2022/services/root-property/ng-atomic-common-services-root-property.mjs +0 -5
  237. package/esm2022/services/root-property/root-property.di.mjs +0 -15
  238. package/esm2022/services/root-property/root-property.service.mjs +0 -169
  239. package/esm2022/services/router/index.mjs +0 -2
  240. package/esm2022/services/router/ng-atomic-common-services-router.mjs +0 -5
  241. package/esm2022/services/router/router.service.mjs +0 -25
  242. package/esm2022/services/secret/index.mjs +0 -2
  243. package/esm2022/services/secret/ng-atomic-common-services-secret.mjs +0 -5
  244. package/esm2022/services/secret/secret.service.mjs +0 -16
  245. package/esm2022/services/sheets/actions/actions.sheet.mjs +0 -45
  246. package/esm2022/services/sheets/actions/index.mjs +0 -2
  247. package/esm2022/services/sheets/actions/ng-atomic-common-services-sheets-actions.mjs +0 -5
  248. package/esm2022/services/sheets/index.mjs +0 -3
  249. package/esm2022/services/sheets/ng-atomic-common-services-sheets.mjs +0 -5
  250. package/esm2022/services/sheets/sheets.module.mjs +0 -25
  251. package/esm2022/services/sheets/sheets.service.mjs +0 -22
  252. package/esm2022/services/side-app/index.mjs +0 -2
  253. package/esm2022/services/side-app/ng-atomic-common-services-side-app.mjs +0 -5
  254. package/esm2022/services/side-app/side-app.service.mjs +0 -55
  255. package/esm2022/services/side-nav-mode/index.mjs +0 -2
  256. package/esm2022/services/side-nav-mode/ng-atomic-common-services-side-nav-mode.mjs +0 -5
  257. package/esm2022/services/side-nav-mode/side-nav-mode.service.mjs +0 -27
  258. package/esm2022/services/snack-bar/index.mjs +0 -3
  259. package/esm2022/services/snack-bar/ng-atomic-common-services-snack-bar.mjs +0 -5
  260. package/esm2022/services/snack-bar/snack-bar.module.mjs +0 -22
  261. package/esm2022/services/snack-bar/snack-bar.service.mjs +0 -41
  262. package/esm2022/services/spreadsheet/directives/grid-cell.directive.mjs +0 -124
  263. package/esm2022/services/spreadsheet/directives/index.mjs +0 -2
  264. package/esm2022/services/spreadsheet/features/clipboard.service.mjs +0 -71
  265. package/esm2022/services/spreadsheet/features/data.service.mjs +0 -63
  266. package/esm2022/services/spreadsheet/features/editor.service.mjs +0 -65
  267. package/esm2022/services/spreadsheet/features/grid.service.mjs +0 -54
  268. package/esm2022/services/spreadsheet/features/index.mjs +0 -8
  269. package/esm2022/services/spreadsheet/features/navigation.service.mjs +0 -71
  270. package/esm2022/services/spreadsheet/features/protection.service.mjs +0 -25
  271. package/esm2022/services/spreadsheet/features/selection.service.mjs +0 -129
  272. package/esm2022/services/spreadsheet/index.mjs +0 -5
  273. package/esm2022/services/spreadsheet/models/cell.model.mjs +0 -2
  274. package/esm2022/services/spreadsheet/models/index.mjs +0 -2
  275. package/esm2022/services/spreadsheet/ng-atomic-common-services-spreadsheet.mjs +0 -5
  276. package/esm2022/services/spreadsheet/spreadsheet.service.mjs +0 -183
  277. package/esm2022/services/ui/index.mjs +0 -3
  278. package/esm2022/services/ui/ng-atomic-common-services-ui.mjs +0 -5
  279. package/esm2022/services/ui/ui.helpers.mjs +0 -241
  280. package/esm2022/services/ui/ui.service.mjs +0 -30
  281. package/esm2022/stores/entities/di.mjs +0 -64
  282. package/esm2022/stores/entities/entity-store-adapter.mjs +0 -34
  283. package/esm2022/stores/entities/entity-store-manager.mjs +0 -25
  284. package/esm2022/stores/entities/entity-store.mjs +0 -121
  285. package/esm2022/stores/entities/index.mjs +0 -7
  286. package/esm2022/stores/entities/ng-atomic-common-stores-entities.mjs +0 -5
  287. package/esm2022/stores/entities/proxy-id.service.mjs +0 -29
  288. package/esm2022/stores/entities/task-composer.mjs +0 -71
  289. package/esm2022/stores/entity/entity.store.mjs +0 -34
  290. package/esm2022/stores/entity/index.mjs +0 -2
  291. package/esm2022/stores/entity/ng-atomic-common-stores-entity.mjs +0 -5
  292. package/esm2022/stores/pagination/index.mjs +0 -2
  293. package/esm2022/stores/pagination/ng-atomic-common-stores-pagination.mjs +0 -5
  294. package/esm2022/stores/pagination/pagination.store.mjs +0 -23
  295. package/esm2022/stores/query/index.mjs +0 -2
  296. package/esm2022/stores/query/ng-atomic-common-stores-query.mjs +0 -5
  297. package/esm2022/stores/query/query.store.mjs +0 -31
  298. package/esm2022/stores/selection/index.mjs +0 -2
  299. package/esm2022/stores/selection/ng-atomic-common-stores-selection.mjs +0 -5
  300. package/esm2022/stores/selection/selection.store.mjs +0 -29
  301. package/esm2022/stores/sort/index.mjs +0 -2
  302. package/esm2022/stores/sort/ng-atomic-common-stores-sort.mjs +0 -5
  303. package/esm2022/stores/sort/sort.store.mjs +0 -27
  304. package/esm2022/utils/comma/comma.mjs +0 -4
  305. package/esm2022/utils/comma/index.mjs +0 -2
  306. package/esm2022/utils/compare-by-id/compare-by-id.mjs +0 -5
  307. package/esm2022/utils/compare-by-id/index.mjs +0 -2
  308. package/esm2022/utils/date-utils/date-utils.mjs +0 -13
  309. package/esm2022/utils/date-utils/index.mjs +0 -2
  310. package/esm2022/utils/diff/diff.mjs +0 -7
  311. package/esm2022/utils/diff/index.mjs +0 -2
  312. package/esm2022/utils/expression/expression.transformer.mjs +0 -38
  313. package/esm2022/utils/expression/index.mjs +0 -2
  314. package/esm2022/utils/form/form.mjs +0 -26
  315. package/esm2022/utils/form/index.mjs +0 -2
  316. package/esm2022/utils/get/get.mjs +0 -6
  317. package/esm2022/utils/get/index.mjs +0 -2
  318. package/esm2022/utils/index.mjs +0 -15
  319. package/esm2022/utils/inject/index.mjs +0 -2
  320. package/esm2022/utils/inject/inject.mjs +0 -177
  321. package/esm2022/utils/mat-dayjs-date/dayjs-date.adapter.mjs +0 -191
  322. package/esm2022/utils/mat-dayjs-date/dayjs-date.formats.mjs +0 -15
  323. package/esm2022/utils/mat-dayjs-date/dayjs-date.module.mjs +0 -37
  324. package/esm2022/utils/mat-dayjs-date/dayjs-jp-providers.mjs +0 -20
  325. package/esm2022/utils/mat-dayjs-date/index.mjs +0 -5
  326. package/esm2022/utils/ng-atomic-common-utils.mjs +0 -5
  327. package/esm2022/utils/page/index.mjs +0 -2
  328. package/esm2022/utils/page/page.mjs +0 -20
  329. package/esm2022/utils/router/index.mjs +0 -2
  330. package/esm2022/utils/router/router.mjs +0 -54
  331. package/esm2022/utils/time.mjs +0 -8
  332. package/esm2022/utils/to-object/index.mjs +0 -2
  333. package/esm2022/utils/to-object/to-object.mjs +0 -10
@@ -1,124 +0,0 @@
1
- import { computed, Directive, effect, ElementRef, inject, input, signal } from "@angular/core";
2
- import { SpreadSheetService } from "../spreadsheet.service";
3
- import * as i0 from "@angular/core";
4
- export class SpreadSheetCell {
5
- constructor() {
6
- this.ss = inject(SpreadSheetService);
7
- this.el = inject(ElementRef);
8
- this.position = input({ row: 0, col: 0 }, { alias: 'ssCell' });
9
- this.editable = input(false, { alias: 'ssCellEditable' });
10
- this.context = input(null, { alias: 'ssCellContext' });
11
- this.isSelected = computed(() => this.ss.selection.isSelected(this.position()));
12
- this.isEditing = computed(() => this.ss.editor.isEditing(this.position()));
13
- this.frameEl = signal(null);
14
- effect(() => {
15
- if (!this.context())
16
- return;
17
- this.ss.grid.setContext(this.context());
18
- });
19
- effect(() => {
20
- const isCursor = this.ss.selection.isCursorPosition(this.position());
21
- let frame = this.frameEl();
22
- if (isCursor) {
23
- if (!frame) {
24
- frame = this.buildOutlineFrame();
25
- this.el.nativeElement.appendChild(frame);
26
- this.frameEl.set(frame);
27
- }
28
- }
29
- else {
30
- frame?.remove();
31
- this.frameEl.set(null);
32
- }
33
- }, { allowSignalWrites: true });
34
- }
35
- onDbClick() {
36
- if (!this.editable())
37
- return;
38
- this.ss.editor.startEditing(this.position());
39
- }
40
- ngAfterViewInit() {
41
- this.ss.selection.setCell(this.position(), this.el.nativeElement);
42
- if (this.isSelected() && !this.isEditing()) {
43
- this.ss.selection.focus(this.position());
44
- }
45
- }
46
- buildOutlineFrame() {
47
- const frame = document.createElement('div');
48
- frame.classList.add('selection-frame');
49
- frame.style.position = 'absolute';
50
- frame.style.top = '0';
51
- frame.style.left = '0';
52
- frame.style.width = '100%';
53
- frame.style.height = '100%';
54
- frame.style.border = '2px solid #2196f3';
55
- frame.style.borderRadius = '4px';
56
- frame.style.pointerEvents = 'none';
57
- frame.style.boxSizing = 'border-box';
58
- return frame;
59
- }
60
- createLabelElement(options) {
61
- const el = document.createElement('span');
62
- el.textContent = options.label;
63
- el.style.backgroundColor = `${options.color}`;
64
- el.style.color = '#fff';
65
- el.style.padding = '2px 4px';
66
- el.style.position = 'absolute';
67
- el.style.fontSize = '10px';
68
- el.style.top = '0';
69
- el.style.left = '0';
70
- el.style.zIndex = '9999';
71
- el.style.lineHeight = '1.5em';
72
- el.style.whiteSpace = 'nowrap';
73
- this.el.nativeElement.appendChild(el);
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SpreadSheetCell, isStandalone: true, selector: "[ssCell]", inputs: { position: { classPropertyName: "position", publicName: "ssCell", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "ssCellEditable", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "ssCellContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "ss.selection.handleMouseDown(position(), $event)", "mouseup": "ss.selection.handleMouseUp()", "mouseenter": "ss.selection.handleMouseEnter(position())", "click": "ss.selection.handleClick(position(), $event)", "dblclick": "onDbClick()" }, properties: { "class.selected": "ss.selection.isSelected(position())", "class.editing": "ss.editor.isEditing(position())" } }, ngImport: i0 }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCell, decorators: [{
79
- type: Directive,
80
- args: [{
81
- standalone: true,
82
- selector: '[ssCell]',
83
- host: {
84
- '[class.selected]': 'ss.selection.isSelected(position())',
85
- '[class.editing]': 'ss.editor.isEditing(position())',
86
- '(mousedown)': 'ss.selection.handleMouseDown(position(), $event)',
87
- '(mouseup)': 'ss.selection.handleMouseUp()',
88
- '(mouseenter)': 'ss.selection.handleMouseEnter(position())',
89
- '(click)': 'ss.selection.handleClick(position(), $event)',
90
- '(dblclick)': 'onDbClick()',
91
- }
92
- }]
93
- }], ctorParameters: () => [] });
94
- export class SpreadSheetCellInput {
95
- constructor() {
96
- this.ss = inject(SpreadSheetService);
97
- this.position = input({ row: 0, col: 0 }, { alias: 'ssCellInput' });
98
- this.el = inject(ElementRef);
99
- this.isSelected = computed(() => this.ss.selection.isSelected(this.position()));
100
- this.isEditing = computed(() => this.ss.editor.isEditing(this.position()));
101
- }
102
- ngAfterViewInit() {
103
- this.ss.editor.setInput(this.el.nativeElement, this.position());
104
- if (this.isSelected() && this.isEditing()) {
105
- this.ss.editor.focus(this.position());
106
- }
107
- }
108
- stopEditing() {
109
- this.ss.editor.stopEditing();
110
- }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCellInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
112
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SpreadSheetCellInput, isStandalone: true, selector: "[ssCellInput]", inputs: { position: { classPropertyName: "position", publicName: "ssCellInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "stopEditing()" } }, ngImport: i0 }); }
113
- }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCellInput, decorators: [{
115
- type: Directive,
116
- args: [{
117
- standalone: true,
118
- selector: '[ssCellInput]',
119
- host: {
120
- '(blur)': 'stopEditing()',
121
- }
122
- }]
123
- }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvc3ByZWFkc2hlZXQvZGlyZWN0aXZlcy9ncmlkLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZ0I1RCxNQUFNLE9BQU8sZUFBZTtJQVcxQjtRQVZVLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqQyxPQUFFLEdBQUcsTUFBTSxDQUFtQyxVQUFVLENBQUMsQ0FBQztRQUUxRCxhQUFRLEdBQUcsS0FBSyxDQUE2QixFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO1FBQzVELFlBQU8sR0FBRyxLQUFLLENBQWMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7UUFDN0QsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENB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QUM7SUFDL0IsQ0FBQzs4R0FoQlUsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osUUFBUSxFQUFFLGVBQWU7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3ByZWFkU2hlZXRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NwcmVhZHNoZWV0LnNlcnZpY2VcIjtcbmltcG9ydCB7IENlbGxDb250ZXh0IH0gZnJvbSBcIi4uL21vZGVscy9jZWxsLm1vZGVsXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tzc0NlbGxdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ3NzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHBvc2l0aW9uKCkpJyxcbiAgICAnW2NsYXNzLmVkaXRpbmddJzogJ3NzLmVkaXRvci5pc0VkaXRpbmcocG9zaXRpb24oKSknLFxuICAgICcobW91c2Vkb3duKSc6ICdzcy5zZWxlY3Rpb24uaGFuZGxlTW91c2VEb3duKHBvc2l0aW9uKCksICRldmVudCknLFxuICAgICcobW91c2V1cCknOiAnc3Muc2VsZWN0aW9uLmhhbmRsZU1vdXNlVXAoKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdzcy5zZWxlY3Rpb24uaGFuZGxlTW91c2VFbnRlcihwb3NpdGlvbigpKScsXG4gICAgJyhjbGljayknOiAnc3Muc2VsZWN0aW9uLmhhbmRsZUNsaWNrKHBvc2l0aW9uKCksICRldmVudCknLFxuICAgICcoZGJsY2xpY2spJzogJ29uRGJDbGljaygpJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTcHJlYWRTaGVldENlbGwge1xuICBwcm90ZWN0ZWQgc3MgPSBpbmplY3QoU3ByZWFkU2hlZXRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8e3JvdzogbnVtYmVyLCBjb2w6IG51bWJlcn0+KHtyb3c6IDAsIGNvbDogMH0sIHthbGlhczogJ3NzQ2VsbCd9KTtcbiAgcmVhZG9ubHkgZWRpdGFibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSwge2FsaWFzOiAnc3NDZWxsRWRpdGFibGUnfSk7XG4gIHJlYWRvbmx5IGNvbnRleHQgPSBpbnB1dDxDZWxsQ29udGV4dD4obnVsbCwge2FsaWFzOiAnc3NDZWxsQ29udGV4dCd9KTtcbiAgcmVhZG9ubHkgaXNTZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3Muc2VsZWN0aW9uLmlzU2VsZWN0ZWQodGhpcy5wb3NpdGlvbigpKSk7XG4gIHJlYWRvbmx5IGlzRWRpdGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3MuZWRpdG9yLmlzRWRpdGluZyh0aGlzLnBvc2l0aW9uKCkpKTtcbiAgcmVhZG9ubHkgZnJhbWVFbCA9IHNpZ25hbDxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuY29udGV4dCgpKSByZXR1cm47XG4gICAgICB0aGlzLnNzLmdyaWQuc2V0Q29udGV4dCh0aGlzLmNvbnRleHQoKSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaXNDdXJzb3IgPSB0aGlzLnNzLnNlbGVjdGlvbi5pc0N1cnNvclBvc2l0aW9uKHRoaXMucG9zaXRpb24oKSk7XG4gICAgICBsZXQgZnJhbWUgPSB0aGlzLmZyYW1lRWwoKTtcblxuICAgICAgaWYgKGlzQ3Vyc29yKSB7XG4gICAgICAgIGlmICghZnJhbWUpIHtcbiAgICAgICAgICBmcmFtZSA9IHRoaXMuYnVpbGRPdXRsaW5lRnJhbWUoKTtcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZnJhbWUpO1xuICAgICAgICAgIHRoaXMuZnJhbWVFbC5zZXQoZnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZT8ucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuZnJhbWVFbC5zZXQobnVsbCk7XG4gICAgICB9XG4gICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gIH1cblxuICBvbkRiQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVkaXRhYmxlKCkpIHJldHVybjtcbiAgICB0aGlzLnNzLmVkaXRvci5zdGFydEVkaXRpbmcodGhpcy5wb3NpdGlvbigpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNzLnNlbGVjdGlvbi5zZXRDZWxsKHRoaXMucG9zaXRpb24oKSwgdGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKCkgJiYgIXRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgIHRoaXMuc3Muc2VsZWN0aW9uLmZvY3VzKHRoaXMucG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkT3V0bGluZUZyYW1lKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGZyYW1lLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1mcmFtZScpO1xuICAgIGZyYW1lLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBmcmFtZS5zdHlsZS50b3AgPSAnMCc7XG4gICAgZnJhbWUuc3R5bGUubGVmdCA9ICcwJztcbiAgICBmcmFtZS5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICBmcmFtZS5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XG4gICAgZnJhbWUuc3R5bGUuYm9yZGVyID0gJzJweCBzb2xpZCAjMjE5NmYzJztcbiAgICBmcmFtZS5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNHB4JztcbiAgICBmcmFtZS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgIGZyYW1lLnN0eWxlLmJveFNpemluZyA9ICdib3JkZXItYm94JztcbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTGFiZWxFbGVtZW50KG9wdGlvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgY29sb3I6IHN0cmluZ1xuICB9KSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgZWwudGV4dENvbnRlbnQgPSBvcHRpb25zLmxhYmVsO1xuICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGAke29wdGlvbnMuY29sb3J9YDtcbiAgICBlbC5zdHlsZS5jb2xvciA9ICcjZmZmJztcbiAgICBlbC5zdHlsZS5wYWRkaW5nID0gJzJweCA0cHgnO1xuICAgIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBlbC5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JztcbiAgICBlbC5zdHlsZS50b3AgPSAnMCc7XG4gICAgZWwuc3R5bGUubGVmdCA9ICcwJztcbiAgICBlbC5zdHlsZS56SW5kZXggPSAnOTk5OSc7XG4gICAgZWwuc3R5bGUubGluZUhlaWdodCA9ICcxLjVlbSc7XG4gICAgZWwuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlbCk7XG4gIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbc3NDZWxsSW5wdXRdJyxcbiAgaG9zdDoge1xuICAgICcoYmx1ciknOiAnc3RvcEVkaXRpbmcoKScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU3ByZWFkU2hlZXRDZWxsSW5wdXQge1xuICBwcm90ZWN0ZWQgc3MgPSBpbmplY3QoU3ByZWFkU2hlZXRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDx7cm93OiBudW1iZXIsIGNvbDogbnVtYmVyfT4oe3JvdzogMCwgY29sOiAwfSwge2FsaWFzOiAnc3NDZWxsSW5wdXQnfSk7XG4gIHJlYWRvbmx5IGVsID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSBpc1NlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zcy5zZWxlY3Rpb24uaXNTZWxlY3RlZCh0aGlzLnBvc2l0aW9uKCkpKTtcbiAgcmVhZG9ubHkgaXNFZGl0aW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zcy5lZGl0b3IuaXNFZGl0aW5nKHRoaXMucG9zaXRpb24oKSkpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNzLmVkaXRvci5zZXRJbnB1dCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMucG9zaXRpb24oKSk7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCgpICYmIHRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgIHRoaXMuc3MuZWRpdG9yLmZvY3VzKHRoaXMucG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN0b3BFZGl0aW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3MuZWRpdG9yLnN0b3BFZGl0aW5nKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './grid-cell.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ3JpZC1jZWxsLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,71 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { GridService } from './grid.service';
3
- import { SelectionService } from './selection.service';
4
- import { Clipboard } from '@angular/cdk/clipboard';
5
- import papaparse from 'papaparse';
6
- import { SnackBarService } from '@ng-atomic/common/services/snack-bar';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./grid.service";
9
- import * as i2 from "./selection.service";
10
- export class ClipboardService {
11
- constructor(gridService, selectionService) {
12
- this.gridService = gridService;
13
- this.selectionService = selectionService;
14
- this.clipboard = inject(Clipboard);
15
- this.snackBar = inject(SnackBarService);
16
- }
17
- async copy() {
18
- const selection = this.selectionService.getSelection();
19
- if (!selection)
20
- return;
21
- const { start, end } = selection;
22
- if (!end) {
23
- this.copyText(this.gridService.data()[start.row][start.col].dataValue);
24
- return;
25
- }
26
- const minRow = Math.min(start.row, end.row);
27
- const maxRow = Math.max(start.row, end.row);
28
- const minCol = Math.min(start.col, end.col);
29
- const maxCol = Math.max(start.col, end.col);
30
- const data = this.gridService.data();
31
- const clipboardData = [];
32
- for (let i = minRow; i <= maxRow; i++) {
33
- const row = [];
34
- for (let j = minCol; j <= maxCol; j++) {
35
- row.push(data[i][j].dataValue);
36
- }
37
- clipboardData.push(row);
38
- }
39
- const tsv = papaparse.unparse(clipboardData, { delimiter: '\t', newline: '\n', header: false });
40
- this.clipboard.copy(tsv);
41
- }
42
- copyText(text) {
43
- this.clipboard.copy(text);
44
- this.snackBar.open('クリップボードにコピーしました。');
45
- }
46
- async paste(targetRow, targetCol) {
47
- try {
48
- const clipboardText = await navigator.clipboard.readText();
49
- const rows = clipboardText.split('\n');
50
- const data = this.gridService.data();
51
- const rowCount = Math.min(rows.length, data.length - targetRow);
52
- for (let i = 0; i < rowCount; i++) {
53
- const cells = rows[i].split('\t');
54
- const colCount = Math.min(cells.length, this.gridService.columns().length - targetCol);
55
- for (let j = 0; j < colCount; j++) {
56
- this.gridService.updateCell(targetRow + i, targetCol + j, cells[j]);
57
- }
58
- }
59
- console.log('Data pasted from clipboard as TSV');
60
- }
61
- catch (err) {
62
- console.error('Failed to read data from clipboard', err);
63
- }
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService, deps: [{ token: i1.GridService }, { token: i2.SelectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService, decorators: [{
69
- type: Injectable
70
- }], ctorParameters: () => [{ type: i1.GridService }, { type: i2.SelectionService }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2NsaXBib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUd2RSxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQ1UsV0FBd0IsRUFDeEIsZ0JBQWtDO1FBRGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFMcEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBS3ZDLENBQUM7SUFFTCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFdkIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFFakMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxD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QUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzs4R0FwRVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgcGFwYXBhcnNlIGZyb20gJ3BhcGFwYXJzZSc7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zbmFjay1iYXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkU2VydmljZSB7XG4gIHByaXZhdGUgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoU25hY2tCYXJTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvblNlcnZpY2U6IFNlbGVjdGlvblNlcnZpY2UsXG4gICkgeyB9XG5cbiAgYXN5bmMgY29weSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvblNlcnZpY2UuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKCFzZWxlY3Rpb24pIHJldHVybjtcblxuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gc2VsZWN0aW9uO1xuXG4gICAgaWYgKCFlbmQpIHtcbiAgICAgIHRoaXMuY29weVRleHQodGhpcy5ncmlkU2VydmljZS5kYXRhKClbc3RhcnQucm93XVtzdGFydC5jb2xdLmRhdGFWYWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWluUm93ID0gTWF0aC5taW4oc3RhcnQucm93LCBlbmQucm93KTtcbiAgICBjb25zdCBtYXhSb3cgPSBNYXRoLm1heChzdGFydC5yb3csIGVuZC5yb3cpO1xuICAgIGNvbnN0IG1pbkNvbCA9IE1hdGgubWluKHN0YXJ0LmNvbCwgZW5kLmNvbCk7XG4gICAgY29uc3QgbWF4Q29sID0gTWF0aC5tYXgoc3RhcnQuY29sLCBlbmQuY29sKTtcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKTtcbiAgICBjb25zdCBjbGlwYm9hcmREYXRhOiBzdHJpbmdbXVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gbWluUm93OyBpIDw9IG1heFJvdzsgaSsrKSB7XG4gICAgICBjb25zdCByb3c6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGxldCBqID0gbWluQ29sOyBqIDw9IG1heENvbDsgaisrKSB7XG4gICAgICAgIHJvdy5wdXNoKGRhdGFbaV1bal0uZGF0YVZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNsaXBib2FyZERhdGEucHVzaChyb3cpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzdiA9IHBhcGFwYXJzZS51bnBhcnNlKGNsaXBib2FyZERhdGEsIFxuICAgICAgeyBkZWxpbWl0ZXI6ICdcXHQnLCBuZXdsaW5lOiAnXFxuJywgaGVhZGVyOiBmYWxzZSB9XG4gICAgKTtcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRzdik7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29weVRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0ZXh0KTtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ+OCr+ODquODg+ODl+ODnOODvOODieOBq+OCs+ODlOODvOOBl+OBvuOBl+OBn+OAgicpO1xuICB9XG5cbiAgYXN5bmMgcGFzdGUodGFyZ2V0Um93OiBudW1iZXIsIHRhcmdldENvbDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaXBib2FyZFRleHQgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCk7XG4gICAgICBjb25zdCByb3dzID0gY2xpcGJvYXJkVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5ncmlkU2VydmljZS5kYXRhKCk7XG5cbiAgICAgIGNvbnN0IHJvd0NvdW50ID0gTWF0aC5taW4ocm93cy5sZW5ndGgsIGRhdGEubGVuZ3RoIC0gdGFyZ2V0Um93KTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93c1tpXS5zcGxpdCgnXFx0Jyk7XG4gICAgICAgIGNvbnN0IGNvbENvdW50ID0gTWF0aC5taW4oY2VsbHMubGVuZ3RoLCB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbnMoKS5sZW5ndGggLSB0YXJnZXRDb2wpO1xuXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgY29sQ291bnQ7IGorKykge1xuICAgICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlQ2VsbCh0YXJnZXRSb3cgKyBpLCB0YXJnZXRDb2wgKyBqLCBjZWxsc1tqXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc29sZS5sb2coJ0RhdGEgcGFzdGVkIGZyb20gY2xpcGJvYXJkIGFzIFRTVicpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJlYWQgZGF0YSBmcm9tIGNsaXBib2FyZCcsIGVycik7XG4gICAgfVxuICB9XG59Il19
@@ -1,63 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { LanguageService } from "@ng-atomic/common/services/language";
3
- import { injectDataAccessor } from "@ng-atomic/common/pipes/data-accessor";
4
- import { EXPRESSION_TRANSFORMER } from "@ng-atomic/common/utils";
5
- import * as i0 from "@angular/core";
6
- export class SpreadSheetDataService {
7
- constructor() {
8
- this.cache = new Map();
9
- this.language = inject(LanguageService);
10
- this.dataAccessor = injectDataAccessor();
11
- this.expression = inject(EXPRESSION_TRANSFORMER);
12
- }
13
- buildGridData(items, displayedColumns) {
14
- return [
15
- this.buildGridHeaderRow(displayedColumns),
16
- ...items.map((item) => this.buildGridRow(item, displayedColumns))
17
- ];
18
- }
19
- buildGridHeaderRow(columns) {
20
- const key = this.buildKey({ columns });
21
- const cached = this.cache.get(key);
22
- if (cached)
23
- return cached;
24
- const row = columns.map((column) => ({
25
- dataValue: this.language.transform(column),
26
- expressionValue: this.language.transform(column),
27
- isHeader: true
28
- }));
29
- this.cache.set(key, row);
30
- return row;
31
- }
32
- buildGridRow(item, displayedColumns) {
33
- const key = this.buildKey({ item, displayedColumns });
34
- const cached = this.cache.get(key);
35
- if (cached)
36
- return cached;
37
- const row = displayedColumns.map((column) => this.buildGridCell(item, column));
38
- this.cache.set(key, row);
39
- return row;
40
- }
41
- buildGridCell(item, column) {
42
- const key = this.buildKey({ item, column });
43
- const cached = this.cache.get(key);
44
- if (cached)
45
- return cached;
46
- const cell = {
47
- dataValue: this.dataAccessor(item, column),
48
- expressionValue: this.expression(this.dataAccessor(item, column), { item, name: column }),
49
- };
50
- this.cache.set(key, cell);
51
- return cell;
52
- }
53
- buildKey(obj) {
54
- // return CryptoJS.MD5(JSON.stringify(obj)).toString(CryptoJS.enc.Base64).slice(0, 10);
55
- return JSON.stringify(obj);
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService, decorators: [{
61
- type: Injectable
62
- }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUlqRSxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRVcsVUFBSyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsaUJBQVksR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQWdEdEQ7SUE5Q0MsYUFBYSxDQUFDLEtBQVksRUFBRSxnQkFBMEI7UUFDcEQsT0FBTztZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFpQjtRQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQWdCLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQzFDLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDaEQsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxZQUFZLENBQUMsSUFBWSxFQUFFLGdCQUEwQjtRQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQWdCLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDbEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTTtZQUFFLE9BQU8sTUFBYyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztZQUMxQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDeEYsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUyxRQUFRLENBQUMsR0FBVztRQUM1Qix1RkFBdUY7UUFDdkYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBbERVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENlbGwgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvbGFuZ3VhZ2VcIjtcbmltcG9ydCB7IGluamVjdERhdGFBY2Nlc3NvciB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kYXRhLWFjY2Vzc29yXCI7XG5pbXBvcnQgeyBFWFBSRVNTSU9OX1RSQU5TRk9STUVSIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3V0aWxzXCI7XG5pbXBvcnQgQ3J5cHRvSlMgZnJvbSBcImNyeXB0by1qc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3ByZWFkU2hlZXREYXRhU2VydmljZSB7XG4gIHJlYWRvbmx5IGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIENlbGwgfCBDZWxsW10+KCk7XG4gIHJlYWRvbmx5IGxhbmd1YWdlID0gaW5qZWN0KExhbmd1YWdlU2VydmljZSk7XG4gIHJlYWRvbmx5IGRhdGFBY2Nlc3NvciA9IGluamVjdERhdGFBY2Nlc3NvcigpO1xuICByZWFkb25seSBleHByZXNzaW9uID0gaW5qZWN0KEVYUFJFU1NJT05fVFJBTlNGT1JNRVIpO1xuXG4gIGJ1aWxkR3JpZERhdGEoaXRlbXM6IGFueVtdLCBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSk6IENlbGxbXVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5idWlsZEdyaWRIZWFkZXJSb3coZGlzcGxheWVkQ29sdW1ucyksXG4gICAgICAuLi5pdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuYnVpbGRHcmlkUm93KGl0ZW0sIGRpc3BsYXllZENvbHVtbnMpKVxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRHcmlkSGVhZGVyUm93KGNvbHVtbnM6IHN0cmluZ1tdKTogQ2VsbFtdIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkS2V5KHtjb2x1bW5zfSk7XG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5jYWNoZS5nZXQoa2V5KTtcbiAgICBpZiAoY2FjaGVkKSByZXR1cm4gY2FjaGVkIGFzIENlbGxbXTtcbiAgICBjb25zdCByb3cgPSBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiAoe1xuICAgICAgZGF0YVZhbHVlOiB0aGlzLmxhbmd1YWdlLnRyYW5zZm9ybShjb2x1bW4pLFxuICAgICAgZXhwcmVzc2lvblZhbHVlOiB0aGlzLmxhbmd1YWdlLnRyYW5zZm9ybShjb2x1bW4pLFxuICAgICAgaXNIZWFkZXI6IHRydWVcbiAgICB9KSk7XG4gICAgdGhpcy5jYWNoZS5zZXQoa2V5LCByb3cpO1xuICAgIHJldHVybiByb3c7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRHcmlkUm93KGl0ZW06IG9iamVjdCwgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10pOiBDZWxsW10ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRLZXkoe2l0ZW0sIGRpc3BsYXllZENvbHVtbnN9KTtcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQgYXMgQ2VsbFtdO1xuICAgIGNvbnN0IHJvdyA9IGRpc3BsYXllZENvbHVtbnMubWFwKChjb2x1bW4pID0+IHRoaXMuYnVpbGRHcmlkQ2VsbChpdGVtLCBjb2x1bW4pKTtcbiAgICB0aGlzLmNhY2hlLnNldChrZXksIHJvdyk7XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEdyaWRDZWxsKGl0ZW06IG9iamVjdCwgY29sdW1uOiBzdHJpbmcpOiBDZWxsIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkS2V5KHtpdGVtLCBjb2x1bW59KTtcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQgYXMgQ2VsbDtcbiAgICBjb25zdCBjZWxsID0ge1xuICAgICAgZGF0YVZhbHVlOiB0aGlzLmRhdGFBY2Nlc3NvcihpdGVtLCBjb2x1bW4pLFxuICAgICAgZXhwcmVzc2lvblZhbHVlOiB0aGlzLmV4cHJlc3Npb24odGhpcy5kYXRhQWNjZXNzb3IoaXRlbSwgY29sdW1uKSwge2l0ZW0sIG5hbWU6IGNvbHVtbn0pLFxuICAgIH07XG4gICAgdGhpcy5jYWNoZS5zZXQoa2V5LCBjZWxsKTtcbiAgICByZXR1cm4gY2VsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEtleShvYmo6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgLy8gcmV0dXJuIENyeXB0b0pTLk1ENShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KS5zbGljZSgwLCAxMCk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XG4gIH1cblxufSJdfQ==
@@ -1,65 +0,0 @@
1
- import { inject, Injectable, signal } from '@angular/core';
2
- import { GridService } from './grid.service';
3
- import { SelectionService } from './selection.service';
4
- import { ProtectionService } from './protection.service';
5
- import * as i0 from "@angular/core";
6
- export class EditorService {
7
- constructor() {
8
- this.grid = inject(GridService);
9
- this.selection = inject(SelectionService);
10
- this.protection = inject(ProtectionService);
11
- this.editinngCell = signal(null);
12
- this.inputMap = new Map();
13
- }
14
- isEditing(position) {
15
- return this.editinngCell()?.row === position.row && this.editinngCell()?.col === position.col;
16
- }
17
- startEditing(position) {
18
- const context = this.grid.getContext(position);
19
- console.debug('context:', context);
20
- if (!this.protection.isEditable(null, context)) {
21
- return;
22
- }
23
- this.selection.clearSelection();
24
- this.editinngCell.set(position);
25
- this.focus(position);
26
- }
27
- stopEditing() {
28
- this.editinngCell.set(null);
29
- }
30
- focus(position) {
31
- setTimeout(() => {
32
- const input = this.getInput(position);
33
- if (input && input !== document.activeElement) {
34
- input.focus();
35
- input.select();
36
- }
37
- });
38
- }
39
- getEditingCell() {
40
- const data = this.grid.data();
41
- for (let i = 0; i < data.length; i++) {
42
- for (let j = 0; j < data[i].length; j++) {
43
- if (this.isEditing({ row: i, col: j })) {
44
- return { row: i, col: j };
45
- }
46
- }
47
- }
48
- return null;
49
- }
50
- setInput(input, position) {
51
- this.inputMap.set(`${this.buildKey(position)}`, input);
52
- }
53
- getInput(position) {
54
- return this.inputMap.get(this.buildKey(position)) ?? null;
55
- }
56
- buildKey(position) {
57
- return `(${position.row}, ${position.col})`;
58
- }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorService }); }
61
- }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorService, decorators: [{
63
- type: Injectable
64
- }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2VkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSXpELE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsTUFBTSxDQUFzQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7S0FzRG5FO0lBcERDLFNBQVMsQ0FBQyxRQUFrQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsR0FBRyxLQUFLLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDaEcsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFrQjtRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQWtCO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLElBQUksS0FBSyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDO29CQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUF1QixFQUFFLFFBQWtCO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRLENBQUMsUUFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFUyxRQUFRLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7OEdBMURVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4vZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3RlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9wcm90ZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY2VsbC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFZGl0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBncmlkID0gaW5qZWN0KEdyaWRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb24gPSBpbmplY3QoU2VsZWN0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcHJvdGVjdGlvbiA9IGluamVjdChQcm90ZWN0aW9uU2VydmljZSk7XG4gIHJlYWRvbmx5IGVkaXRpbm5nQ2VsbCA9IHNpZ25hbDx7IHJvdzogbnVtYmVyLCBjb2w6IG51bWJlciB9IHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gIGlzRWRpdGluZyhwb3NpdGlvbjogUG9zaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0aW5uZ0NlbGwoKT8ucm93ID09PSBwb3NpdGlvbi5yb3cgJiYgdGhpcy5lZGl0aW5uZ0NlbGwoKT8uY29sID09PSBwb3NpdGlvbi5jb2w7XG4gIH1cblxuICBzdGFydEVkaXRpbmcocG9zaXRpb246IFBvc2l0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ3JpZC5nZXRDb250ZXh0KHBvc2l0aW9uKTtcbiAgICBjb25zb2xlLmRlYnVnKCdjb250ZXh0OicsIGNvbnRleHQpO1xuICAgIGlmICghdGhpcy5wcm90ZWN0aW9uLmlzRWRpdGFibGUobnVsbCwgY29udGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24uY2xlYXJTZWxlY3Rpb24oKTtcbiAgICB0aGlzLmVkaXRpbm5nQ2VsbC5zZXQocG9zaXRpb24pO1xuICAgIHRoaXMuZm9jdXMocG9zaXRpb24pO1xuICB9XG5cbiAgc3RvcEVkaXRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0aW5uZ0NlbGwuc2V0KG51bGwpO1xuICB9XG5cbiAgZm9jdXMocG9zaXRpb246IFBvc2l0aW9uKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZ2V0SW5wdXQocG9zaXRpb24pO1xuICAgICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICAgIGlucHV0LnNlbGVjdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RWRpdGluZ0NlbGwoKTogUG9zaXRpb24gfCBudWxsIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5ncmlkLmRhdGEoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGF0YVtpXS5sZW5ndGg7IGorKykge1xuICAgICAgICBpZiAodGhpcy5pc0VkaXRpbmcoe3JvdzogaSwgY29sOiBqfSkpIHtcbiAgICAgICAgICByZXR1cm4geyByb3c6IGksIGNvbDogaiB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc2V0SW5wdXQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHBvc2l0aW9uOiBQb3NpdGlvbik6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRNYXAuc2V0KGAke3RoaXMuYnVpbGRLZXkocG9zaXRpb24pfWAsIGlucHV0KTtcbiAgfVxuXG4gIGdldElucHV0KHBvc2l0aW9uOiBQb3NpdGlvbik6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dE1hcC5nZXQodGhpcy5idWlsZEtleShwb3NpdGlvbikpID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRLZXkocG9zaXRpb246IFBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCgke3Bvc2l0aW9uLnJvd30sICR7cG9zaXRpb24uY29sfSlgO1xuICB9XG59Il19
@@ -1,54 +0,0 @@
1
- import { computed, Injectable, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class GridService {
4
- constructor() {
5
- this.data = signal([[]]);
6
- this.columns = computed(() => Array.from({ length: this.data()[0].length }, (_, i) => String.fromCharCode(65 + i)));
7
- this.contextMap = new Map();
8
- }
9
- updateCell(row, col, value) {
10
- this.data.update(data => {
11
- data[row][col] = {
12
- dataValue: value,
13
- expressionValue: value,
14
- };
15
- return [...data];
16
- });
17
- }
18
- getValue(position) {
19
- return this.getCell(position)?.dataValue ?? null;
20
- }
21
- getExpressionValue(position) {
22
- return this.getCell(position)?.expressionValue ?? null;
23
- }
24
- getCell(position) {
25
- return this.data()[position.row]?.[position.col] ?? null;
26
- }
27
- updateAllCells(predicate, updates) {
28
- this.data.update(data => {
29
- for (let i = 0; i < data.length; i++) {
30
- for (let j = 0; j < data[0].length; j++) {
31
- if (predicate(data[i][j])) {
32
- data[i][j] = { ...data[i][j], ...updates };
33
- }
34
- }
35
- }
36
- return [...data];
37
- });
38
- }
39
- setContext(context) {
40
- this.contextMap.set(this.buildKey(context.position), context);
41
- }
42
- getContext(position) {
43
- return this.contextMap.get(this.buildKey(position)) ?? null;
44
- }
45
- buildKey(position) {
46
- return `(${position.row}, ${position.col})`;
47
- }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GridService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GridService }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GridService, decorators: [{
52
- type: Injectable
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUk3RCxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVXLFNBQUksR0FBRyxNQUFNLENBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsZUFBVSxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO0tBZ0RoRTtJQTlDQyxVQUFVLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxLQUFVO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRztnQkFDZixTQUFTLEVBQUUsS0FBSztnQkFDaEIsZUFBZSxFQUFFLEtBQUs7YUFDdkIsQ0FBQTtZQUNELE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsSUFBSSxJQUFJLENBQUM7SUFDekQsQ0FBQztJQUVTLE9BQU8sQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjLENBQUMsU0FBa0MsRUFBRSxPQUFzQjtRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN4QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUMxQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO29CQUM3QyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW9CO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzlELENBQUM7SUFFUyxRQUFRLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7OEdBbERVLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENlbGwsIENlbGxDb250ZXh0LCBQb3NpdGlvbiB9IGZyb20gJy4uL21vZGVscy9jZWxsLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdyaWRTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZGF0YSA9IHNpZ25hbDxDZWxsW11bXT4oW1tdXSk7XG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmRhdGEoKVswXS5sZW5ndGggfSwgKF8sIGkpID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoNjUgKyBpKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBDZWxsQ29udGV4dD4oKTtcblxuICB1cGRhdGVDZWxsKHJvdzogbnVtYmVyLCBjb2w6IG51bWJlciwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGF0YS51cGRhdGUoZGF0YSA9PiB7XG4gICAgICBkYXRhW3Jvd11bY29sXSA9IHtcbiAgICAgICAgZGF0YVZhbHVlOiB2YWx1ZSxcbiAgICAgICAgZXhwcmVzc2lvblZhbHVlOiB2YWx1ZSxcbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4uZGF0YV07XG4gICAgfSk7XG4gIH1cblxuICBnZXRWYWx1ZShwb3NpdGlvbjogUG9zaXRpb24pOiBhbnkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDZWxsKHBvc2l0aW9uKT8uZGF0YVZhbHVlID8/IG51bGw7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uVmFsdWUocG9zaXRpb246IFBvc2l0aW9uKTogYW55IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbChwb3NpdGlvbik/LmV4cHJlc3Npb25WYWx1ZSA/PyBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENlbGwocG9zaXRpb246IFBvc2l0aW9uKTogQ2VsbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRhdGEoKVtwb3NpdGlvbi5yb3ddPy5bcG9zaXRpb24uY29sXSA/PyBudWxsO1xuICB9XG5cbiAgdXBkYXRlQWxsQ2VsbHMocHJlZGljYXRlOiAoY2VsbDogQ2VsbCkgPT4gYm9vbGVhbiwgdXBkYXRlczogUGFydGlhbDxDZWxsPik6IHZvaWQge1xuICAgIHRoaXMuZGF0YS51cGRhdGUoZGF0YSA9PiB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkYXRhWzBdLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZShkYXRhW2ldW2pdKSkge1xuICAgICAgICAgICAgZGF0YVtpXVtqXSA9IHsgLi4uZGF0YVtpXVtqXSwgLi4udXBkYXRlcyB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIFsuLi5kYXRhXTtcbiAgICB9KTsgXG4gIH1cblxuICBzZXRDb250ZXh0KGNvbnRleHQ6IENlbGxDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0TWFwLnNldCh0aGlzLmJ1aWxkS2V5KGNvbnRleHQucG9zaXRpb24pLCBjb250ZXh0KTtcbiAgfVxuXG4gIGdldENvbnRleHQocG9zaXRpb246IFBvc2l0aW9uKTogQ2VsbENvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0TWFwLmdldCh0aGlzLmJ1aWxkS2V5KHBvc2l0aW9uKSkgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEtleShwb3NpdGlvbjogUG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgKCR7cG9zaXRpb24ucm93fSwgJHtwb3NpdGlvbi5jb2x9KWA7XG4gIH1cbn0iXX0=
@@ -1,8 +0,0 @@
1
- export * from './clipboard.service';
2
- export * from './data.service';
3
- export * from './editor.service';
4
- export * from './grid.service';
5
- export * from './navigation.service';
6
- export * from './protection.service';
7
- export * from './selection.service';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm90ZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24uc2VydmljZSc7XG4iXX0=
@@ -1,71 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { GridService } from './grid.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./grid.service";
5
- export class NavigationService {
6
- constructor(gridService) {
7
- this.gridService = gridService;
8
- }
9
- moveToNextCell({ row, col }) {
10
- const columns = this.gridService.columns();
11
- if (col < columns.length - 1) {
12
- return { row, col: col + 1 };
13
- }
14
- else if (row < this.gridService.data().length - 1) {
15
- return { row: row + 1, col: 0 };
16
- }
17
- return { row, col };
18
- }
19
- moveToPreviousCell({ row, col }) {
20
- const columns = this.gridService.columns();
21
- if (col > 0) {
22
- return { row, col: col - 1 };
23
- }
24
- else if (row > 0) {
25
- return { row: row - 1, col: columns.length - 1 };
26
- }
27
- return { row, col };
28
- }
29
- moveToNextRow({ row, col }) {
30
- if (row < this.gridService.data().length - 1) {
31
- return { row: row + 1, col };
32
- }
33
- return { row, col };
34
- }
35
- moveToPreviousRow({ row, col }) {
36
- if (row > 0) {
37
- return { row: row - 1, col };
38
- }
39
- return { row, col };
40
- }
41
- moveRight({ row, col }) {
42
- if (col < this.gridService.columns().length - 1) {
43
- return { row, col: col + 1 };
44
- }
45
- return { row, col };
46
- }
47
- moveLeft({ row, col }) {
48
- if (col > 0) {
49
- return { row, col: col - 1 };
50
- }
51
- return { row, col };
52
- }
53
- moveUp({ row, col }) {
54
- if (row > 0) {
55
- return { row: row - 1, col };
56
- }
57
- return { row, col };
58
- }
59
- moveDown({ row, col }) {
60
- if (row < this.gridService.data().length - 1) {
61
- return { row: row + 1, col };
62
- }
63
- return { row, col };
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NavigationService, deps: [{ token: i1.GridService }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NavigationService }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NavigationService, decorators: [{
69
- type: Injectable
70
- }], ctorParameters: () => [{ type: i1.GridService }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUVoRCxjQUFjLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsQ0FBQzthQUFNLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBVztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNDLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLENBQUM7YUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQVc7UUFDaEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQVc7UUFDcEMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDWixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQVc7UUFDNUIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQzNCLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQ3pCLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQzNCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQS9EVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NlbGwubW9kZWwnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlKSB7fVxuXG4gIG1vdmVUb05leHRDZWxsKHtyb3csIGNvbH06IFBvc2l0aW9uKTogUG9zaXRpb24ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbnMoKTtcbiAgICBpZiAoY29sIDwgY29sdW1ucy5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4geyByb3csIGNvbDogY29sICsgMSB9O1xuICAgIH0gZWxzZSBpZiAocm93IDwgdGhpcy5ncmlkU2VydmljZS5kYXRhKCkubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuIHsgcm93OiByb3cgKyAxLCBjb2w6IDAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcm93LCBjb2wgfTtcbiAgfVxuXG4gIG1vdmVUb1ByZXZpb3VzQ2VsbCh7cm93LCBjb2x9OiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5ncmlkU2VydmljZS5jb2x1bW5zKCk7XG4gICAgaWYgKGNvbCA+IDApIHtcbiAgICAgIHJldHVybiB7IHJvdywgY29sOiBjb2wgLSAxIH07XG4gICAgfSBlbHNlIGlmIChyb3cgPiAwKSB7XG4gICAgICByZXR1cm4geyByb3c6IHJvdyAtIDEsIGNvbDogY29sdW1ucy5sZW5ndGggLSAxIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJvdywgY29sIH07XG4gIH1cblxuICBtb3ZlVG9OZXh0Um93KHtyb3csIGNvbH06IFBvc2l0aW9uKTogUG9zaXRpb24ge1xuICAgIGlmIChyb3cgPCB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKS5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4geyByb3c6IHJvdyArIDEsIGNvbCB9O1xuICAgIH1cbiAgICByZXR1cm4geyByb3csIGNvbCB9O1xuICB9XG5cbiAgbW92ZVRvUHJldmlvdXNSb3coe3JvdywgY29sfTogUG9zaXRpb24pOiBQb3NpdGlvbiB7XG4gICAgaWYgKHJvdyA+IDApIHtcbiAgICAgIHJldHVybiB7IHJvdzogcm93IC0gMSwgY29sIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJvdywgY29sIH07XG4gIH1cblxuICBtb3ZlUmlnaHQoe3JvdywgY29sfTogUG9zaXRpb24pOiBQb3NpdGlvbiB7XG4gICAgaWYgKGNvbCA8IHRoaXMuZ3JpZFNlcnZpY2UuY29sdW1ucygpLmxlbmd0aCAtIDEpIHtcbiAgICAgIHJldHVybiB7IHJvdywgY29sOiBjb2wgKyAxIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJvdywgY29sIH07XG4gIH1cblxuICBtb3ZlTGVmdCh7cm93LCBjb2x9OiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgICBpZiAoY29sID4gMCkge1xuICAgICAgcmV0dXJuIHsgcm93LCBjb2w6IGNvbCAtIDEgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcm93LCBjb2wgfTtcbiAgfVxuXG4gIG1vdmVVcCh7cm93LCBjb2x9OiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgICBpZiAocm93ID4gMCkge1xuICAgICAgcmV0dXJuIHsgcm93OiByb3cgLSAxLCBjb2wgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcm93LCBjb2wgfTtcbiAgfVxuXG4gIG1vdmVEb3duKHtyb3csIGNvbH06IFBvc2l0aW9uKTogUG9zaXRpb24ge1xuICAgIGlmIChyb3cgPCB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKS5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4geyByb3c6IHJvdyArIDEsIGNvbCB9O1xuICAgIH1cbiAgICByZXR1cm4geyByb3csIGNvbCB9O1xuICB9XG59Il19
@@ -1,25 +0,0 @@
1
- import { inject, Injectable, InjectionToken } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export const COLUMN_PROTECTOR = new InjectionToken('COLUMN_PROTECTOR', {
4
- providedIn: 'root',
5
- factory: () => [],
6
- });
7
- export function provideCellProtector(useFactory) {
8
- return { provide: COLUMN_PROTECTOR, useFactory, multi: true };
9
- }
10
- export class ProtectionService {
11
- constructor() {
12
- this.protectors = inject(COLUMN_PROTECTOR, { optional: true });
13
- }
14
- isEditable(value, context) {
15
- if (!this.protectors)
16
- return true;
17
- return this.protectors.every((protector) => protector(value, context));
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProtectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProtectionService }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProtectionService, decorators: [{
23
- type: Injectable
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9wcm90ZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVluRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLEVBQUU7SUFDdEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDbEIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFVBQStCO0lBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNoRSxDQUFDO0FBR0QsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVXLGVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztLQU1sRTtJQUpDLFVBQVUsQ0FBQyxLQUFVLEVBQUUsT0FBeUI7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBTlUsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW50ZXJmYWNlIENlbGxDb250ZXh0PFQ+IHtcbiAgaXRlbTogVDtcbiAgbmFtZTogc3RyaW5nO1xuICBwb3NpdGlvbjoge1xuICAgIHJvdzogbnVtYmVyO1xuICAgIGNvbDogbnVtYmVyO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENlbGxQcm90ZWN0b3IgPSAodmFsdWU6IGFueSwgY29udGV4dDogQ2VsbENvbnRleHQ8YW55PikgPT4gYm9vbGVhbjtcbmV4cG9ydCBjb25zdCBDT0xVTU5fUFJPVEVDVE9SID0gbmV3IEluamVjdGlvblRva2VuPENlbGxQcm90ZWN0b3JbXT4oJ0NPTFVNTl9QUk9URUNUT1InLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gW10sXG59KTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ2VsbFByb3RlY3Rvcih1c2VGYWN0b3J5OiAoKSA9PiBDZWxsUHJvdGVjdG9yKSB7XG4gIHJldHVybiB7IHByb3ZpZGU6IENPTFVNTl9QUk9URUNUT1IsIHVzZUZhY3RvcnksIG11bHRpOiB0cnVlIH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcm90ZWN0aW9uU2VydmljZSB7XG4gIHJlYWRvbmx5IHByb3RlY3RvcnMgPSBpbmplY3QoQ09MVU1OX1BST1RFQ1RPUiwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgaXNFZGl0YWJsZSh2YWx1ZTogYW55LCBjb250ZXh0OiBDZWxsQ29udGV4dDxhbnk+KTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnByb3RlY3RvcnMpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiB0aGlzLnByb3RlY3RvcnMuZXZlcnkoKHByb3RlY3RvcikgPT4gcHJvdGVjdG9yKHZhbHVlLCBjb250ZXh0KSk7XG4gIH1cbn1cbiJdfQ==