@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-08202.0

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 (531) hide show
  1. package/README.md +78 -0
  2. package/dist/assets/actions-sprite.svg +257 -0
  3. package/dist/cjs/ApplicationUtils-2e444734.js +162 -0
  4. package/dist/cjs/CSSVarsUtils-b136a156.js +77 -0
  5. package/dist/cjs/CheckMode-ecb90b87.js +7 -0
  6. package/dist/cjs/DialogType-2114c337.js +9 -0
  7. package/dist/cjs/EzScrollDirection-b2c99895.js +8 -0
  8. package/dist/cjs/RecordValidationProcessor-edd23705.js +102 -0
  9. package/dist/cjs/constants-3a1d64fb.js +7 -0
  10. package/dist/cjs/ez-actions-button.cjs.entry.js +212 -0
  11. package/dist/cjs/ez-alert.cjs.entry.js +30 -0
  12. package/dist/cjs/ez-application.cjs.entry.js +26 -0
  13. package/dist/cjs/ez-badge.cjs.entry.js +120 -0
  14. package/dist/cjs/ez-breadcrumb.cjs.entry.js +285 -0
  15. package/dist/cjs/ez-button.cjs.entry.js +87 -0
  16. package/dist/cjs/ez-calendar.cjs.entry.js +238 -0
  17. package/dist/cjs/ez-card-item.cjs.entry.js +52 -0
  18. package/dist/cjs/ez-check.cjs.entry.js +95 -0
  19. package/dist/cjs/ez-chip.cjs.entry.js +116 -0
  20. package/dist/cjs/ez-collapsible-box.cjs.entry.js +133 -0
  21. package/dist/cjs/ez-combo-box.cjs.entry.js +690 -0
  22. package/dist/cjs/ez-date-input.cjs.entry.js +188 -0
  23. package/dist/cjs/ez-date-time-input.cjs.entry.js +242 -0
  24. package/dist/cjs/ez-dialog.cjs.entry.js +180 -0
  25. package/dist/cjs/ez-dropdown.cjs.entry.js +515 -0
  26. package/dist/cjs/ez-file-item.cjs.entry.js +74 -0
  27. package/dist/cjs/ez-filter-input_2.cjs.entry.js +137 -0
  28. package/dist/cjs/ez-form-view.cjs.entry.js +191 -0
  29. package/dist/cjs/ez-form.cjs.entry.js +933 -0
  30. package/dist/cjs/ez-grid.cjs.entry.js +120838 -0
  31. package/dist/cjs/ez-guide-navigator.cjs.entry.js +96 -0
  32. package/dist/cjs/ez-icon.cjs.entry.js +44 -0
  33. package/dist/cjs/ez-list.cjs.entry.js +558 -0
  34. package/dist/cjs/ez-loading-bar.cjs.entry.js +32 -0
  35. package/dist/cjs/ez-modal-container.cjs.entry.js +64 -0
  36. package/dist/cjs/ez-modal.cjs.entry.js +72 -0
  37. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +183 -0
  38. package/dist/cjs/ez-number-input.cjs.entry.js +181 -0
  39. package/dist/cjs/ez-popover.cjs.entry.js +156 -0
  40. package/dist/cjs/ez-popup.cjs.entry.js +66 -0
  41. package/dist/cjs/ez-radio-button.cjs.entry.js +48 -0
  42. package/dist/cjs/ez-scroller_3.cjs.entry.js +792 -0
  43. package/dist/cjs/ez-search.cjs.entry.js +96 -0
  44. package/dist/cjs/ez-skeleton.cjs.entry.js +67 -0
  45. package/dist/cjs/ez-tabselector.cjs.entry.js +228 -0
  46. package/dist/cjs/ez-text-area.cjs.entry.js +179 -0
  47. package/dist/cjs/ez-text-edit.cjs.entry.js +107 -0
  48. package/dist/cjs/ez-text-input.cjs.entry.js +247 -0
  49. package/dist/cjs/ez-time-input.cjs.entry.js +168 -0
  50. package/dist/cjs/ez-toast.cjs.entry.js +101 -0
  51. package/dist/cjs/ez-upload.cjs.entry.js +395 -0
  52. package/dist/cjs/ez-view-stack.cjs.entry.js +86 -0
  53. package/dist/cjs/ezui.cjs.js +23 -0
  54. package/dist/cjs/filter-column.cjs.entry.js +151 -0
  55. package/dist/cjs/index-1064511f.js +2340 -0
  56. package/dist/cjs/index.cjs.js +2 -0
  57. package/dist/cjs/loader.cjs.js +22 -0
  58. package/dist/collection/collection-manifest.json +184 -0
  59. package/dist/collection/components/assets/actions-sprite.svg +257 -0
  60. package/dist/collection/components/ez-actions-button/ez-actions-button.css +139 -0
  61. package/dist/collection/components/ez-actions-button/ez-actions-button.js +440 -0
  62. package/dist/collection/components/ez-alert/ez-alert.css +76 -0
  63. package/dist/collection/components/ez-alert/ez-alert.js +53 -0
  64. package/dist/collection/components/ez-application/ez-application.css +3 -0
  65. package/dist/collection/components/ez-application/ez-application.js +41 -0
  66. package/dist/collection/components/ez-badge/enum/sizes.js +9 -0
  67. package/dist/collection/components/ez-badge/ez-badge.css +165 -0
  68. package/dist/collection/components/ez-badge/ez-badge.js +211 -0
  69. package/dist/collection/components/ez-badge/interfaces/IPosition.js +1 -0
  70. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.css +66 -0
  71. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.js +373 -0
  72. package/dist/collection/components/ez-breadcrumb/subcomponents/breadcrumb-item.js +20 -0
  73. package/dist/collection/components/ez-button/ez-button.css +255 -0
  74. package/dist/collection/components/ez-button/ez-button.js +241 -0
  75. package/dist/collection/components/ez-calendar/ez-calendar.css +318 -0
  76. package/dist/collection/components/ez-calendar/ez-calendar.js +439 -0
  77. package/dist/collection/components/ez-card-item/ez-card-item.css +126 -0
  78. package/dist/collection/components/ez-card-item/ez-card-item.js +97 -0
  79. package/dist/collection/components/ez-check/CheckMode.js +5 -0
  80. package/dist/collection/components/ez-check/ez-check.css +366 -0
  81. package/dist/collection/components/ez-check/ez-check.js +272 -0
  82. package/dist/collection/components/ez-chip/ez-chip.css +163 -0
  83. package/dist/collection/components/ez-chip/ez-chip.js +312 -0
  84. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +254 -0
  85. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +442 -0
  86. package/dist/collection/components/ez-combo-box/ez-combo-box.css +334 -0
  87. package/dist/collection/components/ez-combo-box/ez-combo-box.js +1125 -0
  88. package/dist/collection/components/ez-date-input/ez-date-input.css +49 -0
  89. package/dist/collection/components/ez-date-input/ez-date-input.js +432 -0
  90. package/dist/collection/components/ez-date-time-input/ez-date-time-input.css +44 -0
  91. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +504 -0
  92. package/dist/collection/components/ez-dialog/DialogType.js +7 -0
  93. package/dist/collection/components/ez-dialog/ez-dialog.css +544 -0
  94. package/dist/collection/components/ez-dialog/ez-dialog.js +401 -0
  95. package/dist/collection/components/ez-dropdown/ez-dropdown.css +349 -0
  96. package/dist/collection/components/ez-dropdown/ez-dropdown.js +356 -0
  97. package/dist/collection/components/ez-dropdown/structure/DropdownItem.js +30 -0
  98. package/dist/collection/components/ez-dropdown/structure/SubmenuControl.js +241 -0
  99. package/dist/collection/components/ez-file-item/ez-file-item.css +125 -0
  100. package/dist/collection/components/ez-file-item/ez-file-item.js +200 -0
  101. package/dist/collection/components/ez-filter-input/ez-filter-input.css +4 -0
  102. package/dist/collection/components/ez-filter-input/ez-filter-input.js +407 -0
  103. package/dist/collection/components/ez-form/ez-form.css +10 -0
  104. package/dist/collection/components/ez-form/ez-form.js +237 -0
  105. package/dist/collection/components/ez-form/store/form.slice.js +42 -0
  106. package/dist/collection/components/ez-form-view/ez-form-view.css +6 -0
  107. package/dist/collection/components/ez-form-view/ez-form-view.js +154 -0
  108. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +30 -0
  109. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +11 -0
  110. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +13 -0
  111. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +10 -0
  112. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +11 -0
  113. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +12 -0
  114. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +4 -0
  115. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +4 -0
  116. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +4 -0
  117. package/dist/collection/components/ez-form-view/interfaces/IFormViewField.js +1 -0
  118. package/dist/collection/components/ez-form-view/interfaces/index.js +1 -0
  119. package/dist/collection/components/ez-form-view/structure/index.js +29 -0
  120. package/dist/collection/components/ez-grid/controller/EzGridController.js +1 -0
  121. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +791 -0
  122. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridUtils.js +8 -0
  123. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +101 -0
  124. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +230 -0
  125. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.js +88 -0
  126. package/dist/collection/components/ez-grid/controller/ag-grid/components/cellRendererStatus.js +43 -0
  127. package/dist/collection/components/ez-grid/controller/ag-grid/components/selectionHeader.js +40 -0
  128. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +49 -0
  129. package/dist/collection/components/ez-grid/controller/ag-grid/editor/GridEditorUtils.js +10 -0
  130. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IEditorMetadata.js +4 -0
  131. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IUICellEditor.js +1 -0
  132. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +38 -0
  133. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +40 -0
  134. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +20 -0
  135. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +15 -0
  136. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +41 -0
  137. package/dist/collection/components/ez-grid/controller/ag-grid/i18n/pt-BR.js +75 -0
  138. package/dist/collection/components/ez-grid/controller/ag-grid/mock/Server.js +69 -0
  139. package/dist/collection/components/ez-grid/ez-grid.css +97 -0
  140. package/dist/collection/components/ez-grid/ez-grid.js +833 -0
  141. package/dist/collection/components/ez-grid/interfaces/ISelection.js +1 -0
  142. package/dist/collection/components/ez-grid/interfaces/ISelectionToastConfig.js +1 -0
  143. package/dist/collection/components/ez-grid/interfaces/index.js +2 -0
  144. package/dist/collection/components/ez-grid/subcomponents/filter-column.css +34 -0
  145. package/dist/collection/components/ez-grid/subcomponents/filter-column.js +377 -0
  146. package/dist/collection/components/ez-grid/subcomponents/selection-counter.js +29 -0
  147. package/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource.js +78 -0
  148. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.css +66 -0
  149. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.js +385 -0
  150. package/dist/collection/components/ez-guide-navigator/interfaces/IGuideItem.js +1 -0
  151. package/dist/collection/components/ez-guide-navigator/interfaces/index.js +1 -0
  152. package/dist/collection/components/ez-icon/ez-icon.css +223 -0
  153. package/dist/collection/components/ez-icon/ez-icon.js +101 -0
  154. package/dist/collection/components/ez-list/ez-list.css +434 -0
  155. package/dist/collection/components/ez-list/ez-list.js +911 -0
  156. package/dist/collection/components/ez-loading-bar/ez-loading-bar.css +85 -0
  157. package/dist/collection/components/ez-loading-bar/ez-loading-bar.js +74 -0
  158. package/dist/collection/components/ez-modal/ez-modal.css +369 -0
  159. package/dist/collection/components/ez-modal/ez-modal.js +239 -0
  160. package/dist/collection/components/ez-modal-container/ez-modal-container.css +55 -0
  161. package/dist/collection/components/ez-modal-container/ez-modal-container.js +191 -0
  162. package/dist/collection/components/ez-modal-container/index.js +2 -0
  163. package/dist/collection/components/ez-modal-container/modal-action.js +8 -0
  164. package/dist/collection/components/ez-modal-container/modal-button-status.js +7 -0
  165. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.css +36 -0
  166. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +338 -0
  167. package/dist/collection/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.js +1 -0
  168. package/dist/collection/components/ez-multi-selection-list/interfaces/IMultiSelectionOption.js +1 -0
  169. package/dist/collection/components/ez-multi-selection-list/subcomponents/multi-selection-box-message.css +18 -0
  170. package/dist/collection/components/ez-multi-selection-list/subcomponents/multi-selection-box-message.js +41 -0
  171. package/dist/collection/components/ez-number-input/ez-number-input.css +8 -0
  172. package/dist/collection/components/ez-number-input/ez-number-input.js +457 -0
  173. package/dist/collection/components/ez-popover/ez-popover.css +42 -0
  174. package/dist/collection/components/ez-popover/ez-popover.js +365 -0
  175. package/dist/collection/components/ez-popup/ez-popup.css +418 -0
  176. package/dist/collection/components/ez-popup/ez-popup.js +180 -0
  177. package/dist/collection/components/ez-radio-button/ez-radio-button.css +217 -0
  178. package/dist/collection/components/ez-radio-button/ez-radio-button.js +163 -0
  179. package/dist/collection/components/ez-scroller/EzScrollDirection.js +6 -0
  180. package/dist/collection/components/ez-scroller/ez-scroller.css +192 -0
  181. package/dist/collection/components/ez-scroller/ez-scroller.js +293 -0
  182. package/dist/collection/components/ez-search/ez-search.css +3 -0
  183. package/dist/collection/components/ez-search/ez-search.js +462 -0
  184. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +63 -0
  185. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.js +47 -0
  186. package/dist/collection/components/ez-skeleton/ez-skeleton.constants.js +1 -0
  187. package/dist/collection/components/ez-skeleton/ez-skeleton.css +94 -0
  188. package/dist/collection/components/ez-skeleton/ez-skeleton.js +211 -0
  189. package/dist/collection/components/ez-tabselector/ez-tabselector.css +149 -0
  190. package/dist/collection/components/ez-tabselector/ez-tabselector.js +321 -0
  191. package/dist/collection/components/ez-text-area/ez-text-area.css +242 -0
  192. package/dist/collection/components/ez-text-area/ez-text-area.js +428 -0
  193. package/dist/collection/components/ez-text-edit/ez-text-edit.css +19 -0
  194. package/dist/collection/components/ez-text-edit/ez-text-edit.js +202 -0
  195. package/dist/collection/components/ez-text-input/ez-text-input.css +301 -0
  196. package/dist/collection/components/ez-text-input/ez-text-input.js +491 -0
  197. package/dist/collection/components/ez-time-input/ez-time-input.css +14 -0
  198. package/dist/collection/components/ez-time-input/ez-time-input.js +412 -0
  199. package/dist/collection/components/ez-toast/ez-toast.css +167 -0
  200. package/dist/collection/components/ez-toast/ez-toast.js +209 -0
  201. package/dist/collection/components/ez-tree/ez-tree.css +159 -0
  202. package/dist/collection/components/ez-tree/ez-tree.js +696 -0
  203. package/dist/collection/components/ez-tree/interfaces/ITree.js +1 -0
  204. package/dist/collection/components/ez-tree/interfaces/ITreeItem.js +1 -0
  205. package/dist/collection/components/ez-tree/subcomponents/DefaultIconResolver.js +8 -0
  206. package/dist/collection/components/ez-tree/subcomponents/DefaultTooltipResolver.js +3 -0
  207. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +24 -0
  208. package/dist/collection/components/ez-tree/subcomponents/index.js +2 -0
  209. package/dist/collection/components/ez-tree/types/Node.js +110 -0
  210. package/dist/collection/components/ez-tree/types/Tree.js +132 -0
  211. package/dist/collection/components/ez-upload/RemoteFile.js +94 -0
  212. package/dist/collection/components/ez-upload/ez-upload.css +582 -0
  213. package/dist/collection/components/ez-upload/ez-upload.js +587 -0
  214. package/dist/collection/components/ez-view-stack/ez-view-stack.css +9 -0
  215. package/dist/collection/components/ez-view-stack/ez-view-stack.js +126 -0
  216. package/dist/collection/index.js +1 -0
  217. package/dist/collection/servidor.js +101 -0
  218. package/dist/collection/setupTests.js +1 -0
  219. package/dist/collection/utils/ApplicationUtils.js +94 -0
  220. package/dist/collection/utils/AssetsUtils.js +19 -0
  221. package/dist/collection/utils/CSSVarsUtils.js +73 -0
  222. package/dist/collection/utils/constants.js +3 -0
  223. package/dist/collection/utils/form/DataBinder.js +287 -0
  224. package/dist/collection/utils/form/FormMetadata.js +176 -0
  225. package/dist/collection/utils/form/index.js +2 -0
  226. package/dist/collection/utils/form/interfaces/IDefaultConfig.js +1 -0
  227. package/dist/collection/utils/form/interfaces/IFormCardConfig.js +1 -0
  228. package/dist/collection/utils/form/interfaces/IFormConfig.js +1 -0
  229. package/dist/collection/utils/form/interfaces/IFormSheetMetadata.js +1 -0
  230. package/dist/collection/utils/form/interfaces/ISummaryField.js +1 -0
  231. package/dist/collection/utils/form/interfaces/ITabConfig.js +1 -0
  232. package/dist/collection/utils/form/interfaces/index.js +1 -0
  233. package/dist/collection/utils/index.js +6 -0
  234. package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +21 -0
  235. package/dist/collection/utils/interfaces/IFieldConfig.js +1 -0
  236. package/dist/collection/utils/mock/ez-upload-mock.js +30 -0
  237. package/dist/collection/utils/utils.js +6 -0
  238. package/dist/collection/utils/validators/recordvalidator/IInvalidField.js +1 -0
  239. package/dist/collection/utils/validators/recordvalidator/IRecordValidator.js +1 -0
  240. package/dist/collection/utils/validators/recordvalidator/IValidationResult.js +1 -0
  241. package/dist/collection/utils/validators/recordvalidator/IValidationSource.js +1 -0
  242. package/dist/collection/utils/validators/recordvalidator/RecordValidationProcessor.js +74 -0
  243. package/dist/custom-elements/index.d.ts +321 -0
  244. package/dist/custom-elements/index.js +129655 -0
  245. package/dist/esm/ApplicationUtils-d9a34a16.js +160 -0
  246. package/dist/esm/CSSVarsUtils-a97cfa29.js +75 -0
  247. package/dist/esm/CheckMode-bdb2ec19.js +7 -0
  248. package/dist/esm/DialogType-54a62731.js +9 -0
  249. package/dist/esm/EzScrollDirection-2df26c93.js +8 -0
  250. package/dist/esm/RecordValidationProcessor-abc814af.js +99 -0
  251. package/dist/esm/constants-6dab64f7.js +4 -0
  252. package/dist/esm/ez-actions-button.entry.js +208 -0
  253. package/dist/esm/ez-alert.entry.js +26 -0
  254. package/dist/esm/ez-application.entry.js +22 -0
  255. package/dist/esm/ez-badge.entry.js +116 -0
  256. package/dist/esm/ez-breadcrumb.entry.js +281 -0
  257. package/dist/esm/ez-button.entry.js +83 -0
  258. package/dist/esm/ez-calendar.entry.js +234 -0
  259. package/dist/esm/ez-card-item.entry.js +48 -0
  260. package/dist/esm/ez-check.entry.js +91 -0
  261. package/dist/esm/ez-chip.entry.js +112 -0
  262. package/dist/esm/ez-collapsible-box.entry.js +129 -0
  263. package/dist/esm/ez-combo-box.entry.js +686 -0
  264. package/dist/esm/ez-date-input.entry.js +184 -0
  265. package/dist/esm/ez-date-time-input.entry.js +238 -0
  266. package/dist/esm/ez-dialog.entry.js +176 -0
  267. package/dist/esm/ez-dropdown.entry.js +511 -0
  268. package/dist/esm/ez-file-item.entry.js +70 -0
  269. package/dist/esm/ez-filter-input_2.entry.js +132 -0
  270. package/dist/esm/ez-form-view.entry.js +187 -0
  271. package/dist/esm/ez-form.entry.js +929 -0
  272. package/dist/esm/ez-grid.entry.js +120834 -0
  273. package/dist/esm/ez-guide-navigator.entry.js +92 -0
  274. package/dist/esm/ez-icon.entry.js +40 -0
  275. package/dist/esm/ez-list.entry.js +554 -0
  276. package/dist/esm/ez-loading-bar.entry.js +28 -0
  277. package/dist/esm/ez-modal-container.entry.js +60 -0
  278. package/dist/esm/ez-modal.entry.js +68 -0
  279. package/dist/esm/ez-multi-selection-list.entry.js +179 -0
  280. package/dist/esm/ez-number-input.entry.js +177 -0
  281. package/dist/esm/ez-popover.entry.js +152 -0
  282. package/dist/esm/ez-popup.entry.js +62 -0
  283. package/dist/esm/ez-radio-button.entry.js +44 -0
  284. package/dist/esm/ez-scroller_3.entry.js +786 -0
  285. package/dist/esm/ez-search.entry.js +92 -0
  286. package/dist/esm/ez-skeleton.entry.js +63 -0
  287. package/dist/esm/ez-tabselector.entry.js +224 -0
  288. package/dist/esm/ez-text-area.entry.js +175 -0
  289. package/dist/esm/ez-text-edit.entry.js +103 -0
  290. package/dist/esm/ez-text-input.entry.js +243 -0
  291. package/dist/esm/ez-time-input.entry.js +164 -0
  292. package/dist/esm/ez-toast.entry.js +97 -0
  293. package/dist/esm/ez-upload.entry.js +391 -0
  294. package/dist/esm/ez-view-stack.entry.js +82 -0
  295. package/dist/esm/ezui.js +18 -0
  296. package/dist/esm/filter-column.entry.js +147 -0
  297. package/dist/esm/index-296b8458.js +2309 -0
  298. package/dist/esm/index.js +1 -0
  299. package/dist/esm/loader.js +18 -0
  300. package/dist/esm/polyfills/core-js.js +11 -0
  301. package/dist/esm/polyfills/css-shim.js +1 -0
  302. package/dist/esm/polyfills/dom.js +79 -0
  303. package/dist/esm/polyfills/es5-html-element.js +1 -0
  304. package/dist/esm/polyfills/index.js +34 -0
  305. package/dist/esm/polyfills/system.js +6 -0
  306. package/dist/ezui/ezui.esm.js +1 -0
  307. package/dist/ezui/index.esm.js +0 -0
  308. package/dist/ezui/p-028f264f.entry.js +1 -0
  309. package/dist/ezui/p-050247dc.entry.js +1 -0
  310. package/dist/ezui/p-061f4d73.entry.js +1 -0
  311. package/dist/ezui/p-1e7c4986.entry.js +1 -0
  312. package/dist/ezui/p-244dfe8a.entry.js +1 -0
  313. package/dist/ezui/p-25562cf8.entry.js +1 -0
  314. package/dist/ezui/p-27a01a26.js +1 -0
  315. package/dist/ezui/p-2da09f70.entry.js +1 -0
  316. package/dist/ezui/p-32b4163f.entry.js +1 -0
  317. package/dist/ezui/p-37673563.entry.js +1 -0
  318. package/dist/ezui/p-391de0e4.entry.js +1 -0
  319. package/dist/ezui/p-5ce6548c.entry.js +1 -0
  320. package/dist/ezui/p-5cef0264.entry.js +1 -0
  321. package/dist/ezui/p-5d6f2550.entry.js +1 -0
  322. package/dist/ezui/p-5e55a42b.entry.js +1 -0
  323. package/dist/ezui/p-60ba28ea.entry.js +1 -0
  324. package/dist/ezui/p-68352e41.entry.js +1 -0
  325. package/dist/ezui/p-6ab2f7c2.entry.js +1 -0
  326. package/dist/ezui/p-7525e604.entry.js +1 -0
  327. package/dist/ezui/p-7526f2b6.entry.js +1 -0
  328. package/dist/ezui/p-7eb3e1a5.js +1 -0
  329. package/dist/ezui/p-83885b21.entry.js +1 -0
  330. package/dist/ezui/p-86a2036d.js +1 -0
  331. package/dist/ezui/p-87e85160.entry.js +1 -0
  332. package/dist/ezui/p-8bd3903b.entry.js +1 -0
  333. package/dist/ezui/p-8fdff9cd.entry.js +1 -0
  334. package/dist/ezui/p-9285b53e.entry.js +1 -0
  335. package/dist/ezui/p-95426f93.entry.js +1 -0
  336. package/dist/ezui/p-964e5571.entry.js +304 -0
  337. package/dist/ezui/p-98bb8b16.js +1 -0
  338. package/dist/ezui/p-9b347f04.entry.js +1 -0
  339. package/dist/ezui/p-a01068e1.entry.js +1 -0
  340. package/dist/ezui/p-a510a4c5.entry.js +1 -0
  341. package/dist/ezui/p-a5e09759.entry.js +1 -0
  342. package/dist/ezui/p-ab574d59.js +1 -0
  343. package/dist/ezui/p-b11f035c.entry.js +1 -0
  344. package/dist/ezui/p-b853763b.js +1 -0
  345. package/dist/ezui/p-c49dbf23.entry.js +1 -0
  346. package/dist/ezui/p-ccb4ccd9.entry.js +1 -0
  347. package/dist/ezui/p-cd19a6f8.entry.js +1 -0
  348. package/dist/ezui/p-ce035beb.entry.js +1 -0
  349. package/dist/ezui/p-d43b22f3.entry.js +1 -0
  350. package/dist/ezui/p-d51aa09b.entry.js +1 -0
  351. package/dist/ezui/p-db528b31.entry.js +1 -0
  352. package/dist/ezui/p-e2dfd935.entry.js +1 -0
  353. package/dist/ezui/p-e318d280.js +2 -0
  354. package/dist/ezui/p-e67d0bd5.entry.js +1 -0
  355. package/dist/ezui/p-e7fa0ad6.entry.js +1 -0
  356. package/dist/ezui/p-f15ec3bb.js +1 -0
  357. package/dist/ezui/p-f4208819.entry.js +1 -0
  358. package/dist/ezui/p-fa571a4e.entry.js +1 -0
  359. package/dist/ezui/p-ff82b176.entry.js +1 -0
  360. package/dist/index.cjs.js +1 -0
  361. package/dist/index.js +1 -0
  362. package/dist/types/components/ez-actions-button/ez-actions-button.d.ts +82 -0
  363. package/dist/types/components/ez-alert/ez-alert.d.ts +10 -0
  364. package/dist/types/components/ez-application/ez-application.d.ts +10 -0
  365. package/dist/types/components/ez-badge/enum/sizes.d.ts +8 -0
  366. package/dist/types/components/ez-badge/ez-badge.d.ts +35 -0
  367. package/dist/types/components/ez-badge/interfaces/IPosition.d.ts +4 -0
  368. package/dist/types/components/ez-breadcrumb/ez-breadcrumb.d.ts +71 -0
  369. package/dist/types/components/ez-breadcrumb/subcomponents/breadcrumb-item.d.ts +13 -0
  370. package/dist/types/components/ez-button/ez-button.d.ts +41 -0
  371. package/dist/types/components/ez-calendar/ez-calendar.d.ts +74 -0
  372. package/dist/types/components/ez-card-item/ez-card-item.d.ts +32 -0
  373. package/dist/types/components/ez-check/CheckMode.d.ts +4 -0
  374. package/dist/types/components/ez-check/ez-check.d.ts +49 -0
  375. package/dist/types/components/ez-chip/ez-chip.d.ts +60 -0
  376. package/dist/types/components/ez-collapsible-box/ez-collapsible-box.d.ts +91 -0
  377. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +182 -0
  378. package/dist/types/components/ez-date-input/ez-date-input.d.ts +72 -0
  379. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +80 -0
  380. package/dist/types/components/ez-dialog/DialogType.d.ts +6 -0
  381. package/dist/types/components/ez-dialog/ez-dialog.d.ts +82 -0
  382. package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +60 -0
  383. package/dist/types/components/ez-dropdown/structure/DropdownItem.d.ts +28 -0
  384. package/dist/types/components/ez-dropdown/structure/SubmenuControl.d.ts +78 -0
  385. package/dist/types/components/ez-file-item/ez-file-item.d.ts +36 -0
  386. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +77 -0
  387. package/dist/types/components/ez-form/ez-form.d.ts +47 -0
  388. package/dist/types/components/ez-form/store/form.slice.d.ts +27 -0
  389. package/dist/types/components/ez-form-view/ez-form-view.d.ts +22 -0
  390. package/dist/types/components/ez-form-view/fieldbuilder/FieldBuilder.d.ts +2 -0
  391. package/dist/types/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.d.ts +3 -0
  392. package/dist/types/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.d.ts +2 -0
  393. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +4 -0
  394. package/dist/types/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.d.ts +2 -0
  395. package/dist/types/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.d.ts +3 -0
  396. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +2 -0
  397. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.d.ts +2 -0
  398. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +2 -0
  399. package/dist/types/components/ez-form-view/interfaces/IFormViewField.d.ts +3 -0
  400. package/dist/types/components/ez-form-view/interfaces/index.d.ts +1 -0
  401. package/dist/types/components/ez-form-view/structure/index.d.ts +14 -0
  402. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +287 -0
  403. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +89 -0
  404. package/dist/types/components/ez-grid/controller/ag-grid/AgGridUtils.d.ts +1 -0
  405. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +20 -0
  406. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +38 -0
  407. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +32 -0
  408. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +11 -0
  409. package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +12 -0
  410. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +10 -0
  411. package/dist/types/components/ez-grid/controller/ag-grid/editor/GridEditorUtils.d.ts +1 -0
  412. package/dist/types/components/ez-grid/controller/ag-grid/editor/IEditorMetadata.d.ts +9 -0
  413. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +10 -0
  414. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.d.ts +4 -0
  415. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.d.ts +5 -0
  416. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.d.ts +4 -0
  417. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.d.ts +3 -0
  418. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.d.ts +4 -0
  419. package/dist/types/components/ez-grid/controller/ag-grid/i18n/pt-BR.d.ts +2 -0
  420. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +8 -0
  421. package/dist/types/components/ez-grid/ez-grid.d.ts +139 -0
  422. package/dist/types/components/ez-grid/interfaces/ISelection.d.ts +3 -0
  423. package/dist/types/components/ez-grid/interfaces/ISelectionToastConfig.d.ts +3 -0
  424. package/dist/types/components/ez-grid/interfaces/index.d.ts +2 -0
  425. package/dist/types/components/ez-grid/subcomponents/filter-column.d.ts +57 -0
  426. package/dist/types/components/ez-grid/subcomponents/selection-counter.d.ts +15 -0
  427. package/dist/types/components/ez-grid/utils/InMemoryFilterColumnDataSource.d.ts +16 -0
  428. package/dist/types/components/ez-guide-navigator/ez-guide-navigator.d.ts +64 -0
  429. package/dist/types/components/ez-guide-navigator/interfaces/IGuideItem.d.ts +4 -0
  430. package/dist/types/components/ez-guide-navigator/interfaces/index.d.ts +1 -0
  431. package/dist/types/components/ez-icon/ez-icon.d.ts +20 -0
  432. package/dist/types/components/ez-list/ez-list.d.ts +133 -0
  433. package/dist/types/components/ez-loading-bar/ez-loading-bar.d.ts +12 -0
  434. package/dist/types/components/ez-modal/ez-modal.d.ts +53 -0
  435. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +47 -0
  436. package/dist/types/components/ez-modal-container/index.d.ts +2 -0
  437. package/dist/types/components/ez-modal-container/modal-action.d.ts +7 -0
  438. package/dist/types/components/ez-modal-container/modal-button-status.d.ts +6 -0
  439. package/dist/types/components/ez-multi-selection-list/ez-multi-selection-list.d.ts +68 -0
  440. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.d.ts +4 -0
  441. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionOption.d.ts +4 -0
  442. package/dist/types/components/ez-multi-selection-list/subcomponents/multi-selection-box-message.d.ts +4 -0
  443. package/dist/types/components/ez-number-input/ez-number-input.d.ts +81 -0
  444. package/dist/types/components/ez-popover/ez-popover.d.ts +60 -0
  445. package/dist/types/components/ez-popup/ez-popup.d.ts +37 -0
  446. package/dist/types/components/ez-radio-button/ez-radio-button.d.ts +37 -0
  447. package/dist/types/components/ez-scroller/EzScrollDirection.d.ts +5 -0
  448. package/dist/types/components/ez-scroller/ez-scroller.d.ts +38 -0
  449. package/dist/types/components/ez-search/ez-search.d.ts +84 -0
  450. package/dist/types/components/ez-sidebar-button/ez-sidebar-button.d.ts +11 -0
  451. package/dist/types/components/ez-skeleton/ez-skeleton.constants.d.ts +1 -0
  452. package/dist/types/components/ez-skeleton/ez-skeleton.d.ts +54 -0
  453. package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +52 -0
  454. package/dist/types/components/ez-text-area/ez-text-area.d.ts +78 -0
  455. package/dist/types/components/ez-text-edit/ez-text-edit.d.ts +41 -0
  456. package/dist/types/components/ez-text-input/ez-text-input.d.ts +82 -0
  457. package/dist/types/components/ez-time-input/ez-time-input.d.ts +74 -0
  458. package/dist/types/components/ez-toast/ez-toast.d.ts +45 -0
  459. package/dist/types/components/ez-tree/ez-tree.d.ts +101 -0
  460. package/dist/types/components/ez-tree/interfaces/ITree.d.ts +5 -0
  461. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +11 -0
  462. package/dist/types/components/ez-tree/subcomponents/DefaultIconResolver.d.ts +2 -0
  463. package/dist/types/components/ez-tree/subcomponents/DefaultTooltipResolver.d.ts +2 -0
  464. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +15 -0
  465. package/dist/types/components/ez-tree/subcomponents/index.d.ts +2 -0
  466. package/dist/types/components/ez-tree/types/Node.d.ts +22 -0
  467. package/dist/types/components/ez-tree/types/Tree.d.ts +21 -0
  468. package/dist/types/components/ez-upload/RemoteFile.d.ts +14 -0
  469. package/dist/types/components/ez-upload/ez-upload.d.ts +101 -0
  470. package/dist/types/components/ez-view-stack/ez-view-stack.d.ts +25 -0
  471. package/dist/types/components.d.ts +3464 -0
  472. package/dist/types/index.d.ts +1 -0
  473. package/dist/types/stencil-public-runtime.d.ts +1637 -0
  474. package/dist/types/utils/ApplicationUtils.d.ts +31 -0
  475. package/dist/types/utils/AssetsUtils.d.ts +1 -0
  476. package/dist/types/utils/CSSVarsUtils.d.ts +6 -0
  477. package/dist/types/utils/constants.d.ts +3 -0
  478. package/dist/types/utils/form/DataBinder.d.ts +30 -0
  479. package/dist/types/utils/form/FormMetadata.d.ts +23 -0
  480. package/dist/types/utils/form/index.d.ts +2 -0
  481. package/dist/types/utils/form/interfaces/IDefaultConfig.d.ts +5 -0
  482. package/dist/types/utils/form/interfaces/IFormCardConfig.d.ts +5 -0
  483. package/dist/types/utils/form/interfaces/IFormConfig.d.ts +13 -0
  484. package/dist/types/utils/form/interfaces/IFormSheetMetadata.d.ts +6 -0
  485. package/dist/types/utils/form/interfaces/ISummaryField.d.ts +4 -0
  486. package/dist/types/utils/form/interfaces/ITabConfig.d.ts +6 -0
  487. package/dist/types/utils/form/interfaces/index.d.ts +10 -0
  488. package/dist/types/utils/index.d.ts +6 -0
  489. package/dist/types/utils/interfaces/AbstractFieldMetadata.d.ts +17 -0
  490. package/dist/types/utils/interfaces/IFieldConfig.d.ts +13 -0
  491. package/dist/types/utils/utils.d.ts +2 -0
  492. package/dist/types/utils/validators/recordvalidator/IInvalidField.d.ts +4 -0
  493. package/dist/types/utils/validators/recordvalidator/IRecordValidator.d.ts +5 -0
  494. package/dist/types/utils/validators/recordvalidator/IValidationResult.d.ts +8 -0
  495. package/dist/types/utils/validators/recordvalidator/IValidationSource.d.ts +6 -0
  496. package/dist/types/utils/validators/recordvalidator/RecordValidationProcessor.d.ts +13 -0
  497. package/loader/cdn.js +3 -0
  498. package/loader/index.cjs.js +3 -0
  499. package/loader/index.d.ts +21 -0
  500. package/loader/index.es2017.js +3 -0
  501. package/loader/index.js +4 -0
  502. package/loader/package.json +11 -0
  503. package/package.json +93 -0
  504. package/react/.keepfolder +0 -0
  505. package/react/components.d.ts +48 -0
  506. package/react/components.js +52 -0
  507. package/react/components.js.map +1 -0
  508. package/react/react-component-lib/createComponent.d.ts +10 -0
  509. package/react/react-component-lib/createComponent.js +59 -0
  510. package/react/react-component-lib/createComponent.js.map +1 -0
  511. package/react/react-component-lib/createOverlayComponent.d.ts +20 -0
  512. package/react/react-component-lib/createOverlayComponent.js +89 -0
  513. package/react/react-component-lib/createOverlayComponent.js.map +1 -0
  514. package/react/react-component-lib/index.d.ts +2 -0
  515. package/react/react-component-lib/index.js +3 -0
  516. package/react/react-component-lib/index.js.map +1 -0
  517. package/react/react-component-lib/interfaces.d.ts +29 -0
  518. package/react/react-component-lib/interfaces.js +1 -0
  519. package/react/react-component-lib/interfaces.js.map +1 -0
  520. package/react/react-component-lib/utils/attachProps.d.ts +12 -0
  521. package/react/react-component-lib/utils/attachProps.js +96 -0
  522. package/react/react-component-lib/utils/attachProps.js.map +1 -0
  523. package/react/react-component-lib/utils/case.d.ts +2 -0
  524. package/react/react-component-lib/utils/case.js +7 -0
  525. package/react/react-component-lib/utils/case.js.map +1 -0
  526. package/react/react-component-lib/utils/dev.d.ts +2 -0
  527. package/react/react-component-lib/utils/dev.js +13 -0
  528. package/react/react-component-lib/utils/dev.js.map +1 -0
  529. package/react/react-component-lib/utils/index.d.ts +7 -0
  530. package/react/react-component-lib/utils/index.js +21 -0
  531. package/react/react-component-lib/utils/index.js.map +1 -0
@@ -0,0 +1,791 @@
1
+ import { ApplicationContext, DataType, MaskFormatter, NumberUtils, SortMode, StringUtils, UserInterface } from '@sankhyalabs/core';
2
+ import { Grid, } from 'ag-grid-community';
3
+ import { Grid as EnterpriseGrid, LicenseManager } from 'ag-grid-enterprise';
4
+ import DataSource from './DataSource';
5
+ import { EzGridCustomHeader } from './components/EzGridCustomHeader';
6
+ import { CellRendererStatus } from './components/cellRendererStatus';
7
+ import SelectionHeader from './components/selectionHeader';
8
+ import gridTerms from './i18n/pt-BR.js';
9
+ import { DISTINCT_FILTER_NAME_PREFIX } from '../../../../utils/constants';
10
+ import { calcFilterColumnLeftPosition } from './AgGridUtils';
11
+ import GridEditionManager from './GridEditionManager';
12
+ export default class AgGridController {
13
+ configFilterColumn(filterColumn) {
14
+ this._filterColumn = filterColumn;
15
+ this._filterColumn.addEventListener('applyFilterColumnOptions', this.handleFilteredColumnsChanged.bind(this));
16
+ }
17
+ handleFilteredColumnsChanged(event) {
18
+ const applied = event.detail;
19
+ this._filteredColumns.set(applied.field, applied.values);
20
+ this._gridOptions.api.refreshHeader();
21
+ this._dataUnit.loadData();
22
+ }
23
+ showFilterColumn(configs) {
24
+ var _a;
25
+ (_a = this._filterColumn) === null || _a === void 0 ? void 0 : _a.show(configs);
26
+ }
27
+ constructor(enterprise) {
28
+ this.DEFAULT_ROW_HEIGHT = 30;
29
+ this.DEFAULT_HEADER_ROW_HEIGHT = 32;
30
+ this.CHECK_BOX_COL_ID = 'checkBoxColumn';
31
+ this.STATUS_COL_ID = 'statusColumn';
32
+ this.RECORD_ARCHIVE_COL_ID = '__RECORD_ARCHIVE__';
33
+ this.BLOCK_LOAD_DEBOUNCE = 400;
34
+ this.DEFAULT_FONT_SIZE = 14;
35
+ this.DEFAULT_ICON_SIZE = 12;
36
+ this.DEFAULT_MAX_SIZE = 200;
37
+ this._menuItems = [];
38
+ this._idAttribName = '__record__id__';
39
+ this._gridConfig = [];
40
+ this._filteredColumns = new Map();
41
+ this._filterColumnleftPosition = '0px';
42
+ this._enterprise = enterprise;
43
+ }
44
+ getGridConfig() {
45
+ return this._gridConfig;
46
+ }
47
+ getGridApi() {
48
+ return this._gridOptions.api;
49
+ }
50
+ getSort() {
51
+ const sortedColumns = [];
52
+ this._gridOptions.columnApi
53
+ .getColumnState()
54
+ .sort((colA, colB) => colA.sortIndex - colB.sortIndex)
55
+ .forEach(({ colId, sort }) => {
56
+ if (sort) {
57
+ const field = this._dataUnit.getField(colId);
58
+ const mode = sort === 'asc' ? SortMode.ASC : SortMode.DESC;
59
+ const sortField = field ? { field: field.name, dataType: field.dataType, mode } : { field: colId, dataType: DataType.TEXT, mode };
60
+ sortedColumns.push(sortField);
61
+ }
62
+ });
63
+ return sortedColumns;
64
+ }
65
+ getFilter() {
66
+ if (!this._filteredColumns || this._filteredColumns.size === 0) {
67
+ return;
68
+ }
69
+ return Array.from(this._filteredColumns.entries())
70
+ .map(([column, items]) => {
71
+ var _a;
72
+ const checkedOptions = items.filter(option => option.check);
73
+ if (checkedOptions.length > 0) {
74
+ const fieldDescriptor = this._dataUnit.getField(column);
75
+ const dataType = (_a = fieldDescriptor === null || fieldDescriptor === void 0 ? void 0 : fieldDescriptor.dataType) !== null && _a !== void 0 ? _a : DataType.TEXT;
76
+ let placeholders = '';
77
+ const params = [];
78
+ checkedOptions.forEach(option => {
79
+ if (placeholders.length > 0) {
80
+ placeholders = placeholders + ',';
81
+ }
82
+ const paramName = `PARAM_${column}_${params.length + 1}`;
83
+ placeholders = `${placeholders}:${paramName}`; //FIXME: trocar por ? quando o backend estiver funcionando
84
+ params.push({
85
+ dataType: dataType === DataType.OBJECT ? DataType.TEXT : dataType,
86
+ name: paramName,
87
+ value: option.value,
88
+ });
89
+ });
90
+ const columnExpression = dataType === DataType.DATE ? `onlydate(this.${column})` : `this.${column}`;
91
+ return {
92
+ name: `${DISTINCT_FILTER_NAME_PREFIX}${column}`,
93
+ expression: `${columnExpression} in (${placeholders})`,
94
+ params,
95
+ };
96
+ }
97
+ return undefined;
98
+ })
99
+ .filter(item => item != undefined);
100
+ }
101
+ initDatagrid(container, options) {
102
+ var _a;
103
+ if (this._grid === undefined) {
104
+ LicenseManager.setLicenseKey(ApplicationContext.getContextValue('__EZUI__GRID_LICENSE__'));
105
+ this._columnStateChangeCallback = options.onColumnStateChange;
106
+ this._selectionChangeCallback = options.onSelectionChange;
107
+ this._doubleClickCallBack = options.onDoubleClick;
108
+ this._multipleSelection = options.allowMultipleSelection;
109
+ this._dataUnit = options.dataUnit;
110
+ this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled);
111
+ this._statusResolver = options.statusResolver;
112
+ if (this._dataUnit) {
113
+ this._dataUnit.sortingProvider = this;
114
+ this._dataUnit.addFilterProvider(this);
115
+ }
116
+ this._gridOptions = {
117
+ localeText: gridTerms,
118
+ enableRangeSelection: this._multipleSelection,
119
+ rowSelection: this._multipleSelection ? 'multiple' : 'single',
120
+ sortingOrder: ['desc', 'asc', null],
121
+ blockLoadDebounceMillis: this.BLOCK_LOAD_DEBOUNCE,
122
+ navigateToNextCell: this.navigateToNextCell.bind(this),
123
+ getRowNodeId: this._dataUnit ? params => (typeof params === 'string' ? params : params[this._idAttribName]) : undefined,
124
+ getMainMenuItems: (params) => this.buildMenuItemOptions(params),
125
+ postProcessPopup: (params) => this.setFilterColumnLeftPosition(params),
126
+ getRowHeight: this.getRowHeight.bind(this),
127
+ defaultColDef: {
128
+ headerClass: 'ez-grid__cell-header',
129
+ cellClass: 'ez-grid__cell-body',
130
+ cellStyle: {
131
+ height: '100%'
132
+ }
133
+ },
134
+ components: Object.assign({ ezGridHeaderComponent: SelectionHeader, ezGridCustomHeader: EzGridCustomHeader }, this._editionManager.getComponents()),
135
+ context: {
136
+ editionManager: this._editionManager,
137
+ dataUnit: this._dataUnit,
138
+ headerCheckStatusGetter: () => this.getSelectionHeaderStatus(),
139
+ headerCheckStatusSetter: (selectAll) => this.updateSelectionForAll(selectAll),
140
+ },
141
+ };
142
+ this.defineRowModelType(this._gridOptions, options);
143
+ this.setOptionsEvents(this._gridOptions);
144
+ this.setOptionsSupress(this._gridOptions);
145
+ this._gridOptions = this._editionManager.configureGrid(this._gridOptions);
146
+ if (this._enterprise) {
147
+ this._grid = new EnterpriseGrid(container, this._gridOptions);
148
+ }
149
+ else {
150
+ this._grid = new Grid(container, this._gridOptions);
151
+ }
152
+ const selection = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectionInfo();
153
+ if (selection === null || selection === void 0 ? void 0 : selection.isAllRecords()) {
154
+ this.selectAll(true);
155
+ }
156
+ else {
157
+ this.selectRows((selection === null || selection === void 0 ? void 0 : selection.recordIds) || [], true);
158
+ }
159
+ this._gridOptions.api.setHeaderHeight(this.getHeaderRowHeight());
160
+ }
161
+ }
162
+ setFilterColumnLeftPosition(params) {
163
+ if (params.type === 'columnMenu') {
164
+ const ePopup = params.ePopup;
165
+ const leftString = ePopup.style.left.replace('px', '');
166
+ this._filterColumnleftPosition = `${calcFilterColumnLeftPosition(parseInt(leftString))}px`;
167
+ return;
168
+ }
169
+ }
170
+ buildMenuItemOptions(params) {
171
+ const col = params.column;
172
+ const items = [];
173
+ if (col.getColDef().sortable) {
174
+ items.push(this.buildMenuItemOptionSort(params, 'asc'));
175
+ items.push(this.buildMenuItemOptionSort(params, 'desc'));
176
+ items.push(this.buildMenuItemFilterColumn(params));
177
+ }
178
+ this._menuItems.forEach(m => items.push({
179
+ icon: m.icon,
180
+ name: m.label,
181
+ action: () => m.action(params),
182
+ }));
183
+ items.push(this.buildMenuItemOptionPin(params));
184
+ return items;
185
+ }
186
+ buildMenuItemOptionSort(params, sortOrder) {
187
+ return {
188
+ icon: `<i class='ez-icon-arrow_downward'></i>`,
189
+ name: sortOrder === 'asc' ? 'Ordenar Ascendente' : 'Ordenar Descendente',
190
+ action: () => this.sortDataByColumn(params, sortOrder),
191
+ };
192
+ }
193
+ buildMenuItemFilterColumn(params) {
194
+ const columnName = params.column.getId();
195
+ const columnLabel = params.column.getColDef().headerName;
196
+ return {
197
+ icon: `<i class='ez-icon-filter'></i>`,
198
+ name: 'Filtrar',
199
+ action: () => this.showFilterColumn({ columnName, columnLabel, leftPosition: this._filterColumnleftPosition, filteredOptions: this._filteredColumns.get(columnName) }),
200
+ };
201
+ }
202
+ buildMenuItemOptionPin(params) {
203
+ const { column, columnApi } = params;
204
+ const isPinned = params.column.isPinned();
205
+ return {
206
+ icon: `<i class='ez-icon-${isPinned ? 'un-pin' : 'push-pin'}'></i>`,
207
+ name: isPinned ? 'Desafixar coluna' : 'Fixar coluna',
208
+ action: () => {
209
+ columnApi.applyColumnState({
210
+ state: [{ colId: column.getColId(), pinned: column.isPinned() ? null : 'left' }],
211
+ });
212
+ },
213
+ };
214
+ }
215
+ sortDataByColumn(params, order) {
216
+ const col = params.column;
217
+ const colApi = params.columnApi;
218
+ if (col.getSort() === order) {
219
+ colApi.applyColumnState({
220
+ defaultState: { sort: null },
221
+ });
222
+ }
223
+ else {
224
+ colApi.applyColumnState({
225
+ state: [{ colId: col.getColId(), sort: order }],
226
+ defaultState: { sort: null },
227
+ });
228
+ }
229
+ }
230
+ getRowHeight() {
231
+ return this.DEFAULT_ROW_HEIGHT;
232
+ }
233
+ getHeaderRowHeight() {
234
+ return this.DEFAULT_HEADER_ROW_HEIGHT;
235
+ }
236
+ navigateToNextCell(params) {
237
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
238
+ switch (params.key) {
239
+ case 'ArrowUp':
240
+ if (((_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.hasPrevious()) === false) {
241
+ return null;
242
+ }
243
+ this._gridOptions.api.deselectAll();
244
+ if (((_b = params.nextCellPosition) === null || _b === void 0 ? void 0 : _b.rowIndex) < 0) {
245
+ (_c = this._dataUnit) === null || _c === void 0 ? void 0 : _c.previousRecord();
246
+ return null;
247
+ }
248
+ else {
249
+ (_d = this._dataUnit) === null || _d === void 0 ? void 0 : _d.setSelectionByIndex([params.nextCellPosition.rowIndex]);
250
+ return params.nextCellPosition;
251
+ }
252
+ case 'ArrowDown':
253
+ if (((_e = this._dataUnit) === null || _e === void 0 ? void 0 : _e.hasNext()) === false) {
254
+ return null;
255
+ }
256
+ this._gridOptions.api.deselectAll();
257
+ if ((_f = params.nextCellPosition) === null || _f === void 0 ? void 0 : _f.rowIndex) {
258
+ (_g = this._dataUnit) === null || _g === void 0 ? void 0 : _g.setSelectionByIndex([params.nextCellPosition.rowIndex]);
259
+ }
260
+ else {
261
+ (_h = this._dataUnit) === null || _h === void 0 ? void 0 : _h.nextRecord();
262
+ }
263
+ return params.nextCellPosition;
264
+ case 'ArrowLeft':
265
+ case 'ArrowRight':
266
+ if (((_j = params.nextCellPosition) === null || _j === void 0 ? void 0 : _j.column.colDef.headerName) !== '') {
267
+ return params.nextCellPosition;
268
+ }
269
+ else {
270
+ return null;
271
+ }
272
+ }
273
+ return null;
274
+ }
275
+ defineRowModelType(opt, sourceOptions) {
276
+ if (this._dataUnit != undefined) {
277
+ opt.rowModelType = 'serverSide';
278
+ opt.serverSideDatasource = new DataSource(this._dataUnit, this, sourceOptions);
279
+ opt.serverSideSortOnServer = true;
280
+ opt.columnDefs = this._colDefs;
281
+ }
282
+ }
283
+ setOptionsEvents(opt) {
284
+ opt.onSortChanged = e => this.onCallStateChange('sort', e);
285
+ opt.onColumnResized = e => this.onCallStateChange('columnResize', e);
286
+ opt.onColumnPinned = e => this.onCallStateChange('columnPinned', e);
287
+ opt.onColumnMoved = e => this.onCallStateChange('columnMoved', e);
288
+ opt.onColumnVisible = e => this.onCallStateChange('visibleChange', e);
289
+ opt.onSelectionChanged = e => this.onSelectionChange(e);
290
+ opt.onRowDoubleClicked = evt => this.onRowDoubleClick(evt);
291
+ opt.onDragStopped = evt => this.onCallStateChange('columnMovedEnd', evt);
292
+ opt.onCellClicked = evt => this.onCellClicked(evt);
293
+ }
294
+ setOptionsSupress(opt) {
295
+ opt.suppressDragLeaveHidesColumns = true;
296
+ opt.suppressMenuHide = true;
297
+ }
298
+ getSelectionHeaderStatus() {
299
+ const records = this._dataUnit.records;
300
+ if (records && records.length === 0) {
301
+ return false;
302
+ }
303
+ const selectionInfo = this._dataUnit.getSelectionInfo();
304
+ if (selectionInfo.isAllRecords()) {
305
+ return true;
306
+ }
307
+ const selection = selectionInfo.recordIds;
308
+ if (selection == undefined || selection.length === 0) {
309
+ return false;
310
+ }
311
+ let status = undefined;
312
+ for (let i = 0; i < records.length; i++) {
313
+ const current = selection.includes(records[i].__record__id__);
314
+ if (status != undefined && current !== status) {
315
+ return undefined;
316
+ }
317
+ status = current;
318
+ }
319
+ return status;
320
+ }
321
+ updateSelectionForAll(selectAll) {
322
+ this._dataUnit.updatePageSelection(selectAll ? this._dataUnit.records.map(r => r.__record__id__) : []);
323
+ }
324
+ setData(data) {
325
+ if (this._grid === undefined) {
326
+ throw new Error('Erro interno: Grid ainda não inicializado.');
327
+ }
328
+ this._gridOptions.api.setRowData(data);
329
+ }
330
+ addRows() {
331
+ if (this._grid === undefined) {
332
+ throw new Error('Erro interno: Grid ainda não inicializado.');
333
+ }
334
+ }
335
+ updateRows() {
336
+ if (this._grid === undefined) {
337
+ throw new Error('Erro interno: Grid ainda não inicializado.');
338
+ }
339
+ }
340
+ selectAll(quietly = false) {
341
+ try {
342
+ this._gridOptions.context.selectionChangeQuietly = quietly;
343
+ this._gridOptions.api.forEachNode(node => {
344
+ if (!node.isSelected()) {
345
+ node.setSelected(true);
346
+ }
347
+ });
348
+ }
349
+ finally {
350
+ const newContext = Object.assign({}, this._gridOptions.context);
351
+ delete newContext.selectionChangeQuietly;
352
+ this._gridOptions.context = newContext;
353
+ }
354
+ }
355
+ selectRows(rowIds, quietly = false) {
356
+ var _a;
357
+ try {
358
+ this._gridOptions.context.selectionChangeQuietly = quietly;
359
+ if (this._grid === undefined) {
360
+ throw new Error('Erro interno: Grid ainda não inicializado.');
361
+ }
362
+ let lastSelected;
363
+ this._gridOptions.api.forEachNode(node => {
364
+ if (rowIds && rowIds.includes(node.id)) {
365
+ if (!node.isSelected()) {
366
+ node.setSelected(true);
367
+ lastSelected = node;
368
+ }
369
+ }
370
+ else {
371
+ if (node.isSelected()) {
372
+ node.setSelected(false);
373
+ }
374
+ }
375
+ });
376
+ const selectionHeader = this._gridOptions.context.selectionHeader;
377
+ if (selectionHeader) {
378
+ selectionHeader.updateCheckbox();
379
+ }
380
+ if (lastSelected) {
381
+ (_a = this._gridOptions.api) === null || _a === void 0 ? void 0 : _a.ensureNodeVisible(lastSelected);
382
+ }
383
+ }
384
+ finally {
385
+ const newContext = Object.assign({}, this._gridOptions.context);
386
+ delete newContext.selectionChangeQuietly;
387
+ this._gridOptions.context = newContext;
388
+ }
389
+ }
390
+ removeRows() {
391
+ if (this._grid === undefined) {
392
+ throw new Error('Erro interno: Grid ainda não inicializado.');
393
+ }
394
+ this._gridOptions.api.refreshServerSide({ purge: true });
395
+ }
396
+ changeValues(changes, rowIds) {
397
+ if (this._grid === undefined) {
398
+ throw new Error('Erro interno: Grid ainda não inicializado.');
399
+ }
400
+ if (changes) {
401
+ let rowNodes;
402
+ if (rowIds) {
403
+ rowNodes = [];
404
+ rowIds.forEach(id => {
405
+ const rowNode = this._gridOptions.api.getRowNode(id);
406
+ if (rowNode) {
407
+ rowNodes.push(rowNode);
408
+ }
409
+ });
410
+ }
411
+ else {
412
+ rowNodes = this._gridOptions.api.getSelectedNodes();
413
+ }
414
+ rowNodes.forEach(r => {
415
+ const data = r.data;
416
+ Object.entries(changes).forEach(([field, value]) => {
417
+ data[field] = value;
418
+ });
419
+ r.setData(data);
420
+ });
421
+ }
422
+ }
423
+ refresh() {
424
+ if (this._grid === undefined) {
425
+ throw new Error('Erro interno: Grid ainda não inicializado.');
426
+ }
427
+ this._gridOptions.api.refreshServerSide({ purge: false });
428
+ }
429
+ setFocusFirstRow() {
430
+ const firstRow = this._gridOptions.api.getDisplayedRowAtIndex(0);
431
+ if (firstRow) {
432
+ this.setFocusOnRow(firstRow.rowIndex);
433
+ }
434
+ }
435
+ setFocusLastRow() {
436
+ const lastRow = this._gridOptions.api.getDisplayedRowAtIndex(this._gridOptions.api.getLastDisplayedRow());
437
+ if (lastRow) {
438
+ this.setFocusOnRow(lastRow.rowIndex);
439
+ }
440
+ }
441
+ setFocusOnRow(rowIndex) {
442
+ let displayedColumns = this._gridOptions.columnApi.getAllDisplayedColumns();
443
+ let firstCell = displayedColumns.find(column => column.getColDef().headerName !== '');
444
+ this._gridOptions.api.ensureColumnVisible(firstCell);
445
+ this._gridOptions.api.ensureIndexVisible(rowIndex);
446
+ this._gridOptions.api.setFocusedCell(rowIndex, firstCell);
447
+ }
448
+ setColumnsDef(cols) {
449
+ const newColDefs = [
450
+ Object.assign({ colId: this.CHECK_BOX_COL_ID, headerName: '', checkboxSelection: true, width: 29, suppressMovable: true, suppressAutoSize: true, suppressMenu: true, lockPosition: true, pinned: true }, (this._multipleSelection && { headerComponent: 'ezGridHeaderComponent', headerClass: 'ag-column-select-header' })),
451
+ ];
452
+ if (this._statusResolver != undefined) {
453
+ newColDefs.push({
454
+ colId: this.STATUS_COL_ID,
455
+ headerName: '',
456
+ checkboxSelection: false,
457
+ headerCheckboxSelection: false,
458
+ width: 29,
459
+ suppressMovable: true,
460
+ suppressAutoSize: true,
461
+ suppressMenu: true,
462
+ lockPosition: true,
463
+ pinned: true,
464
+ cellRenderer: CellRendererStatus,
465
+ cellRendererParams: {
466
+ statusResolver: this._statusResolver,
467
+ },
468
+ cellStyle: {
469
+ 'text-align': 'center',
470
+ },
471
+ });
472
+ }
473
+ cols.forEach(c => {
474
+ newColDefs.push(this.buildColDef(c));
475
+ });
476
+ this._colDefs = newColDefs;
477
+ if (this._gridOptions && this._gridOptions.api) {
478
+ this._gridOptions.api.setColumnDefs(this._colDefs);
479
+ }
480
+ }
481
+ getColumnsDef() {
482
+ if (this._grid === undefined) {
483
+ throw new Error('Erro interno: Grid ainda não inicializado.');
484
+ }
485
+ const colDef = this._gridOptions.columnApi.getColumns();
486
+ return colDef
487
+ .filter(c => ![this.CHECK_BOX_COL_ID, this.STATUS_COL_ID].includes(c.getColId()))
488
+ .map(c => {
489
+ const def = c.getColDef();
490
+ const colDef = { name: def.field, label: def.headerName };
491
+ this.conditionalSet(colDef, 'sortable', def.sortable);
492
+ this.conditionalSet(colDef, 'resizable', def.resizable);
493
+ this.conditionalSet(colDef, 'sort', def.sort);
494
+ this.conditionalSet(colDef, 'sortIndex', def.sortIndex);
495
+ this.conditionalSet(colDef, 'width', def.width);
496
+ this.conditionalSet(colDef, 'pinned', def.pinned !== null);
497
+ this.conditionalSet(colDef, 'hidden', def.hide);
498
+ return colDef;
499
+ });
500
+ }
501
+ setColumnsState(state) {
502
+ if (this._grid === undefined) {
503
+ throw new Error('Erro interno: Grid ainda não inicializado.');
504
+ }
505
+ const colDef = this._gridOptions.columnApi.getColumns();
506
+ let columns = this.getColumnsDef();
507
+ let visibleColumns = [];
508
+ //Existem colunas implícitas que não tem estado, essas colunas são sempre as primeiras.
509
+ //Como vamos reordenar, precisamos considerar o deslocamento provocado por elas.
510
+ const columnsOffset = colDef.length - columns.length;
511
+ let sort = [];
512
+ state.forEach((cfgColumn, index) => {
513
+ const colWidth = this.getColumnWidth(cfgColumn);
514
+ this._gridOptions.columnApi.moveColumn(cfgColumn.name, index + columnsOffset);
515
+ this._gridOptions.columnApi.setColumnWidth(cfgColumn.name, colWidth);
516
+ visibleColumns.push(cfgColumn.name);
517
+ if (cfgColumn.ascending !== undefined) {
518
+ sort.push({ colId: cfgColumn.name, sort: cfgColumn.ascending !== true ? 'desc' : 'asc', sortIndex: cfgColumn.orderIndex });
519
+ }
520
+ });
521
+ let invisibleColumns = columns.filter(column => !visibleColumns.includes(column.name)).map(column => column.name);
522
+ this._gridOptions.columnApi.setColumnsVisible(visibleColumns, true);
523
+ this._gridOptions.columnApi.setColumnsVisible(invisibleColumns, false);
524
+ this._gridOptions.columnApi.applyColumnState({
525
+ state: sort,
526
+ defaultState: { sort: null },
527
+ });
528
+ this._gridConfig = state;
529
+ }
530
+ getColumnsState() {
531
+ if (this._grid === undefined) {
532
+ throw new Error('Erro interno: Grid ainda não inicializado.');
533
+ }
534
+ const colState = this._gridOptions.columnApi.getColumnState();
535
+ return colState
536
+ .map(s => {
537
+ const def = this._gridOptions.columnApi.getColumn(s.colId).getColDef();
538
+ const label = def.headerName;
539
+ const name = def.checkboxSelection ? '__SELECTION__' : s.colId;
540
+ const colState = { label, name };
541
+ this.conditionalSet(colState, 'sort', s.sort);
542
+ this.conditionalSet(colState, 'sortIndex', s.sortIndex);
543
+ this.conditionalSet(colState, 'width', s.width);
544
+ this.conditionalSet(colState, 'pinned', s.pinned !== null);
545
+ this.conditionalSet(colState, 'hidden', s.hide);
546
+ const props = new Map();
547
+ props.set('sortable', def.sortable);
548
+ this.conditionalSet(colState, 'props', props);
549
+ return colState;
550
+ })
551
+ .filter(c => c.name !== '__SELECTION__' && c.name !== this.STATUS_COL_ID);
552
+ }
553
+ getSelection() {
554
+ return this._gridOptions.api.getSelectedRows();
555
+ }
556
+ addColumnMenuItem(item) {
557
+ const itemsNames = this._menuItems.map(i => i.name);
558
+ if (!itemsNames.includes(item.name)) {
559
+ this._menuItems.push(item);
560
+ }
561
+ }
562
+ quickFilter(term) {
563
+ if (term) {
564
+ const quickFilter = {
565
+ term,
566
+ fields: this._gridOptions.columnApi
567
+ .getColumns()
568
+ .filter(col => col.isVisible() && ![this.CHECK_BOX_COL_ID, this.STATUS_COL_ID, this.RECORD_ARCHIVE_COL_ID].includes(col.getColId()))
569
+ .map(col => col.getColId()),
570
+ };
571
+ this._dataSource.quickFilter = quickFilter;
572
+ }
573
+ else {
574
+ this._dataSource.quickFilter = undefined;
575
+ }
576
+ }
577
+ setSelectedIndex(index) {
578
+ var _a;
579
+ (_a = this._gridOptions.api.getDisplayedRowAtIndex(index)) === null || _a === void 0 ? void 0 : _a.setSelected(true);
580
+ }
581
+ hasFilterColumn(columnName) {
582
+ var _a;
583
+ const filterOptions = (_a = this._filteredColumns.get(columnName)) !== null && _a !== void 0 ? _a : [];
584
+ return filterOptions.map(item => item.check).includes(true);
585
+ }
586
+ buildColDef(source) {
587
+ var _a, _b, _c;
588
+ let tooltip = undefined;
589
+ const propSortable = StringUtils.getBooleanValue((_a = source.props) === null || _a === void 0 ? void 0 : _a.get('gridSortable'), true);
590
+ if ((_b = source.props) === null || _b === void 0 ? void 0 : _b.get('gridHeaderTooltip')) {
591
+ tooltip = (_c = source.props) === null || _c === void 0 ? void 0 : _c.get('gridHeaderTooltip');
592
+ }
593
+ else if (propSortable === false) {
594
+ tooltip = 'Coluna não pode ser ordenada';
595
+ }
596
+ return this._editionManager.configureColumn({
597
+ headerName: source.label,
598
+ field: source.name,
599
+ sortable: propSortable,
600
+ resizable: true,
601
+ headerComponent: 'ezGridCustomHeader',
602
+ headerComponentParams: {
603
+ tooltip: tooltip,
604
+ isSortable: propSortable,
605
+ hasFilter: () => this.hasFilterColumn(source.name),
606
+ showColumnFilter: (leftPosition, fromIcon) => this.showFilterColumn({ columnName: source.name, columnLabel: source.label, leftPosition, filteredOptions: this._filteredColumns.get(source.name), fromIcon }),
607
+ },
608
+ valueFormatter: params => {
609
+ if (params.value == undefined) {
610
+ return "";
611
+ }
612
+ if (params.value instanceof Promise) {
613
+ return "Carregando...";
614
+ }
615
+ if (this._dataUnit) {
616
+ return this._dataUnit.getFormattedValue(source.name, params.value);
617
+ }
618
+ return this.getFormatterByColumn(params, source);
619
+ },
620
+ cellStyle: this.getStyleByColumn(source),
621
+ });
622
+ }
623
+ getInitCellStyle() {
624
+ return {
625
+ 'line-height': this.getRowHeight() - 1 + 'px',
626
+ };
627
+ }
628
+ getStyleByColumn(source) {
629
+ let cellStyle = this.getInitCellStyle();
630
+ switch (source === null || source === void 0 ? void 0 : source.userInterface) {
631
+ case UserInterface.DECIMALNUMBER:
632
+ case UserInterface.INTEGERNUMBER:
633
+ cellStyle['text-align'] = 'right';
634
+ break;
635
+ case UserInterface.DATE:
636
+ case UserInterface.DATETIME:
637
+ case UserInterface.TIME:
638
+ cellStyle['text-align'] = 'center';
639
+ break;
640
+ default:
641
+ cellStyle['text-align'] = 'left';
642
+ }
643
+ return cellStyle;
644
+ }
645
+ getFormatterByColumn(params, source) {
646
+ var _a;
647
+ if ((source === null || source === void 0 ? void 0 : source.userInterface) === 'OPTIONSELECTOR' && source.options) {
648
+ const prop = source === null || source === void 0 ? void 0 : source.options;
649
+ let options;
650
+ if (typeof prop === 'string') {
651
+ const parsed = JSON.parse(prop);
652
+ options = Object.keys(parsed).map(key => {
653
+ return { value: key, label: parsed[key] };
654
+ });
655
+ }
656
+ else {
657
+ options = prop;
658
+ }
659
+ let optionSelected;
660
+ options.forEach(option => {
661
+ if (option.value == params.value) {
662
+ optionSelected = option;
663
+ }
664
+ });
665
+ return optionSelected === null || optionSelected === void 0 ? void 0 : optionSelected.label;
666
+ }
667
+ if ((source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.SWITCH) {
668
+ if ((params === null || params === void 0 ? void 0 : params.value) === 'S' || (params === null || params === void 0 ? void 0 : params.value) === true || (params === null || params === void 0 ? void 0 : params.value) === 'true') {
669
+ return 'Sim';
670
+ }
671
+ else if ((params === null || params === void 0 ? void 0 : params.value) === 'N' || (params === null || params === void 0 ? void 0 : params.value) === false || (params === null || params === void 0 ? void 0 : params.value) === 'false') {
672
+ return 'Não';
673
+ }
674
+ }
675
+ if ((source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.SEARCH) {
676
+ if (((_a = params === null || params === void 0 ? void 0 : params.value) === null || _a === void 0 ? void 0 : _a.value) != undefined) {
677
+ return params.value.value + ' - ' + params.value.label;
678
+ }
679
+ else {
680
+ return params === null || params === void 0 ? void 0 : params.value;
681
+ }
682
+ }
683
+ if ((source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.DECIMALNUMBER) {
684
+ if (params.value != undefined) {
685
+ const precision = Number(source.props.get('precision')) || 2;
686
+ return NumberUtils.format(params.value.toString(), precision, precision);
687
+ }
688
+ }
689
+ if ((source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.DATE || (source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.DATETIME) {
690
+ if (params.value != undefined) {
691
+ return params.value.toLocaleDateString();
692
+ }
693
+ }
694
+ if ((source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.ELAPSEDTIME || (source === null || source === void 0 ? void 0 : source.userInterface) === UserInterface.TIME) {
695
+ if (!!params.value) {
696
+ const maskFormatter = new MaskFormatter("##:##");
697
+ const formattedValue = String(params.value).padStart(4, '0');
698
+ return maskFormatter.format(formattedValue);
699
+ }
700
+ }
701
+ }
702
+ onCallStateChange(type, e) {
703
+ const finished = !('finished' in e) || e['finished'];
704
+ if (finished && this._columnStateChangeCallback) {
705
+ let info = {};
706
+ let isUserChange = this.isUIEvent(e['source'], e['type']);
707
+ if (type === 'columnResize') {
708
+ info['column'] = { colId: e['column'].colId, actualWidth: e['column'].actualWidth };
709
+ }
710
+ info['isUserChange'] = isUserChange;
711
+ info['isElementResize'] = this.isElementResize(e);
712
+ this._columnStateChangeCallback(type, this.getColumnsState(), info);
713
+ }
714
+ }
715
+ onCellClicked(event) {
716
+ this._editionManager.verifyClickToEdition(event.api, {
717
+ rowIndex: event.rowIndex,
718
+ column: event.column,
719
+ rowPinned: undefined
720
+ });
721
+ }
722
+ isElementResize(e) {
723
+ return e['target'] && e['target'].getAttribute('ref') === 'eResize';
724
+ }
725
+ isUIEvent(source, type) {
726
+ let optionsArr = ['uiColumnMoved', 'uiColumnResized', 'uiColumnDragged', 'uiColumnExpanded', 'uiColumnSorted'];
727
+ if (type === 'dragStopped') {
728
+ return true;
729
+ }
730
+ if (source) {
731
+ return optionsArr.includes(source);
732
+ }
733
+ return false;
734
+ }
735
+ onSelectionChange(event) {
736
+ if (this._selectionChangeCallback) {
737
+ clearTimeout(this._selectionChangeDeboucing);
738
+ this._selectionChangeDeboucing = window.setTimeout(() => {
739
+ this._editionManager.proceedAutoSave();
740
+ if (this._dataUnit) {
741
+ if (event.context.selectionChangeQuietly) {
742
+ const selectionInfo = this._dataUnit;
743
+ this._selectionChangeCallback({
744
+ selection: selectionInfo.records,
745
+ selectionHeaderStatus: this.getSelectionHeaderStatus(),
746
+ });
747
+ }
748
+ else {
749
+ this._dataUnit.updatePageSelection(this._gridOptions.api.getSelectedRows().map((r) => r.__record__id__)).then(selectionInfo => {
750
+ this._selectionChangeCallback({
751
+ selection: selectionInfo.records,
752
+ selectionHeaderStatus: this.getSelectionHeaderStatus(),
753
+ });
754
+ });
755
+ }
756
+ }
757
+ else {
758
+ this._selectionChangeCallback({
759
+ selection: this._gridOptions.api.getSelectedRows(),
760
+ selectionHeaderStatus: this.getSelectionHeaderStatus(),
761
+ });
762
+ }
763
+ }, 0);
764
+ }
765
+ }
766
+ onRowDoubleClick(evt) {
767
+ if (this._doubleClickCallBack) {
768
+ this._doubleClickCallBack(evt.data);
769
+ }
770
+ }
771
+ conditionalSet(host, attribute, value) {
772
+ if (value !== null && value !== undefined && value !== false) {
773
+ host[attribute] = value;
774
+ }
775
+ }
776
+ getColumnWidth(cfgColumn) {
777
+ var _a, _b;
778
+ if (cfgColumn == undefined) {
779
+ return;
780
+ }
781
+ if (cfgColumn.customWidth != undefined) {
782
+ return cfgColumn.customWidth;
783
+ }
784
+ const field = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(cfgColumn.name);
785
+ if ((field === null || field === void 0 ? void 0 : field.userInterface) === UserInterface.SEARCH) {
786
+ return this.DEFAULT_MAX_SIZE;
787
+ }
788
+ const labelSize = (((_b = field === null || field === void 0 ? void 0 : field.label) === null || _b === void 0 ? void 0 : _b.length) || 0) * this.DEFAULT_FONT_SIZE + this.DEFAULT_ICON_SIZE;
789
+ return labelSize > this.DEFAULT_MAX_SIZE ? this.DEFAULT_MAX_SIZE : labelSize;
790
+ }
791
+ }