slick-table 0.0.13 → 0.0.14

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 (337) hide show
  1. package/package.json +2 -1
  2. package/.prettierignore +0 -2
  3. package/.prettierrc +0 -22
  4. package/eslint.config.js +0 -23
  5. package/index.html +0 -13
  6. package/src/App.tsx +0 -9
  7. package/src/app/styles/global.scss +0 -31
  8. package/src/app/styles/slickgrid.scss +0 -13
  9. package/src/app/types/index.d.ts +0 -9
  10. package/src/entities/portal/index.ts +0 -3
  11. package/src/entities/portal/lib/index.ts +0 -1
  12. package/src/entities/portal/lib/visibility/index.ts +0 -1
  13. package/src/entities/portal/lib/visibility/makeVisible.ts +0 -9
  14. package/src/entities/portal/model/index.ts +0 -1
  15. package/src/entities/portal/model/portalId.ts +0 -1
  16. package/src/entities/portal/ui/Overlay/Overlay.style.ts +0 -14
  17. package/src/entities/portal/ui/Overlay/Overlay.test.tsx +0 -19
  18. package/src/entities/portal/ui/Overlay/Overlay.tsx +0 -20
  19. package/src/entities/portal/ui/Overlay/index.ts +0 -1
  20. package/src/entities/portal/ui/Portal.style.ts +0 -20
  21. package/src/entities/portal/ui/Portal.test.tsx +0 -48
  22. package/src/entities/portal/ui/Portal.tsx +0 -26
  23. package/src/entities/portal/ui/index.ts +0 -1
  24. package/src/features/column-filters/index.ts +0 -1
  25. package/src/features/column-filters/lib/filter/applyFilter.ts +0 -25
  26. package/src/features/column-filters/lib/filter/index.ts +0 -1
  27. package/src/features/column-filters/lib/hooks/index.ts +0 -2
  28. package/src/features/column-filters/lib/hooks/useOpenMenu.ts +0 -43
  29. package/src/features/column-filters/lib/hooks/useSubscribeToEvent.ts +0 -17
  30. package/src/features/column-filters/lib/index.ts +0 -4
  31. package/src/features/column-filters/lib/props/datePickerProps.tsx +0 -11
  32. package/src/features/column-filters/lib/props/index.ts +0 -1
  33. package/src/features/column-filters/lib/select/firstIn.ts +0 -22
  34. package/src/features/column-filters/lib/select/index.ts +0 -1
  35. package/src/features/column-filters/model/consts/defaultValue.ts +0 -6
  36. package/src/features/column-filters/model/consts/index.ts +0 -2
  37. package/src/features/column-filters/model/consts/label.ts +0 -5
  38. package/src/features/column-filters/model/index.ts +0 -2
  39. package/src/features/column-filters/model/types/IProps.ts +0 -9
  40. package/src/features/column-filters/model/types/index.ts +0 -1
  41. package/src/features/column-filters/ui/BooleanInput/BooleanInput.style.ts +0 -10
  42. package/src/features/column-filters/ui/BooleanInput/BooleanInput.tsx +0 -53
  43. package/src/features/column-filters/ui/BooleanInput/index.ts +0 -1
  44. package/src/features/column-filters/ui/ButtonReset/ButtonReset.style.ts +0 -10
  45. package/src/features/column-filters/ui/ButtonReset/ButtonReset.tsx +0 -39
  46. package/src/features/column-filters/ui/ButtonReset/index.ts +0 -1
  47. package/src/features/column-filters/ui/ColumnFilters.style.ts +0 -12
  48. package/src/features/column-filters/ui/ColumnFilters.tsx +0 -41
  49. package/src/features/column-filters/ui/DateBetween/DateBetween.tsx +0 -52
  50. package/src/features/column-filters/ui/DateBetween/index.ts +0 -1
  51. package/src/features/column-filters/ui/DateInput/DateInput.tsx +0 -36
  52. package/src/features/column-filters/ui/DateInput/index.ts +0 -1
  53. package/src/features/column-filters/ui/InputArea/InputArea.tsx +0 -63
  54. package/src/features/column-filters/ui/InputArea/index.ts +0 -1
  55. package/src/features/column-filters/ui/MultipleSelect/index.ts +0 -1
  56. package/src/features/column-filters/ui/MultipleSelect/lib/index.ts +0 -2
  57. package/src/features/column-filters/ui/MultipleSelect/lib/props/index.ts +0 -1
  58. package/src/features/column-filters/ui/MultipleSelect/lib/props/props.ts +0 -36
  59. package/src/features/column-filters/ui/MultipleSelect/lib/sorting/ascending.ts +0 -17
  60. package/src/features/column-filters/ui/MultipleSelect/lib/sorting/index.ts +0 -1
  61. package/src/features/column-filters/ui/MultipleSelect/model/IValue.ts +0 -1
  62. package/src/features/column-filters/ui/MultipleSelect/model/index.ts +0 -1
  63. package/src/features/column-filters/ui/MultipleSelect/ui/MultipleSelect.style.ts +0 -9
  64. package/src/features/column-filters/ui/MultipleSelect/ui/MultipleSelect.tsx +0 -72
  65. package/src/features/column-filters/ui/MultipleSelect/ui/index.ts +0 -1
  66. package/src/features/column-filters/ui/NumberBetween/NumberBetween.tsx +0 -42
  67. package/src/features/column-filters/ui/NumberBetween/index.ts +0 -1
  68. package/src/features/column-filters/ui/NumberInput/NumberInput.tsx +0 -24
  69. package/src/features/column-filters/ui/NumberInput/index.ts +0 -1
  70. package/src/features/column-filters/ui/SelectFilter/index.ts +0 -1
  71. package/src/features/column-filters/ui/SelectFilter/model/index.ts +0 -1
  72. package/src/features/column-filters/ui/SelectFilter/model/options/index.ts +0 -1
  73. package/src/features/column-filters/ui/SelectFilter/model/options/options.ts +0 -66
  74. package/src/features/column-filters/ui/SelectFilter/ui/SelectFilter.tsx +0 -50
  75. package/src/features/column-filters/ui/SelectFilter/ui/index.ts +0 -1
  76. package/src/features/column-filters/ui/TextInput/TextInput.tsx +0 -23
  77. package/src/features/column-filters/ui/TextInput/index.ts +0 -1
  78. package/src/features/column-filters/ui/index.ts +0 -1
  79. package/src/features/context-menu/index.ts +0 -1
  80. package/src/features/context-menu/lib/hooks/index.ts +0 -1
  81. package/src/features/context-menu/lib/hooks/useSubscribeToEvent.ts +0 -25
  82. package/src/features/context-menu/lib/index.ts +0 -1
  83. package/src/features/context-menu/ui/ButtonDownloadCSV/ButtonDownloadCSV.tsx +0 -34
  84. package/src/features/context-menu/ui/ButtonDownloadCSV/index.ts +0 -1
  85. package/src/features/context-menu/ui/ButtonGroup/ButtonGroup.tsx +0 -28
  86. package/src/features/context-menu/ui/ButtonGroup/index.ts +0 -1
  87. package/src/features/context-menu/ui/ButtonResetFilters/index.ts +0 -1
  88. package/src/features/context-menu/ui/ButtonResetFilters/lib/index.ts +0 -1
  89. package/src/features/context-menu/ui/ButtonResetFilters/lib/visibility/hasFiltersApplied.ts +0 -8
  90. package/src/features/context-menu/ui/ButtonResetFilters/lib/visibility/index.ts +0 -1
  91. package/src/features/context-menu/ui/ButtonResetFilters/ui/ButtonResetFilters.tsx +0 -39
  92. package/src/features/context-menu/ui/ButtonResetFilters/ui/index.ts +0 -1
  93. package/src/features/context-menu/ui/ButtonUngroup/ButtonUngroup.tsx +0 -28
  94. package/src/features/context-menu/ui/ButtonUngroup/index.ts +0 -1
  95. package/src/features/context-menu/ui/CollapseAll/CollapseAll.tsx +0 -31
  96. package/src/features/context-menu/ui/CollapseAll/index.ts +0 -1
  97. package/src/features/context-menu/ui/ContextMenu.style.ts +0 -29
  98. package/src/features/context-menu/ui/ContextMenu.tsx +0 -51
  99. package/src/features/context-menu/ui/CopyToClipboard/CopyToClipboard.tsx +0 -42
  100. package/src/features/context-menu/ui/CopyToClipboard/index.ts +0 -1
  101. package/src/features/context-menu/ui/ExpandAll/ExpandAll.tsx +0 -30
  102. package/src/features/context-menu/ui/ExpandAll/index.ts +0 -1
  103. package/src/features/context-menu/ui/Print/index.ts +0 -1
  104. package/src/features/context-menu/ui/Print/ui/Print.tsx +0 -25
  105. package/src/features/context-menu/ui/Print/ui/index.ts +0 -1
  106. package/src/features/context-menu/ui/index.ts +0 -1
  107. package/src/index.scss +0 -2
  108. package/src/index.ts +0 -5
  109. package/src/main.tsx +0 -15
  110. package/src/pages/main/index.ts +0 -1
  111. package/src/pages/main/lib/columns.ts +0 -33
  112. package/src/pages/main/lib/index.ts +0 -3
  113. package/src/pages/main/lib/options.ts +0 -6
  114. package/src/pages/main/lib/table.ts +0 -11
  115. package/src/pages/main/ui/Main.style.ts +0 -18
  116. package/src/pages/main/ui/Main.tsx +0 -30
  117. package/src/pages/main/ui/index.ts +0 -1
  118. package/src/setupTests.ts +0 -5
  119. package/src/shared/lib/an-event/index.ts +0 -31
  120. package/src/shared/lib/datetime/dateToString.spec.ts +0 -11
  121. package/src/shared/lib/datetime/dateToString.ts +0 -8
  122. package/src/shared/lib/datetime/getTime.spec.ts +0 -10
  123. package/src/shared/lib/datetime/getTime.ts +0 -3
  124. package/src/shared/lib/datetime/index.ts +0 -2
  125. package/src/shared/lib/debounce/index.ts +0 -11
  126. package/src/shared/lib/dom/elementNotVisible.spec.ts +0 -72
  127. package/src/shared/lib/dom/elementNotVisible.ts +0 -9
  128. package/src/shared/lib/dom/index.ts +0 -1
  129. package/src/shared/lib/format/IOptions.ts +0 -11
  130. package/src/shared/lib/format/addParentheses.spec.ts +0 -9
  131. package/src/shared/lib/format/addParentheses.ts +0 -7
  132. package/src/shared/lib/format/formatNumber.spec.ts +0 -50
  133. package/src/shared/lib/format/formatNumber.ts +0 -62
  134. package/src/shared/lib/format/index.ts +0 -2
  135. package/src/shared/lib/numbers/index.ts +0 -1
  136. package/src/shared/lib/numbers/toNumber.spec.ts +0 -25
  137. package/src/shared/lib/numbers/toNumber.ts +0 -11
  138. package/src/shared/lib/regexp/dates.spec.ts +0 -23
  139. package/src/shared/lib/regexp/dates.ts +0 -6
  140. package/src/shared/lib/regexp/escapeSpecialChar.spec.ts +0 -24
  141. package/src/shared/lib/regexp/escapeSpecialChar.ts +0 -4
  142. package/src/shared/lib/regexp/index.ts +0 -2
  143. package/src/shared/lib/slickgrid/index.ts +0 -68
  144. package/src/shared/lib/slickgrid/lib/callbacks/getOnKeyDownCallback.ts +0 -12
  145. package/src/shared/lib/slickgrid/lib/callbacks/index.ts +0 -4
  146. package/src/shared/lib/slickgrid/lib/callbacks/onCellChange.ts +0 -14
  147. package/src/shared/lib/slickgrid/lib/callbacks/onRowCountChanged.ts +0 -12
  148. package/src/shared/lib/slickgrid/lib/callbacks/onRowsChanged.ts +0 -8
  149. package/src/shared/lib/slickgrid/lib/contextMenu/index.ts +0 -1
  150. package/src/shared/lib/slickgrid/lib/contextMenu/openContextMenu.ts +0 -17
  151. package/src/shared/lib/slickgrid/lib/editors/Autocomplete/Autocomplete.ts +0 -152
  152. package/src/shared/lib/slickgrid/lib/editors/Autocomplete/EditorAutocomplete.ts +0 -66
  153. package/src/shared/lib/slickgrid/lib/editors/Autocomplete/EditorSelectWithSearch.ts +0 -79
  154. package/src/shared/lib/slickgrid/lib/editors/Autocomplete/index.ts +0 -3
  155. package/src/shared/lib/slickgrid/lib/editors/EditorAmount.ts +0 -82
  156. package/src/shared/lib/slickgrid/lib/editors/EditorDate.ts +0 -127
  157. package/src/shared/lib/slickgrid/lib/editors/EditorSelectNumber.ts +0 -16
  158. package/src/shared/lib/slickgrid/lib/editors/EditorSelectString.ts +0 -95
  159. package/src/shared/lib/slickgrid/lib/editors/index.ts +0 -9
  160. package/src/shared/lib/slickgrid/lib/formatters/DateFormatter.ts +0 -9
  161. package/src/shared/lib/slickgrid/lib/formatters/FormatterCheck.ts +0 -11
  162. package/src/shared/lib/slickgrid/lib/formatters/PercentFormatter.spec.ts +0 -11
  163. package/src/shared/lib/slickgrid/lib/formatters/PercentFormatter.ts +0 -8
  164. package/src/shared/lib/slickgrid/lib/formatters/StringFormatter.ts +0 -2
  165. package/src/shared/lib/slickgrid/lib/formatters/getFormatterNumber.ts +0 -17
  166. package/src/shared/lib/slickgrid/lib/formatters/index.ts +0 -5
  167. package/src/shared/lib/slickgrid/lib/functions/addNewRow.ts +0 -23
  168. package/src/shared/lib/slickgrid/lib/functions/commitCurrentEdit.ts +0 -6
  169. package/src/shared/lib/slickgrid/lib/functions/copySelectedRows.ts +0 -35
  170. package/src/shared/lib/slickgrid/lib/functions/deleteRows.ts +0 -20
  171. package/src/shared/lib/slickgrid/lib/functions/getActiveRowId.ts +0 -16
  172. package/src/shared/lib/slickgrid/lib/functions/getDisplayedRows.ts +0 -13
  173. package/src/shared/lib/slickgrid/lib/functions/getLastRow.ts +0 -6
  174. package/src/shared/lib/slickgrid/lib/functions/getMaxId.ts +0 -13
  175. package/src/shared/lib/slickgrid/lib/functions/index.ts +0 -10
  176. package/src/shared/lib/slickgrid/lib/functions/isDeletionDangerous.ts +0 -21
  177. package/src/shared/lib/slickgrid/lib/functions/wereEdited.ts +0 -12
  178. package/src/shared/lib/slickgrid/lib/grouping/index.ts +0 -1
  179. package/src/shared/lib/slickgrid/lib/grouping/sumTotalsFormatter.ts +0 -21
  180. package/src/shared/lib/slickgrid/lib/highlighting/getColumnsHash.ts +0 -8
  181. package/src/shared/lib/slickgrid/lib/highlighting/highlightCell.ts +0 -21
  182. package/src/shared/lib/slickgrid/lib/highlighting/highlightColumns.ts +0 -24
  183. package/src/shared/lib/slickgrid/lib/highlighting/index.ts +0 -2
  184. package/src/shared/lib/slickgrid/lib/hooks/eventClickOnTable.ts +0 -17
  185. package/src/shared/lib/slickgrid/lib/hooks/index.ts +0 -3
  186. package/src/shared/lib/slickgrid/lib/hooks/useHotKeys.ts +0 -39
  187. package/src/shared/lib/slickgrid/lib/hooks/useListenIfTablesWereEdited.ts +0 -36
  188. package/src/shared/lib/slickgrid/lib/hooks/useUpdateTotal.ts +0 -19
  189. package/src/shared/lib/slickgrid/lib/hotKeys/hotKeysCopy.ts +0 -7
  190. package/src/shared/lib/slickgrid/lib/hotKeys/hotKeysDelete.ts +0 -7
  191. package/src/shared/lib/slickgrid/lib/hotKeys/hotKeysRedo.ts +0 -7
  192. package/src/shared/lib/slickgrid/lib/hotKeys/hotKeysReverse.ts +0 -7
  193. package/src/shared/lib/slickgrid/lib/hotKeys/hotKeysUndo.ts +0 -7
  194. package/src/shared/lib/slickgrid/lib/hotKeys/index.ts +0 -7
  195. package/src/shared/lib/slickgrid/lib/hotKeys/nothingToCopy.ts +0 -14
  196. package/src/shared/lib/slickgrid/lib/hotKeys/positionToPaste.ts +0 -12
  197. package/src/shared/lib/slickgrid/lib/index.ts +0 -59
  198. package/src/shared/lib/slickgrid/lib/selection/getUpdates.ts +0 -41
  199. package/src/shared/lib/slickgrid/lib/selection/index.ts +0 -2
  200. package/src/shared/lib/slickgrid/lib/selection/selectedRows.ts +0 -17
  201. package/src/shared/lib/slickgrid/lib/sorting/ColumnSorter.ts +0 -89
  202. package/src/shared/lib/slickgrid/lib/sorting/index.ts +0 -1
  203. package/src/shared/lib/slickgrid/lib/totals-row/addTitle.ts +0 -8
  204. package/src/shared/lib/slickgrid/lib/totals-row/addTotalSum.ts +0 -16
  205. package/src/shared/lib/slickgrid/lib/totals-row/index.ts +0 -2
  206. package/src/shared/lib/slickgrid/lib/totals-row/totalAmountOf.ts +0 -13
  207. package/src/shared/lib/slickgrid/lib/totals-row/updateTotal.ts +0 -25
  208. package/src/shared/lib/slickgrid/lib/totals-row/updateTotals.ts +0 -10
  209. package/src/shared/lib/slickgrid/lib/validators/DateValidator.ts +0 -12
  210. package/src/shared/lib/slickgrid/lib/validators/EmptyStringValidator.ts +0 -5
  211. package/src/shared/lib/slickgrid/lib/validators/LengthValidator.ts +0 -7
  212. package/src/shared/lib/slickgrid/lib/validators/index.ts +0 -3
  213. package/src/shared/lib/slickgrid/model/SlickTable/csvDownloadManager/DownloadManager.ts +0 -110
  214. package/src/shared/lib/slickgrid/model/SlickTable/csvDownloadManager/index.ts +0 -1
  215. package/src/shared/lib/slickgrid/model/SlickTable/filters/DeletedRowsFilter.test.ts +0 -36
  216. package/src/shared/lib/slickgrid/model/SlickTable/filters/DeletedRowsFilter.ts +0 -12
  217. package/src/shared/lib/slickgrid/model/SlickTable/filters/Filter.ts +0 -54
  218. package/src/shared/lib/slickgrid/model/SlickTable/filters/WithoutFilter.ts +0 -30
  219. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/ColumnFilter/DecoratorColumnFilter.ts +0 -53
  220. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/ColumnFilter/Filter.ts +0 -108
  221. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/ColumnFilter/index.ts +0 -1
  222. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/DecoratorEndingDate.ts +0 -16
  223. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/DecoratorFilter.ts +0 -55
  224. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/DecoratorPeriod.ts +0 -24
  225. package/src/shared/lib/slickgrid/model/SlickTable/filters/decorators/index.ts +0 -4
  226. package/src/shared/lib/slickgrid/model/SlickTable/filters/index.ts +0 -9
  227. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/DefaultHotKeys.ts +0 -118
  228. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/WithoutHotKeys.ts +0 -20
  229. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/decorators/HotKeysDecorator.ts +0 -32
  230. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/decorators/PreventCopying.ts +0 -21
  231. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/decorators/RedoUndoOnly.ts +0 -25
  232. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/decorators/WithConfirmationOfDeletion.ts +0 -33
  233. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/decorators/index.ts +0 -4
  234. package/src/shared/lib/slickgrid/model/SlickTable/hotKeys/index.ts +0 -9
  235. package/src/shared/lib/slickgrid/model/SlickTable/index.ts +0 -18
  236. package/src/shared/lib/slickgrid/model/SlickTable/printer/DefaultPrinter.ts +0 -179
  237. package/src/shared/lib/slickgrid/model/SlickTable/printer/index.ts +0 -1
  238. package/src/shared/lib/slickgrid/model/SlickTable/printer/model/consts/cssStyles.ts +0 -46
  239. package/src/shared/lib/slickgrid/model/SlickTable/printer/model/consts/index.ts +0 -1
  240. package/src/shared/lib/slickgrid/model/SlickTable/printer/model/index.ts +0 -1
  241. package/src/shared/lib/slickgrid/model/SlickTable/table/SlickTable.ts +0 -148
  242. package/src/shared/lib/slickgrid/model/SlickTable/table/index.ts +0 -1
  243. package/src/shared/lib/slickgrid/model/events/eventContextMenu.ts +0 -10
  244. package/src/shared/lib/slickgrid/model/events/index.ts +0 -1
  245. package/src/shared/lib/slickgrid/model/index.ts +0 -17
  246. package/src/shared/lib/slickgrid/ui/HeaderButtons/index.ts +0 -2
  247. package/src/shared/lib/slickgrid/ui/HeaderButtons/lib/handleClick/handleHeaderButtons.ts +0 -27
  248. package/src/shared/lib/slickgrid/ui/HeaderButtons/lib/handleClick/index.ts +0 -1
  249. package/src/shared/lib/slickgrid/ui/HeaderButtons/lib/highlighting/headerButtons.ts +0 -45
  250. package/src/shared/lib/slickgrid/ui/HeaderButtons/lib/highlighting/index.ts +0 -1
  251. package/src/shared/lib/slickgrid/ui/HeaderButtons/lib/index.ts +0 -2
  252. package/src/shared/lib/slickgrid/ui/HeaderButtons/model/buttons/index.ts +0 -1
  253. package/src/shared/lib/slickgrid/ui/HeaderButtons/model/buttons/openColumnFilter.ts +0 -10
  254. package/src/shared/lib/slickgrid/ui/HeaderButtons/model/event/eventOpenColumnFilters.ts +0 -13
  255. package/src/shared/lib/slickgrid/ui/HeaderButtons/model/event/index.ts +0 -1
  256. package/src/shared/lib/slickgrid/ui/HeaderButtons/model/index.ts +0 -2
  257. package/src/shared/lib/slickgrid/ui/SlickgridTable/index.ts +0 -1
  258. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.ts +0 -1
  259. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/onAddNewRow.ts +0 -34
  260. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/index.ts +0 -1
  261. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts +0 -140
  262. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/index.ts +0 -2
  263. package/src/shared/lib/slickgrid/ui/SlickgridTable/model/defaultOptions.ts +0 -8
  264. package/src/shared/lib/slickgrid/ui/SlickgridTable/model/index.ts +0 -2
  265. package/src/shared/lib/slickgrid/ui/SlickgridTable/model/types/Props.ts +0 -42
  266. package/src/shared/lib/slickgrid/ui/SlickgridTable/model/types/index.ts +0 -1
  267. package/src/shared/lib/slickgrid/ui/SlickgridTable/ui/SlickgridTable.tsx +0 -51
  268. package/src/shared/lib/slickgrid/ui/SlickgridTable/ui/index.ts +0 -1
  269. package/src/shared/lib/slickgrid/ui/columns/columnCheckboxSelector/columnCheckboxSelector.ts +0 -7
  270. package/src/shared/lib/slickgrid/ui/columns/columnCheckboxSelector/index.ts +0 -1
  271. package/src/shared/lib/slickgrid/ui/columns/columnIsEdited/index.ts +0 -1
  272. package/src/shared/lib/slickgrid/ui/columns/columnIsEdited/lib/index.ts +0 -1
  273. package/src/shared/lib/slickgrid/ui/columns/columnIsEdited/lib/setEditedMark.spec.ts +0 -11
  274. package/src/shared/lib/slickgrid/ui/columns/columnIsEdited/lib/setEditedMark.ts +0 -7
  275. package/src/shared/lib/slickgrid/ui/columns/columnIsEdited/ui/columnIsEdited.ts +0 -16
  276. package/src/shared/lib/slickgrid/ui/columns/columnIsEdited/ui/index.ts +0 -1
  277. package/src/shared/lib/slickgrid/ui/columns/index.ts +0 -2
  278. package/src/shared/lib/slickgrid/ui/index.ts +0 -9
  279. package/src/shared/lib/slickgrid/ui/styles/WithTableStyles/WithTableStyles.style.ts +0 -156
  280. package/src/shared/lib/slickgrid/ui/styles/WithTableStyles/WithTableStyles.tsx +0 -11
  281. package/src/shared/lib/slickgrid/ui/styles/WithTableStyles/index.ts +0 -1
  282. package/src/shared/lib/slickgrid/ui/styles/index.ts +0 -1
  283. package/src/shared/lib/slickgrid/ui/styles/keyframes/index.ts +0 -1
  284. package/src/shared/lib/slickgrid/ui/styles/keyframes/wink.ts +0 -7
  285. package/src/shared/lib/sorting/Sort.ts +0 -26
  286. package/src/shared/lib/sorting/index.ts +0 -1
  287. package/src/shared/lib/stringCalculator/index.ts +0 -2
  288. package/src/shared/lib/stringCalculator/stringCalculator.js +0 -834
  289. package/src/shared/lib/stringCalculator/stringCalculator.spec.ts +0 -16
  290. package/src/shared/lib/strings/deleteDoubleQuotes.spec.ts +0 -11
  291. package/src/shared/lib/strings/deleteDoubleQuotes.ts +0 -5
  292. package/src/shared/lib/strings/index.ts +0 -3
  293. package/src/shared/lib/strings/removeHtml.spec.ts +0 -29
  294. package/src/shared/lib/strings/removeHtml.ts +0 -5
  295. package/src/shared/lib/strings/toStringWithCommas.spec.ts +0 -16
  296. package/src/shared/lib/strings/toStringWithCommas.ts +0 -15
  297. package/src/shared/model/consts/columnId.ts +0 -1
  298. package/src/shared/model/consts/dateFormats.ts +0 -5
  299. package/src/shared/model/consts/index.ts +0 -4
  300. package/src/shared/model/consts/invalidDate.ts +0 -1
  301. package/src/shared/model/consts/noPrivilegesMessage.ts +0 -1
  302. package/src/shared/model/enums/EColumnFilter.ts +0 -16
  303. package/src/shared/model/enums/EColumnFiltersGroup.ts +0 -10
  304. package/src/shared/model/enums/EDateFormat.ts +0 -11
  305. package/src/shared/model/enums/EKey.ts +0 -8
  306. package/src/shared/model/enums/EKeyCode.ts +0 -8
  307. package/src/shared/model/enums/ESortType.ts +0 -6
  308. package/src/shared/model/enums/index.ts +0 -6
  309. package/src/shared/model/types/IArguments.ts +0 -14
  310. package/src/shared/model/types/IColumn.ts +0 -13
  311. package/src/shared/model/types/IColumnFilterValue.ts +0 -4
  312. package/src/shared/model/types/IDownloadManager.ts +0 -6
  313. package/src/shared/model/types/IEditedRow.ts +0 -5
  314. package/src/shared/model/types/IExternalVariables.ts +0 -1
  315. package/src/shared/model/types/IFilter.ts +0 -30
  316. package/src/shared/model/types/IGrouping.ts +0 -12
  317. package/src/shared/model/types/IHotKeysBehavior.ts +0 -15
  318. package/src/shared/model/types/IObserver.ts +0 -3
  319. package/src/shared/model/types/IPrinter.ts +0 -24
  320. package/src/shared/model/types/ISlickRow.ts +0 -1
  321. package/src/shared/model/types/ISlickTable.ts +0 -38
  322. package/src/shared/model/types/TGridRow.ts +0 -6
  323. package/src/shared/model/types/index.ts +0 -14
  324. package/src/shared/ui/ContextSelect/ContextSelect.style.ts +0 -9
  325. package/src/shared/ui/ContextSelect/ContextSelect.tsx +0 -87
  326. package/src/shared/ui/ContextSelect/index.ts +0 -2
  327. package/src/shared/ui/notification/index.ts +0 -1
  328. package/src/shared/ui/notification/model/index.ts +0 -1
  329. package/src/shared/ui/notification/ui/index.style.ts +0 -13
  330. package/src/shared/ui/notification/ui/index.tsx +0 -41
  331. package/src/shared/ui/styles/WithDatePickerStyles.ts +0 -11
  332. package/src/shared/ui/styles/index.ts +0 -1
  333. package/src/vite-env.d.ts +0 -1
  334. package/tsconfig.build-types.json +0 -21
  335. package/tsconfig.build.json +0 -17
  336. package/tsconfig.json +0 -23
  337. package/vite.config.ts +0 -34
@@ -1,72 +0,0 @@
1
- import { elementNotVisible } from "./elementNotVisible";
2
-
3
- describe("elementNotVisible", () => {
4
- let getBoundingClientRect: jest.Mock;
5
- let originalScrollHeight: number;
6
- let originalScrollWidth: number;
7
-
8
- beforeAll(() => {
9
- originalScrollHeight = document.documentElement.scrollHeight;
10
- originalScrollWidth = document.documentElement.scrollWidth;
11
- Object.defineProperty(document.documentElement, "scrollHeight", {
12
- value: 1000,
13
- writable: true,
14
- });
15
- Object.defineProperty(document.documentElement, "scrollWidth", {
16
- value: 1000,
17
- writable: true,
18
- });
19
- getBoundingClientRect = jest.fn();
20
- document.querySelector = jest.fn();
21
- });
22
-
23
- afterAll(() => {
24
- Object.defineProperty(document.documentElement, "scrollHeight", {
25
- value: originalScrollHeight,
26
- writable: true,
27
- });
28
- Object.defineProperty(document.documentElement, "scrollWidth", {
29
- value: originalScrollWidth,
30
- writable: true,
31
- });
32
- jest.clearAllMocks();
33
- });
34
-
35
- it("should return true if the container is not found", () => {
36
- (document.querySelector as jest.Mock).mockReturnValue(null);
37
- expect(elementNotVisible(".nonexistent")).toBe(true);
38
- });
39
-
40
- it("should return true if the container is out of view", () => {
41
- (document.querySelector as jest.Mock).mockReturnValue({
42
- getBoundingClientRect,
43
- });
44
- getBoundingClientRect.mockReturnValue({
45
- bottom: -1,
46
- left: 0,
47
- right: 0,
48
- top: 0,
49
- });
50
- expect(elementNotVisible(".out-of-view")).toBe(true);
51
- getBoundingClientRect.mockReturnValue({
52
- bottom: 0,
53
- left: 1001,
54
- right: 1002,
55
- top: 0,
56
- });
57
- expect(elementNotVisible(".out-of-view")).toBe(true);
58
- });
59
-
60
- it("should return false if the container is within view", () => {
61
- (document.querySelector as jest.Mock).mockReturnValue({
62
- getBoundingClientRect,
63
- });
64
- getBoundingClientRect.mockReturnValue({
65
- bottom: 500,
66
- left: 100,
67
- right: 200,
68
- top: 100,
69
- });
70
- expect(elementNotVisible(".in-view")).toBe(false);
71
- });
72
- });
@@ -1,9 +0,0 @@
1
- export function elementNotVisible(selector: string): boolean {
2
- const container = document.querySelector(selector);
3
- if (!container) return true;
4
- const { scrollHeight, scrollWidth } = document.documentElement;
5
- const { bottom, left, right, top } = container.getBoundingClientRect();
6
- return (
7
- bottom <= 0 || left >= scrollWidth || right <= 0 || top >= scrollHeight
8
- );
9
- }
@@ -1 +0,0 @@
1
- export { elementNotVisible } from "./elementNotVisible";
@@ -1,11 +0,0 @@
1
- export interface IOptions {
2
- decimalPlaces?: number;
3
- decimalSeparator?: string;
4
- thousandsSeparator?: string;
5
- negativeInParentheses?: boolean;
6
- zeroAsBlank?: boolean;
7
- currencySymbol?: string;
8
- positiveClass?: string;
9
- negativeClass?: string;
10
- noHTML?: boolean;
11
- }
@@ -1,9 +0,0 @@
1
- import { addParentheses } from "./addParentheses";
2
-
3
- describe("addParentheses", () => {
4
- test("must add parentheses", () => {
5
- expect(addParentheses("-5")).toBe("(5)");
6
- expect(addParentheses("-5.125")).toBe("(5.125)");
7
- expect(addParentheses("5")).toBe("(5)");
8
- });
9
- });
@@ -1,7 +0,0 @@
1
- export function addParentheses(value: string): string {
2
- return `(${removeMinus(value)})`;
3
- }
4
-
5
- function removeMinus(value: string): string {
6
- return value.replace("-", "");
7
- }
@@ -1,50 +0,0 @@
1
- import { formatNumber } from "./formatNumber";
2
-
3
- describe("formatMoney", () => {
4
- test("must return empty string", () => {
5
- expect(formatNumber(0, { zeroAsBlank: true })).toBe("");
6
- expect(formatNumber("0", { zeroAsBlank: true })).toBe("");
7
- expect(formatNumber(null)).toBe("");
8
- expect(formatNumber(undefined)).toBe("");
9
- expect(formatNumber("")).toBe("");
10
- });
11
- test("must return zero", () => {
12
- expect(formatNumber(0)).toBe("0.00");
13
- expect(formatNumber("0", { decimalSeparator: "," })).toBe("0,00");
14
- });
15
- test("must return correct values", () => {
16
- expect(formatNumber(0.1)).toBe("0.10");
17
- expect(formatNumber(1000222.1, { decimalPlaces: 4 })).toBe(
18
- "1,000,222.1000",
19
- );
20
- expect(formatNumber(-1000222.1, { currencySymbol: "$" })).toBe(
21
- "($1,000,222.10)",
22
- );
23
- expect(
24
- formatNumber(-1000222.1, {
25
- decimalSeparator: ",",
26
- decimalPlaces: 3,
27
- thousandsSeparator: ".",
28
- currencySymbol: "$",
29
- }),
30
- ).toBe("($1.000.222,100)");
31
- expect(formatNumber("1500.02")).toBe("1,500.02");
32
- expect(formatNumber("1700500.02")).toBe("1,700,500.02");
33
- expect(formatNumber("-1700500.02")).toBe("(1,700,500.02)");
34
- });
35
- test("must return add class name", () => {
36
- expect(
37
- formatNumber(5, { negativeClass: "neg", positiveClass: "pos" }),
38
- ).toBe('<span class="pos">5.00</span>');
39
- expect(
40
- formatNumber(-5, { negativeClass: "neg", positiveClass: "pos" }),
41
- ).toBe('<span class="neg">(5.00)</span>');
42
- expect(
43
- formatNumber(-5, {
44
- negativeClass: "neg",
45
- noHTML: true,
46
- positiveClass: "pos",
47
- }),
48
- ).toBe("(5.00)");
49
- });
50
- });
@@ -1,62 +0,0 @@
1
- import { IOptions } from "./IOptions";
2
- import { addParentheses } from "./addParentheses";
3
-
4
- /**
5
- * @param {(number | null | undefined)} value Money amount to be formatted.
6
- * @param {Object} [options] Formatting options.
7
- * @param {boolean} [options.currencySymbol = ""] Currency symbol.
8
- * @param {number} [options.decimalPlaces = 2] Number of decimal places.
9
- * @param {string} [options.decimalSeparator = "."] Decimal separator.
10
- * @param {boolean} options.negativeClass Style class name for negative numbers.
11
- * @param {boolean} [options.negativeInParentheses = true] Enclose negative numbers in parentheses.
12
- * @param {boolean} [options.noHTML = false] Return plain text without HTML.
13
- * @param {boolean} options.positiveClass Style class name for positive numbers.
14
- * @param {string} [options.thousandsSeparator = ","] Thousands separator.
15
- * @param {boolean} [options.zeroAsBlank = false] Display zero as en empty string.
16
- * */
17
- export function formatNumber(
18
- value: number | string | null | undefined,
19
- options: IOptions = {},
20
- ): string {
21
- const {
22
- currencySymbol = "",
23
- decimalPlaces = 2,
24
- decimalSeparator = ".",
25
- negativeClass,
26
- negativeInParentheses = true,
27
- noHTML = false,
28
- positiveClass,
29
- thousandsSeparator = ",",
30
- zeroAsBlank = false,
31
- } = options;
32
- if (value === undefined || value === null || value === "") {
33
- return "";
34
- } else if (!Number(value) && zeroAsBlank) return "";
35
- const isNegative = (Number(value) || 0) < 0;
36
- const valueFixed = Math.abs(Number(value) || 0).toFixed(decimalPlaces);
37
- const integerPart = parseInt(valueFixed).toString();
38
- const remainder = integerPart.length > 3 ? integerPart.length % 3 : 0;
39
- const withThousandsSeparator =
40
- (remainder ? integerPart.slice(0, remainder) + thousandsSeparator : "") +
41
- integerPart
42
- .slice(remainder)
43
- .replace(/(\d{3})(?=\d)/g, `$1${thousandsSeparator}`);
44
- const withDecimalPlaces =
45
- withThousandsSeparator +
46
- (decimalPlaces ? decimalSeparator + valueFixed.slice(-decimalPlaces) : "");
47
- const withCurrency = `${currencySymbol}${withDecimalPlaces}`;
48
- const withMinus = isNegative ? `-${withCurrency}` : withCurrency;
49
- const withParentheses =
50
- isNegative && negativeInParentheses ? addParentheses(withMinus) : withMinus;
51
- if (noHTML) {
52
- return withParentheses;
53
- } else if (isNegative) {
54
- return negativeClass
55
- ? `<span class="${negativeClass}">${withParentheses}</span>`
56
- : withParentheses;
57
- } else {
58
- return positiveClass
59
- ? `<span class="${positiveClass}">${withParentheses}</span>`
60
- : withParentheses;
61
- }
62
- }
@@ -1,2 +0,0 @@
1
- export { formatNumber } from "./formatNumber";
2
- export type { IOptions } from "./IOptions";
@@ -1 +0,0 @@
1
- export { toNumber } from "./toNumber";
@@ -1,25 +0,0 @@
1
- import { toNumber } from "./toNumber";
2
-
3
- test("Return expected values", () => {
4
- expect(toNumber()).toBe(0);
5
- expect(toNumber(null)).toBe(0);
6
- expect(toNumber(NaN)).toBe(0);
7
- expect(toNumber("")).toBe(0);
8
- expect(toNumber(0)).toBe(0);
9
- expect(toNumber("0")).toBe(0);
10
- expect(toNumber("0.00")).toBe(0);
11
- expect(toNumber("0a")).toBe(0);
12
- expect(toNumber(50)).toBe(50);
13
- expect(toNumber(-50.035)).toBe(-50.035);
14
- expect(toNumber("$50.035")).toBe(50.035);
15
- expect(toNumber("-50.035")).toBe(-50.035);
16
- expect(toNumber("-$50.035")).toBe(-50.035);
17
- expect(toNumber("($50.035)")).toBe(-50.035);
18
- expect(toNumber("103613.10")).toBe(103613.1);
19
- expect(toNumber("-103613.10")).toBe(-103613.1);
20
- expect(toNumber("50")).toBe(50);
21
- expect(toNumber("50,000,000.00")).toBe(50000000);
22
- expect(toNumber("50,000,000.12345")).toBe(50000000.12345);
23
- expect(toNumber("-sdf,ffg,g,h,,hfg,")).toBe(0);
24
- expect(toNumber(".")).toBe(0);
25
- });
@@ -1,11 +0,0 @@
1
- export const toNumber = (value?: string | number | null): number => {
2
- if (!value) return 0;
3
- if (typeof value === "number") return value;
4
- const stringWithoutCommas = value.replace(/\$|,|\s/g, "");
5
- const absValueString = stringWithoutCommas.replace(/\(|\)/g, "");
6
- if (isNaN(Number(absValueString))) return 0;
7
- return stringWithoutCommas.startsWith("(") &&
8
- stringWithoutCommas.endsWith(")")
9
- ? 0 - Number(absValueString)
10
- : Number(stringWithoutCommas);
11
- };
@@ -1,23 +0,0 @@
1
- import { Dates } from "./dates";
2
-
3
- describe("Dates regexps", () => {
4
- it("MMDDYYYY", () => {
5
- expect(Dates.MMDDYYYY.test("01/05/2024")).toBeTruthy();
6
- expect(Dates.MMDDYYYY.test("01/05/24")).toBeFalsy();
7
- });
8
-
9
- it("MMDDYY", () => {
10
- expect(Dates.MMDDYY.test("01/05/24")).toBeTruthy();
11
- expect(Dates.MMDDYY.test("01/05/2024")).toBeFalsy();
12
- });
13
-
14
- it("MDY", () => {
15
- expect(Dates.MDY.test("01/05/24")).toBeTruthy();
16
- expect(Dates.MDY.test("01/05/2024")).toBeTruthy();
17
- });
18
-
19
- it("MD", () => {
20
- expect(Dates.MD.test("01/24")).toBeTruthy();
21
- expect(Dates.MD.test("1/4")).toBeTruthy();
22
- });
23
- });
@@ -1,6 +0,0 @@
1
- export const Dates = {
2
- MMDDYYYY: new RegExp(/^\d{2}\/\d{2}\/(\d{4})$/),
3
- MMDDYY: new RegExp(/^\d{2}\/\d{2}\/(\d{2})$/),
4
- MDY: new RegExp(/^\d{1,2}\/\d{1,2}\/(\d{2}|\d{4})$/),
5
- MD: new RegExp(/^\d{1,2}\/\d{1,2}$/),
6
- };
@@ -1,24 +0,0 @@
1
- import { escapeSpecialChar } from "./escapeSpecialChar";
2
-
3
- describe("Escape special characters", () => {
4
- test("handles an empty string", () => {
5
- const input = "";
6
- const expectedOutput = "";
7
- expect(escapeSpecialChar(input)).toBe(expectedOutput);
8
- });
9
- test("returns the same string if no special characters are present", () => {
10
- const input = "HelloWorld";
11
- const expectedOutput = "HelloWorld";
12
- expect(escapeSpecialChar(input)).toBe(expectedOutput);
13
- });
14
- test("escapes special characters in a string", () => {
15
- const input = "Hello. How are you?";
16
- const expectedOutput = "Hello\\. How are you\\?";
17
- expect(escapeSpecialChar(input)).toBe(expectedOutput);
18
- });
19
- test("handles strings with only special characters", () => {
20
- const input = ".*+?^${}()|[]\\";
21
- const expectedOutput = "\\.\\*\\+\\?\\^\\$\\{\\}\\(\\)\\|\\[\\]\\\\";
22
- expect(escapeSpecialChar(input)).toBe(expectedOutput);
23
- });
24
- });
@@ -1,4 +0,0 @@
1
- /** @description Escapes special characters in string before using it in RegExp */
2
- export function escapeSpecialChar(value: string): string {
3
- return value.replace(/[.*+?^${}()|[\]\\]/g, (match) => `\\${match}`);
4
- }
@@ -1,2 +0,0 @@
1
- export { Dates } from "./dates";
2
- export { escapeSpecialChar } from "./escapeSpecialChar";
@@ -1,68 +0,0 @@
1
- export {
2
- Autocomplete,
3
- ColumnSorter,
4
- DateFormatter,
5
- DateValidator,
6
- EditorAmount,
7
- EditorAutocomplete,
8
- EditorDate,
9
- EditorSelectString,
10
- EditorSelectNumber,
11
- EditorSelectWithSearch,
12
- EmptyStringValidator,
13
- FORMATTER_NUMBER,
14
- FormatterCheck,
15
- getFormatterNumber,
16
- LengthValidator,
17
- PercentFormatter,
18
- FormatterCheckPrinter,
19
- StringFormatter,
20
- columnSorter,
21
- commitCurrentEdit,
22
- deleteRows,
23
- getDisplayedRows,
24
- getLastRow,
25
- getMaxId,
26
- highlightCell,
27
- highlightColumns,
28
- isDeletionDangerous,
29
- onCellChange,
30
- onRowCountChanged,
31
- onRowsChanged,
32
- selectedRows,
33
- sumTotalsFormatter,
34
- totalAmountOf,
35
- updateTotals,
36
- useHotKeys,
37
- getUpdates,
38
- useListenIfTablesWereEdited,
39
- useUpdateTotal,
40
- wereEdited,
41
- } from "./lib";
42
- export {
43
- DownloadManager,
44
- DecoratorEndingDate,
45
- DecoratorFilter,
46
- DecoratorColumnFilter,
47
- DecoratorPeriod,
48
- DefaultHotKeys,
49
- DefaultPrinter,
50
- DeletedRowsFilter,
51
- Filter,
52
- PreventCopying,
53
- RedoUndoOnly,
54
- SlickTable,
55
- WithConfirmationOfDeletion,
56
- WithoutHotKeys,
57
- eventContextMenu,
58
- } from "./model";
59
- export {
60
- SlickgridTable,
61
- WithTableStyles,
62
- columnCheckboxSelector,
63
- columnIsEdited,
64
- eventOpenColumnFilters,
65
- handleHeaderButtons,
66
- headerButtons,
67
- openColumnFilter,
68
- } from "./ui";
@@ -1,12 +0,0 @@
1
- import { Handler, OnKeyDownEventArgs, SlickGrid } from "slickgrid";
2
-
3
- import { EKeyCode } from "shared/model/enums";
4
-
5
- export const getOnKeyDownCallback =
6
- (grid: SlickGrid): Handler<OnKeyDownEventArgs> =>
7
- (event): void => {
8
- if (event.keyCode === EKeyCode.KeyEnter) {
9
- event.stopImmediatePropagation();
10
- grid.navigateNext();
11
- }
12
- };
@@ -1,4 +0,0 @@
1
- export { getOnKeyDownCallback } from "./getOnKeyDownCallback";
2
- export { onCellChange } from "./onCellChange";
3
- export { onRowsChanged } from "./onRowsChanged";
4
- export { onRowCountChanged } from "./onRowCountChanged";
@@ -1,14 +0,0 @@
1
- import { Handler, OnCellChangeEventArgs, SlickDataView } from "slickgrid";
2
-
3
- import { ISlickTable } from "shared/model/types";
4
-
5
- export const onCellChange =
6
- (table: ISlickTable): Handler<OnCellChangeEventArgs> =>
7
- (_e, args) => {
8
- const { grid, item } = args;
9
- item.isEdited = true;
10
- const dataView: SlickDataView = grid.getData();
11
- dataView.updateItem(item.id, item);
12
- table.isEdited = true;
13
- table.hotKeysBehavior.pushToCommandQueue(grid);
14
- };
@@ -1,12 +0,0 @@
1
- import { Handler, OnRowCountChangedEventArgs } from "slickgrid";
2
-
3
- import { ISlickTable } from "shared/model/types";
4
-
5
- export const onRowCountChanged =
6
- (table: ISlickTable): Handler<OnRowCountChangedEventArgs> =>
7
- () => {
8
- const grid = table.grid;
9
- if (!grid) return;
10
- grid.updateRowCount();
11
- grid.render();
12
- };
@@ -1,8 +0,0 @@
1
- import { Handler, OnRowsChangedEventArgs, SlickGrid } from "slickgrid";
2
-
3
- export const onRowsChanged =
4
- (grid: SlickGrid): Handler<OnRowsChangedEventArgs> =>
5
- (_e, args): void => {
6
- grid.invalidateRows(args.rows);
7
- grid.render();
8
- };
@@ -1 +0,0 @@
1
- export { openContextMenu } from "./openContextMenu";
@@ -1,17 +0,0 @@
1
- import { MenuCommandItemCallbackArgs, SlickEventData } from "slickgrid";
2
-
3
- import { ISlickTable } from "shared/model/types";
4
-
5
- import { eventContextMenu } from "../../model";
6
- import { commitCurrentEdit } from "../functions";
7
-
8
- export function openContextMenu(table: ISlickTable) {
9
- return function (e: SlickEventData<MenuCommandItemCallbackArgs>): void {
10
- e.preventDefault();
11
- commitCurrentEdit();
12
- eventContextMenu.table = table;
13
- eventContextMenu.x = e.pageX || 0;
14
- eventContextMenu.y = e.pageY || 0;
15
- eventContextMenu.notify();
16
- };
17
- }
@@ -1,152 +0,0 @@
1
- import {
2
- Editor,
3
- EditorArguments,
4
- EditorValidationResult,
5
- keyCode,
6
- } from "slickgrid";
7
-
8
- import { EKey } from "shared/model/enums";
9
- import { ISlickRow } from "shared/model/types";
10
-
11
- export abstract class Autocomplete implements Editor {
12
- abstract args: EditorArguments<any, any, any>;
13
- protected currentFocus = -1;
14
- protected defaultValue = "";
15
- protected id = "autocomplete";
16
- protected input: HTMLInputElement = document.createElement("input");
17
- public keyCaptureList: number[] = [keyCode.UP, keyCode.DOWN, keyCode.ENTER];
18
- protected list?: HTMLDivElement;
19
- protected navOnLR?: boolean;
20
-
21
- applyValue(item: any, state: any): void {
22
- item[this.args.column.field] = state;
23
- }
24
- closeAllList(): void {
25
- this.list?.remove();
26
- this.list = undefined;
27
- this.currentFocus = -1;
28
- }
29
- destroy(): void {
30
- this.input.removeEventListener("input", this.onInput.bind(this));
31
- this.input.removeEventListener("keydown", this.onKeydown.bind(this));
32
- this.closeAllList();
33
- this.input.remove();
34
- }
35
- focus(): void {
36
- this.input.focus();
37
- }
38
- init(): void {
39
- this.navOnLR = this.args.grid.getOptions().editorCellNavOnLRKeys;
40
- this.input.setAttribute("type", "text");
41
- this.input.classList.add("editor-text");
42
- this.args.container.append(this.input);
43
-
44
- this.input.addEventListener("input", this.onInput.bind(this));
45
- this.input.addEventListener("keydown", this.onKeydown.bind(this));
46
- this.input.focus();
47
- this.input.select();
48
- }
49
- isValueChanged(): boolean {
50
- return (
51
- !(this.input.value == "" && this.defaultValue == null) &&
52
- this.input.value != this.defaultValue
53
- );
54
- }
55
- loadValue(item: ISlickRow): void {
56
- this.defaultValue = item[this.args.column.field] || "";
57
- this.input.value = this.defaultValue;
58
- this.input.defaultValue = this.defaultValue;
59
- this.input.focus();
60
- this.input.select();
61
- }
62
- makeVisible(list: HTMLDivElement): void {
63
- const canvas = list.closest(".grid-canvas");
64
- if (!canvas) return;
65
- const { bottom: listBottom, right: listRigth } =
66
- list.getBoundingClientRect();
67
- const { bottom: canvasBottom, right: canvasRight } =
68
- canvas.getBoundingClientRect();
69
- if (listBottom >= canvasBottom) {
70
- const rowHeight = this.args.grid.getOptions().rowHeight;
71
- list.style.position = "absolute";
72
- list.style.bottom = `${rowHeight}px`;
73
- }
74
- if (listRigth >= canvasRight) {
75
- list.style.position = "absolute";
76
- list.style.right = "0";
77
- }
78
- }
79
- abstract onClick(event: MouseEvent): void;
80
- abstract onInput(event: Event): void;
81
- onKeydown(event: KeyboardEvent): void {
82
- if (event.key === EKey.ArrowLeft) {
83
- this.navOnLR && this.args.grid.navigatePrev();
84
- event.stopImmediatePropagation();
85
- return;
86
- } else if (event.key === EKey.ArrowRight) {
87
- this.navOnLR && this.args.grid.navigateNext();
88
- event.stopImmediatePropagation();
89
- return;
90
- }
91
- if (!this.list) return;
92
- const items: HTMLCollectionOf<HTMLDivElement> =
93
- this.list.getElementsByTagName("div");
94
- if (event.key === EKey.ArrowDown) {
95
- this.currentFocus++;
96
- this.setActive(items);
97
- } else if (event.key === EKey.ArrowUp) {
98
- this.currentFocus--;
99
- this.setActive(items);
100
- } else if (event.key === EKey.Enter) {
101
- event.preventDefault();
102
- if (this.currentFocus > -1) {
103
- /* simulate a click on the "active" item */
104
- if (items) items[this.currentFocus].click();
105
- }
106
- }
107
- }
108
- removeActive(x: HTMLCollectionOf<HTMLDivElement>): void {
109
- for (let i = 0; i < x.length; i++) {
110
- x[i].classList.remove("active");
111
- }
112
- }
113
- scrollToElement(child: HTMLDivElement): void {
114
- const parent = child.parentElement;
115
- if (!parent) return;
116
- const { clientHeight: childClientHeight, offsetTop } = child;
117
- const { clientHeight: parentClientHeight, scrollTop } = parent;
118
- if (offsetTop >= scrollTop + parentClientHeight) {
119
- parent.scrollTop = offsetTop - childClientHeight * 1.5;
120
- } else if (offsetTop - childClientHeight <= scrollTop) {
121
- parent.scrollTop = offsetTop - parentClientHeight;
122
- }
123
- }
124
- serializeValue(): string {
125
- return this.input.value;
126
- }
127
- setActive(list: HTMLCollectionOf<HTMLDivElement>): void {
128
- if (!list.length) return;
129
- this.removeActive(list);
130
- if (this.currentFocus >= list.length) this.currentFocus = 0;
131
- if (this.currentFocus < 0) this.currentFocus = list.length - 1;
132
- const activeElement = list[this.currentFocus];
133
- activeElement.classList.add("active");
134
- this.scrollToElement(activeElement);
135
- }
136
- abstract showOptions(search: string): void;
137
- validate(): EditorValidationResult {
138
- if (this.args.column.validator) {
139
- const validationResults = this.args.column.validator(
140
- this.input.value,
141
- this.args,
142
- );
143
- if (!validationResults.valid) {
144
- return validationResults;
145
- }
146
- }
147
- return {
148
- valid: true,
149
- msg: null,
150
- };
151
- }
152
- }