dinocollab-core 2.1.19 → 2.1.21

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 (445) hide show
  1. package/dist/_virtual/Reflect.js +2 -0
  2. package/dist/_virtual/Reflect.js.map +1 -0
  3. package/dist/_virtual/Reflect2.js +2 -0
  4. package/dist/_virtual/Reflect2.js.map +1 -0
  5. package/dist/_virtual/_commonjsHelpers.js +2 -0
  6. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  7. package/dist/api-context/index.js +1 -1
  8. package/dist/components/index.js +1 -1
  9. package/dist/data-view/index.js +1 -1
  10. package/dist/form/index.js +1 -1
  11. package/dist/hooks/index.js +1 -1
  12. package/dist/http-service/index.js +1 -1
  13. package/dist/lab/index.js +1 -1
  14. package/dist/mfe-shared/index.js +1 -1
  15. package/dist/node_modules/reflect-metadata/Reflect.js +16 -0
  16. package/dist/node_modules/reflect-metadata/Reflect.js.map +1 -0
  17. package/dist/redux/index.js +1 -1
  18. package/dist/src/api-context/alert-global.js +2 -0
  19. package/dist/src/api-context/alert-global.js.map +1 -0
  20. package/dist/src/api-context/drawer-global.js +2 -0
  21. package/dist/src/api-context/drawer-global.js.map +1 -0
  22. package/dist/src/api-context/global-modal.js +2 -0
  23. package/dist/src/api-context/global-modal.js.map +1 -0
  24. package/dist/src/api-context/popover-global.js +2 -0
  25. package/dist/src/api-context/popover-global.js.map +1 -0
  26. package/dist/src/api-context/popover.js +2 -0
  27. package/dist/src/api-context/popover.js.map +1 -0
  28. package/dist/src/api-context/ui.units.js.map +1 -0
  29. package/dist/src/components/breadcrumbs.js +2 -0
  30. package/dist/src/components/breadcrumbs.js.map +1 -0
  31. package/dist/src/components/buttons.js +2 -0
  32. package/dist/src/components/buttons.js.map +1 -0
  33. package/dist/src/components/copy-to-clipboard.js +2 -0
  34. package/dist/src/components/copy-to-clipboard.js.map +1 -0
  35. package/dist/src/components/create.multi-select-dropdown.js +2 -0
  36. package/dist/src/components/create.multi-select-dropdown.js.map +1 -0
  37. package/dist/src/components/help-tooltip.js +2 -0
  38. package/dist/src/components/help-tooltip.js.map +1 -0
  39. package/dist/src/components/image-with-fallback.js +2 -0
  40. package/dist/src/components/image-with-fallback.js.map +1 -0
  41. package/dist/src/components/rich-tooltip.js +2 -0
  42. package/dist/src/components/rich-tooltip.js.map +1 -0
  43. package/dist/src/components/text-editor.js +2 -0
  44. package/dist/src/components/text-editor.js.map +1 -0
  45. package/dist/src/components/text-editor.preview.js.map +1 -0
  46. package/dist/src/data-view/context.js +2 -0
  47. package/dist/src/data-view/context.js.map +1 -0
  48. package/dist/src/data-view/convert-filter-to-graphql.js +2 -0
  49. package/dist/src/data-view/convert-filter-to-graphql.js.map +1 -0
  50. package/dist/src/data-view/create.active-filters-panel.js +2 -0
  51. package/dist/src/data-view/create.active-filters-panel.js.map +1 -0
  52. package/dist/src/data-view/create.data-view.js +2 -0
  53. package/dist/src/data-view/create.data-view.js.map +1 -0
  54. package/dist/src/data-view/create.filter-bar.js +2 -0
  55. package/dist/src/data-view/create.filter-bar.js.map +1 -0
  56. package/dist/src/data-view/create.filter-menu.js +2 -0
  57. package/dist/src/data-view/create.filter-menu.js.map +1 -0
  58. package/dist/src/data-view/create.pagination-bar.js +2 -0
  59. package/dist/src/data-view/create.pagination-bar.js.map +1 -0
  60. package/dist/src/data-view/create.popper-panel.js +2 -0
  61. package/dist/src/data-view/create.popper-panel.js.map +1 -0
  62. package/dist/src/data-view/create.search-match.js +2 -0
  63. package/dist/src/data-view/create.search-match.js.map +1 -0
  64. package/dist/src/data-view/create.sort-menu.js +2 -0
  65. package/dist/src/data-view/create.sort-menu.js.map +1 -0
  66. package/dist/src/data-view/create.view-mode.js +2 -0
  67. package/dist/src/data-view/create.view-mode.js.map +1 -0
  68. package/dist/src/data-view/dino.js +2 -0
  69. package/dist/src/data-view/dino.js.map +1 -0
  70. package/dist/src/data-view/filter-store.js +2 -0
  71. package/dist/src/data-view/filter-store.js.map +1 -0
  72. package/dist/src/data-view/helpers.js +2 -0
  73. package/dist/src/data-view/helpers.js.map +1 -0
  74. package/dist/src/data-view/query-param-url.js +2 -0
  75. package/dist/src/data-view/query-param-url.js.map +1 -0
  76. package/dist/src/data-view/scroll-tracking.js +2 -0
  77. package/dist/src/data-view/scroll-tracking.js.map +1 -0
  78. package/dist/src/data-view/types.js.map +1 -0
  79. package/dist/src/data-view/ui.units.js +2 -0
  80. package/dist/src/data-view/ui.units.js.map +1 -0
  81. package/dist/src/data-view/view-mode.content.js +2 -0
  82. package/dist/src/data-view/view-mode.content.js.map +1 -0
  83. package/dist/src/data-view/view-mode.types.js.map +1 -0
  84. package/dist/src/data-view/view-mode.units.js +2 -0
  85. package/dist/src/data-view/view-mode.units.js.map +1 -0
  86. package/dist/src/form/create.autocomplete.chips.js +2 -0
  87. package/dist/src/form/create.autocomplete.chips.js.map +1 -0
  88. package/dist/src/form/create.color-picker.js +2 -0
  89. package/dist/src/form/create.color-picker.js.map +1 -0
  90. package/dist/src/form/create.date-expired.js +2 -0
  91. package/dist/src/form/create.date-expired.js.map +1 -0
  92. package/dist/src/form/create.date-picker.js +2 -0
  93. package/dist/src/form/create.date-picker.js.map +1 -0
  94. package/dist/src/form/create.form-base.js +2 -0
  95. package/dist/src/form/create.form-base.js.map +1 -0
  96. package/dist/src/form/create.form-comfirm.js +2 -0
  97. package/dist/src/form/create.form-comfirm.js.map +1 -0
  98. package/dist/src/form/create.form-grid-layout.js +2 -0
  99. package/dist/src/form/create.form-grid-layout.js.map +1 -0
  100. package/dist/src/form/create.form-grid-layout.units.js.map +1 -0
  101. package/dist/src/form/create.input-file.csv-local-parser.js +2 -0
  102. package/dist/src/form/create.input-file.csv-local-parser.js.map +1 -0
  103. package/dist/src/form/create.input.file.js +2 -0
  104. package/dist/src/form/create.input.file.js.map +1 -0
  105. package/dist/src/form/create.input.image-file.js +2 -0
  106. package/dist/src/form/create.input.image-file.js.map +1 -0
  107. package/dist/src/form/create.input.js +2 -0
  108. package/dist/src/form/create.input.js.map +1 -0
  109. package/dist/src/form/create.select-simple.js +2 -0
  110. package/dist/src/form/create.select-simple.js.map +1 -0
  111. package/dist/src/form/create.select-with-api.js +2 -0
  112. package/dist/src/form/create.select-with-api.js.map +1 -0
  113. package/dist/src/form/create.text-editor.js +2 -0
  114. package/dist/src/form/create.text-editor.js.map +1 -0
  115. package/dist/src/form/decorator.form.js +2 -0
  116. package/dist/src/form/decorator.form.js.map +1 -0
  117. package/dist/src/form/decorator.js +2 -0
  118. package/dist/src/form/decorator.js.map +1 -0
  119. package/dist/src/form/dino-form.js +2 -0
  120. package/dist/src/form/dino-form.js.map +1 -0
  121. package/dist/src/form/helpers.js +2 -0
  122. package/dist/src/form/helpers.js.map +1 -0
  123. package/dist/src/form/modal-wrapper.js +2 -0
  124. package/dist/src/form/modal-wrapper.js.map +1 -0
  125. package/dist/src/form/validator.js +2 -0
  126. package/dist/src/form/validator.js.map +1 -0
  127. package/dist/src/hooks/check-scrolled.js +2 -0
  128. package/dist/src/hooks/check-scrolled.js.map +1 -0
  129. package/dist/src/hooks/debounce.js +2 -0
  130. package/dist/src/hooks/debounce.js.map +1 -0
  131. package/dist/src/hooks/use-fetch-data.js +2 -0
  132. package/dist/src/hooks/use-fetch-data.js.map +1 -0
  133. package/dist/src/http-service/base/crud-service-base.js +2 -0
  134. package/dist/src/http-service/base/crud-service-base.js.map +1 -0
  135. package/dist/src/http-service/base/gateway.js.map +1 -0
  136. package/dist/src/http-service/base/helpers.js +2 -0
  137. package/dist/src/http-service/base/helpers.js.map +1 -0
  138. package/dist/src/http-service/base/service-base.js +2 -0
  139. package/dist/src/http-service/base/service-base.js.map +1 -0
  140. package/dist/src/http-service/graphql/app-profile.js +2 -0
  141. package/dist/src/http-service/graphql/app-profile.js.map +1 -0
  142. package/dist/src/http-service/graphql/graphql-request.js +2 -0
  143. package/dist/src/http-service/graphql/graphql-request.js.map +1 -0
  144. package/dist/src/http-service/graphql/key-converter.js.map +1 -0
  145. package/dist/src/http-service/graphql/request-param.js +2 -0
  146. package/dist/src/http-service/graphql/request-param.js.map +1 -0
  147. package/dist/src/http-service/graphql/types.js.map +1 -0
  148. package/dist/src/lab/attach-widget/helpers.js +2 -0
  149. package/dist/src/lab/attach-widget/helpers.js.map +1 -0
  150. package/dist/src/lab/attach-widget/modal.js +2 -0
  151. package/dist/src/lab/attach-widget/modal.js.map +1 -0
  152. package/dist/src/lab/attach-widget/styled.js +2 -0
  153. package/dist/src/lab/attach-widget/styled.js.map +1 -0
  154. package/dist/src/lab/attach-widget/widget.js +2 -0
  155. package/dist/src/lab/attach-widget/widget.js.map +1 -0
  156. package/dist/src/lab/input.social-links/configs.js.map +1 -0
  157. package/dist/src/lab/input.social-links/create.js +2 -0
  158. package/dist/src/lab/input.social-links/create.js.map +1 -0
  159. package/dist/src/lab/input.social-links/types.js.map +1 -0
  160. package/dist/src/lab/input.social-links/unit.icons.js +2 -0
  161. package/dist/src/lab/input.social-links/unit.icons.js.map +1 -0
  162. package/dist/src/lab/input.social-links/units.js +2 -0
  163. package/dist/src/lab/input.social-links/units.js.map +1 -0
  164. package/dist/src/mfe-shared/navigation.js +2 -0
  165. package/dist/src/mfe-shared/navigation.js.map +1 -0
  166. package/dist/src/redux/create.hoc-lazy.js +2 -0
  167. package/dist/src/redux/create.hoc-lazy.js.map +1 -0
  168. package/dist/src/redux/dino.js +2 -0
  169. package/dist/src/redux/dino.js.map +1 -0
  170. package/dist/src/redux/types.js.map +1 -0
  171. package/dist/src/redux/ui.error-page.js +2 -0
  172. package/dist/src/redux/ui.error-page.js.map +1 -0
  173. package/dist/src/table/context.js.map +1 -0
  174. package/dist/src/table/create.action-row.js +2 -0
  175. package/dist/src/table/create.action-row.js.map +1 -0
  176. package/dist/src/table/create.table.js +2 -0
  177. package/dist/src/table/create.table.js.map +1 -0
  178. package/dist/src/table/custom.filter-operators.js.map +1 -0
  179. package/dist/src/table/dino.js +2 -0
  180. package/dist/src/table/dino.js.map +1 -0
  181. package/dist/src/table/helpers.js +2 -0
  182. package/dist/src/table/helpers.js.map +1 -0
  183. package/dist/src/table/model-filter.js.map +1 -0
  184. package/dist/src/table/toolbar-pannel.js +2 -0
  185. package/dist/src/table/toolbar-pannel.js.map +1 -0
  186. package/dist/src/table/ui.buttons.js.map +1 -0
  187. package/dist/src/table/ui.units.js +2 -0
  188. package/dist/src/table/ui.units.js.map +1 -0
  189. package/dist/src/table-grid/create.table-grid.js +2 -0
  190. package/dist/src/table-grid/create.table-grid.js.map +1 -0
  191. package/dist/src/table-grid/dino.js +2 -0
  192. package/dist/src/table-grid/dino.js.map +1 -0
  193. package/dist/src/table-grid/filter-bar/base.js +2 -0
  194. package/dist/src/table-grid/filter-bar/base.js.map +1 -0
  195. package/dist/src/table-grid/filter-bar/create.filter-bar.js +2 -0
  196. package/dist/src/table-grid/filter-bar/create.filter-bar.js.map +1 -0
  197. package/dist/src/table-grid/filter-bar/create.filter-menu.js +2 -0
  198. package/dist/src/table-grid/filter-bar/create.filter-menu.js.map +1 -0
  199. package/dist/src/table-grid/filter-bar/create.filter-panel.js +2 -0
  200. package/dist/src/table-grid/filter-bar/create.filter-panel.js.map +1 -0
  201. package/dist/src/table-grid/filter-bar/create.filtered.js +2 -0
  202. package/dist/src/table-grid/filter-bar/create.filtered.js.map +1 -0
  203. package/dist/src/table-grid/filter-bar/types.js.map +1 -0
  204. package/dist/src/table-grid/filter-bar/ui.units.js.map +1 -0
  205. package/dist/src/table-grid/helpers.js.map +1 -0
  206. package/dist/src/table-grid/item-actions.js +2 -0
  207. package/dist/src/table-grid/item-actions.js.map +1 -0
  208. package/dist/src/table-grid/toolbar-pannel.js +2 -0
  209. package/dist/src/table-grid/toolbar-pannel.js.map +1 -0
  210. package/dist/src/table-grid/url-query-param.js +2 -0
  211. package/dist/src/table-grid/url-query-param.js.map +1 -0
  212. package/dist/src/utils/dayjs-config.js.map +1 -0
  213. package/dist/src/utils/helpers.js +2 -0
  214. package/dist/src/utils/helpers.js.map +1 -0
  215. package/dist/src/utils/json-object.js +2 -0
  216. package/dist/src/utils/json-object.js.map +1 -0
  217. package/dist/src/utils/query-param.js +2 -0
  218. package/dist/src/utils/query-param.js.map +1 -0
  219. package/dist/table/index.js +1 -1
  220. package/dist/table-grid/index.js +1 -1
  221. package/dist/types/form/create.form-base.d.ts +3 -2
  222. package/dist/types/form/create.form-grid-layout.d.ts +2 -1
  223. package/dist/types/form/create.input.d.ts +2 -2
  224. package/dist/types/form/decorator.d.ts +30 -0
  225. package/dist/types/form/decorator.form.d.ts +20 -0
  226. package/dist/types/form/dino-form.d.ts +3 -1
  227. package/dist/types/form/index.d.ts +2 -0
  228. package/dist/utils/index.js +1 -1
  229. package/package.json +5 -1
  230. package/dist/api-context/alert-global.js +0 -2
  231. package/dist/api-context/alert-global.js.map +0 -1
  232. package/dist/api-context/drawer-global.js +0 -2
  233. package/dist/api-context/drawer-global.js.map +0 -1
  234. package/dist/api-context/global-modal.js +0 -2
  235. package/dist/api-context/global-modal.js.map +0 -1
  236. package/dist/api-context/popover-global.js +0 -2
  237. package/dist/api-context/popover-global.js.map +0 -1
  238. package/dist/api-context/popover.js +0 -2
  239. package/dist/api-context/popover.js.map +0 -1
  240. package/dist/api-context/ui.units.js.map +0 -1
  241. package/dist/components/breadcrumbs.js +0 -2
  242. package/dist/components/breadcrumbs.js.map +0 -1
  243. package/dist/components/buttons.js +0 -2
  244. package/dist/components/buttons.js.map +0 -1
  245. package/dist/components/copy-to-clipboard.js +0 -2
  246. package/dist/components/copy-to-clipboard.js.map +0 -1
  247. package/dist/components/create.multi-select-dropdown.js +0 -2
  248. package/dist/components/create.multi-select-dropdown.js.map +0 -1
  249. package/dist/components/help-tooltip.js +0 -2
  250. package/dist/components/help-tooltip.js.map +0 -1
  251. package/dist/components/image-with-fallback.js +0 -2
  252. package/dist/components/image-with-fallback.js.map +0 -1
  253. package/dist/components/rich-tooltip.js +0 -2
  254. package/dist/components/rich-tooltip.js.map +0 -1
  255. package/dist/components/text-editor.js +0 -2
  256. package/dist/components/text-editor.js.map +0 -1
  257. package/dist/components/text-editor.preview.js.map +0 -1
  258. package/dist/data-view/context.js +0 -2
  259. package/dist/data-view/context.js.map +0 -1
  260. package/dist/data-view/convert-filter-to-graphql.js +0 -2
  261. package/dist/data-view/convert-filter-to-graphql.js.map +0 -1
  262. package/dist/data-view/create.active-filters-panel.js +0 -2
  263. package/dist/data-view/create.active-filters-panel.js.map +0 -1
  264. package/dist/data-view/create.data-view.js +0 -2
  265. package/dist/data-view/create.data-view.js.map +0 -1
  266. package/dist/data-view/create.filter-bar.js +0 -2
  267. package/dist/data-view/create.filter-bar.js.map +0 -1
  268. package/dist/data-view/create.filter-menu.js +0 -2
  269. package/dist/data-view/create.filter-menu.js.map +0 -1
  270. package/dist/data-view/create.pagination-bar.js +0 -2
  271. package/dist/data-view/create.pagination-bar.js.map +0 -1
  272. package/dist/data-view/create.popper-panel.js +0 -2
  273. package/dist/data-view/create.popper-panel.js.map +0 -1
  274. package/dist/data-view/create.search-match.js +0 -2
  275. package/dist/data-view/create.search-match.js.map +0 -1
  276. package/dist/data-view/create.sort-menu.js +0 -2
  277. package/dist/data-view/create.sort-menu.js.map +0 -1
  278. package/dist/data-view/create.view-mode.js +0 -2
  279. package/dist/data-view/create.view-mode.js.map +0 -1
  280. package/dist/data-view/dino.js +0 -2
  281. package/dist/data-view/dino.js.map +0 -1
  282. package/dist/data-view/filter-store.js +0 -2
  283. package/dist/data-view/filter-store.js.map +0 -1
  284. package/dist/data-view/helpers.js +0 -2
  285. package/dist/data-view/helpers.js.map +0 -1
  286. package/dist/data-view/query-param-url.js +0 -2
  287. package/dist/data-view/query-param-url.js.map +0 -1
  288. package/dist/data-view/scroll-tracking.js +0 -2
  289. package/dist/data-view/scroll-tracking.js.map +0 -1
  290. package/dist/data-view/types.js.map +0 -1
  291. package/dist/data-view/ui.units.js +0 -2
  292. package/dist/data-view/ui.units.js.map +0 -1
  293. package/dist/data-view/view-mode.content.js +0 -2
  294. package/dist/data-view/view-mode.content.js.map +0 -1
  295. package/dist/data-view/view-mode.types.js.map +0 -1
  296. package/dist/data-view/view-mode.units.js +0 -2
  297. package/dist/data-view/view-mode.units.js.map +0 -1
  298. package/dist/form/create.autocomplete.chips.js +0 -2
  299. package/dist/form/create.autocomplete.chips.js.map +0 -1
  300. package/dist/form/create.color-picker.js +0 -2
  301. package/dist/form/create.color-picker.js.map +0 -1
  302. package/dist/form/create.date-expired.js +0 -2
  303. package/dist/form/create.date-expired.js.map +0 -1
  304. package/dist/form/create.date-picker.js +0 -2
  305. package/dist/form/create.date-picker.js.map +0 -1
  306. package/dist/form/create.form-base.js +0 -2
  307. package/dist/form/create.form-base.js.map +0 -1
  308. package/dist/form/create.form-comfirm.js +0 -2
  309. package/dist/form/create.form-comfirm.js.map +0 -1
  310. package/dist/form/create.form-grid-layout.js +0 -2
  311. package/dist/form/create.form-grid-layout.js.map +0 -1
  312. package/dist/form/create.form-grid-layout.units.js.map +0 -1
  313. package/dist/form/create.input-file.csv-local-parser.js +0 -2
  314. package/dist/form/create.input-file.csv-local-parser.js.map +0 -1
  315. package/dist/form/create.input.file.js +0 -2
  316. package/dist/form/create.input.file.js.map +0 -1
  317. package/dist/form/create.input.image-file.js +0 -2
  318. package/dist/form/create.input.image-file.js.map +0 -1
  319. package/dist/form/create.input.js +0 -2
  320. package/dist/form/create.input.js.map +0 -1
  321. package/dist/form/create.select-simple.js +0 -2
  322. package/dist/form/create.select-simple.js.map +0 -1
  323. package/dist/form/create.select-with-api.js +0 -2
  324. package/dist/form/create.select-with-api.js.map +0 -1
  325. package/dist/form/create.text-editor.js +0 -2
  326. package/dist/form/create.text-editor.js.map +0 -1
  327. package/dist/form/dino-form.js +0 -2
  328. package/dist/form/dino-form.js.map +0 -1
  329. package/dist/form/helpers.js +0 -2
  330. package/dist/form/helpers.js.map +0 -1
  331. package/dist/form/modal-wrapper.js +0 -2
  332. package/dist/form/modal-wrapper.js.map +0 -1
  333. package/dist/form/validator.js +0 -2
  334. package/dist/form/validator.js.map +0 -1
  335. package/dist/hooks/check-scrolled.js +0 -2
  336. package/dist/hooks/check-scrolled.js.map +0 -1
  337. package/dist/hooks/debounce.js +0 -2
  338. package/dist/hooks/debounce.js.map +0 -1
  339. package/dist/hooks/use-fetch-data.js +0 -2
  340. package/dist/hooks/use-fetch-data.js.map +0 -1
  341. package/dist/http-service/base/crud-service-base.js +0 -2
  342. package/dist/http-service/base/crud-service-base.js.map +0 -1
  343. package/dist/http-service/base/gateway.js.map +0 -1
  344. package/dist/http-service/base/helpers.js +0 -2
  345. package/dist/http-service/base/helpers.js.map +0 -1
  346. package/dist/http-service/base/service-base.js +0 -2
  347. package/dist/http-service/base/service-base.js.map +0 -1
  348. package/dist/http-service/graphql/app-profile.js +0 -2
  349. package/dist/http-service/graphql/app-profile.js.map +0 -1
  350. package/dist/http-service/graphql/graphql-request.js +0 -2
  351. package/dist/http-service/graphql/graphql-request.js.map +0 -1
  352. package/dist/http-service/graphql/key-converter.js.map +0 -1
  353. package/dist/http-service/graphql/request-param.js +0 -2
  354. package/dist/http-service/graphql/request-param.js.map +0 -1
  355. package/dist/http-service/graphql/types.js.map +0 -1
  356. package/dist/lab/attach-widget/helpers.js +0 -2
  357. package/dist/lab/attach-widget/helpers.js.map +0 -1
  358. package/dist/lab/attach-widget/modal.js +0 -2
  359. package/dist/lab/attach-widget/modal.js.map +0 -1
  360. package/dist/lab/attach-widget/styled.js +0 -2
  361. package/dist/lab/attach-widget/styled.js.map +0 -1
  362. package/dist/lab/attach-widget/widget.js +0 -2
  363. package/dist/lab/attach-widget/widget.js.map +0 -1
  364. package/dist/lab/input.social-links/configs.js.map +0 -1
  365. package/dist/lab/input.social-links/create.js +0 -2
  366. package/dist/lab/input.social-links/create.js.map +0 -1
  367. package/dist/lab/input.social-links/types.js.map +0 -1
  368. package/dist/lab/input.social-links/unit.icons.js +0 -2
  369. package/dist/lab/input.social-links/unit.icons.js.map +0 -1
  370. package/dist/lab/input.social-links/units.js +0 -2
  371. package/dist/lab/input.social-links/units.js.map +0 -1
  372. package/dist/mfe-shared/navigation.js +0 -2
  373. package/dist/mfe-shared/navigation.js.map +0 -1
  374. package/dist/redux/create.hoc-lazy.js +0 -2
  375. package/dist/redux/create.hoc-lazy.js.map +0 -1
  376. package/dist/redux/dino.js +0 -2
  377. package/dist/redux/dino.js.map +0 -1
  378. package/dist/redux/types.js.map +0 -1
  379. package/dist/redux/ui.error-page.js +0 -2
  380. package/dist/redux/ui.error-page.js.map +0 -1
  381. package/dist/table/context.js.map +0 -1
  382. package/dist/table/create.action-row.js +0 -2
  383. package/dist/table/create.action-row.js.map +0 -1
  384. package/dist/table/create.table.js +0 -2
  385. package/dist/table/create.table.js.map +0 -1
  386. package/dist/table/custom.filter-operators.js.map +0 -1
  387. package/dist/table/dino.js +0 -2
  388. package/dist/table/dino.js.map +0 -1
  389. package/dist/table/helpers.js +0 -2
  390. package/dist/table/helpers.js.map +0 -1
  391. package/dist/table/model-filter.js.map +0 -1
  392. package/dist/table/toolbar-pannel.js +0 -2
  393. package/dist/table/toolbar-pannel.js.map +0 -1
  394. package/dist/table/ui.buttons.js.map +0 -1
  395. package/dist/table/ui.units.js +0 -2
  396. package/dist/table/ui.units.js.map +0 -1
  397. package/dist/table-grid/create.table-grid.js +0 -2
  398. package/dist/table-grid/create.table-grid.js.map +0 -1
  399. package/dist/table-grid/dino.js +0 -2
  400. package/dist/table-grid/dino.js.map +0 -1
  401. package/dist/table-grid/filter-bar/base.js +0 -2
  402. package/dist/table-grid/filter-bar/base.js.map +0 -1
  403. package/dist/table-grid/filter-bar/create.filter-bar.js +0 -2
  404. package/dist/table-grid/filter-bar/create.filter-bar.js.map +0 -1
  405. package/dist/table-grid/filter-bar/create.filter-menu.js +0 -2
  406. package/dist/table-grid/filter-bar/create.filter-menu.js.map +0 -1
  407. package/dist/table-grid/filter-bar/create.filter-panel.js +0 -2
  408. package/dist/table-grid/filter-bar/create.filter-panel.js.map +0 -1
  409. package/dist/table-grid/filter-bar/create.filtered.js +0 -2
  410. package/dist/table-grid/filter-bar/create.filtered.js.map +0 -1
  411. package/dist/table-grid/filter-bar/types.js.map +0 -1
  412. package/dist/table-grid/filter-bar/ui.units.js.map +0 -1
  413. package/dist/table-grid/helpers.js.map +0 -1
  414. package/dist/table-grid/item-actions.js +0 -2
  415. package/dist/table-grid/item-actions.js.map +0 -1
  416. package/dist/table-grid/toolbar-pannel.js +0 -2
  417. package/dist/table-grid/toolbar-pannel.js.map +0 -1
  418. package/dist/table-grid/url-query-param.js +0 -2
  419. package/dist/table-grid/url-query-param.js.map +0 -1
  420. package/dist/utils/dayjs-config.js.map +0 -1
  421. package/dist/utils/helpers.js +0 -2
  422. package/dist/utils/helpers.js.map +0 -1
  423. package/dist/utils/json-object.js +0 -2
  424. package/dist/utils/json-object.js.map +0 -1
  425. package/dist/utils/query-param.js +0 -2
  426. package/dist/utils/query-param.js.map +0 -1
  427. /package/dist/{api-context → src/api-context}/ui.units.js +0 -0
  428. /package/dist/{components → src/components}/text-editor.preview.js +0 -0
  429. /package/dist/{data-view → src/data-view}/types.js +0 -0
  430. /package/dist/{data-view → src/data-view}/view-mode.types.js +0 -0
  431. /package/dist/{form → src/form}/create.form-grid-layout.units.js +0 -0
  432. /package/dist/{http-service → src/http-service}/base/gateway.js +0 -0
  433. /package/dist/{http-service → src/http-service}/graphql/key-converter.js +0 -0
  434. /package/dist/{http-service → src/http-service}/graphql/types.js +0 -0
  435. /package/dist/{lab → src/lab}/input.social-links/configs.js +0 -0
  436. /package/dist/{lab → src/lab}/input.social-links/types.js +0 -0
  437. /package/dist/{redux → src/redux}/types.js +0 -0
  438. /package/dist/{table → src/table}/context.js +0 -0
  439. /package/dist/{table → src/table}/custom.filter-operators.js +0 -0
  440. /package/dist/{table → src/table}/model-filter.js +0 -0
  441. /package/dist/{table → src/table}/ui.buttons.js +0 -0
  442. /package/dist/{table-grid → src/table-grid}/filter-bar/types.js +0 -0
  443. /package/dist/{table-grid → src/table-grid}/filter-bar/ui.units.js +0 -0
  444. /package/dist/{table-grid → src/table-grid}/helpers.js +0 -0
  445. /package/dist/{utils → src/utils}/dayjs-config.js +0 -0
@@ -0,0 +1,2 @@
1
+ import{objectWithoutProperties as e,objectSpread2 as o,defineProperty as r,inherits as a,createClass as t,classCallCheck as i,callSuper as l,toConsumableArray as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import d,{Component as u}from"react";import{styled as p,Box as c}from"@mui/material";import{DataGrid as m}from"@mui/x-data-grid";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{TableBaseContext as h}from"./context.js";import{customFilterOperators as f}from"./custom.filter-operators.js";import v,{dinoTableClasses as b}from"./helpers.js";import y from"./toolbar-pannel.js";import{GlobalModal as C,mapGlobalModalContext as P}from"../api-context/global-modal.js";var M=["children"];function S(e){return function(){function p(a){var t;return i(this,p),t=l(this,p,[a]),r(t,"setTableQueryParams",(function(e){t.tableQueryParams=g({},t.tableQueryParams,e)})),r(t,"renderWrapContext",(function(o){var r=e.disableGlobalModalProvider?d.Fragment:C;return s(r,{children:P((function(e){return s(h.Provider,{value:{showModal:e.show,closeModal:e.close},children:o})}))})})),r(t,"getDataGridProps",(function(){var o,r,a,i,l=t.mergeConfig,n={getRowId:e.getRowId,columns:t.columns,rows:null!==(o=null===(r=t.props.data)||void 0===r?void 0:r.items)&&void 0!==o?o:[],checkboxSelection:!0,pagination:!0,density:null!==(a=null===(i=t.props.slots)||void 0===i?void 0:i.density)&&void 0!==a?a:"standard",initialState:v.mapInitialState(t.props.query,{columns:{columnVisibilityModel:e.columnVisibilityModel}}),filterDebounceMs:800,sx:{border:0},slots:{toolbar:l.toolbar},rowSelectionModel:t.rowSelecteds,onRowSelectionModelChange:t.handleRowSelectionChange};if("server"===e.featureMode){var s,d,u={filterMode:"server",sortingMode:"server",paginationMode:"server",onPaginationModelChange:t.onPaginationModelChange,onFilterModelChange:t.onFilterModelChange,onSortModelChange:t.onSortModelChange,rowCount:null!==(s=null===(d=t.props.data)||void 0===d?void 0:d.rowTotal)&&void 0!==s?s:0,paginationModel:t.tableQueryParams.pagination,filterModel:t.tableQueryParams.filter,sortModel:v.mapSortModel(t.tableQueryParams.sort),loading:t.tableQueryParams.loading};Object.assign(n,u)}return g(n,t.mergeConfig.dataGridProps)})),r(t,"initialColumns",(function(){var r,a,i=t.mergeConfig.ActionRow,l=[];return i&&l.push(o({field:"Actions",minWidth:100,headerAlign:"right",align:"right",filterable:!1,sortable:!1,renderCell:function(e){return s(i,{value:e.row})}},e.actionRow)),r=l,a=Object.keys(e.columns).map((function(r){var a=o({field:r},e.columns[r]);return a.filterOperators=e.filterOperators?e.filterOperators(a):f(a),a})),r&&r.length>0&&a.push.apply(a,n(r)),a})),r(t,"onPaginationModelChange",(function(e,o){t.setTableQueryParams({pagination:e,detail:"pagination"}),t.handleChange()})),r(t,"onFilterModelChange",(function(e,o){var r,a=t.tableQueryParams.pagination;t.setTableQueryParams({filter:e,pagination:{page:0,pageSize:null!==(r=null==a?void 0:a.pageSize)&&void 0!==r?r:25},detail:v.detectSearchType(e)}),t.handleChange()})),r(t,"onSortModelChange",(function(e,o){var r,a,i,l,n,s=e,d=t.tableQueryParams.sort;null!=d&&d.length&&!s.length&&(s=(null==d||null===(r=d[0])||void 0===r?void 0:r.field)===(null===(a=t.defaultTableQueryParams.sort)||void 0===a||null===(a=a[0])||void 0===a?void 0:a.field)?[{field:null===(i=d[0])||void 0===i?void 0:i.field,sort:"desc"===(null===(l=d[0])||void 0===l?void 0:l.sort)?"asc":"desc"}]:null!==(n=t.defaultTableQueryParams.sort)&&void 0!==n?n:[]);t.setTableQueryParams({sort:s,detail:"sort"}),t.handleChange()})),r(t,"handleChange",(function(){t.props.onChange&&t.props.onChange(t.tableQueryParams)})),r(t,"handleRowSelectionChange",(function(e,o){t.mergeConfig.maxSelcion&&e.length>t.mergeConfig.maxSelcion?t.rowSelecteds=e.slice(0,t.mergeConfig.maxSelcion):t.rowSelecteds=e,t.props.onRowSelectionChange&&t.props.onRowSelectionChange(t.rowSelecteds,o),t.forceUpdate()})),t.columns=t.initialColumns(),t.tableQueryParams=o({},a.query),t.defaultTableQueryParams=t.tableQueryParams,t.rowSelecteds=[],t}return a(p,u),t(p,[{key:"mergeConfig",get:function(){var r,a,t,i,l,n,d,u=g({},null==e?void 0:e.toolbarProps,null===(r=this.props.slots)||void 0===r?void 0:r.toolbarProps);return{toolbar:null!==(a=null===(t=this.props.slots)||void 0===t?void 0:t.toolbar)&&void 0!==a?a:function(){return s(y,o({},u))},ActionRow:null===(i=this.props.slots)||void 0===i?void 0:i.actionRow,columnVisibilityModel:e.columnVisibilityModel,maxSelcion:null!==(l=null===(n=this.props.slots)||void 0===n?void 0:n.maxSelection)&&void 0!==l?l:e.maxSelection,dataGridProps:g({},e.dataGridProps,null===(d=this.props.slots)||void 0===d?void 0:d.dataGridProps)}}},{key:"shouldComponentUpdate",value:function(o){return"server"!==e.featureMode||v.equalTableQueryParams(o.query,this.props.query)?"server"!==e.featureMode:(this.setTableQueryParams(null!==(r=o.query)&&void 0!==r?r:{}),!0);var r}},{key:"render",value:function(){return this.renderWrapContext(s(w,{children:s(m,o({loading:this.props.loading},this.getDataGridProps()))}))}}])}()}var w=p((function(r){var a=r.children,t=e(r,M);return s(c,o(o({},t),{},{children:s("div",{children:a})}))}))(r({flex:1,position:"relative","& > div":{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflowY:"auto"},"& .MuiDataGrid-root":{"--unstable_DataGrid-radius":0,overflow:"hidden"}},"& .MuiDataGrid-cell.".concat(b.whiteSpacePre," .MuiDataGrid-cellContent"),{whiteSpace:"pre"}));export{S as CreateTable,S as default};
2
+ //# sourceMappingURL=create.table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.table.js","sources":["../../../src/table/create.table.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Box, BoxProps, styled } from '@mui/material'\r\nimport { DataGrid, DataGridProps, GridColDef, GridFeatureMode, GridFilterOperator } from '@mui/x-data-grid'\r\nimport { GridSortModel, GridValidRowModel, GridRowIdGetter, GridRowSelectionModel } from '@mui/x-data-grid'\r\nimport { GridCallbackDetails, GridColumnVisibilityModel, GridDensity, GridFilterModel, GridPaginationModel } from '@mui/x-data-grid'\r\nimport { mergeObjects } from '../utils'\r\nimport { TableBaseContext } from './context'\r\nimport { IActionRowProps } from './create.action-row'\r\nimport { customFilterOperators } from './custom.filter-operators'\r\nimport { GlobalModal, mapGlobalModalContext } from '../api-context'\r\nimport { ICustomGridColDef, ICustomGridFilterModel, ICustomGridSortModel, ITableData, ITableQueryParams } from './types'\r\nimport TableHelper, { dinoTableClasses } from './helpers'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\n\r\nexport interface ITableSlots<T> {\r\n maxSelection?: number\r\n density?: GridDensity\r\n toolbar?: React.ComponentType<IToolbarPannelProps>\r\n actionRow?: React.ComponentType<IActionRowProps<T>>\r\n toolbarProps?: IToolbarPannelProps\r\n dataGridProps?: DataGridProps\r\n}\r\n\r\nexport type ITableParamsSlots<T> = Pick<ITableSlots<T>, 'maxSelection' | 'toolbarProps' | 'dataGridProps'>\r\n\r\nexport interface ITableProps<T> {\r\n data?: ITableData<T>\r\n query?: ITableQueryParams<T>\r\n loading?: boolean\r\n onChange?: (query: ITableQueryParams<T>) => void\r\n onRowSelectionChange?: DataGridProps['onRowSelectionModelChange']\r\n slots?: ITableSlots<T>\r\n}\r\n\r\nexport interface ITableParams<T extends GridValidRowModel> extends ITableParamsSlots<T> {\r\n featureMode?: GridFeatureMode\r\n getRowId: GridRowIdGetter<T>\r\n columns: ICustomGridColDef<T>\r\n filterOperators?: (config: GridColDef) => GridFilterOperator[]\r\n columnVisibilityModel?: Partial<Record<keyof T, boolean>>\r\n actionRow?: Omit<GridColDef, 'field'>\r\n disableGlobalModalProvider?: boolean\r\n}\r\n\r\nexport function CreateTable<T extends GridValidRowModel>(params: ITableParams<T>): ComponentType<ITableProps<T>> {\r\n const generateColumns = (extendColDefs?: GridColDef[]) => {\r\n const columns = Object.keys(params.columns).map<GridColDef>((key) => {\r\n const obj = { field: key, ...params.columns[key] }\r\n obj.filterOperators = params.filterOperators ? params.filterOperators(obj) : customFilterOperators(obj)\r\n return obj\r\n })\r\n\r\n if (!!extendColDefs && extendColDefs.length > 0) columns.push(...extendColDefs)\r\n return columns\r\n }\r\n\r\n class Table extends Component<ITableProps<T>> {\r\n private tableQueryParams: ITableQueryParams<T>\r\n // private tableQueryParamsCache: ITableQueryParams<T> = {}\r\n private defaultTableQueryParams: ITableQueryParams<T>\r\n private columns: GridColDef<T>[]\r\n private rowSelecteds: GridRowSelectionModel\r\n constructor(props: ITableProps<T>) {\r\n super(props)\r\n this.columns = this.initialColumns()\r\n this.tableQueryParams = { ...props.query }\r\n this.defaultTableQueryParams = this.tableQueryParams\r\n this.rowSelecteds = []\r\n }\r\n\r\n get mergeConfig() {\r\n const toolbarPannelProps = mergeObjects({}, params?.toolbarProps, this.props.slots?.toolbarProps)\r\n return {\r\n toolbar: this.props.slots?.toolbar ?? (() => <ToolbarPannel {...toolbarPannelProps} />),\r\n ActionRow: this.props.slots?.actionRow,\r\n columnVisibilityModel: params.columnVisibilityModel,\r\n maxSelcion: this.props.slots?.maxSelection ?? params.maxSelection,\r\n dataGridProps: mergeObjects({}, params.dataGridProps, this.props.slots?.dataGridProps)\r\n }\r\n }\r\n\r\n setTableQueryParams = (value: Partial<ITableQueryParams<T>>) => {\r\n this.tableQueryParams = mergeObjects({}, this.tableQueryParams, value)\r\n }\r\n\r\n shouldComponentUpdate(nextProps: Readonly<ITableProps<T>>): boolean {\r\n if (params.featureMode === 'server' && !TableHelper.equalTableQueryParams(nextProps.query, this.props.query)) {\r\n this.setTableQueryParams(nextProps.query ?? {})\r\n return true\r\n } else if (params.featureMode !== 'server') {\r\n return true\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n render() {\r\n return this.renderWrapContext(\r\n <Wrap>\r\n <DataGrid loading={this.props.loading} {...this.getDataGridProps()} />\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderWrapContext = (children: React.ReactNode) => {\r\n const WrapComponent = params.disableGlobalModalProvider ? React.Fragment : GlobalModal\r\n return (\r\n <WrapComponent>\r\n {mapGlobalModalContext((context) => (\r\n <TableBaseContext.Provider value={{ showModal: context.show, closeModal: context.close }}>{children}</TableBaseContext.Provider>\r\n ))}\r\n </WrapComponent>\r\n )\r\n }\r\n\r\n getDataGridProps = (): DataGridProps<T> => {\r\n const mergeConfig = this.mergeConfig\r\n const obj: DataGridProps<T> = {\r\n getRowId: params.getRowId,\r\n columns: this.columns,\r\n rows: this.props.data?.items ?? [],\r\n checkboxSelection: true,\r\n pagination: true,\r\n density: this.props.slots?.density ?? 'standard',\r\n initialState: TableHelper.mapInitialState(this.props.query, {\r\n columns: { columnVisibilityModel: params.columnVisibilityModel as GridColumnVisibilityModel }\r\n }),\r\n filterDebounceMs: 800,\r\n sx: { border: 0 },\r\n slots: { toolbar: mergeConfig.toolbar },\r\n rowSelectionModel: this.rowSelecteds,\r\n onRowSelectionModelChange: this.handleRowSelectionChange\r\n }\r\n if (params.featureMode === 'server') {\r\n const objServer: Partial<DataGridProps<T>> = {\r\n filterMode: 'server',\r\n sortingMode: 'server',\r\n paginationMode: 'server',\r\n onPaginationModelChange: this.onPaginationModelChange,\r\n onFilterModelChange: this.onFilterModelChange,\r\n onSortModelChange: this.onSortModelChange,\r\n rowCount: this.props.data?.rowTotal ?? 0,\r\n paginationModel: this.tableQueryParams.pagination,\r\n filterModel: this.tableQueryParams.filter as GridFilterModel,\r\n sortModel: TableHelper.mapSortModel(this.tableQueryParams.sort),\r\n loading: this.tableQueryParams.loading\r\n }\r\n Object.assign(obj, objServer)\r\n }\r\n return mergeObjects(obj, this.mergeConfig.dataGridProps)\r\n }\r\n\r\n initialColumns = (): GridColDef<T>[] => {\r\n const { ActionRow } = this.mergeConfig\r\n const list: GridColDef<T>[] = []\r\n if (!!ActionRow) {\r\n list.push({\r\n field: 'Actions',\r\n minWidth: 100,\r\n headerAlign: 'right',\r\n align: 'right',\r\n filterable: false,\r\n sortable: false,\r\n renderCell: (value) => <ActionRow value={value.row} />,\r\n ...params.actionRow\r\n })\r\n }\r\n return generateColumns(list)\r\n }\r\n\r\n onPaginationModelChange = (model: GridPaginationModel, details: GridCallbackDetails<'pagination'>) => {\r\n this.setTableQueryParams({ pagination: model, detail: 'pagination' })\r\n this.handleChange()\r\n }\r\n\r\n onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\r\n const { pagination } = this.tableQueryParams\r\n this.setTableQueryParams({\r\n filter: model as ICustomGridFilterModel<T>,\r\n pagination: { page: 0, pageSize: pagination?.pageSize ?? 25 },\r\n detail: TableHelper.detectSearchType(model)\r\n })\r\n this.handleChange()\r\n }\r\n\r\n onSortModelChange = (model: GridSortModel, details: GridCallbackDetails<any>) => {\r\n let sortValue = model as ICustomGridSortModel<T>\r\n const { sort } = this.tableQueryParams\r\n if (!!sort?.length && !sortValue.length) {\r\n if (sort?.[0]?.field === this.defaultTableQueryParams.sort?.[0]?.field) {\r\n sortValue = [{ field: sort[0]?.field, sort: sort[0]?.sort === 'desc' ? 'asc' : 'desc' }]\r\n } else {\r\n sortValue = this.defaultTableQueryParams.sort ?? []\r\n }\r\n }\r\n this.setTableQueryParams({ sort: sortValue, detail: 'sort' })\r\n this.handleChange()\r\n }\r\n\r\n handleChange = () => {\r\n this.props.onChange && this.props.onChange(this.tableQueryParams)\r\n }\r\n\r\n handleRowSelectionChange = (value: GridRowSelectionModel, details: GridCallbackDetails) => {\r\n if (this.mergeConfig.maxSelcion && value.length > this.mergeConfig.maxSelcion) {\r\n this.rowSelecteds = value.slice(0, this.mergeConfig.maxSelcion)\r\n } else {\r\n this.rowSelecteds = value\r\n }\r\n this.props.onRowSelectionChange && this.props.onRowSelectionChange(this.rowSelecteds, details)\r\n this.forceUpdate()\r\n }\r\n }\r\n\r\n return Table\r\n}\r\n\r\nexport default CreateTable\r\n\r\nconst Wrap = styled(({ children, ...p }: BoxProps) => (\r\n <Box {...p}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n flex: 1,\r\n position: 'relative',\r\n '& > div': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n overflowY: 'auto'\r\n },\r\n '& .MuiDataGrid-root': {\r\n '--unstable_DataGrid-radius': 0,\r\n overflow: 'hidden'\r\n },\r\n [`& .MuiDataGrid-cell.${dinoTableClasses.whiteSpacePre} .MuiDataGrid-cellContent`]: {\r\n whiteSpace: 'pre'\r\n }\r\n})\r\n"],"names":["CreateTable","params","Table","props","_this","_classCallCheck","_callSuper","_defineProperty","value","tableQueryParams","mergeObjects","children","WrapComponent","disableGlobalModalProvider","React","Fragment","GlobalModal","_jsx","mapGlobalModalContext","context","TableBaseContext","Provider","showModal","show","closeModal","close","_this$props$data$item","_this$props$data","_this$props$slots$den","_this$props$slots","mergeConfig","obj","getRowId","columns","rows","data","items","checkboxSelection","pagination","density","slots","initialState","TableHelper","mapInitialState","query","columnVisibilityModel","filterDebounceMs","sx","border","toolbar","rowSelectionModel","rowSelecteds","onRowSelectionModelChange","handleRowSelectionChange","featureMode","_this$props$data$rowT","_this$props$data2","objServer","filterMode","sortingMode","paginationMode","onPaginationModelChange","onFilterModelChange","onSortModelChange","rowCount","rowTotal","paginationModel","filterModel","filter","sortModel","mapSortModel","sort","loading","Object","assign","dataGridProps","extendColDefs","ActionRow","list","push","_objectSpread","field","minWidth","headerAlign","align","filterable","sortable","renderCell","row","actionRow","keys","map","key","filterOperators","customFilterOperators","length","apply","_toConsumableArray","model","details","setTableQueryParams","detail","handleChange","_pagination$pageSize","page","pageSize","detectSearchType","_sort$","_this$defaultTableQue","_sort$2","_sort$3","_this$defaultTableQue2","sortValue","defaultTableQueryParams","onChange","maxSelcion","slice","onRowSelectionChange","forceUpdate","initialColumns","_inherits","Component","_createClass","get","_this$props$slots2","_this$props$slots$too","_this$props$slots3","_this$props$slots4","_this$props$slots$max","_this$props$slots5","_this$props$slots6","toolbarPannelProps","toolbarProps","this","ToolbarPannel","maxSelection","nextProps","equalTableQueryParams","_nextProps$query","renderWrapContext","Wrap","DataGrid","getDataGridProps","styled","_ref","p","_objectWithoutProperties","_excluded","Box","flex","position","top","left","width","height","overflowY","overflow","concat","dinoTableClasses","whiteSpacePre","whiteSpace"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.filter-operators.js","sources":["../../../src/table/custom.filter-operators.ts"],"sourcesContent":["import { getGridBooleanOperators, getGridDateOperators, getGridNumericOperators, getGridStringOperators, GridColDef } from '@mui/x-data-grid'\r\nimport { EOperator } from './model-filter'\r\n\r\nconst StringMap = {\r\n contains: EOperator.Contains,\r\n equals: EOperator.Equal\r\n}\r\n\r\nconst NumericMap = {\r\n '=': EOperator.Equal,\r\n '!=': EOperator.NotEqual,\r\n '>': EOperator.GreaterThan,\r\n '>=': EOperator.GreaterThanOrEqual,\r\n '<': EOperator.LessThan,\r\n '<=': EOperator.LessThanOrEqual\r\n}\r\n\r\nconst BooleanMap = {\r\n 'is=': EOperator.Equal\r\n}\r\n\r\nconst DateMap = {\r\n is: EOperator.Equal,\r\n not: EOperator.NotEqual,\r\n after: EOperator.GreaterThan,\r\n onOrAfter: EOperator.GreaterThanOrEqual,\r\n before: EOperator.LessThan,\r\n onOrBefore: EOperator.LessThanOrEqual\r\n}\r\n\r\nconst getCustomGridStringOperators = () => {\r\n const keys = new Set(Object.keys(StringMap))\r\n const options = getGridStringOperators()\r\n .filter((x) => keys.has(x.value))\r\n .map((x) => {\r\n x.label = x.value\r\n x.value = (StringMap as any)[x.value] + ''\r\n return x\r\n })\r\n return options\r\n}\r\n\r\nconst getCustomGridNumericOperators = () => {\r\n const keys = new Set(Object.keys(NumericMap))\r\n const options = getGridNumericOperators()\r\n .filter((x) => keys.has(x.value))\r\n .map((x) => {\r\n x.label = x.value\r\n x.value = (NumericMap as any)[x.value] + ''\r\n return x\r\n })\r\n return options\r\n}\r\n\r\nconst getCustomGridBooleanOperators = () => {\r\n const keys = new Set(Object.keys(BooleanMap))\r\n const options = getGridBooleanOperators()\r\n .filter((x) => keys.has(x.value))\r\n .map((x) => {\r\n x.label = x.value\r\n x.value = (BooleanMap as any)[x.value] + ''\r\n return x\r\n })\r\n return options\r\n}\r\n\r\nconst getCustomGridDateOperators = (showTime?: boolean) => {\r\n const keys = new Set(Object.keys(DateMap))\r\n const options = getGridDateOperators(showTime)\r\n .filter((x) => keys.has(x.value))\r\n .map((x) => {\r\n x.label = x.value\r\n x.value = (DateMap as any)[x.value] + ''\r\n return x\r\n })\r\n return options\r\n}\r\n\r\nexport const customFilterOperators = (option: GridColDef) => {\r\n switch (option.type) {\r\n case 'string':\r\n return getCustomGridStringOperators()\r\n case 'number':\r\n return getCustomGridNumericOperators()\r\n case 'boolean':\r\n return getCustomGridBooleanOperators()\r\n case 'date':\r\n return getCustomGridDateOperators()\r\n case 'dateTime':\r\n return getCustomGridDateOperators(true)\r\n default:\r\n return getCustomGridStringOperators()\r\n }\r\n}\r\n"],"names":["StringMap","contains","EOperator","Contains","equals","Equal","NumericMap","NotEqual","GreaterThan","GreaterThanOrEqual","LessThan","LessThanOrEqual","BooleanMap","DateMap","is","not","after","onOrAfter","before","onOrBefore","getCustomGridStringOperators","keys","Set","Object","getGridStringOperators","filter","x","has","value","map","label","getCustomGridDateOperators","showTime","getGridDateOperators","customFilterOperators","option","type","getGridNumericOperators","getGridBooleanOperators","getCustomGridBooleanOperators"],"mappings":"4LAGA,IAAMA,EAAY,CAChBC,SAAUC,EAAUC,SACpBC,OAAQF,EAAUG,OAGdC,EAAa,CACjB,IAAKJ,EAAUG,MACf,KAAMH,EAAUK,SAChB,IAAKL,EAAUM,YACf,KAAMN,EAAUO,mBAChB,IAAKP,EAAUQ,SACf,KAAMR,EAAUS,iBAGZC,EAAa,CACjB,MAAOV,EAAUG,OAGbQ,EAAU,CACdC,GAAIZ,EAAUG,MACdU,IAAKb,EAAUK,SACfS,MAAOd,EAAUM,YACjBS,UAAWf,EAAUO,mBACrBS,OAAQhB,EAAUQ,SAClBS,WAAYjB,EAAUS,iBAGlBS,EAA+B,WACnC,IAAMC,EAAO,IAAIC,IAAIC,OAAOF,KAAKrB,IAQjC,OAPgBwB,IACbC,QAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,IAC/BC,KAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAAS5B,EAAkB0B,EAAEE,OAAS,GACjCF,CACT,GAEJ,EA0BMK,EAA6B,SAACC,GAClC,IAAMX,EAAO,IAAIC,IAAIC,OAAOF,KAAKR,IAQjC,OAPgBoB,EAAqBD,GAClCP,QAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,IAC/BC,KAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAASf,EAAgBa,EAAEE,OAAS,GAC/BF,CACT,GAEJ,EAEaQ,EAAwB,SAACC,GACpC,OAAQA,EAAOC,MACb,IAAK,SAUL,QACE,OAAOhB,IATT,IAAK,SACH,OAxCEC,EAAO,IAAIC,IAAIC,OAAOF,KAAKf,IACjB+B,IACbZ,QAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,IAC/BC,KAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAAStB,EAAmBoB,EAAEE,OAAS,GAClCF,CACT,IAkCA,IAAK,UACH,OA/BgC,WACpC,IAAML,EAAO,IAAIC,IAAIC,OAAOF,KAAKT,IAQjC,OAPgB0B,IACbb,QAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,IAC/BC,KAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAAShB,EAAmBc,EAAEE,OAAS,GAClCF,CACT,GAEJ,CAqBaa,GACT,IAAK,OACH,OAAOR,IACT,IAAK,WACH,OAAOA,GAA2B,GA/CF,IAC9BV,CAkDR"}
@@ -0,0 +1,2 @@
1
+ import{createClass as r,classCallCheck as t,defineProperty as e,objectSpread2 as o,objectWithoutProperties as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a}from"react/jsx-runtime";import i from"dayjs";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{MapTableBaseContext as l}from"./context.js";import{BtnFormDetail as u,BtnDetail as s}from"./ui.buttons.js";import{CreateStatusCell as c,CellChips as m,CellBase as v,CellImageSmall as f,CellDate as p}from"./ui.units.js";import h from"./toolbar-pannel.js";import d from"./helpers.js";import{CreateTable as g}from"./create.table.js";import y from"./create.action-row.js";import{Breadcrumbs as j}from"../components/breadcrumbs.js";var b=["imageUrl","valueFormatter","typographyProps","typographyPropsGetter"],C=["formatString"],S="MM/DD/YYYY HH:mm",w=new(r((function r(){var w=this;t(this,r),e(this,"createTable",g),e(this,"createActionRow",y),e(this,"setUrlQuery",d.setUrlQuery),e(this,"getUrlQuery",d.getUrlQuery),e(this,"mapContext",l),e(this,"ToolbarPannel",h),e(this,"createToolbar",(function(r){return function(t){return a(h,o({},o(o({},t),r)))}})),e(this,"BtnFormDetail",u),e(this,"BtnDetail",s),e(this,"createBreadcrumbConfigs",(function(r){return r})),e(this,"createBreadcrumbs",(function(r){return function(){return a(j,{value:r})}})),e(this,"createStatusCell",c),e(this,"formatterDate",(function(r,t){var e,o,n=null!==(e=null==t?void 0:t.formatString)&&void 0!==e?e:S,a=null!==(o=null==t?void 0:t.showRelative)&&void 0!==o&&o;try{if(!r)return"";var l=i(r),u=l.format(n);return a?"".concat(u," (").concat(i().to(l),")"):u}catch(r){return""}})),e(this,"valueFormatterDate",(function(r){return function(t){return w.formatterDate(t.value,r)}})),e(this,"renderCellChips",(function(r){return function(t){var e;return a(m,o(o({},r),{},{value:null!==(e=t.value)&&void 0!==e?e:null==r?void 0:r.value}))}})),e(this,"renderCellStatus",(function(r,t){var e=c(r,o({sx:{minWidth:"90px"}},t));return function(r){return a(e,{value:r.value})}})),e(this,"renderCellBase",(function(r){return function(t){var e,i=null!=r?r:{},l=i.imageUrl,u=i.valueFormatter,s=i.typographyProps,c=i.typographyPropsGetter,m=n(i,b),f=u?u(t.value,t.row):void 0,p=l?l(t.value,t.row):void 0,h=null!=r&&r.renderIcon?r.renderIcon(t.value,t.row):null!==(e=null==r?void 0:r.icon)&&void 0!==e?e:void 0,d=c?c(t.value,t.row):s;return a(v,o(o({value:t.value,valueFormatted:f},m),{},{imageUrl:p,icon:h,typographyProps:d}))}})),e(this,"renderCellImage",(function(r,t){return function(e){var o;return a(f,{value:e.value,imageUri:null===(o=r(e.row))||void 0===o?void 0:o.toString(),fallbackSrc:null==t?void 0:t.fallbackSrc})}})),e(this,"renderCellDate",(function(r){return function(t){var e=null!=r?r:{},i=e.formatString,l=n(e,C);return a(p,o(o({},l),{},{value:t.value,formatString:null!=i?i:S}))}}))})));export{w as default};
2
+ //# sourceMappingURL=dino.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dino.js","sources":["../../../src/table/dino.tsx"],"sourcesContent":["import { GridRenderCellParams, GridTreeNodeWithRender, GridValueFormatterParams } from '@mui/x-data-grid'\r\nimport type { FC, ReactNode } from 'react'\r\nimport { dayjsCustom } from '../utils'\r\nimport { MapTableBaseContext } from './context'\r\nimport { BtnDetail, BtnFormDetail } from './ui.buttons'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\nimport { CreateStatusCell, IStatusCellOptions, IStatusCellConfig } from './ui.units'\r\nimport { CellBase, CellImageSmall, CellBaseOptions, CellChips, CellChipsProps, CellDate, CellDatePropsOwner } from './ui.units'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\nimport TableHelper from './helpers'\r\nimport CreateTable from './create.table'\r\nimport CreateActionRow from './create.action-row'\r\nimport { TypographyProps } from '@mui/material'\r\n\r\nconst formatDateString = 'MM/DD/YYYY HH:mm'\r\n\r\ntype RenderCellBaseParams<T> = Omit<CellBaseOptions, 'imageUrl'> & {\r\n imageUrl?: (value: any, model: T) => string\r\n valueFormatter?: (value: any, model: T) => string\r\n icon?: ReactNode\r\n renderIcon?: (value: any, model: T) => ReactNode\r\n typographyPropsGetter?: (value: any, model: T) => TypographyProps & { [key: string]: any }\r\n}\r\n\r\ninterface FormatterDateOptions {\r\n formatString?: string\r\n showRelative?: boolean\r\n}\r\n\r\nclass DinoTableBase {\r\n //#region Base\r\n\r\n createTable = CreateTable\r\n\r\n createActionRow = CreateActionRow\r\n\r\n setUrlQuery = TableHelper.setUrlQuery\r\n\r\n getUrlQuery = TableHelper.getUrlQuery\r\n\r\n mapContext = MapTableBaseContext\r\n\r\n ToolbarPannel = ToolbarPannel\r\n\r\n createToolbar = (props: IToolbarPannelProps): FC<IToolbarPannelProps> => {\r\n return (p) => <ToolbarPannel {...{ ...p, ...props }} />\r\n }\r\n\r\n BtnFormDetail = BtnFormDetail\r\n\r\n BtnDetail = BtnDetail\r\n\r\n createBreadcrumbConfigs = (value: IBreadcrumbConfig[]) => value\r\n\r\n createBreadcrumbs = (value: IBreadcrumbConfig[]): FC => {\r\n return () => <Breadcrumbs value={value} />\r\n }\r\n\r\n createStatusCell = CreateStatusCell\r\n //#endregion\r\n\r\n //#region Value Formatter\r\n formatterDate = (value: any, options?: FormatterDateOptions): string => {\r\n const f = options?.formatString ?? formatDateString\r\n const showRelative = options?.showRelative ?? false\r\n try {\r\n if (!value) return ''\r\n\r\n const date = dayjsCustom(value)\r\n const formatted = date.format(f)\r\n\r\n return showRelative ? `${formatted} (${dayjsCustom().to(date)})` : formatted\r\n } catch (error) {\r\n return ''\r\n }\r\n }\r\n\r\n valueFormatterDate = (options?: FormatterDateOptions) => {\r\n return (params: GridValueFormatterParams<any>) => this.formatterDate(params.value, options)\r\n }\r\n //#endregion\r\n\r\n //#region Render Cell\r\n renderCellChips = (params?: CellChipsProps) => {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellChips {...params} value={tableRow.value ?? params?.value} />\r\n }\r\n }\r\n\r\n renderCellStatus = function <E extends string>(config: IStatusCellConfig<E>, options?: IStatusCellOptions) {\r\n const StatusCellInstance = CreateStatusCell(config, { sx: { minWidth: '90px' }, ...options })\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <StatusCellInstance value={tableRow.value} />\r\n }\r\n }\r\n\r\n renderCellBase = function <T = any>(options?: RenderCellBaseParams<T>) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { imageUrl, valueFormatter, typographyProps, typographyPropsGetter, ...p } = options ?? {}\r\n const value = valueFormatter ? valueFormatter(tableRow.value, tableRow.row) : undefined\r\n const img = imageUrl ? imageUrl(tableRow.value, tableRow.row) : undefined\r\n const icon = options?.renderIcon ? options.renderIcon(tableRow.value, tableRow.row) : options?.icon ?? undefined\r\n const mergedTypographyProps = typographyPropsGetter ? typographyPropsGetter(tableRow.value, tableRow.row) : typographyProps\r\n return <CellBase value={tableRow.value} valueFormatted={value} {...p} imageUrl={img} icon={icon} typographyProps={mergedTypographyProps} />\r\n }\r\n }\r\n\r\n renderCellImage = function <T>(selectImage: (value: T) => T[keyof T], options?: { fallbackSrc?: string }) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellImageSmall value={tableRow.value} imageUri={selectImage(tableRow.row)?.toString()} fallbackSrc={options?.fallbackSrc} />\r\n }\r\n }\r\n\r\n renderCellDate = function (params?: CellDatePropsOwner) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { formatString, ...props } = params ?? {}\r\n return <CellDate {...props} value={tableRow.value} formatString={formatString ?? formatDateString} />\r\n }\r\n }\r\n //#endregion\r\n}\r\n\r\nconst DinoTable = new DinoTableBase()\r\n\r\nexport default DinoTable\r\n"],"names":["formatDateString","DinoTable","_createClass","DinoTableBase","_this","this","_classCallCheck","_defineProperty","CreateTable","CreateActionRow","TableHelper","setUrlQuery","getUrlQuery","MapTableBaseContext","ToolbarPannel","props","p","_jsx","_objectSpread","BtnFormDetail","BtnDetail","value","Breadcrumbs","CreateStatusCell","options","_options$formatString","_options$showRelative","f","formatString","showRelative","date","dayjsCustom","formatted","format","concat","to","error","params","formatterDate","tableRow","_tableRow$value","CellChips","config","StatusCellInstance","sx","minWidth","_options$icon","_ref","imageUrl","valueFormatter","typographyProps","typographyPropsGetter","_objectWithoutProperties","_excluded","row","undefined","img","icon","renderIcon","mergedTypographyProps","CellBase","valueFormatted","selectImage","_selectImage","CellImageSmall","imageUri","toString","fallbackSrc","_ref2","_excluded2","CellDate"],"mappings":"mzBAcMA,EAAmB,mBA4GnBC,EAAY,IA7FCC,GAAA,SAAAC,IAAA,IAAAC,EAAAC,KAAAC,OAAAH,GACjBI,qBAEcC,GAAWD,yBAEPE,GAAeF,EAAAF,KAAA,cAEnBK,EAAYC,aAAWJ,EAAAF,KAAA,cAEvBK,EAAYE,aAAWL,oBAExBM,GAAmBN,uBAEhBO,GAAaP,EAAAF,KAAA,iBAEb,SAACU,GACf,OAAO,SAACC,GAAC,OAAKC,EAACH,EAAaI,EAAAA,GAAAA,EAAAA,EAAUF,GAAAA,GAAMD,IAAW,KACxDR,uBAEeY,GAAaZ,mBAEjBa,GAASb,EAAAF,KAAA,2BAEK,SAACgB,GAA0B,OAAKA,CAAK,IAAAd,EAAAF,KAAA,qBAE3C,SAACgB,GACnB,OAAO,WAAA,OAAMJ,EAACK,GAAYD,MAAOA,GAAS,KAC3Cd,0BAEkBgB,GAGnBhB,EACgBF,KAAA,iBAAA,SAACgB,EAAYG,GAA0C,IAAAC,EAAAC,EAC/DC,EAAyBF,QAAxBA,EAAGD,aAAO,EAAPA,EAASI,oBAAYH,IAAAA,EAAAA,EAAIzB,EAC7B6B,EAAoCH,QAAxBA,EAAGF,aAAO,EAAPA,EAASK,oBAAYH,IAAAA,GAAAA,EAC1C,IACE,IAAKL,EAAO,MAAO,GAEnB,IAAMS,EAAOC,EAAYV,GACnBW,EAAYF,EAAKG,OAAON,GAE9B,OAAOE,EAAYK,GAAAA,OAAMF,QAASE,OAAKH,IAAcI,GAAGL,QAAWE,CACpE,CAAC,MAAOI,GACP,MAAO,EACR,KACF7B,EAAAF,KAAA,sBAEoB,SAACmB,GACpB,OAAO,SAACa,GAAqC,OAAKjC,EAAKkC,cAAcD,EAAOhB,MAAOG,EAAQ,KAI7FjB,EAAAF,KAAA,mBACkB,SAACgC,GACjB,OAAO,SAAcE,GAAqE,IAAAC,EACxF,OAAOvB,EAACwB,EAASvB,EAAAA,KAAKmB,GAAM,GAAA,CAAEhB,MAAqBmB,QAAhBA,EAAED,EAASlB,aAAKmB,IAAAA,EAAAA,EAAIH,aAAM,EAANA,EAAQhB,QAChE,KACFd,EAEkBF,KAAA,oBAAA,SAA4BqC,EAA8BlB,GAC3E,IAAMmB,EAAqBpB,EAAiBmB,EAAMxB,EAAA,CAAI0B,GAAI,CAAEC,SAAU,SAAarB,IACnF,OAAO,SAAce,GACnB,OAAOtB,EAAC0B,EAAmB,CAAAtB,MAAOkB,EAASlB,OAC5C,KACFd,EAAAF,KAAA,kBAEgB,SAAmBmB,GAClC,OAAO,SAAce,GAAqE,IAAAO,EACxFC,EAAmFvB,QAAAA,EAAW,CAAE,EAAxFwB,EAAQD,EAARC,SAAUC,EAAcF,EAAdE,eAAgBC,EAAeH,EAAfG,gBAAiBC,EAAqBJ,EAArBI,sBAA0BnC,EAACoC,EAAAL,EAAAM,GACxEhC,EAAQ4B,EAAiBA,EAAeV,EAASlB,MAAOkB,EAASe,UAAOC,EACxEC,EAAMR,EAAWA,EAAST,EAASlB,MAAOkB,EAASe,UAAOC,EAC1DE,EAAOjC,SAAAA,EAASkC,WAAalC,EAAQkC,WAAWnB,EAASlB,MAAOkB,EAASe,KAAoB,QAAhBR,EAAGtB,aAAAA,EAAAA,EAASiC,YAAIX,IAAAA,EAAAA,OAAIS,EACjGI,EAAwBR,EAAwBA,EAAsBZ,EAASlB,MAAOkB,EAASe,KAAOJ,EAC5G,OAAOjC,EAAC2C,EAAQ1C,EAAAA,EAAA,CAACG,MAAOkB,EAASlB,MAAOwC,eAAgBxC,GAAWL,GAAC,GAAA,CAAEgC,SAAUQ,EAAKC,KAAMA,EAAMP,gBAAiBS,IACnH,KACFpD,EAEiBF,KAAA,mBAAA,SAAayD,EAAuCtC,GACpE,OAAO,SAAce,GAAqE,IAAAwB,EACxF,OAAO9C,EAAC+C,EAAc,CAAC3C,MAAOkB,EAASlB,MAAO4C,SAAmC,QAA3BF,EAAED,EAAYvB,EAASe,YAArBS,IAAyBA,OAAzBA,EAAAA,EAA2BG,WAAYC,YAAa3C,aAAO,EAAPA,EAAS2C,aACtH,KACF5D,EAAAF,KAAA,kBAEgB,SAAUgC,GACzB,OAAO,SAAcE,GACnB,IAAA6B,EAAmC/B,QAAAA,EAAU,CAAE,EAAvCT,EAAYwC,EAAZxC,aAAiBb,EAAKqC,EAAAgB,EAAAC,GAC9B,OAAOpD,EAACqD,EAAQpD,EAAAA,KAAKH,GAAK,GAAA,CAAEM,MAAOkB,EAASlB,MAAOO,aAAcA,QAAAA,EAAgB5B,IAClF,IACF"}
@@ -0,0 +1,2 @@
1
+ import{createClass as t,classCallCheck as e,defineProperty as r,objectSpread2 as i}from"../../_virtual/_rollupPluginBabelHelpers.js";import{encodeBase64 as l,tryParseObject as a,decodeBase64 as n}from"../utils/helpers.js";import"../utils/dayjs-config.js";import{QueryParam as u}from"../utils/query-param.js";var s={whiteSpacePre:"white-space-pre-wrap"},o=new(t((function t(){var s=this;e(this,t),r(this,"extractTableQueryParams",(function(t){return t?{pagination:t.pagination,filter:t.filter,sort:t.sort,loading:t.loading}:{}})),r(this,"isEmpty",(function(t,e){var r,i=s.extractTableQueryParams(t),l=!i.filter||i.filter.items.filter((function(t){return!!t.value})).length<1,a=!(null!==(r=t.filter)&&void 0!==r&&r.quickFilterValues)||t.filter.quickFilterValues.length<1;return l||a})),r(this,"equalTableQueryParams",(function(t,e){return JSON.stringify(s.extractTableQueryParams(t))===JSON.stringify(s.extractTableQueryParams(e))})),r(this,"mapInitialState",(function(t,e){return t?i({pagination:{paginationModel:t.pagination},filter:{filterModel:t.filter},sorting:{sortModel:s.mapSortModel(t.sort)}},e):null!=e?e:{}})),r(this,"mapSortModel",(function(t){return null==t?void 0:t.map((function(t){return{field:t.field.toString(),sort:t.sort}}))})),r(this,"detectSearchType",(function(t){var e=t.quickFilterValues&&t.quickFilterValues.length>0,r=t.items&&t.items.length>0;return e&&!r?"quickSearch":r?"filter":void 0})),r(this,"extractToUrlQuery",(function(t){var e,r=t.filter,i={filter:r,sort:t.sort,pagination:t.pagination},l=!(null!=r&&null!==(e=r.quickFilterValues)&&void 0!==e&&e.filter((function(t){return!!t})).length);return null!=r&&r.items.length||!l||(i.filter=void 0),i})),r(this,"equals",(function(t,e){return JSON.stringify(s.extractToUrlQuery(t))===JSON.stringify(s.extractToUrlQuery(e))})),r(this,"setUrlQuery",(function(t,e){try{if(s.equals(t,e))u.deletes("table");else{var r=s.extractToUrlQuery(t),i={table:l(JSON.stringify(r))};u.patch(i)}}catch(t){console.log(t)}})),r(this,"getUrlQuery",(function(t){var e,r=u.getAll();if(null==r||!r.table)return t;var i=a(n(null!==(e=r.table)&&void 0!==e?e:""),{});return Object.keys(i).length<1?t:i}))})));export{o as default,s as dinoTableClasses};
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/table/helpers.ts"],"sourcesContent":["import { GridFilterModel, GridSortItem, GridSortModel } from '@mui/x-data-grid'\r\nimport { GridInitialStateCommunity } from '@mui/x-data-grid/models/gridStateCommunity'\r\nimport { ICustomGridSortModel, ITableQueryParams, ITableQueryDetail } from './types'\r\nimport { decodeBase64, encodeBase64, QueryParam, tryParseObject } from '../utils'\r\n\r\nexport const dinoTableClasses = {\r\n whiteSpacePre: 'white-space-pre-wrap'\r\n}\r\n\r\nexport interface ITableQueryParamModel {\r\n table?: string\r\n}\r\n\r\nclass TableHelperBase {\r\n private extractTableQueryParams = <T>(data?: ITableQueryParams<T>): ITableQueryParams<T> => {\r\n if (!data) return {}\r\n const { pagination, filter, sort, loading } = data\r\n return { pagination, filter, sort, loading }\r\n }\r\n\r\n isEmpty = <T>(value: ITableQueryParams<T>, defaultValue?: ITableQueryParams<T>): boolean => {\r\n const obj = this.extractTableQueryParams<T>(value)\r\n const check1 = !obj.filter || obj.filter.items.filter((x) => !!x.value).length < 1\r\n const check2 = !value.filter?.quickFilterValues || value.filter.quickFilterValues.length < 1\r\n // const check3 =\r\n return check1 || check2\r\n }\r\n\r\n equalTableQueryParams = <T>(ti1?: ITableQueryParams<T>, ti2?: ITableQueryParams<T>): boolean => {\r\n return JSON.stringify(this.extractTableQueryParams<T>(ti1)) === JSON.stringify(this.extractTableQueryParams<T>(ti2))\r\n }\r\n\r\n mapInitialState = <T>(value?: ITableQueryParams<T>, initialState?: GridInitialStateCommunity): GridInitialStateCommunity => {\r\n if (!value) return initialState ?? {}\r\n return {\r\n pagination: { paginationModel: value.pagination },\r\n filter: { filterModel: value.filter as GridFilterModel },\r\n sorting: { sortModel: this.mapSortModel(value.sort) },\r\n ...initialState\r\n }\r\n }\r\n\r\n mapSortModel = <T>(value?: ICustomGridSortModel<T>): GridSortModel | undefined => {\r\n return value?.map<GridSortItem>((x) => ({ field: x.field.toString(), sort: x.sort }))\r\n }\r\n\r\n detectSearchType = (data: GridFilterModel): ITableQueryDetail => {\r\n const hasQuickSearch = data.quickFilterValues && data.quickFilterValues.length > 0\r\n const hasFilter = data.items && data.items.length > 0\r\n if (hasQuickSearch && !hasFilter) return 'quickSearch'\r\n if (hasFilter) return 'filter'\r\n }\r\n\r\n //#region Query Params\r\n private extractToUrlQuery = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>): Partial<ITableQueryParams<TModel>> => {\r\n const { filter, sort, pagination } = tableInfo\r\n const obj = { filter, sort, pagination }\r\n const isQuickSearchEmpty = !filter?.quickFilterValues?.filter((x) => !!x).length\r\n if (!filter?.items.length && isQuickSearchEmpty) {\r\n obj.filter = undefined\r\n }\r\n return obj\r\n }\r\n\r\n private equals = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>, tableInfoOld: Partial<ITableQueryParams<TModel>>) => {\r\n return JSON.stringify(this.extractToUrlQuery(tableInfo)) === JSON.stringify(this.extractToUrlQuery(tableInfoOld))\r\n }\r\n\r\n setUrlQuery = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>, defaultValue: ITableQueryParams<TModel>) => {\r\n try {\r\n if (!this.equals(tableInfo, defaultValue)) {\r\n const data = this.extractToUrlQuery(tableInfo)\r\n const tqp: ITableQueryParamModel = { table: encodeBase64(JSON.stringify(data)) }\r\n QueryParam.patch(tqp)\r\n } else {\r\n QueryParam.deletes<ITableQueryParamModel>('table')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n getUrlQuery = <TModel>(defaultValue: ITableQueryParams<TModel>): ITableQueryParams<TModel> => {\r\n const temp = QueryParam.getAll() as ITableQueryParamModel\r\n if (!temp?.table) return defaultValue\r\n const data = tryParseObject<ITableQueryParams<TModel>>(decodeBase64(temp.table ?? ''), {})\r\n if (Object.keys(data).length < 1) return defaultValue\r\n return data\r\n }\r\n //#endregion\r\n}\r\n\r\nconst TableHelper = new TableHelperBase()\r\nexport default TableHelper\r\n"],"names":["dinoTableClasses","whiteSpacePre","TableHelper","_createClass","TableHelperBase","_this","this","_classCallCheck","_defineProperty","data","pagination","filter","sort","loading","value","defaultValue","_value$filter","obj","extractTableQueryParams","check1","items","x","length","check2","quickFilterValues","ti1","ti2","JSON","stringify","initialState","_objectSpread","paginationModel","filterModel","sorting","sortModel","mapSortModel","map","field","toString","hasQuickSearch","hasFilter","tableInfo","_filter$quickFilterVa","isQuickSearchEmpty","undefined","tableInfoOld","extractToUrlQuery","equals","QueryParam","deletes","tqp","table","encodeBase64","patch","error","console","log","_temp$table","temp","getAll","tryParseObject","decodeBase64","Object","keys"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-filter.js","sources":["../../../src/table/model-filter.ts"],"sourcesContent":["export enum ELogic {\r\n And,\r\n Or\r\n}\r\n\r\nexport enum EOperator {\r\n GreaterThan,\r\n LessThan,\r\n GreaterThanOrEqual,\r\n LessThanOrEqual,\r\n NotEqual,\r\n Equal,\r\n Contains\r\n}\r\n\r\nexport enum EOrder {\r\n Ascending,\r\n Descending\r\n}\r\n\r\nexport interface IFieldFilter<T> {\r\n Logic?: ELogic\r\n Operator?: EOperator\r\n FieldName: keyof T\r\n Value: string\r\n}\r\n\r\nexport interface IScopeFilter<T> {\r\n Logic?: ELogic\r\n Scopes: IPropFilter<T>[]\r\n}\r\n\r\nexport type IPropFilter<T> = IFieldFilter<T> | IScopeFilter<T>\r\n\r\nexport interface IPropOrderBy<T> {\r\n Type: EOrder\r\n FieldName: keyof T\r\n}\r\n\r\nexport interface IModelFilter<T> {\r\n Page?: number\r\n Amount?: number\r\n PropFilters?: IPropFilter<T>[]\r\n PropOrders?: IPropOrderBy<T>[]\r\n}\r\n"],"names":["ELogic","EOperator","EOrder"],"mappings":"IAAYA,EAKAC,EAUAC,GAfZ,SAAYF,GACVA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,GAAA,GAAA,IACD,CAHD,CAAYA,IAAAA,EAGX,CAAA,IAED,SAAYC,GACVA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,SAAA,GAAA,UACD,CARD,CAAYA,IAAAA,EAQX,CAAA,IAED,SAAYC,GACVA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,WAAA,GAAA,YACD,CAHD,CAAYA,IAAAA,EAGX,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{objectSpread2 as r,inherits as e,createClass as t,classCallCheck as n,callSuper as i,defineProperty as a}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,jsxs as s,Fragment as o}from"react/jsx-runtime";import{Component as p}from"react";import{GridToolbar as d,GridToolbarQuickFilter as c}from"@mui/x-data-grid";import{styled as u,Typography as f,Box as m}from"@mui/material";import{BtnFormCreate as h}from"./ui.buttons.js";import{Breadcrumbs as x}from"../components/breadcrumbs.js";import{HelpTooltip as g}from"../components/help-tooltip.js";var b=function(){function r(){var e;n(this,r);for(var t=arguments.length,p=new Array(t),d=0;d<t;d++)p[d]=arguments[d];return e=i(this,r,[].concat(p)),a(e,"renderTitle",(function(){var r=e.props,t=r.title,n=r.afterTitle,i=r.breadcrumbs;if(!(!!t||!!i||!!n))return l(o,{});var a=t;return"string"==typeof t&&(a=l(y,{children:t})),i&&(a=l(x,{value:i})),s(m,{sx:{height:"56px",display:"flex",alignItems:"center"},children:[a,n]})})),a(e,"renderEndAdornment",(function(){return!e.props.searchInclude||e.props.searchInclude.length<=0?l(o,{}):l(g,{title:"The search includes",small:!0,children:l(v,{children:e.props.searchInclude.map((function(r,e){return l("li",{children:l(f,{variant:"body2",children:r})},e)}))})})})),e}return e(r,p),t(r,[{key:"render",value:function(){return s(m,{sx:{padding:"0 6px"},children:[this.renderTitle(),s(m,{sx:{display:"flex",flexWrap:"wrap"},children:[s(m,{sx:{flex:1,display:"flex",alignItems:"center",flexWrap:"wrap"},children:[l(d,{sx:{padding:0}}),this.props.formCreate&&l(h,{children:this.props.formCreate}),this.props.afterAction]}),l(m,{sx:{display:"flex",gap:"8px",alignItems:"center",width:{xs:"100%",md:"auto"}},children:s(m,{sx:{display:"flex",alignItems:"center"},children:[l(c,{fullWidth:!0,variant:"standard",size:"small",debounceMs:800,quickFilterParser:function(r){return[r]}}),this.renderEndAdornment()]})})]})]})}}])}(),v=u("ul")({margin:"0 0 0 18px",padding:0,li:{position:"relative"},"li::after":{content:'"►"',display:"inline-block",top:"50%",transform:"translateY(-50%)",position:"absolute",left:"-18px"}}),y=u((function(e){return l(f,r({noWrap:!0,variant:"subtitle1"},e))}))({fontWeight:700,flex:1});export{b as default};
2
+ //# sourceMappingURL=toolbar-pannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-pannel.js","sources":["../../../src/table/toolbar-pannel.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { GridToolbar, GridToolbarQuickFilter } from '@mui/x-data-grid'\r\nimport { Box, styled, Typography, TypographyProps } from '@mui/material'\r\nimport { BtnFormCreate } from './ui.buttons'\r\nimport { Breadcrumbs, IBreadcrumbConfig, HelpTooltip } from '../components'\r\n\r\nexport interface IToolbarPannelOptions {\r\n searchInclude?: string[]\r\n formCreate?: React.ReactNode\r\n afterAction?: React.ReactNode\r\n breadcrumbs?: IBreadcrumbConfig[]\r\n}\r\n\r\nexport interface IToolbarPannelProps extends IToolbarPannelOptions {\r\n title?: React.ReactNode\r\n afterTitle?: React.ReactNode\r\n}\r\n\r\nclass ToolbarPannel extends Component<React.PropsWithChildren<IToolbarPannelProps>> {\r\n render() {\r\n return (\r\n <Box sx={{ padding: '0 6px' }}>\r\n {this.renderTitle()}\r\n <Box sx={{ display: 'flex', flexWrap: 'wrap' }}>\r\n <Box sx={{ flex: 1, display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>\r\n <GridToolbar sx={{ padding: 0 }} />\r\n {this.props.formCreate && <BtnFormCreate>{this.props.formCreate}</BtnFormCreate>}\r\n {this.props.afterAction}\r\n </Box>\r\n <Box sx={{ display: 'flex', gap: '8px', alignItems: 'center', width: { xs: '100%', md: 'auto' } }}>\r\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\r\n <GridToolbarQuickFilter fullWidth variant='standard' size='small' debounceMs={800} quickFilterParser={(x: any) => [x]} />\r\n {this.renderEndAdornment()}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n )\r\n }\r\n\r\n renderTitle = () => {\r\n const { title, afterTitle, breadcrumbs } = this.props\r\n\r\n const isVisible = !!title || !!breadcrumbs || !!afterTitle\r\n if (!isVisible) return <></>\r\n\r\n let titleElm = title\r\n if (typeof title === 'string') titleElm = <Title>{title}</Title>\r\n if (breadcrumbs) titleElm = <Breadcrumbs value={breadcrumbs} />\r\n\r\n return (\r\n <Box sx={{ height: '56px', display: 'flex', alignItems: 'center' }}>\r\n {titleElm}\r\n {afterTitle}\r\n </Box>\r\n )\r\n }\r\n\r\n renderEndAdornment = () => {\r\n if (!this.props.searchInclude || this.props.searchInclude.length <= 0) return <></>\r\n return (\r\n <HelpTooltip title='The search includes' small>\r\n <SearchHelp>\r\n {this.props.searchInclude.map((item, index) => (\r\n <li key={index}>\r\n <Typography variant='body2'>{item}</Typography>\r\n </li>\r\n ))}\r\n </SearchHelp>\r\n </HelpTooltip>\r\n )\r\n }\r\n}\r\nexport default ToolbarPannel\r\n\r\nconst SearchHelp = styled('ul')({\r\n margin: '0 0 0 18px',\r\n padding: 0,\r\n li: {\r\n position: 'relative'\r\n },\r\n 'li::after': {\r\n content: '\"►\"',\r\n display: 'inline-block',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n position: 'absolute',\r\n left: '-18px'\r\n }\r\n})\r\n\r\nconst Title = styled((props: TypographyProps) => <Typography noWrap variant='subtitle1' {...props} />)({\r\n fontWeight: 700,\r\n flex: 1\r\n})\r\n"],"names":["ToolbarPannel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_this$props","props","title","afterTitle","breadcrumbs","_jsx","titleElm","Title","children","Breadcrumbs","value","_jsxs","Box","sx","height","display","alignItems","searchInclude","HelpTooltip","small","SearchHelp","map","item","index","Typography","variant","_inherits","Component","_createClass","key","padding","renderTitle","flexWrap","flex","GridToolbar","formCreate","BtnFormCreate","afterAction","gap","width","xs","md","GridToolbarQuickFilter","fullWidth","size","debounceMs","quickFilterParser","x","renderEndAdornment","styled","margin","li","position","content","top","transform","left","_objectSpread","noWrap","fontWeight"],"mappings":"sjBAkBMA,IAAAA,aAAc,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAqDjB,OArDiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,eAsBJ,WACZ,IAAAY,EAA2CZ,EAAKa,MAAxCC,EAAKF,EAALE,MAAOC,EAAUH,EAAVG,WAAYC,EAAWJ,EAAXI,YAG3B,OADoBF,KAAWE,KAAiBD,GAChC,OAAOE,QAEvB,IAAIC,EAAWJ,EAIf,MAHqB,iBAAVA,IAAoBI,EAAWD,EAACE,EAAO,CAAAC,SAAAN,KAC9CE,IAAaE,EAAWD,EAACI,EAAW,CAACC,MAAON,KAG9CO,EAACC,EAAI,CAAAC,GAAI,CAAEC,OAAQ,OAAQC,QAAS,OAAQC,WAAY,UACrDR,SAAA,CAAAF,EACAH,QAGNJ,EAAAX,EAAA,sBAEoB,WACnB,OAAKA,EAAKa,MAAMgB,eAAiB7B,EAAKa,MAAMgB,cAAczB,QAAU,EAAUa,QAE5EA,EAACa,EAAW,CAAChB,MAAM,sBAAsBiB,OAAK,EAAAX,SAC5CH,EAACe,EAAU,CAAAZ,SACRpB,EAAKa,MAAMgB,cAAcI,KAAI,SAACC,EAAMC,GAAK,OACxClB,iBACEA,EAACmB,EAAW,CAAAC,QAAQ,iBAASH,KADtBC,EAGV,WAIRnC,CAAA,CAAA,OAAAsC,EAAAvC,EArDyBwC,GAqDzBC,EAAAzC,EAAA,CAAA,CAAA0C,IAAA,SAAAnB,MApDD,WACE,OACEC,EAACC,GAAIC,GAAI,CAAEiB,QAAS,mBACjBjC,KAAKkC,cACNpB,EAACC,EAAG,CAACC,GAAI,CAAEE,QAAS,OAAQiB,SAAU,QACpCxB,SAAA,CAAAG,EAACC,EAAI,CAAAC,GAAI,CAAEoB,KAAM,EAAGlB,QAAS,OAAQC,WAAY,SAAUgB,SAAU,QAAQxB,SAAA,CAC3EH,EAAC6B,EAAW,CAACrB,GAAI,CAAEiB,QAAS,KAC3BjC,KAAKI,MAAMkC,YAAc9B,EAAC+B,YAAevC,KAAKI,MAAMkC,aACpDtC,KAAKI,MAAMoC,eAEdhC,EAACO,GAAIC,GAAI,CAAEE,QAAS,OAAQuB,IAAK,MAAOtB,WAAY,SAAUuB,MAAO,CAAEC,GAAI,OAAQC,GAAI,SACrFjC,SAAAG,EAACC,EAAI,CAAAC,GAAI,CAAEE,QAAS,OAAQC,WAAY,UAAUR,SAAA,CAChDH,EAACqC,EAAsB,CAACC,WAAU,EAAAlB,QAAQ,WAAWmB,KAAK,QAAQC,WAAY,IAAKC,kBAAmB,SAACC,GAAM,MAAK,CAACA,EAAE,IACpHlD,KAAKmD,+BAMlB,IAAC,IAqCG5B,EAAa6B,EAAO,KAAPA,CAAa,CAC9BC,OAAQ,aACRpB,QAAS,EACTqB,GAAI,CACFC,SAAU,YAEZ,YAAa,CACXC,QAAS,MACTtC,QAAS,eACTuC,IAAK,MACLC,UAAW,mBACXH,SAAU,WACVI,KAAM,WAIJjD,EAAQ0C,GAAO,SAAChD,GAAsB,OAAKI,EAACmB,EAAUiC,EAAA,CAACC,UAAOjC,QAAQ,aAAgBxB,GAAS,GAAvFgD,CAAyF,CACrGU,WAAY,IACZ1B,KAAM"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.buttons.js","sources":["../../../src/table/ui.buttons.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Button, IconButton, IconButtonProps, Tooltip } from '@mui/material'\r\nimport ViewListIcon from '@mui/icons-material/ViewList'\r\nimport AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline'\r\nimport { mapGlobalModalContext, TModalReason } from '../api-context'\r\n\r\nexport const BtnFormCreate: FC<{ children: React.ReactNode }> = (props) => {\r\n return mapGlobalModalContext((context) => (\r\n <Tooltip title='Create new'>\r\n <Button\r\n size='small'\r\n onClick={() => context.show({ renderContent: () => props.children })}\r\n startIcon={<AddCircleOutlineIcon fontSize='small' />}\r\n sx={{ fontWeight: 600 }}\r\n variant='contained'\r\n >\r\n Create\r\n </Button>\r\n </Tooltip>\r\n ))\r\n}\r\n\r\nexport interface IBtnFormDetailProps {\r\n formDetail: React.ReactNode\r\n onOpenModal?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\r\n onCloseModal?: (reason?: TModalReason) => void\r\n}\r\n\r\nexport const BtnFormDetail: FC<IBtnFormDetailProps> = (props) => {\r\n return mapGlobalModalContext((context) => (\r\n <Tooltip title='Detail'>\r\n <IconButton\r\n onClick={(e) => {\r\n props.onOpenModal?.(e)\r\n context.show({ backdropActivated: true, renderContent: () => props.formDetail, onClose: props.onCloseModal })\r\n }}\r\n >\r\n <ViewListIcon />\r\n </IconButton>\r\n </Tooltip>\r\n ))\r\n}\r\n\r\nexport interface IBtnDetailProps {\r\n onClick?: IconButtonProps['onClick']\r\n}\r\n\r\nexport const BtnDetail: FC<IBtnDetailProps> = (props) => (\r\n <Tooltip title='Detail'>\r\n <IconButton onClick={props.onClick}>\r\n <ViewListIcon />\r\n </IconButton>\r\n </Tooltip>\r\n)\r\n"],"names":["BtnFormCreate","props","mapGlobalModalContext","context","_jsx","Tooltip","title","children","Button","size","onClick","show","renderContent","startIcon","AddCircleOutlineIcon","fontSize","sx","fontWeight","variant","BtnFormDetail","IconButton","e","_props$onOpenModal","onOpenModal","call","backdropActivated","formDetail","onClose","onCloseModal","ViewListIcon","BtnDetail"],"mappings":"uRAMaA,EAAmD,SAACC,GAC/D,OAAOC,GAAsB,SAACC,GAAO,OACnCC,EAACC,EAAO,CAACC,MAAM,aACbC,SAAAH,EAACI,EAAM,CACLC,KAAK,QACLC,QAAS,WAAF,OAAQP,EAAQQ,KAAK,CAAEC,cAAe,WAAF,OAAQX,EAAMM,QAAQ,GAAG,EACpEM,UAAWT,EAACU,EAAqB,CAAAC,SAAS,UAC1CC,GAAI,CAAEC,WAAY,KAClBC,QAAQ,YAAWX,SAAA,YAIb,GAEd,EAQaY,EAAyC,SAAClB,GACrD,OAAOC,GAAsB,SAACC,GAAO,OACnCC,EAACC,EAAO,CAACC,MAAM,SACbC,SAAAH,EAACgB,EAAU,CACTV,QAAS,SAACW,GAAK,IAAAC,EACIA,QAAjBA,EAAArB,EAAMsB,mBAAND,IAAiBA,GAAjBA,EAAAE,KAAAvB,EAAoBoB,GACpBlB,EAAQQ,KAAK,CAAEc,mBAAmB,EAAMb,cAAe,WAAF,OAAQX,EAAMyB,UAAU,EAAEC,QAAS1B,EAAM2B,cAC/F,EAAArB,SAEDH,EAACyB,EAAY,CAAA,MAEP,GAEd,EAMaC,EAAiC,SAAC7B,GAAK,OAClDG,EAACC,EAAO,CAACC,MAAM,SACbC,SAAAH,EAACgB,EAAU,CAACV,QAAST,EAAMS,QACzBH,SAAAH,EAACyB,EAAY,CAAA,MAEP"}
@@ -0,0 +1,2 @@
1
+ import{objectWithoutProperties as e,objectSpread2 as r,slicedToArray as i}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,Fragment as l,jsxs as t}from"react/jsx-runtime";import{useState as n,useEffect as o}from"react";import{styled as c,Typography as p,Box as m,Chip as s,Tooltip as u,IconButton as d,Divider as f}from"@mui/material";import v from"@mui/icons-material/OpenInNew";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{HelpTooltipWrap as x}from"../components/help-tooltip.js";import{CopyToClipboard as h}from"../components/copy-to-clipboard.js";import b from"dayjs";var y=["children"],k=function(e,i){return function(t){var n,o,c,p,m;return t.value?a(j,r(r({onClick:t.onClick},null===(n=t.slots)||void 0===n?void 0:n.typographyProps),{},{sx:(c=t.value,p=t.sx,m=t.slots,Object.assign({},c?e[c]:{},null==i?void 0:i.sx,p,null==m||null===(o=m.typographyProps)||void 0===o?void 0:o.sx)),children:t.title||t.value})):a(l,{})}},j=c(p)({borderRadius:"4px",fontSize:"0.8rem",padding:"4px 9px",fontWeight:600,minWidth:"70px",textAlign:"center",color:"#ffffff",display:"inline-block"}),w=function(e){var r,l=n(null!==(r=e.imageUri)&&void 0!==r?r:e.fallbackSrc),c=i(l,2),s=c[0],u=c[1];return o((function(){var r;u(null!==(r=e.imageUri)&&void 0!==r?r:e.fallbackSrc)}),[e.imageUri,e.fallbackSrc]),t(m,{sx:{display:"flex",alignItems:"center",height:"100%",gap:"10px"},children:[a(F,{src:s,onError:function(){return u(e.fallbackSrc)}}),a(p,{variant:"body1",children:e.value})]})},S=function(e){var r,l=n(null!==(r=e.imageUri)&&void 0!==r?r:e.imageFallback),t=i(l,2),c=t[0],p=t[1];return o((function(){var r;p(null!==(r=e.imageUri)&&void 0!==r?r:e.imageFallback)}),[e.imageUri,e.imageFallback]),a(F,{src:c,onError:function(){return p(e.imageFallback)},sx:e.sx})},F=c("img")({backgroundRepeat:"no-repeat",height:"50px",width:"50px",backgroundSize:"contain",borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px"}),U=function(e){var i,l=null!==(i=e.valueFormatted)&&void 0!==i?i:e.value,n=!!e.copyToClipboard&&!!l;return t(W,r(r({title:l},e.wrapProps),{},{children:[!!e.imageUrl&&a(S,{imageUri:e.imageUrl,sx:{mr:"10px"},imageFallback:e.imageFallbackSrc}),!!e.icon&&e.icon,a(p,r(r({variant:"body2",component:"span",noWrap:!0,sx:{flex:1}},e.typographyProps),{},{children:l})),l&&!0===e.openInNewTab&&a(u,{arrow:!0,title:"Open new tab",children:a(d,{component:"a",href:l,target:"_blank",children:a(v,{fontSize:"small",sx:{color:"#1A75E2"}})})}),n&&a(h,{value:l}),l&&!0===e.beforeLine&&a(f,{flexItem:!0,variant:"middle",orientation:"vertical"})]}))},W=c((function(i){var l=i.children,t=e(i,y);return a(m,r(r({},t),{},{children:a("div",{children:l})}))}))({flex:1,width:"100%",height:"100%",position:"relative",top:0,left:0,"& > div":{display:"flex",alignItems:"center",width:"100%",height:"100%",position:"absolute",top:0,left:0}}),I=function(e){var r,i;if("string"!=typeof e.value)return null!==(r=e.value)&&void 0!==r?r:a(l,{});var n=e.value.split(null!==(i=null==e?void 0:e.separator)&&void 0!==i?i:"|").filter((function(e){return!!e})),o=null!=e&&e.maximum?n.slice(0,e.maximum):n,c=null!=e&&e.maximum&&n.length>e.maximum?n.length-e.maximum:0;return t(m,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",height:"100%"},children:[o.map((function(r,i){return a(P,{label:e.valueFormatter?e.valueFormatter(r):r,size:"small"},"key"+i)})),c>0&&a(x,{title:"Artists",content:a(m,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px"},children:n.map((function(e,r){return a(P,{label:e,size:"small"},"key"+r)}))}),children:a(P,{label:"+".concat(c),size:"small"},"remaining")})]})},P=c(s)({lineHeight:1}),z=function(e){try{var i,l,t=null!==(i=null==e?void 0:e.showRelative)&&void 0!==i&&i,n=b(e.value),o=n.format(e.formatString),c=t?"".concat(o," (").concat(b().to(n),")"):o,m=e.styledGetter?e.styledGetter(e.value):{flex:1},s=g({},null!==(l=e.typographyProps)&&void 0!==l?l:{},{sx:m});return a(p,r(r({variant:"body2",component:"span",noWrap:!0},s),{},{children:c}))}catch(e){return a(p,{variant:"body2",component:"span",noWrap:!0,children:"format invalid"})}};export{U as CellBase,I as CellChips,z as CellDate,w as CellImageSmall,k as CreateStatusCell,S as ImageSmallFallback};
2
+ //# sourceMappingURL=ui.units.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.units.js","sources":["../../../src/table/ui.units.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\nimport { Box, BoxProps, Chip, Divider, IconButton, styled, SxProps, Theme, Tooltip, Typography, TypographyProps } from '@mui/material'\r\nimport type { ComponentType, FC, PropsWithChildren, ReactNode } from 'react'\r\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew'\r\nimport { dayjsCustom, mergeObjects } from '../utils'\r\nimport { CopyToClipboard, HelpTooltipWrap } from '../components'\r\n\r\n//#region CellImageSmall\r\nexport type IStatusCellConfig<T extends string> = { [key in T]: SxProps<Theme> }\r\n\r\nexport interface IStatusCellOptions {\r\n sx?: SxProps<Theme>\r\n}\r\n\r\nexport interface IStatusCellProps<T extends string> extends PropsWithChildren {\r\n value?: T\r\n title?: string\r\n sx?: SxProps<Theme>\r\n onClick?: TypographyProps['onClick']\r\n slots?: {\r\n typographyProps?: TypographyProps\r\n }\r\n}\r\n\r\nexport const CreateStatusCell = function <T extends string>(\r\n config: IStatusCellConfig<T>,\r\n options?: IStatusCellOptions\r\n): ComponentType<IStatusCellProps<T>> {\r\n const StatusCell: FC<IStatusCellProps<T>> = (props) => {\r\n const getSxProps = (): SxProps<Theme> => {\r\n const { value: data, sx, slots } = props\r\n return Object.assign({}, data ? config[data] : {}, options?.sx, sx, slots?.typographyProps?.sx)\r\n }\r\n\r\n if (!props.value) return <></>\r\n return (\r\n <CustomTypography onClick={props.onClick} {...props.slots?.typographyProps} sx={getSxProps()}>\r\n {props.title || props.value}\r\n </CustomTypography>\r\n )\r\n }\r\n return StatusCell\r\n}\r\n\r\nconst CustomTypography = styled(Typography)({\r\n borderRadius: '4px',\r\n fontSize: '0.8rem',\r\n padding: '4px 9px',\r\n fontWeight: 600,\r\n minWidth: '70px',\r\n textAlign: 'center',\r\n color: '#ffffff',\r\n display: 'inline-block'\r\n})\r\n\r\n//#region CellImageSmall\r\ninterface CellImageSmallProps {\r\n value: string\r\n imageUri?: string\r\n fallbackSrc?: string\r\n}\r\n\r\nexport const CellImageSmall: FC<CellImageSmallProps> = (props) => {\r\n const [imgSrc, setImgSrc] = useState(props.imageUri ?? props.fallbackSrc)\r\n useEffect(() => {\r\n setImgSrc(props.imageUri ?? props.fallbackSrc)\r\n }, [props.imageUri, props.fallbackSrc])\r\n return (\r\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%', gap: '10px' }}>\r\n <ImageSmall src={imgSrc} onError={() => setImgSrc(props.fallbackSrc)} />\r\n <Typography variant='body1'>{props.value}</Typography>\r\n </Box>\r\n )\r\n}\r\n\r\ninterface ImageSmallFallbackProps {\r\n imageUri?: string\r\n imageFallback?: string\r\n sx?: SxProps<Theme>\r\n}\r\n\r\nexport const ImageSmallFallback: FC<ImageSmallFallbackProps> = (props) => {\r\n const [imgSrc, setImgSrc] = useState(props.imageUri ?? props.imageFallback)\r\n useEffect(() => {\r\n setImgSrc(props.imageUri ?? props.imageFallback)\r\n }, [props.imageUri, props.imageFallback])\r\n return <ImageSmall src={imgSrc} onError={() => setImgSrc(props.imageFallback)} sx={props.sx} />\r\n}\r\n\r\nconst ImageSmall = styled('img')({\r\n backgroundRepeat: 'no-repeat',\r\n height: '50px',\r\n width: '50px',\r\n backgroundSize: 'contain',\r\n borderRadius: '8px',\r\n boxShadow: 'rgba(0, 0, 0, 0.16) 0px 1px 4px'\r\n})\r\n//#endregion\r\n\r\n//#region CellBase\r\n\r\nexport interface CellBaseOptions {\r\n openInNewTab?: boolean\r\n beforeLine?: boolean\r\n copyToClipboard?: boolean\r\n icon?: ReactNode\r\n imageUrl?: string\r\n imageFallbackSrc?: string\r\n valueFormatter?: (value?: string) => string\r\n wrapProps?: BoxProps & { [key: string]: any }\r\n typographyProps?: TypographyProps & { [key: string]: any }\r\n}\r\n\r\ninterface CellBaseProps extends CellBaseOptions {\r\n value?: string\r\n valueFormatted?: string\r\n}\r\n\r\nexport const CellBase: FC<CellBaseProps> = (props) => {\r\n const value = props.valueFormatted ?? props.value\r\n const isCopyToClipboard = !!props.copyToClipboard && !!value\r\n return (\r\n <CellBaseWrap title={value} {...props.wrapProps}>\r\n {!!props.imageUrl && <ImageSmallFallback imageUri={props.imageUrl} sx={{ mr: '10px' }} imageFallback={props.imageFallbackSrc} />}\r\n {!!props.icon && props.icon}\r\n <Typography variant='body2' component='span' noWrap sx={{ flex: 1 }} {...props.typographyProps}>\r\n {value}\r\n </Typography>\r\n {value && props.openInNewTab === true && (\r\n <Tooltip arrow title='Open new tab'>\r\n <IconButton component='a' href={value} target='_blank'>\r\n <OpenInNewIcon fontSize='small' sx={{ color: '#1A75E2' }} />\r\n </IconButton>\r\n </Tooltip>\r\n )}\r\n {isCopyToClipboard && <CopyToClipboard value={value} />}\r\n {value && props.beforeLine === true && <Divider flexItem variant='middle' orientation='vertical' />}\r\n </CellBaseWrap>\r\n )\r\n}\r\n\r\nconst CellBaseWrap = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n flex: 1,\r\n width: '100%',\r\n height: '100%',\r\n position: 'relative',\r\n top: 0,\r\n left: 0,\r\n '& > div': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n width: '100%',\r\n height: '100%',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0\r\n }\r\n})\r\n//#endregion\r\n\r\n//#region Chips\r\nexport interface CellChipsProps {\r\n value?: string\r\n valueFormatter?: (value: string) => string\r\n separator?: string\r\n maximum?: number\r\n}\r\n\r\nexport const CellChips: FC<CellChipsProps> = (props) => {\r\n if (typeof props.value !== 'string') return props.value ?? <></>\r\n\r\n const list = props.value.split(props?.separator ?? '|').filter((x) => !!x)\r\n const displayList = props?.maximum ? list.slice(0, props.maximum) : list\r\n const remainingCount = props?.maximum && list.length > props.maximum ? list.length - props.maximum : 0\r\n\r\n return (\r\n <Box sx={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: '4px', height: '100%' }}>\r\n {displayList.map((x, i) => (\r\n <CustomChip key={'key' + i} label={props.valueFormatter ? props.valueFormatter(x) : x} size='small' />\r\n ))}\r\n {remainingCount > 0 && (\r\n <HelpTooltipWrap\r\n title='Artists'\r\n content={\r\n <Box sx={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: '4px' }}>\r\n {list.map((x, i) => (\r\n <CustomChip key={'key' + i} label={x} size='small' />\r\n ))}\r\n </Box>\r\n }\r\n >\r\n <CustomChip key='remaining' label={`+${remainingCount}`} size='small' />\r\n </HelpTooltipWrap>\r\n )}\r\n </Box>\r\n )\r\n}\r\n\r\nconst CustomChip = styled(Chip)({\r\n lineHeight: 1\r\n})\r\n//#endregion\r\n\r\n//#region Date\r\nexport interface CellDatePropsOwner {\r\n formatString?: string\r\n showRelative?: boolean\r\n typographyProps?: TypographyProps\r\n styledGetter?: (value: any) => SxProps<Theme>\r\n}\r\nexport interface CellDateProps extends CellDatePropsOwner {\r\n value: any\r\n}\r\n\r\nexport const CellDate: FC<CellDateProps> = (props) => {\r\n try {\r\n const showRelative = props?.showRelative ?? false\r\n const date = dayjsCustom(props.value)\r\n const formatted = date.format(props.formatString)\r\n const value = showRelative ? `${formatted} (${dayjsCustom().to(date)})` : formatted\r\n const sx = props.styledGetter ? props.styledGetter(props.value) : { flex: 1 }\r\n const mergeTypographyProps = mergeObjects<TypographyProps>({}, props.typographyProps ?? {}, { sx })\r\n return (\r\n <Typography variant='body2' component='span' noWrap {...mergeTypographyProps}>\r\n {value}\r\n </Typography>\r\n )\r\n } catch {\r\n return (\r\n <Typography variant='body2' component='span' noWrap>\r\n format invalid\r\n </Typography>\r\n )\r\n }\r\n}\r\n//#endregion\r\n"],"names":["CreateStatusCell","config","options","props","_props$slots","_slots$typographyProp","data","sx","slots","value","_jsx","CustomTypography","_objectSpread","onClick","typographyProps","Object","assign","children","title","styled","Typography","borderRadius","fontSize","padding","fontWeight","minWidth","textAlign","color","display","CellImageSmall","_props$imageUri","_useState","useState","imageUri","fallbackSrc","_useState2","_slicedToArray","imgSrc","setImgSrc","useEffect","_props$imageUri2","_jsxs","Box","alignItems","height","gap","ImageSmall","src","onError","variant","ImageSmallFallback","_props$imageUri3","_useState3","imageFallback","_useState4","_props$imageUri4","backgroundRepeat","width","backgroundSize","boxShadow","CellBase","_props$valueFormatted","valueFormatted","isCopyToClipboard","copyToClipboard","CellBaseWrap","wrapProps","imageUrl","mr","imageFallbackSrc","icon","component","noWrap","flex","openInNewTab","Tooltip","arrow","IconButton","href","target","OpenInNewIcon","CopyToClipboard","beforeLine","Divider","flexItem","orientation","_ref","_objectWithoutProperties","_excluded","position","top","left","CellChips","_props$value","_props$separator","list","split","separator","filter","x","displayList","maximum","slice","remainingCount","length","flexWrap","map","i","CustomChip","label","valueFormatter","size","HelpTooltipWrap","content","concat","Chip","lineHeight","CellDate","_props$showRelative","_props$typographyProp","showRelative","date","dayjsCustom","formatted","format","formatString","to","styledGetter","mergeTypographyProps","mergeObjects","_unused"],"mappings":"8qBAwBaA,EAAmB,SAC9BC,EACAC,GAeA,OAb4C,SAACC,GAAS,IAAAC,EACZC,EACvBC,EAAMC,EAAIC,EAI3B,OAAKL,EAAMM,MAETC,EAACC,EAAgBC,EAAAA,EAAA,CAACC,QAASV,EAAMU,iBAAOT,EAAMD,EAAMK,aAAK,IAAAJ,OAAA,EAAXA,EAAaU,iBAAe,CAAA,EAAA,CAAEP,IAN7DD,EAAoBH,EAA3BM,MAAaF,EAAcJ,EAAdI,GAAIC,EAAUL,EAAVK,MAClBO,OAAOC,OAAO,CAAE,EAAEV,EAAOL,EAAOK,GAAQ,CAAA,EAAIJ,aAAO,EAAPA,EAASK,GAAIA,EAAIC,SAAsBH,QAAjBA,EAALG,EAAOM,2BAAeT,SAAtBA,EAAwBE,KAKAU,SACzFd,EAAMe,OAASf,EAAMM,SAHDC,OAM1B,CAEH,EAEMC,EAAmBQ,EAAOC,EAAPD,CAAmB,CAC1CE,aAAc,MACdC,SAAU,SACVC,QAAS,UACTC,WAAY,IACZC,SAAU,OACVC,UAAW,SACXC,MAAO,UACPC,QAAS,iBAUEC,EAA0C,SAAC1B,GAAS,IAAA2B,EAC/DC,EAA4BC,EAAuB,QAAfF,EAAC3B,EAAM8B,gBAAQH,IAAAA,EAAAA,EAAI3B,EAAM+B,aAAYC,EAAAC,EAAAL,EAAA,GAAlEM,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAIxB,OAHAI,GAAU,WAAK,IAAAC,EACbF,EAAwB,QAAfE,EAACrC,EAAM8B,gBAAQ,IAAAO,EAAAA,EAAIrC,EAAM+B,YACnC,GAAE,CAAC/B,EAAM8B,SAAU9B,EAAM+B,cAExBO,EAACC,EAAI,CAAAnC,GAAI,CAAEqB,QAAS,OAAQe,WAAY,SAAUC,OAAQ,OAAQC,IAAK,QAAQ5B,SAAA,CAC7EP,EAACoC,EAAW,CAAAC,IAAKV,EAAQW,QAAS,WAAF,OAAQV,EAAUnC,EAAM+B,YAAY,IACpExB,EAACU,EAAU,CAAC6B,QAAQ,QAAOhC,SAAEd,EAAMM,UAGzC,EAQayC,EAAkD,SAAC/C,GAAS,IAAAgD,EACvEC,EAA4BpB,EAAuB,QAAfmB,EAAChD,EAAM8B,gBAAQkB,IAAAA,EAAAA,EAAIhD,EAAMkD,eAAcC,EAAAlB,EAAAgB,EAAA,GAApEf,EAAMiB,EAAA,GAAEhB,EAASgB,EAAA,GAIxB,OAHAf,GAAU,WAAK,IAAAgB,EACbjB,EAAwB,QAAfiB,EAACpD,EAAM8B,gBAAQ,IAAAsB,EAAAA,EAAIpD,EAAMkD,cACnC,GAAE,CAAClD,EAAM8B,SAAU9B,EAAMkD,gBACnB3C,EAACoC,EAAU,CAACC,IAAKV,EAAQW,QAAS,WAAF,OAAQV,EAAUnC,EAAMkD,cAAc,EAAE9C,GAAIJ,EAAMI,IAC3F,EAEMuC,EAAa3B,EAAO,MAAPA,CAAc,CAC/BqC,iBAAkB,YAClBZ,OAAQ,OACRa,MAAO,OACPC,eAAgB,UAChBrC,aAAc,MACdsC,UAAW,oCAuBAC,EAA8B,SAACzD,GAAS,IAAA0D,EAC7CpD,EAA4BoD,QAAvBA,EAAG1D,EAAM2D,sBAAcD,IAAAA,EAAAA,EAAI1D,EAAMM,MACtCsD,IAAsB5D,EAAM6D,mBAAqBvD,EACvD,OACEgC,EAACwB,EAAYrD,EAAAA,EAAA,CAACM,MAAOT,GAAWN,EAAM+D,WAAS,GAAA,CAC5CjD,SAAA,GAAEd,EAAMgE,UAAYzD,EAACwC,EAAkB,CAACjB,SAAU9B,EAAMgE,SAAU5D,GAAI,CAAE6D,GAAI,QAAUf,cAAelD,EAAMkE,qBACzGlE,EAAMmE,MAAQnE,EAAMmE,KACvB5D,EAACU,EAAUR,EAAAA,EAAA,CAACqC,QAAQ,QAAQsB,UAAU,OAAOC,QAAO,EAAAjE,GAAI,CAAEkE,KAAM,IAAStE,EAAMW,iBAAe,GAAA,UAC3FL,KAEFA,IAAgC,IAAvBN,EAAMuE,cACdhE,EAACiE,EAAO,CAACC,OAAK,EAAC1D,MAAM,wBACnBR,EAACmE,GAAWN,UAAU,IAAIO,KAAMrE,EAAOsE,OAAO,SAAQ9D,SACpDP,EAACsE,GAAc1D,SAAS,QAAQf,GAAI,CAAEoB,MAAO,iBAIlDoC,GAAqBrD,EAACuE,GAAgBxE,MAAOA,IAC7CA,IAA8B,IAArBN,EAAM+E,YAAuBxE,EAACyE,EAAO,CAACC,UAAS,EAAAnC,QAAQ,SAASoC,YAAY,gBAG5F,EAEMpB,EAAe9C,GAAO,SAAAmE,GAAA,IAAGrE,EAAQqE,EAARrE,SAAad,EAAKoF,EAAAD,EAAAE,GAAA,OAC/C9E,EAACgC,EAAG9B,EAAAA,KAAKT,GAAK,GAAA,CAAAc,SACZP,EAAM,MAAA,CAAAO,SAAAA,MACF,GAHaE,CAIlB,CACDsD,KAAM,EACNhB,MAAO,OACPb,OAAQ,OACR6C,SAAU,WACVC,IAAK,EACLC,KAAM,EACN,UAAW,CACT/D,QAAS,OACTe,WAAY,SACZc,MAAO,OACPb,OAAQ,OACR6C,SAAU,WACVC,IAAK,EACLC,KAAM,KAaGC,EAAgC,SAACzF,GAAS,IAAA0F,EAAAC,EACrD,GAA2B,iBAAhB3F,EAAMM,MAAoB,OAAkBoF,QAAlBA,EAAO1F,EAAMM,aAAKoF,IAAAA,EAAAA,EAAInF,QAE3D,IAAMqF,EAAO5F,EAAMM,MAAMuF,MAAsB,QAAjBF,EAAC3F,aAAK,EAALA,EAAO8F,iBAAS,IAAAH,EAAAA,EAAI,KAAKI,QAAO,SAACC,GAAC,QAAOA,KAClEC,EAAcjG,SAAAA,EAAOkG,QAAUN,EAAKO,MAAM,EAAGnG,EAAMkG,SAAWN,EAC9DQ,EAAiBpG,SAAAA,EAAOkG,SAAWN,EAAKS,OAASrG,EAAMkG,QAAUN,EAAKS,OAASrG,EAAMkG,QAAU,EAErG,OACE5D,EAACC,EAAI,CAAAnC,GAAI,CAAEqB,QAAS,OAAQe,WAAY,SAAU8D,SAAU,OAAQ5D,IAAK,MAAOD,OAAQ,QAAQ3B,SAAA,CAC7FmF,EAAYM,KAAI,SAACP,EAAGQ,GAAC,OACpBjG,EAACkG,EAA2B,CAAAC,MAAO1G,EAAM2G,eAAiB3G,EAAM2G,eAAeX,GAAKA,EAAGY,KAAK,SAA3E,MAAQJ,EAC1B,IACAJ,EAAiB,GAChB7F,EAACsG,EACC,CAAA9F,MAAM,UACN+F,QACEvG,EAACgC,EAAG,CAACnC,GAAI,CAAEqB,QAAS,OAAQe,WAAY,SAAU8D,SAAU,OAAQ5D,IAAK,OAAO5B,SAC7E8E,EAAKW,KAAI,SAACP,EAAGQ,GAAC,OACbjG,EAACkG,EAA2B,CAAAC,MAAOV,EAAGY,KAAK,SAA1B,MAAQJ,EAC1B,MACG1F,SAGRP,EAACkG,GAA2BC,MAAKK,IAAAA,OAAMX,GAAkBQ,KAAK,SAA9C,iBAK1B,EAEMH,EAAazF,EAAOgG,EAAPhG,CAAa,CAC9BiG,WAAY,IAeDC,EAA8B,SAAClH,GAC1C,IAAI,IAAAmH,EAAAC,EACIC,EAAkCF,QAAtBA,EAAGnH,aAAK,EAALA,EAAOqH,oBAAYF,IAAAA,GAAAA,EAClCG,EAAOC,EAAYvH,EAAMM,OACzBkH,EAAYF,EAAKG,OAAOzH,EAAM0H,cAC9BpH,EAAQ+G,KAAYN,OAAMS,EAAST,MAAAA,OAAKQ,IAAcI,GAAGL,QAAWE,EACpEpH,EAAKJ,EAAM4H,aAAe5H,EAAM4H,aAAa5H,EAAMM,OAAS,CAAEgE,KAAM,GACpEuD,EAAuBC,EAA8B,WAAEV,EAAEpH,EAAMW,uBAAe,IAAAyG,EAAAA,EAAI,CAAA,EAAI,CAAEhH,GAAAA,IAC9F,OACEG,EAACU,EAAUR,EAAAA,EAAA,CAACqC,QAAQ,QAAQsB,UAAU,OAAOC,QAAW,GAAAwD,GAAoB,GAAA,UACzEvH,IAGN,CAAC,MAAAyH,GACA,OACExH,EAACU,EAAU,CAAC6B,QAAQ,QAAQsB,UAAU,OAAOC,QAAM,EAAAvD,SAAA,kBAItD,CACH"}
@@ -0,0 +1,2 @@
1
+ import{defineProperty as t,inherits as e,createClass as i,objectSpread2 as n,classCallCheck as o,callSuper as r}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import{styled as c,Box as p,colors as d,tablePaginationClasses as g,alpha as u,Grid as m,Fade as h,CircularProgress as f,Typography as v,Divider as S,TablePagination as P}from"@mui/material";import{mergeObjects as b}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{tableGridClasses as x,defaultPagination as j}from"./helpers.js";import{CreateTableGridItemActions as C}from"./item-actions.js";import y from"./filter-bar/create.filter-bar.js";import"./filter-bar/types.js";import I from"./toolbar-pannel.js";import z from"../api-context/popover-global.js";import{GlobalModal as k}from"../api-context/global-modal.js";function w(c){var d,g=y(null!==(d=c.filterBarConfigs)&&void 0!==d?d:{fields:{}}),u=C(),w=function(){function d(){var e;o(this,d);for(var i=arguments.length,s=new Array(i),c=0;c<i;c++)s[c]=arguments[c];return e=r(this,d,[].concat(s)),t(e,"filterStateStore",{pagination:j}),t(e,"setFilterState",(function(t){try{t.details?e.filterStateStore=n({pagination:e.filterStateStore.pagination},t):e.filterStateStore=b({},e.filterState,t),e.props.onFilterChange&&e.props.onFilterChange(e.filterStateStore),e.forceUpdate()}catch(t){console.log(t)}})),t(e,"preRender",(function(t){return l(k,{children:[a(z.Provider,{}),t]})})),t(e,"getPagination",(function(){var t;return null!==(t=e.filterState.pagination)&&void 0!==t?t:j})),t(e,"getRootClasses",(function(){var t=[x.root];return e.filterState.loading&&t.push(x.loading),t.join(" ")})),t(e,"getItems",(function(){var t;return null!==(t=e.props.data.items)&&void 0!==t?t:[]})),t(e,"handleFilterChange",(function(t){e.setFilterState(t)})),t(e,"handleChangePage",(function(t,i){var n=e.getPagination();e.setFilterState({pagination:{page:i,pageSize:n.pageSize}})})),t(e,"handleChangeRowsPerPage",(function(t){e.setFilterState({pagination:{page:0,pageSize:parseInt(t.target.value,10)}})})),e}return e(d,s),i(d,[{key:"filterState",get:function(){var t;return null!==(t=this.props.filter)&&void 0!==t?t:this.filterStateStore}},{key:"slots",get:function(){var t,e,i,o,r,l,s;return n(n({},Object.assign({},c.slots,this.props.slots)),{},{TableGridItem:null!==(t=null!==(e=null===(i=this.props.slots)||void 0===i?void 0:i.item)&&void 0!==e?e:c.item)&&void 0!==t?t:function(){return a(N,{})},ToolbarPannel:null!==(o=null!==(r=null===(l=this.props.slots)||void 0===l?void 0:l.toolbar)&&void 0!==r?r:null===(s=c.slots)||void 0===s?void 0:s.toolbar)&&void 0!==o?o:I})}},{key:"mergeConfig",get:function(){var t;return{size:null!==(t=c.size)&&void 0!==t?t:{xs:12,sm:6,md:4}}}},{key:"render",value:function(){var t,e=this,i=this.slots,o=i.TableGridItem,r=i.ToolbarPannel,s=i.actionProps,d=this.getItems(),b=this.getPagination();return this.preRender(l(F,{className:this.getRootClasses(),children:[a(r,n({title:c.title},this.slots.toolbarProps)),a(g,{value:this.filterState,onChange:this.handleFilterChange}),l("div",{className:x.content,children:[a("div",{className:[x.contentInner,x.contentPosition].join(" "),children:a(m,n(n({container:!0,spacing:2},this.slots.gridContainer),{},{children:d.map((function(t,i){return a(m,n(n(n({item:!0},e.mergeConfig.size),e.slots.gridItem),{},{children:l("div",{className:x.item,children:[a(o,{value:t}),a(p,{className:x.actions,children:a(u,n({value:t},s))})]})}),c.getSelecterId(t).toString()+i)}))}))}),a(h,{in:this.filterState.loading,unmountOnExit:!0,children:a("div",{className:[x.overlay,x.contentPosition].join(" "),children:a(f,{size:36})})}),a(h,{in:d.length<1&&!this.filterState.loading,unmountOnExit:!0,children:a("div",{className:[x.noItems,x.contentPosition].join(" "),children:a(v,{variant:"body2",children:"No items data"})})})]}),a(S,{sx:{position:"relative",zIndex:2}}),a(P,{component:"div",count:null!==(t=this.props.data.totalItems)&&void 0!==t?t:0,page:b.page,onPageChange:this.handleChangePage,rowsPerPage:b.pageSize,onRowsPerPageChange:this.handleChangeRowsPerPage,slotProps:{select:{MenuProps:{disableScrollLock:!0}}}})]}))}}])}();return w}var F=c(p)(t(t(t(t(t(t(t(t({flex:1,height:"100%",display:"flex",flexDirection:"column"},".".concat(x.content),{position:"relative",flex:1,zIndex:1}),".".concat(x.contentPosition),{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),".".concat(x.contentInner),{overflowY:"auto",padding:"10px 5px"}),".".concat(x.overlay),{display:"flex",alignItems:"center",justifyContent:"center",background:u(d.common.white,.4),zIndex:10}),".".concat(x.noItems),{display:"flex",alignItems:"center",justifyContent:"center"}),".".concat(x.item),{position:"relative"}),".".concat(x.actions),{position:"absolute",top:"5px",right:"5px",zIndex:5,display:"inline-block"}),".".concat(g.root),{background:d.common.white,position:"relative",zIndex:5})),N=c(p)({width:"100%",paddingBottom:"100%",background:d.grey[600]});export{w as default};
2
+ //# sourceMappingURL=create.table-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.table-grid.js","sources":["../../../src/table-grid/create.table-grid.tsx"],"sourcesContent":["import React, { Component, ReactNode } from 'react'\r\nimport { alpha, Box, CircularProgress, colors, Divider, Fade, Grid, styled, TablePagination, tablePaginationClasses, Typography } from '@mui/material'\r\nimport { mergeObjects } from '../utils'\r\nimport { defaultPagination, tableGridClasses } from './helpers'\r\nimport { CreateTableGridItemActions } from './item-actions'\r\nimport { GlobalModal, PopoverGlobal } from '../api-context'\r\nimport { CreateFilterBar, IFilterState } from './filter-bar'\r\nimport { ITableGridFilter, IPaginationModel, ITableGridParams, ITableGridProps, ITableGridInnerSlots } from './types'\r\nimport ToolbarPannelDefault from './toolbar-pannel'\r\n\r\nfunction CreateTableGrid<T extends object>(params: ITableGridParams<T>): React.ComponentType<ITableGridProps<T>> {\r\n const FilterBarInstance = CreateFilterBar<T>(params.filterBarConfigs ?? { fields: {} })\r\n const ItemActions = CreateTableGridItemActions<T>()\r\n\r\n class TableGrid extends Component<ITableGridProps<T>> {\r\n private filterStateStore: ITableGridFilter<T> = { pagination: defaultPagination }\r\n get filterState(): ITableGridFilter<T> {\r\n return this.props.filter ?? this.filterStateStore\r\n }\r\n\r\n get slots(): ITableGridInnerSlots<T> {\r\n return {\r\n ...Object.assign({}, params.slots, this.props.slots),\r\n TableGridItem: this.props.slots?.item ?? params.item ?? (() => <ItemDefault />),\r\n ToolbarPannel: this.props.slots?.toolbar ?? params.slots?.toolbar ?? ToolbarPannelDefault\r\n }\r\n }\r\n\r\n get mergeConfig() {\r\n return {\r\n size: params.size ?? { xs: 12, sm: 6, md: 4 }\r\n }\r\n }\r\n\r\n setFilterState = (value: Partial<ITableGridFilter<T>>) => {\r\n try {\r\n if (!!value.details) {\r\n this.filterStateStore = { pagination: this.filterStateStore.pagination, ...value }\r\n } else {\r\n this.filterStateStore = mergeObjects<any>({}, this.filterState, value)\r\n }\r\n this.props.onFilterChange && this.props.onFilterChange(this.filterStateStore)\r\n this.forceUpdate()\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n render() {\r\n const { TableGridItem, ToolbarPannel, actionProps } = this.slots\r\n const items = this.getItems()\r\n const pagination = this.getPagination()\r\n return this.preRender(\r\n <Wrap className={this.getRootClasses()}>\r\n <ToolbarPannel title={params.title} {...this.slots.toolbarProps} />\r\n <FilterBarInstance value={this.filterState} onChange={this.handleFilterChange} />\r\n <div className={tableGridClasses.content}>\r\n <div className={[tableGridClasses.contentInner, tableGridClasses.contentPosition].join(' ')}>\r\n <Grid container spacing={2} {...this.slots.gridContainer}>\r\n {items.map((item, index) => (\r\n <Grid key={params.getSelecterId(item).toString() + index} item {...this.mergeConfig.size} {...this.slots.gridItem}>\r\n <div className={tableGridClasses.item}>\r\n <TableGridItem value={item} />\r\n <Box className={tableGridClasses.actions}>\r\n <ItemActions value={item} {...actionProps} />\r\n </Box>\r\n </div>\r\n </Grid>\r\n ))}\r\n </Grid>\r\n </div>\r\n <Fade in={this.filterState.loading} unmountOnExit>\r\n <div className={[tableGridClasses.overlay, tableGridClasses.contentPosition].join(' ')}>\r\n <CircularProgress size={36} />\r\n </div>\r\n </Fade>\r\n <Fade in={items.length < 1 && !this.filterState.loading} unmountOnExit>\r\n <div className={[tableGridClasses.noItems, tableGridClasses.contentPosition].join(' ')}>\r\n <Typography variant='body2'>No items data</Typography>\r\n </div>\r\n </Fade>\r\n </div>\r\n <Divider sx={{ position: 'relative', zIndex: 2 }} />\r\n <TablePagination\r\n component='div'\r\n count={this.props.data.totalItems ?? 0}\r\n page={pagination.page}\r\n onPageChange={this.handleChangePage}\r\n rowsPerPage={pagination.pageSize}\r\n onRowsPerPageChange={this.handleChangeRowsPerPage}\r\n slotProps={{ select: { MenuProps: { disableScrollLock: true } } }}\r\n />\r\n </Wrap>\r\n )\r\n }\r\n\r\n preRender = (children?: ReactNode) => (\r\n <GlobalModal>\r\n <PopoverGlobal.Provider />\r\n {children}\r\n </GlobalModal>\r\n )\r\n\r\n getPagination = (): IPaginationModel => this.filterState.pagination ?? defaultPagination\r\n\r\n getRootClasses = () => {\r\n const classes = [tableGridClasses.root]\r\n if (this.filterState.loading) classes.push(tableGridClasses.loading)\r\n return classes.join(' ')\r\n }\r\n\r\n getItems = () => {\r\n return this.props.data.items ?? []\r\n }\r\n\r\n handleFilterChange = (filterStateChange: IFilterState<T>) => {\r\n this.setFilterState(filterStateChange)\r\n }\r\n\r\n handleChangePage = (_: React.MouseEvent<HTMLButtonElement, MouseEvent> | null, page: number) => {\r\n const pagination = this.getPagination()\r\n this.setFilterState({ pagination: { page, pageSize: pagination.pageSize } })\r\n }\r\n\r\n handleChangeRowsPerPage: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> = (event) => {\r\n this.setFilterState({ pagination: { page: 0, pageSize: parseInt(event.target.value, 10) } })\r\n }\r\n }\r\n\r\n return TableGrid\r\n}\r\n\r\nexport default CreateTableGrid\r\n\r\nconst Wrap = styled(Box)({\r\n flex: 1,\r\n height: '100%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [`.${tableGridClasses.content}`]: {\r\n position: 'relative',\r\n flex: 1,\r\n zIndex: 1\r\n },\r\n [`.${tableGridClasses.contentPosition}`]: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n },\r\n [`.${tableGridClasses.contentInner}`]: {\r\n overflowY: 'auto',\r\n padding: '10px 5px'\r\n },\r\n [`.${tableGridClasses.overlay}`]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: alpha(colors.common.white, 0.4),\r\n zIndex: 10\r\n },\r\n [`.${tableGridClasses.noItems}`]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n [`.${tableGridClasses.item}`]: {\r\n position: 'relative'\r\n },\r\n [`.${tableGridClasses.actions}`]: {\r\n position: 'absolute',\r\n top: '5px',\r\n right: '5px',\r\n zIndex: 5,\r\n display: 'inline-block'\r\n },\r\n [`.${tablePaginationClasses.root}`]: {\r\n background: colors.common.white,\r\n position: 'relative',\r\n zIndex: 5\r\n }\r\n})\r\n\r\nconst ItemDefault = styled(Box)({\r\n width: '100%',\r\n paddingBottom: '100%',\r\n background: colors.grey[600]\r\n})\r\n"],"names":["CreateTableGrid","params","_params$filterBarConf","FilterBarInstance","CreateFilterBar","filterBarConfigs","fields","ItemActions","CreateTableGridItemActions","TableGrid","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","pagination","defaultPagination","value","details","filterStateStore","_objectSpread","mergeObjects","filterState","props","onFilterChange","forceUpdate","error","console","log","children","_jsxs","GlobalModal","_jsx","PopoverGlobal","Provider","_this$filterState$pag","classes","tableGridClasses","root","loading","push","join","_this$props$data$item","data","items","filterStateChange","setFilterState","_","page","getPagination","pageSize","event","parseInt","target","_inherits","Component","_createClass","key","get","_this$props$filter","filter","_ref","_this$props$slots$ite","_this$props$slots","_ref2","_this$props$slots$too","_this$props$slots2","_params$slots","Object","assign","slots","TableGridItem","item","ItemDefault","ToolbarPannel","toolbar","ToolbarPannelDefault","_params$size","size","xs","sm","md","_this$props$data$tota","_this2","_this$slots","actionProps","getItems","preRender","Wrap","className","getRootClasses","title","toolbarProps","onChange","handleFilterChange","content","contentInner","contentPosition","Grid","container","spacing","gridContainer","map","index","mergeConfig","gridItem","Box","actions","getSelecterId","toString","Fade","in","unmountOnExit","overlay","CircularProgress","noItems","Typography","variant","Divider","sx","position","zIndex","TablePagination","component","count","totalItems","onPageChange","handleChangePage","rowsPerPage","onRowsPerPageChange","handleChangeRowsPerPage","slotProps","select","MenuProps","disableScrollLock","styled","flex","height","display","flexDirection","top","left","width","overflowY","padding","alignItems","justifyContent","background","alpha","colors","common","white","right","tablePaginationClasses","paddingBottom","grey"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{createClass as r,classCallCheck as e,defineProperty as t}from"../../_virtual/_rollupPluginBabelHelpers.js";import a from"./create.table-grid.js";import{defaultPagination as s}from"./helpers.js";import l from"./url-query-param.js";var i=new(r((function r(){e(this,r),t(this,"defaultPagination",s),t(this,"createTable",a),t(this,"setUrlQuery",l.setUrlQuery),t(this,"getUrlQuery",l.getUrlQuery)})));export{i as default};
2
+ //# sourceMappingURL=dino.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dino.js","sources":["../../../src/table-grid/dino.tsx"],"sourcesContent":["import CreateLayoutGrid from './create.table-grid'\r\nimport { defaultPagination } from './helpers'\r\nimport UrlQueryParam from './url-query-param'\r\n\r\nclass DinoTableGridBase {\r\n defaultPagination = defaultPagination\r\n\r\n createTable = CreateLayoutGrid\r\n\r\n setUrlQuery = UrlQueryParam.setUrlQuery\r\n\r\n getUrlQuery = UrlQueryParam.getUrlQuery\r\n}\r\n\r\nconst DinoTableGrid = new DinoTableGridBase()\r\nexport default DinoTableGrid\r\n"],"names":["DinoTableGrid","_createClass","DinoTableGridBase","_classCallCheck","_defineProperty","defaultPagination","CreateLayoutGrid","this","UrlQueryParam","setUrlQuery","getUrlQuery"],"mappings":"6OAE6C,IAYvCA,EAAgB,IAVCC,GAAA,SAAAC,IAAAC,OAAAD,GAAAE,2BACDC,GAAiBD,qBAEvBE,GAAgBF,EAAAG,KAAA,cAEhBC,EAAcC,aAAWL,EAAAG,KAAA,cAEzBC,EAAcE,YAAW"}
@@ -0,0 +1,2 @@
1
+ import{inherits as e,createClass as r,classCallCheck as t,callSuper as i,defineProperty as a,toConsumableArray as l,objectSpread2 as n,objectWithoutProperties as u,createForOfIteratorHelper as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{Component as s}from"react";import{ESearchMatch as c,EMenuValidate as f}from"./types.js";var v=["field"],d={root:"FilterPanel-root",list:"FilterPanel-list",item:"FilterPanel-item"},h=function(){function d(){var e;t(this,d);for(var r=arguments.length,s=new Array(r),h=0;h<r;h++)s[h]=arguments[h];return e=i(this,d,[].concat(s)),a(e,"mergeFilter",(function(e,r){var t,i,a=null!==(t=null==r?void 0:r.filter)&&void 0!==t?t:{};if(null!=e&&e.filter){var n=function(){var r,t,i=u,n=null!==(r=a[i])&&void 0!==r?r:[],o=null!==(t=null==e?void 0:e.filter[i])&&void 0!==t?t:[],s=new Set(n.map((function(e){return e.value}))),c=[].concat(l(n),l(o.filter((function(e){return!s.has(e.value)}))));c.length>0&&(a[i]=c)};for(var u in null==e?void 0:e.filter)n()}return{filter:Object.keys(a).length?a:{},details:null!==(i=null==r?void 0:r.details)&&void 0!==i?i:null==e?void 0:e.details}})),a(e,"addQuickSearch",(function(e,r,t){var i,a;if(!t||!r)return{isChanged:!1,filterState:e};var l=n({},e),u=new Set(null!==(i=null===(a=l.quickSearch)||void 0===a?void 0:a.values)&&void 0!==i?i:[]),o=!u.has(t);return u.add(t),l.quickSearch={fields:r.fields,values:Array.from(u)},{isChanged:o,filterState:l}})),a(e,"removeQuickSearch",(function(e){var r=n({},e);return"quickSearch"in r&&delete r.quickSearch,{isChanged:!!e.quickSearch,filterState:r}})),a(e,"patchFilterWithKey",(function(e,r){var t,i=r.field,a=u(r,v),o=n({},e.filter||{}),s=null!==(t=o[i])&&void 0!==t?t:[],c=!s.map((function(e){return e.value})).includes(a.value);return c&&(s=[].concat(l(s),[a])),o[i]=s,{isChanged:c,filterState:n(n({},e),{},{filter:o})}})),a(e,"deleteFilterWithKey",(function(e,r){var t=n({},e.filter||{}),i=r.field in t;return i&&delete t[r.field],{isChanged:i,filterState:n(n({},e),{},{filter:t})}})),a(e,"isFilterEmpty",(function(e){var r,t=Object.values(null!==(r=e.filter)&&void 0!==r?r:{});return t.length<1||t.every((function(e){return!!e&&e.length<1}))})),a(e,"isYoutubeLink",(function(e){return/^https?:\/\/(www\.)?(youtube\.com|youtu\.be)\//.test(e)})),a(e,"isGenericLink",(function(e){return/^https?:\/\/[^ ]+$/.test(e)})),a(e,"isGuid",(function(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)})),a(e,"getFieldsMatches",(function(r,t,i){var a=t.trim().toLowerCase();if(!a)return r;var l={};for(var n in r){var u=n,s=r[u];if(s){var f,v=Array.isArray(s.searchMatches)?s.searchMatches:s.searchMatches?[s.searchMatches]:[],d=!1,h=o(v);try{for(h.s();!(f=h.n()).done;){var k=f.value;switch(k.rule){case c.AlwaysVisible:d=!0;break;case c.MatchOnly:"function"==typeof k.match&&k.match(a)&&(d=!0);break;case c.LinkYoutube:e.isYoutubeLink(a)&&(d=!0);break;case c.Link:e.isGenericLink(a)&&(d=!0);break;case c.Guid:e.isGuid(a)&&(d=!0)}if(d)break}}catch(e){h.e(e)}finally{h.f()}d&&(l[u]=s)}}return 0===Object.keys(l).length?i?r:{}:l})),a(e,"validated",(function(r,t,i){var a,l=r.trim().toLowerCase();if(!l)return{error:!0,message:"The ".concat(t.toString()," is required ")};var n,u=Array.isArray(null==i?void 0:i.validate)?null!==(a=null==i?void 0:i.validate)&&void 0!==a?a:[]:null!=i&&i.validate?[i.validate]:[],s={error:!1},c=o(u);try{for(c.s();!(n=c.n()).done;){var v=n.value;switch(v.rule){case f.LinkYoutube:var d;if(!e.isYoutubeLink(l))s.error=!0,s.message="The ".concat(null!==(d=null==i?void 0:i.label)&&void 0!==d?d:t.toString()," must be a valid YouTube link");break;case f.Link:var h;if(!e.isGenericLink(l))s.error=!0,s.message="The ".concat(null!==(h=null==i?void 0:i.label)&&void 0!==h?h:t.toString()," must be a valid URL link");break;case f.Custom:var k;if("function"==typeof v.custom&&!v.custom(l))s.error=!0,s.message="The ".concat(null!==(k=null==i?void 0:i.label)&&void 0!==k?k:t.toString()," is invalid")}if(s.error)break}}catch(e){c.e(e)}finally{c.f()}return s})),e}return e(d,s),r(d)}();export{h as default,d as filterPanelClasses};
2
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sources":["../../../../src/table-grid/filter-bar/base.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { IFilterItemModel, IFilterModel, IFilterState, IQuickSearchDef } from './types'\r\nimport { EMenuValidate, ESearchMatch, IFilterField, IFilterFields, IFilterItemChangeModel } from './types'\r\n\r\nexport const filterPanelClasses = {\r\n root: 'FilterPanel-root',\r\n list: 'FilterPanel-list',\r\n item: 'FilterPanel-item'\r\n}\r\n\r\nexport interface IFilterChange<T> {\r\n isChanged: boolean\r\n filterState: IFilterState<T>\r\n}\r\n\r\nexport default class FilterBarBase<P, S, T = any> extends Component<P, S> {\r\n //#region Filter\r\n mergeFilter = (f1?: IFilterState<T>, f2?: IFilterState<T>): IFilterState<T> => {\r\n const mergedFilter: IFilterModel<T> = f2?.filter ?? {}\r\n\r\n if (f1?.filter) {\r\n for (const key in f1?.filter) {\r\n const fieldKey = key as keyof T\r\n const existingItems = mergedFilter[fieldKey] ?? []\r\n const newItems = f1?.filter[fieldKey] ?? []\r\n\r\n const existingValues = new Set(existingItems.map((item) => item.value))\r\n\r\n const mergedItems = [...existingItems, ...newItems.filter((item) => !existingValues.has(item.value))]\r\n\r\n if (mergedItems.length > 0) {\r\n mergedFilter[fieldKey] = mergedItems\r\n }\r\n }\r\n }\r\n\r\n const result: IFilterState<T> = {\r\n filter: Object.keys(mergedFilter).length ? mergedFilter : {},\r\n details: f2?.details ?? f1?.details\r\n }\r\n\r\n return result\r\n }\r\n\r\n addQuickSearch = (filterState: IFilterState<T>, def?: IQuickSearchDef<T>, value?: string): IFilterChange<T> => {\r\n if (!value || !def) return { isChanged: false, filterState }\r\n const clonedFilter: IFilterState<T> = { ...filterState }\r\n const tempSet = new Set<string>(clonedFilter.quickSearch?.values ?? [])\r\n const isChanged = !tempSet.has(value)\r\n tempSet.add(value)\r\n clonedFilter.quickSearch = { fields: def.fields, values: Array.from(tempSet) }\r\n return { isChanged, filterState: clonedFilter }\r\n }\r\n\r\n removeQuickSearch = (filterState: IFilterState<T>): IFilterChange<T> => {\r\n const obj = { ...filterState }\r\n if ('quickSearch' in obj) delete obj.quickSearch\r\n return { isChanged: !!filterState.quickSearch, filterState: obj }\r\n }\r\n\r\n patchFilterWithKey = (filterState: IFilterState<T>, data: IFilterItemChangeModel<T>): IFilterChange<T> => {\r\n const { field, ...item } = data\r\n const clonedFilter: IFilterModel<T> = { ...(filterState.filter || {}) }\r\n let filter = clonedFilter[field] ?? []\r\n const isChanged = !filter.map((x) => x.value).includes(item.value)\r\n if (isChanged) filter = [...filter, item]\r\n clonedFilter[field] = filter\r\n return { isChanged, filterState: { ...filterState, filter: clonedFilter } }\r\n }\r\n\r\n deleteFilterWithKey = (filterState: IFilterState<T>, data: IFilterItemChangeModel<T>): IFilterChange<T> => {\r\n const clonedFilter: IFilterModel<T> = { ...(filterState.filter || {}) }\r\n const isChanged = data.field in clonedFilter\r\n if (isChanged) delete clonedFilter[data.field]\r\n return { isChanged, filterState: { ...filterState, filter: clonedFilter } }\r\n }\r\n\r\n isFilterEmpty = (filterState: IFilterState<T>) => {\r\n const values = Object.values(filterState.filter ?? {}) as IFilterItemModel[][]\r\n return values.length < 1 || values.every((x) => !!x && x.length < 1)\r\n }\r\n //#endregion\r\n\r\n //#region Field\r\n isYoutubeLink = (val: string) => /^https?:\\/\\/(www\\.)?(youtube\\.com|youtu\\.be)\\//.test(val)\r\n\r\n isGenericLink = (val: string) => /^https?:\\/\\/[^ ]+$/.test(val)\r\n\r\n isGuid = (val: string) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(val)\r\n\r\n getFieldsMatches = (fields: IFilterFields<T>, keyword: string, showAll?: boolean): IFilterFields<T> => {\r\n const trimmed = keyword.trim().toLowerCase()\r\n if (!trimmed) return fields\r\n\r\n const matched: IFilterFields<T> = {}\r\n\r\n for (const key in fields) {\r\n const field = key as keyof IFilterFields<T>\r\n const config = fields[field]\r\n if (!config) continue\r\n\r\n const matches = Array.isArray(config.searchMatches) ? config.searchMatches : config.searchMatches ? [config.searchMatches] : []\r\n\r\n let visible = false\r\n\r\n for (const matchObj of matches) {\r\n switch (matchObj.rule) {\r\n case ESearchMatch.AlwaysVisible:\r\n visible = true\r\n break\r\n case ESearchMatch.MatchOnly:\r\n if (typeof matchObj.match === 'function') {\r\n if (matchObj.match(trimmed)) visible = true\r\n }\r\n break\r\n case ESearchMatch.LinkYoutube:\r\n if (this.isYoutubeLink(trimmed)) visible = true\r\n break\r\n case ESearchMatch.Link:\r\n if (this.isGenericLink(trimmed)) visible = true\r\n break\r\n case ESearchMatch.Guid:\r\n if (this.isGuid(trimmed)) visible = true\r\n break\r\n default:\r\n break\r\n }\r\n\r\n if (visible) break\r\n }\r\n\r\n if (visible) matched[field] = config\r\n }\r\n return Object.keys(matched).length === 0 ? (showAll ? fields : {}) : matched\r\n }\r\n\r\n validated = (value: string, fieldKey: keyof IFilterModel<T>, filterField?: IFilterField): { error: boolean; message?: string } => {\r\n const trimmed = value.trim().toLowerCase()\r\n if (!trimmed) return { error: true, message: `The ${fieldKey.toString()} is required ` }\r\n const validate = Array.isArray(filterField?.validate) ? filterField?.validate ?? [] : filterField?.validate ? [filterField.validate] : []\r\n const obj: { error: boolean; message?: string } = { error: false }\r\n for (const validateObj of validate) {\r\n switch (validateObj.rule) {\r\n case EMenuValidate.LinkYoutube:\r\n if (!this.isYoutubeLink(trimmed)) {\r\n obj.error = true\r\n obj.message = `The ${filterField?.label ?? fieldKey.toString()} must be a valid YouTube link`\r\n }\r\n break\r\n\r\n case EMenuValidate.Link:\r\n if (!this.isGenericLink(trimmed)) {\r\n obj.error = true\r\n obj.message = `The ${filterField?.label ?? fieldKey.toString()} must be a valid URL link`\r\n }\r\n break\r\n\r\n case EMenuValidate.Custom:\r\n if (typeof validateObj.custom === 'function' && !validateObj.custom(trimmed)) {\r\n obj.error = true\r\n obj.message = `The ${filterField?.label ?? fieldKey.toString()} is invalid`\r\n }\r\n break\r\n default:\r\n break\r\n }\r\n if (obj.error) break\r\n }\r\n return obj\r\n }\r\n //#endregion\r\n\r\n //#region Sort\r\n // getSortFields = (fields: IFilterFields<T>) => {\r\n // const keys = Object.keys(fields) as (keyof IFilterFields<T>)[]\r\n // return keys.reduce<IFilterFields<T>>((a, b) => {\r\n // const item = fields[b]\r\n // if (item?.sortable !== false) {\r\n // a[b] = item\r\n // }\r\n // return a\r\n // }, {})\r\n // }\r\n //#endregion\r\n}\r\n"],"names":["filterPanelClasses","root","list","item","FilterBarBase","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","f1","f2","_f2$filter","_f2$details","mergedFilter","filter","_loop","_mergedFilter$fieldKe","_f1$filter$fieldKey","fieldKey","key","existingItems","newItems","existingValues","Set","map","value","mergedItems","_toConsumableArray","has","Object","keys","details","filterState","def","_clonedFilter$quickSe","_clonedFilter$quickSe2","isChanged","clonedFilter","_objectSpread","tempSet","quickSearch","values","add","fields","from","obj","data","_clonedFilter$field","field","_objectWithoutProperties","_excluded","x","includes","_filterState$filter","every","val","test","keyword","showAll","trimmed","trim","toLowerCase","matched","config","_step","matches","isArray","searchMatches","visible","_iterator","_createForOfIteratorHelper","s","n","done","matchObj","rule","ESearchMatch","AlwaysVisible","MatchOnly","match","LinkYoutube","isYoutubeLink","Link","isGenericLink","Guid","isGuid","err","e","f","filterField","_filterField$validate","error","message","toString","_step2","validate","_iterator2","validateObj","EMenuValidate","_filterField$label","label","_filterField$label2","Custom","_filterField$label3","custom","_inherits","Component","_createClass"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{inherits as e,createClass as t,objectSpread2 as r,classCallCheck as i,callSuper as a,defineProperty as l}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n,jsxs as o}from"react/jsx-runtime";import{styled as s,Box as f,IconButton as u,InputBase as d}from"@mui/material";import c from"@mui/icons-material/FilterList";import h from"@mui/material/ClickAwayListener";import{ButtonClear as p,FilterNotes as S}from"./ui.units.js";import m from"./base.js";import v from"./create.filtered.js";import g from"./create.filter-panel.js";function k(s){var k=g(s),w=v(s);return function(){function v(e){var t;return i(this,v),t=a(this,v,[e]),l(t,"defaultState",{keyword:"",panelState:{anchorEl:null}}),l(t,"filterStateStore",{filter:{}}),l(t,"setFilterState",(function(e){t.props.value||(t.filterStateStore=e),t.props.onChange&&t.props.onChange(e)})),l(t,"refFilterButton",null),l(t,"refSortButton",null),l(t,"refInput",null),l(t,"refBeforeInput",null),l(t,"renderTextField",(function(){return o(f,{component:"label",htmlFor:t.configs.id,sx:{flex:1,display:"flex",alignItems:"flex-end"},children:[n(f,{ref:function(e){return t.refBeforeInput=e},sx:{height:"100%"}}),n(d,{id:t.configs.id,placeholder:t.configs.placeholder,fullWidth:!0,autoComplete:"off",inputRef:function(e){return t.refInput=e},onChange:function(e){return t.setState({keyword:e.target.value})},value:t.state.keyword,onFocus:function(){return t.showPanel("searchInput")},onKeyDown:t.handleKeyDown})]})})),l(t,"handleKeyDown",(function(e){var r=e.keyCode;if(13===r){if(!t.state.keyword)return;var i,a=t.addQuickSearch(t.filterState,s.quickSearch,t.state.keyword);if(a.filterState.details="add",a.isChanged)null===(i=t.refInput)||void 0===i||i.blur(),t.setFilterState(a.filterState),t.setState(t.defaultState)}else if(27===r){var l;null===(l=t.refInput)||void 0===l||l.blur(),t.setState(t.defaultState)}})),l(t,"handleAdd",(function(e,r){var i,a={isChanged:!1,filterState:t.filterState};("field"===e&&r?a=t.patchFilterWithKey(t.filterState,r):"quickSearch"===e&&(a=t.addQuickSearch(t.filterState,s.quickSearch,t.state.keyword)),a.filterState.details="add",a.isChanged)&&(null===(i=t.refInput)||void 0===i||i.blur(),t.setFilterState(a.filterState),t.setState(t.defaultState))})),l(t,"handleRemove",(function(e,r){var i,a={isChanged:!1,filterState:t.filterState};("field"===e&&r?a=t.deleteFilterWithKey(t.filterState,r):"quickSearch"===e&&(a=t.removeQuickSearch(t.filterState)),a.filterState.details="remove",a.isChanged)&&(null===(i=t.refInput)||void 0===i||i.blur(),t.setFilterState(a.filterState),t.forceUpdate())})),l(t,"handleClear",(function(){t.setFilterState({filter:{},details:"remove"}),t.setState(t.defaultState)})),l(t,"showPanel",(function(e){var r=null;switch(e){case"searchInput":r=t.refBeforeInput;break;case"filterButton":r=t.refFilterButton}t.setState({panelState:{anchorEl:r,reason:e}})})),l(t,"closePanel",(function(){return t.setState({panelState:{anchorEl:null}})})),t.state=t.defaultState,t}return e(v,m),t(v,[{key:"filterState",get:function(){var e;return null!==(e=this.props.value)&&void 0!==e?e:this.filterStateStore}},{key:"configs",get:function(){var e,t,r,i;return{id:null!==(e=null!==(t=this.props.id)&&void 0!==t?t:s.id)&&void 0!==e?e:(new Date).getTime().toString(),placeholder:null!==(r=null!==(i=this.props.placeholder)&&void 0!==i?i:s.placeholder)&&void 0!==r?r:"Filter",notes:s.notes}}},{key:"render",value:function(){var e=this;return n(h,{onClickAway:this.closePanel,children:o(y,{children:[n(u,{ref:function(t){return e.refFilterButton=t},onClick:function(){return e.showPanel("filterButton")},children:n(c,{})}),o(C,{children:[n(w,{filterState:this.filterState,onRemove:this.handleRemove}),this.renderTextField()]}),n(p,{visibled:!this.isFilterEmpty(this.filterState),onClick:this.handleClear}),this.configs.notes&&n(S,r({},this.configs.notes)),n(k,r(r({},this.state.panelState),{},{keyword:this.state.keyword,onSubmit:this.handleAdd,onClose:this.closePanel}))]})})}}])}()}var y=s(f)({display:"flex",gap:"8px",width:"100%",borderRadius:"6px",transition:"all linear 0.2s",padding:"2px",backgroundColor:"#fafafa","&:hover":{backgroundColor:"#ededed"}}),C=s(f)({flex:1,minHeight:"40px",display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px"});export{k as default};
2
+ //# sourceMappingURL=create.filter-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.filter-bar.js","sources":["../../../../src/table-grid/filter-bar/create.filter-bar.tsx"],"sourcesContent":["import React, { ComponentType } from 'react'\r\nimport { Box, IconButton, InputBase, styled } from '@mui/material'\r\nimport FilterListIcon from '@mui/icons-material/FilterList'\r\nimport ClickAwayListener from '@mui/material/ClickAwayListener'\r\nimport { ButtonClear, FilterNotes } from './ui.units'\r\nimport { IFilterReason, IFilterState, IFilterBarConfigs, IFilterBarProps, IFilterBarState, IFilterSubmitFunc } from './types'\r\nimport FilterBarBase, { IFilterChange } from './base'\r\nimport CreateFiltered from './create.filtered'\r\nimport CreateFilterPanel from './create.filter-panel'\r\n\r\nfunction CreateFilterBar<T>(params: IFilterBarConfigs<T>): ComponentType<IFilterBarProps<T>> {\r\n const FilterPanelInstance = CreateFilterPanel<T>(params)\r\n const FilteredInstance = CreateFiltered<T>(params)\r\n\r\n class FilterBar extends FilterBarBase<IFilterBarProps<T>, IFilterBarState, T> {\r\n defaultState: IFilterBarState = { keyword: '', panelState: { anchorEl: null } }\r\n constructor(props: IFilterBarProps<T>) {\r\n super(props)\r\n this.state = this.defaultState\r\n }\r\n\r\n filterStateStore: IFilterState<T> = { filter: {} }\r\n get filterState(): IFilterState<T> {\r\n return this.props.value ?? this.filterStateStore\r\n }\r\n\r\n setFilterState = (filterState: IFilterState<T>) => {\r\n if (!this.props.value) {\r\n this.filterStateStore = filterState\r\n }\r\n this.props.onChange && this.props.onChange(filterState)\r\n }\r\n\r\n get configs() {\r\n return {\r\n id: this.props.id ?? params.id ?? new Date().getTime().toString(),\r\n placeholder: this.props.placeholder ?? params.placeholder ?? 'Filter',\r\n notes: params.notes\r\n }\r\n }\r\n\r\n refFilterButton: HTMLButtonElement | null = null\r\n refSortButton: HTMLButtonElement | null = null\r\n render() {\r\n return (\r\n <ClickAwayListener onClickAway={this.closePanel}>\r\n <Wrapper>\r\n <IconButton ref={(ref) => (this.refFilterButton = ref)} onClick={() => this.showPanel('filterButton')}>\r\n <FilterListIcon />\r\n </IconButton>\r\n <Content>\r\n <FilteredInstance filterState={this.filterState} onRemove={this.handleRemove} />\r\n {this.renderTextField()}\r\n </Content>\r\n <ButtonClear visibled={!this.isFilterEmpty(this.filterState)} onClick={this.handleClear} />\r\n {/* <IconButton ref={(ref) => (this.refSortButton = ref)} onClick={() => this.showPanel('sortButton')}>\r\n <SwapVertIcon />\r\n </IconButton> */}\r\n {this.configs.notes && <FilterNotes {...this.configs.notes} />}\r\n <FilterPanelInstance {...this.state.panelState} keyword={this.state.keyword} onSubmit={this.handleAdd} onClose={this.closePanel} />\r\n </Wrapper>\r\n </ClickAwayListener>\r\n )\r\n }\r\n\r\n refInput: HTMLInputElement | null = null\r\n refBeforeInput: HTMLElement | null = null\r\n renderTextField = () => (\r\n <Box component='label' htmlFor={this.configs.id} sx={{ flex: 1, display: 'flex', alignItems: 'flex-end' }}>\r\n <Box ref={(ref: HTMLElement) => (this.refBeforeInput = ref)} sx={{ height: '100%' }} />\r\n <InputBase\r\n id={this.configs.id}\r\n placeholder={this.configs.placeholder}\r\n fullWidth\r\n autoComplete='off'\r\n inputRef={(ref: HTMLInputElement) => (this.refInput = ref)}\r\n onChange={(event) => this.setState({ keyword: event.target.value })}\r\n value={this.state.keyword}\r\n onFocus={() => this.showPanel('searchInput')}\r\n onKeyDown={this.handleKeyDown}\r\n />\r\n </Box>\r\n )\r\n\r\n handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\r\n const keyCode: number = event.keyCode\r\n if (keyCode === 13) {\r\n if (!this.state.keyword) return\r\n const temp = this.addQuickSearch(this.filterState, params.quickSearch, this.state.keyword)\r\n temp.filterState.details = 'add'\r\n if (!!temp.isChanged) {\r\n this.refInput?.blur()\r\n this.setFilterState(temp.filterState)\r\n this.setState(this.defaultState)\r\n }\r\n } else if (keyCode === 27) {\r\n this.refInput?.blur()\r\n this.setState(this.defaultState)\r\n }\r\n }\r\n\r\n handleAdd: IFilterSubmitFunc<T> = (mode, data) => {\r\n let temp: IFilterChange<T> = { isChanged: false, filterState: this.filterState }\r\n if (mode === 'field' && !!data) {\r\n temp = this.patchFilterWithKey(this.filterState, data)\r\n } else if (mode === 'quickSearch') {\r\n temp = this.addQuickSearch(this.filterState, params.quickSearch, this.state.keyword)\r\n }\r\n temp.filterState.details = 'add'\r\n if (!!temp.isChanged) {\r\n this.refInput?.blur()\r\n this.setFilterState(temp.filterState)\r\n this.setState(this.defaultState)\r\n }\r\n }\r\n\r\n handleRemove: IFilterSubmitFunc<T> = (mode, data) => {\r\n let temp: IFilterChange<T> = { isChanged: false, filterState: this.filterState }\r\n if (mode === 'field' && !!data) {\r\n temp = this.deleteFilterWithKey(this.filterState, data)\r\n } else if (mode === 'quickSearch') {\r\n temp = this.removeQuickSearch(this.filterState)\r\n }\r\n temp.filterState.details = 'remove'\r\n if (!!temp.isChanged) {\r\n this.refInput?.blur()\r\n this.setFilterState(temp.filterState)\r\n this.forceUpdate()\r\n }\r\n }\r\n\r\n handleClear = () => {\r\n this.setFilterState({ filter: {}, details: 'remove' })\r\n this.setState(this.defaultState)\r\n }\r\n\r\n showPanel = (reason: IFilterReason) => {\r\n let anchorEl = null\r\n switch (reason) {\r\n case 'searchInput':\r\n anchorEl = this.refBeforeInput\r\n break\r\n case 'filterButton':\r\n anchorEl = this.refFilterButton\r\n break\r\n // case 'sortButton':\r\n // anchorEl = this.refSortButton\r\n // break\r\n default:\r\n break\r\n }\r\n this.setState({ panelState: { anchorEl, reason } })\r\n }\r\n\r\n closePanel = () => this.setState({ panelState: { anchorEl: null } })\r\n }\r\n\r\n return FilterBar\r\n}\r\n\r\nexport default CreateFilterBar\r\n\r\nconst Wrapper = styled(Box)({\r\n display: 'flex',\r\n gap: '8px',\r\n width: '100%',\r\n borderRadius: '6px',\r\n transition: 'all linear 0.2s',\r\n padding: '2px',\r\n backgroundColor: '#fafafa',\r\n '&:hover': { backgroundColor: '#ededed' }\r\n})\r\n\r\nconst Content = styled(Box)({\r\n flex: 1,\r\n minHeight: '40px',\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n alignItems: 'center',\r\n gap: '6px'\r\n})\r\n"],"names":["CreateFilterBar","params","FilterPanelInstance","CreateFilterPanel","FilteredInstance","CreateFiltered","FilterBar","props","_this","_classCallCheck","_callSuper","_defineProperty","keyword","panelState","anchorEl","filter","filterState","value","filterStateStore","onChange","_jsxs","Box","component","htmlFor","configs","id","sx","flex","display","alignItems","children","_jsx","ref","refBeforeInput","height","InputBase","placeholder","fullWidth","autoComplete","inputRef","refInput","event","setState","target","state","onFocus","showPanel","onKeyDown","handleKeyDown","keyCode","_this$refInput","temp","addQuickSearch","quickSearch","details","isChanged","blur","setFilterState","defaultState","_this$refInput2","mode","data","_this$refInput3","patchFilterWithKey","_this$refInput4","deleteFilterWithKey","removeQuickSearch","forceUpdate","reason","refFilterButton","_inherits","FilterBarBase","_createClass","key","get","_this$props$value","this","_ref2","_this$props$id","_ref3","_this$props$placehold","Date","getTime","toString","notes","_this2","ClickAwayListener","onClickAway","closePanel","Wrapper","IconButton","onClick","FilterListIcon","Content","onRemove","handleRemove","renderTextField","ButtonClear","visibled","isFilterEmpty","handleClear","FilterNotes","_objectSpread","onSubmit","handleAdd","onClose","styled","gap","width","borderRadius","transition","padding","backgroundColor","minHeight","flexWrap"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{inherits as e,createClass as r,classCallCheck as t,callSuper as i,defineProperty as n}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o,jsxs as l}from"react/jsx-runtime";import{Fragment as a}from"react";import{styled as s,Box as d,RadioGroup as u,MenuList as c,MenuItem as m,Typography as f,Divider as p,Button as v,TextField as h,FormControlLabel as g,Radio as b}from"@mui/material";import S,{filterPanelClasses as x}from"./base.js";import{convertFormDataToJson as y}from"../../form/helpers.js";function C(s){return function(){function u(e){var r;return t(this,u),r=i(this,u,[e]),n(r,"renderFrom",(function(e){var t,i=s.fields[e],n=null!==(t=null==i?void 0:i.label)&&void 0!==t?t:e.toString();return o("form",{onSubmit:function(t){return r.handleSubmit(e,t)},children:l(k,{children:[o(d,{className:"top-bar",children:o(f,{variant:"subtitle2",children:n})}),o(d,{className:"content",children:r.renderWithMode(e)}),"select"===(null==i?void 0:i.type)&&o(p,{variant:"middle"}),l(d,{className:"actions",children:[o(v,{size:"small",color:"inherit",onClick:r.props.onCancel,children:"Cancel"}),o(v,{size:"small",color:"primary",type:"submit",sx:{fontWeight:700},children:"Apply"})]})]})})})),n(r,"renderWithMode",(function(e){var t=s.fields[e],i=r.state.messageError;return"select"===(null==t?void 0:t.type)?o(j,{name:e.toString(),className:i?"error":"",onChange:function(){return r.setState({messageError:void 0})},children:t.options.map((function(e,r){var t;return o(g,{value:e.value,control:o(b,{}),label:null!==(t=e.label)&&void 0!==t?t:e.value},e.value.toString()+r)}))}):o(h,{autoFocus:!0,name:e.toString(),size:"small",error:!!i,helperText:i})})),n(r,"handleSubmit",(function(e,t){var i;t.preventDefault(),t.stopPropagation();var n=new FormData(t.currentTarget),o=null===(i=y(n)[e])||void 0===i?void 0:i.toString(),l=s.fields[e],a=r.validated(null!=o?o:"",e,l);if(a.error)r.setState({messageError:a.message});else{var d,u=void 0;if("select"===(null==l?void 0:l.type))u=null===(d=l.options.find((function(e){return e.value===o})))||void 0===d?void 0:d.label;r.props.onSubmit&&r.props.onSubmit("field",{field:e,value:o,label:u})}})),r.state={fieldSelected:null},r}return e(u,S),r(u,[{key:"render",value:function(){var e=this,r=this.state.fieldSelected;if(r)return this.renderFrom(r);var t=Object.keys(s.fields).filter((function(e){return!!e&&"Search"!==e}));return o(c,{className:x.list,sx:{minWidth:"200px"},children:t.map((function(r,t){var i,n=s.fields[r];return n?o(m,{className:x.item,onClick:function(){return e.setState({fieldSelected:r,messageError:void 0})},children:null!==(i=null==n?void 0:n.label)&&void 0!==i?i:r.toString()},r.toString()+t):o(a,{},r.toString()+t)}))})}}])}()}var k=s(d)({minWidth:"200px",borderRadius:"4px",overflow:"hidden",".top-bar":{background:"#000",padding:"8px",".MuiTypography-root":{color:"#fff"}},".content":{padding:"8px"},".actions":{display:"flex",alignItems:"center",justifyContent:"flex-end",padding:"8px"}}),j=s(u)({marginLeft:"-8px",marginRight:"-8px","&.error .MuiRadio-root":{color:"#d32f2f"},".MuiFormControlLabel-root":{margin:0},".MuiFormControlLabel-root:hover":{backgroundColor:"rgba(25, 118, 210, 0.04)"}});export{C as default};
2
+ //# sourceMappingURL=create.filter-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.filter-menu.js","sources":["../../../../src/table-grid/filter-bar/create.filter-menu.tsx"],"sourcesContent":["import React, { ComponentType, Fragment } from 'react'\r\nimport { Box, Button, ButtonProps, Divider } from '@mui/material'\r\nimport { FormControlLabel, MenuItem, MenuList, Radio, RadioGroup, styled, TextField, Typography } from '@mui/material'\r\nimport FilterBarBase, { filterPanelClasses } from './base'\r\nimport { IFilterBarConfigs, IFilterModel, IFilterSubmitFunc } from './types'\r\nimport { convertFormDataToJson } from '../../form/helpers'\r\n\r\nexport interface IFilterMenuProps<T> {\r\n onSubmit?: IFilterSubmitFunc<T>\r\n onCancel?: ButtonProps['onClick']\r\n}\r\n\r\nexport interface IFilterMenuState<T> {\r\n fieldSelected: keyof IFilterModel<T> | null\r\n messageError?: string\r\n}\r\n\r\nfunction CreateFilterMenu<T>(params: IFilterBarConfigs<T>): ComponentType<IFilterMenuProps<T>> {\r\n class FilterMenu extends FilterBarBase<IFilterMenuProps<T>, IFilterMenuState<T>, T> {\r\n constructor(props: IFilterMenuProps<T>) {\r\n super(props)\r\n this.state = { fieldSelected: null }\r\n }\r\n\r\n render() {\r\n const { fieldSelected } = this.state\r\n if (!!fieldSelected) return this.renderFrom(fieldSelected)\r\n const keys = (Object.keys(params.fields) as (keyof IFilterModel<T>)[]).filter((x) => !!x && x !== 'Search')\r\n return (\r\n <MenuList className={filterPanelClasses.list} sx={{ minWidth: '200px' }}>\r\n {keys.map((x, i) => {\r\n const item = params.fields[x]\r\n if (!item) return <Fragment key={x.toString() + i} />\r\n return (\r\n <MenuItem\r\n key={x.toString() + i}\r\n className={filterPanelClasses.item}\r\n onClick={() => this.setState({ fieldSelected: x, messageError: undefined })}\r\n >\r\n {item?.label ?? x.toString()}\r\n </MenuItem>\r\n )\r\n })}\r\n </MenuList>\r\n )\r\n }\r\n\r\n renderFrom = (fieldSelected: keyof IFilterModel<T>) => {\r\n const fieldConfig = params.fields[fieldSelected]\r\n const label = fieldConfig?.label ?? fieldSelected.toString()\r\n return (\r\n <form onSubmit={(e) => this.handleSubmit(fieldSelected, e)}>\r\n <WrapPanelFilterMode>\r\n <Box className='top-bar'>\r\n <Typography variant='subtitle2'>{label}</Typography>\r\n </Box>\r\n <Box className='content'>{this.renderWithMode(fieldSelected)}</Box>\r\n {fieldConfig?.type === 'select' && <Divider variant='middle' />}\r\n <Box className='actions'>\r\n <Button size='small' color='inherit' onClick={this.props.onCancel}>\r\n Cancel\r\n </Button>\r\n <Button size='small' color='primary' type='submit' sx={{ fontWeight: 700 }}>\r\n Apply\r\n </Button>\r\n </Box>\r\n </WrapPanelFilterMode>\r\n </form>\r\n )\r\n }\r\n\r\n renderWithMode = (fieldSelected: keyof IFilterModel<T>) => {\r\n const fieldConfig = params.fields[fieldSelected]\r\n const { messageError } = this.state\r\n switch (fieldConfig?.type) {\r\n case 'select':\r\n return (\r\n <CustomRadioGroup\r\n name={fieldSelected.toString()}\r\n className={messageError ? 'error' : ''}\r\n onChange={() => this.setState({ messageError: undefined })}\r\n >\r\n {fieldConfig.options.map((x, i) => (\r\n <FormControlLabel key={x.value.toString() + i} value={x.value} control={<Radio />} label={x.label ?? x.value} />\r\n ))}\r\n </CustomRadioGroup>\r\n )\r\n case 'string':\r\n default:\r\n return <TextField autoFocus name={fieldSelected.toString()} size='small' error={!!messageError} helperText={messageError} />\r\n }\r\n }\r\n\r\n handleSubmit = (fieldSelected: keyof IFilterModel<T>, event: React.FormEvent<HTMLFormElement>) => {\r\n event.preventDefault()\r\n event.stopPropagation()\r\n const formData = new FormData(event.currentTarget as HTMLFormElement)\r\n const obj = convertFormDataToJson<T>(formData)\r\n const value = obj[fieldSelected as keyof T]?.toString()\r\n\r\n const fieldConfig = params.fields[fieldSelected]\r\n const validate = this.validated(value ?? '', fieldSelected, fieldConfig)\r\n if (validate.error) {\r\n this.setState({ messageError: validate.message })\r\n return\r\n }\r\n\r\n let label: string | undefined = undefined\r\n if (fieldConfig?.type === 'select') {\r\n label = fieldConfig.options.find((x) => x.value === value)?.label\r\n }\r\n\r\n this.props.onSubmit && this.props.onSubmit('field', { field: fieldSelected, value, label })\r\n }\r\n }\r\n\r\n return FilterMenu\r\n}\r\n\r\nexport default CreateFilterMenu\r\n\r\nconst WrapPanelFilterMode = styled(Box)({\r\n minWidth: '200px',\r\n borderRadius: '4px',\r\n overflow: 'hidden',\r\n '.top-bar': {\r\n background: '#000',\r\n padding: '8px',\r\n '.MuiTypography-root': {\r\n color: '#fff'\r\n }\r\n },\r\n '.content': {\r\n padding: '8px'\r\n },\r\n '.actions': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end',\r\n padding: '8px'\r\n }\r\n})\r\n\r\nconst CustomRadioGroup = styled(RadioGroup)({\r\n marginLeft: '-8px',\r\n marginRight: '-8px',\r\n '&.error .MuiRadio-root': {\r\n color: '#d32f2f'\r\n },\r\n '.MuiFormControlLabel-root': {\r\n margin: 0\r\n },\r\n '.MuiFormControlLabel-root:hover': {\r\n backgroundColor: 'rgba(25, 118, 210, 0.04)'\r\n }\r\n})\r\n"],"names":["CreateFilterMenu","params","FilterMenu","props","_this","_classCallCheck","_callSuper","_defineProperty","fieldSelected","_fieldConfig$label","fieldConfig","fields","label","toString","_jsx","onSubmit","e","handleSubmit","children","_jsxs","WrapPanelFilterMode","Box","className","Typography","variant","renderWithMode","type","Divider","Button","size","color","onClick","onCancel","sx","fontWeight","messageError","state","CustomRadioGroup","name","onChange","setState","undefined","options","map","x","i","_x$label","FormControlLabel","value","control","Radio","TextField","autoFocus","error","helperText","event","_obj$fieldSelected","preventDefault","stopPropagation","formData","FormData","currentTarget","convertFormDataToJson","validate","validated","message","_fieldConfig$options$","find","field","_inherits","FilterBarBase","_createClass","key","_this2","this","renderFrom","keys","Object","filter","MenuList","filterPanelClasses","list","minWidth","_item$label","item","MenuItem","Fragment","styled","borderRadius","overflow","background","padding","display","alignItems","justifyContent","RadioGroup","marginLeft","marginRight","margin","backgroundColor"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{inherits as r,createClass as e,objectSpread2 as n,classCallCheck as o,callSuper as t,defineProperty as i}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,Fragment as s,jsxs as c}from"react/jsx-runtime";import{styled as l,Box as p,Popper as u,Fade as d,MenuList as h,MenuItem as f,Typography as m}from"@mui/material";import{FilterNotes as b}from"./ui.units.js";import k,{filterPanelClasses as S}from"./base.js";import v from"./create.filter-menu.js";function x(l){var p=v(l),x=function(){function v(){var r;o(this,v);for(var e=arguments.length,u=new Array(e),d=0;d<e;d++)u[d]=arguments[d];return r=t(this,v,[].concat(u)),i(r,"renderContent",(function(){switch(r.props.reason){case"searchInput":return r.renderSearchInput();case"filterButton":return a(p,{onCancel:r.props.onClose,onSubmit:function(e,n){r.props.onSubmit&&r.props.onSubmit(e,n),r.props.onClose&&r.props.onClose()}})}})),i(r,"renderSearchInput",(function(){var e;if("searchInput"!==r.props.reason)return a(s,{});var o=r.getFieldsMatches(l.fields,null!==(e=r.props.keyword)&&void 0!==e?e:""),t=Object.keys(o).filter((function(r){return!!r}));return c(h,{className:S.list,children:[t.map((function(e,o){var t,i=l.fields[e],s=null!==(t=null==i?void 0:i.label)&&void 0!==t?t:e.toString();return c(f,{className:S.item,onClick:function(){return r.handleClick(e)},children:[c(m,{noWrap:!0,variant:"body2",component:"span",sx:{flex:1},children:[s,' "',r.props.keyword,'"']}),(null==i?void 0:i.notes)&&a(b,n({title:"The ".concat(s," includes"),disabledSize:!0},i.notes))]},e.toString()+o)})),r.renderQuickSearch()]})})),i(r,"renderQuickSearch",(function(){var e;if(!l.quickSearch)return a(s,{});var o=l.quickSearch,t=null!==(e=o.label)&&void 0!==e?e:"Quick search";return c(f,{className:S.item,onClick:r.handleQuickSearchClick,children:[c(m,{noWrap:!0,variant:"body2",component:"span",sx:{flex:1},children:[t,' "',r.props.keyword,'"']}),o.notes&&a(b,n({title:"The ".concat(t.toLocaleLowerCase()," includes"),disabledSize:!0},o.notes))]})})),i(r,"handleClick",(function(e){r.props.onSubmit&&r.props.onSubmit("field",{field:e,value:r.props.keyword})})),i(r,"handleQuickSearchClick",(function(){r.props.onSubmit&&r.props.onSubmit("quickSearch")})),r}return r(v,k),e(v,[{key:"render",value:function(){var r=this,e=Boolean(this.props.anchorEl)&&(!!this.props.keyword||"searchInput"!==this.props.reason);return a(u,{anchorEl:this.props.anchorEl,open:e,placement:"bottom-start",transition:!0,sx:{zIndex:1350,maxWidth:"100%"},children:function(e){var o=e.TransitionProps;return a(d,n(n({},o),{},{timeout:0,children:a(C,{className:S.root,children:r.renderContent()})}))}})}}])}();return x}var C=l(p)({borderRadius:"4px",boxShadow:"rgba(0, 0, 0, 0.06) 0px 5px 22px, rgba(0, 0, 0, 0.04) 0px 0px 0px 0.5px",backgroundColor:"#fff"});export{x as default};
2
+ //# sourceMappingURL=create.filter-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.filter-panel.js","sources":["../../../../src/table-grid/filter-bar/create.filter-panel.tsx"],"sourcesContent":["import React, { ComponentType, PropsWithChildren } from 'react'\r\nimport { Popper, Fade, Box, styled, MenuList, MenuItem, Typography } from '@mui/material'\r\nimport { FilterNotes } from './ui.units'\r\nimport { IFilterModel, IFilterReason, IFilterSubmitFunc, IFilterBarConfigs } from './types'\r\nimport FilterBarBase, { filterPanelClasses } from './base'\r\nimport CreateFilterMenu from './create.filter-menu'\r\n\r\nexport interface IFilterPanelState {\r\n anchorEl: HTMLElement | null\r\n reason?: IFilterReason\r\n}\r\n\r\ninterface IFilterPanelProps<T> extends IFilterPanelState, PropsWithChildren {\r\n keyword?: string\r\n onSubmit?: IFilterSubmitFunc<T>\r\n onClose?: () => void\r\n}\r\n\r\nfunction CreateFilterPanel<T>(params: IFilterBarConfigs<T>): ComponentType<IFilterPanelProps<T>> {\r\n const FilterMenuInstance = CreateFilterMenu<T>(params)\r\n // const SortMenuInstance = CreateFilterSort<T>(params)\r\n\r\n class FilterPanel extends FilterBarBase<IFilterPanelProps<T>, {}, T> {\r\n render() {\r\n const isOpen = Boolean(this.props.anchorEl) && (!!this.props.keyword || this.props.reason !== 'searchInput')\r\n return (\r\n <Popper anchorEl={this.props.anchorEl} open={isOpen} placement='bottom-start' transition sx={{ zIndex: 1350, maxWidth: '100%' }}>\r\n {({ TransitionProps }) => (\r\n <Fade {...TransitionProps} timeout={0}>\r\n <Wrapper className={filterPanelClasses.root}>{this.renderContent()}</Wrapper>\r\n </Fade>\r\n )}\r\n </Popper>\r\n )\r\n }\r\n\r\n renderContent = () => {\r\n switch (this.props.reason) {\r\n case 'searchInput':\r\n return this.renderSearchInput()\r\n case 'filterButton':\r\n return (\r\n <FilterMenuInstance\r\n onCancel={this.props.onClose}\r\n onSubmit={(f, v) => {\r\n this.props.onSubmit && this.props.onSubmit(f, v)\r\n this.props.onClose && this.props.onClose()\r\n }}\r\n />\r\n )\r\n // case 'sortButton':\r\n // return <SortMenuInstance />\r\n default:\r\n break\r\n }\r\n }\r\n\r\n renderSearchInput = () => {\r\n if (this.props.reason !== 'searchInput') return <></>\r\n const fields = this.getFieldsMatches(params.fields, this.props.keyword ?? '')\r\n const keys = Object.keys(fields).filter((x) => !!x) as (keyof IFilterModel<T>)[]\r\n return (\r\n <MenuList className={filterPanelClasses.list}>\r\n {keys.map((x, i) => {\r\n const item = params.fields[x]\r\n const label = item?.label ?? x.toString()\r\n return (\r\n <MenuItem key={x.toString() + i} className={filterPanelClasses.item} onClick={() => this.handleClick(x)}>\r\n <Typography noWrap variant='body2' component='span' sx={{ flex: 1 }}>\r\n {label} \"{this.props.keyword}\"\r\n </Typography>\r\n {item?.notes && <FilterNotes title={`The ${label} includes`} disabledSize {...item.notes} />}\r\n </MenuItem>\r\n )\r\n })}\r\n {this.renderQuickSearch()}\r\n </MenuList>\r\n )\r\n }\r\n\r\n renderQuickSearch = () => {\r\n if (!params.quickSearch) return <></>\r\n const quickSearch = params.quickSearch\r\n const label = quickSearch.label ?? 'Quick search'\r\n return (\r\n <MenuItem className={filterPanelClasses.item} onClick={this.handleQuickSearchClick}>\r\n <Typography noWrap variant='body2' component='span' sx={{ flex: 1 }}>\r\n {label} \"{this.props.keyword}\"\r\n </Typography>\r\n {quickSearch.notes && <FilterNotes title={`The ${label.toLocaleLowerCase()} includes`} disabledSize {...quickSearch.notes} />}\r\n </MenuItem>\r\n )\r\n }\r\n\r\n handleClick = (field: keyof T) => {\r\n if (!this.props.onSubmit) return\r\n this.props.onSubmit('field', { field, value: this.props.keyword })\r\n }\r\n\r\n handleQuickSearchClick = () => {\r\n if (!this.props.onSubmit) return\r\n this.props.onSubmit('quickSearch')\r\n }\r\n }\r\n return FilterPanel\r\n}\r\n\r\nexport default CreateFilterPanel\r\n\r\nconst Wrapper = styled(Box)({\r\n borderRadius: '4px',\r\n boxShadow: 'rgba(0, 0, 0, 0.06) 0px 5px 22px, rgba(0, 0, 0, 0.04) 0px 0px 0px 0.5px',\r\n backgroundColor: '#fff'\r\n})\r\n"],"names":["CreateFilterPanel","params","FilterMenuInstance","CreateFilterMenu","FilterPanel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","props","reason","renderSearchInput","_jsx","onCancel","onClose","onSubmit","f","v","_this$props$keyword","fields","getFieldsMatches","keyword","keys","Object","filter","x","_jsxs","MenuList","className","filterPanelClasses","list","map","i","_item$label","item","label","toString","MenuItem","onClick","handleClick","Typography","noWrap","variant","component","sx","flex","notes","FilterNotes","_objectSpread","title","disabledSize","renderQuickSearch","_quickSearch$label","quickSearch","handleQuickSearchClick","children","toLocaleLowerCase","field","value","_inherits","FilterBarBase","_createClass","key","_this2","isOpen","Boolean","anchorEl","Popper","open","placement","transition","zIndex","maxWidth","_ref","TransitionProps","Fade","timeout","Wrapper","root","renderContent","styled","Box","borderRadius","boxShadow","backgroundColor"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{inherits as e,createClass as r,classCallCheck as n,callSuper as i,defineProperty as l}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,Fragment as a,jsx as t}from"react/jsx-runtime";import{Component as c}from"react";import{Chip as u,Typography as s}from"@mui/material";function v(v){var p=function(){function p(){var e;n(this,p);for(var r=arguments.length,c=new Array(r),d=0;d<r;d++)c[d]=arguments[d];return e=i(this,p,[].concat(c)),l(e,"renderQuickSearch",(function(){var r,n,i;if(!e.props.filterState.quickSearch)return t(a,{});var l=null!==(r=e.props.filterState.quickSearch.values)&&void 0!==r?r:[],c=Array.isArray(l)?l:[l],p=null!==(n=null===(i=v.quickSearch)||void 0===i?void 0:i.label)&&void 0!==n?n:"Quick search";return t(u,{onDelete:e.handleQuickSearchRemove,size:"small",label:o(s,{component:"span",variant:"caption",children:[p," ",null==c?void 0:c.map((function(e){return'"'.concat(e,'"')})).join(" ")]})})})),l(e,"handleRemove",(function(r){e.props.onRemove&&e.props.onRemove("field",{field:r})})),l(e,"handleQuickSearchRemove",(function(){e.props.onRemove&&e.props.onRemove("quickSearch")})),e}return e(p,c),r(p,[{key:"render",value:function(){var e,r=this,n=Object.keys(null!==(e=this.props.filterState.filter)&&void 0!==e?e:{});return o(a,{children:[this.renderQuickSearch(),n.map((function(e,n){var i,l,a,c=null===(i=r.props.filterState.filter)||void 0===i?void 0:i[e],p=v.fields[e];return t(u,{onDelete:function(){return r.handleRemove(e)},size:"small",label:o(s,{component:"span",variant:"caption",children:[null!==(l=null!==(a=null==p?void 0:p.label)&&void 0!==a?a:null==e?void 0:e.toString())&&void 0!==l?l:"Search"," ",null==c?void 0:c.map((function(e){var r;return'"'.concat(null!==(r=e.label)&&void 0!==r?r:e.value,'"')})).join(" ")]})},"".concat(null==e?void 0:e.toString()).concat(n))}))]})}}])}();return p}export{v as default};
2
+ //# sourceMappingURL=create.filtered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.filtered.js","sources":["../../../../src/table-grid/filter-bar/create.filtered.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Chip, Typography } from '@mui/material'\r\nimport { IFilterBarConfigs, IFilterState, IFilterSubmitFunc } from './types'\r\n\r\ninterface IProps<T> {\r\n filterState: IFilterState<T>\r\n onRemove?: IFilterSubmitFunc<T>\r\n}\r\n\r\nfunction CreateFiltered<T>(params: IFilterBarConfigs<T>) {\r\n class Filtered extends Component<IProps<T>> {\r\n render() {\r\n const keys = Object.keys(this.props.filterState.filter ?? {}) as (keyof T)[]\r\n return (\r\n <>\r\n {this.renderQuickSearch()}\r\n {keys.map((key, i) => {\r\n const item = this.props.filterState.filter?.[key]\r\n const config = params.fields[key]\r\n return (\r\n <Chip\r\n key={`${key?.toString()}${i}`}\r\n onDelete={() => this.handleRemove(key)}\r\n size='small'\r\n label={\r\n <Typography component='span' variant='caption'>\r\n {config?.label ?? key?.toString() ?? 'Search'} {item?.map((x) => `\"${x.label ?? x.value}\"`).join(' ')}\r\n </Typography>\r\n }\r\n />\r\n )\r\n })}\r\n </>\r\n )\r\n }\r\n\r\n renderQuickSearch = () => {\r\n if (!this.props.filterState.quickSearch) return <></>\r\n const temp = this.props.filterState.quickSearch.values ?? []\r\n const items = Array.isArray(temp) ? temp : [temp]\r\n const label = params.quickSearch?.label ?? 'Quick search'\r\n return (\r\n <Chip\r\n onDelete={this.handleQuickSearchRemove}\r\n size='small'\r\n label={\r\n <Typography component='span' variant='caption'>\r\n {label} {items?.map((x) => `\"${x}\"`).join(' ')}\r\n </Typography>\r\n }\r\n />\r\n )\r\n }\r\n\r\n handleRemove = (field: keyof T) => {\r\n if (!this.props.onRemove) return\r\n this.props.onRemove('field', { field })\r\n }\r\n\r\n handleQuickSearchRemove = () => {\r\n if (!this.props.onRemove) return\r\n this.props.onRemove('quickSearch')\r\n }\r\n }\r\n return Filtered\r\n}\r\n\r\nexport default CreateFiltered\r\n"],"names":["CreateFiltered","params","Filtered","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_this$props$filterSta","_params$quickSearch$l","_params$quickSearch","props","filterState","quickSearch","_jsx","temp","values","items","isArray","label","Chip","onDelete","handleQuickSearchRemove","size","_jsxs","Typography","component","variant","children","map","x","join","field","onRemove","_inherits","Component","_createClass","key","value","_this$props$filterSta2","_this2","keys","Object","filter","_Fragment","renderQuickSearch","i","_this2$props$filterSt","_ref","_config$label","item","config","fields","handleRemove","toString","_x$label"],"mappings":"ySASA,SAASA,EAAkBC,GAA4B,IAC/CC,aAAS,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAoDZ,OApDYP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,qBA0BO,WAAK,IAAAY,EAAAC,EAAAC,EACvB,IAAKd,EAAKe,MAAMC,YAAYC,YAAa,OAAOC,QAChD,IAAMC,EAAgD,QAA5CP,EAAGZ,EAAKe,MAAMC,YAAYC,YAAYG,cAAMR,IAAAA,EAAAA,EAAI,GACpDS,EAAQf,MAAMgB,QAAQH,GAAQA,EAAO,CAACA,GACtCI,EAAiC,QAA5BV,EAAqB,QAArBC,EAAGhB,EAAOmB,mBAAPH,IAAkBA,OAAlBA,EAAAA,EAAoBS,aAAKV,IAAAA,EAAAA,EAAI,eAC3C,OACEK,EAACM,EAAI,CACHC,SAAUzB,EAAK0B,wBACfC,KAAK,QACLJ,MACEK,EAACC,GAAWC,UAAU,OAAOC,QAAQ,UAClCC,SAAA,CAAAT,MAAQF,eAAAA,EAAOY,KAAI,SAACC,GAAC,MAAAxB,IAAAA,OAASwB,EAAC,IAAA,IAAKC,KAAK,aAKnDxB,EAAAX,EAEc,gBAAA,SAACoC,GACTpC,EAAKe,MAAMsB,UAChBrC,EAAKe,MAAMsB,SAAS,QAAS,CAAED,MAAAA,OAChCzB,EAAAX,EAAA,2BAEyB,WACnBA,EAAKe,MAAMsB,UAChBrC,EAAKe,MAAMsB,SAAS,kBACrBrC,CAAA,CAAA,OAAAsC,EAAAvC,EApDoBwC,GAoDpBC,EAAAzC,EAAA,CAAA,CAAA0C,IAAA,SAAAC,MAnDD,WAAM,IAAAC,EAAAC,EAAAnC,KACEoC,EAAOC,OAAOD,KAAkCF,QAA9BA,EAAClC,KAAKM,MAAMC,YAAY+B,kBAAMJ,EAAAA,EAAI,CAAA,GAC1D,OACEf,EACGoB,EAAA,CAAAhB,SAAA,CAAAvB,KAAKwC,oBACLJ,EAAKZ,KAAI,SAACQ,EAAKS,GAAK,IAAAC,EAAAC,EAAAC,EACbC,EAAoCH,QAAhCA,EAAGP,EAAK7B,MAAMC,YAAY+B,kBAAMI,SAA7BA,EAAgCV,GACvCc,EAASzD,EAAO0D,OAAOf,GAC7B,OACEvB,EAACM,EAEC,CAAAC,SAAU,WAAF,OAAQmB,EAAKa,aAAahB,EAAI,EACtCd,KAAK,QACLJ,MACEK,EAACC,EAAW,CAAAC,UAAU,OAAOC,QAAQ,UAClCC,SAAA,CAAgC,QAAhCoB,UAAAC,EAAAE,aAAM,EAANA,EAAQhC,aAAK,IAAA8B,EAAAA,EAAIZ,aAAG,EAAHA,EAAKiB,kBAAUN,IAAAA,EAAAA,EAAI,SAAW,IAAAE,aAAI,EAAJA,EAAMrB,KAAI,SAACC,GAAC,IAAAyB,EAAA,MAAA,IAAAjD,OAAgBiD,QAAhBA,EAASzB,EAAEX,aAAKoC,IAAAA,EAAAA,EAAIzB,EAAEQ,MAAK,IAAA,IAAKP,KAAK,YALhGzB,OAAG+B,aAAAA,EAAAA,EAAKiB,YAAUhD,OAAGwC,GAUhC,MAGN,IAAC,IA8BH,OAAOnD,CACT"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../src/table-grid/filter-bar/types.ts"],"sourcesContent":["import { IFilterPanelState } from './create.filter-panel'\r\nimport { IFilterNotesProps } from './ui.units'\r\n\r\nexport type IFilterReason = 'searchInput' | 'filterButton'\r\n\r\n// type Dictionary<T, V, E = any> = {\r\n// [key in keyof T | keyof E]?: V\r\n// }\r\n\r\ntype SingleOrArray<T> = T | T[]\r\n\r\n//#region Search Match\r\nexport enum ESearchMatch {\r\n AlwaysVisible = 'AlwaysVisible',\r\n MatchOnly = 'MatchOnly',\r\n LinkYoutube = 'LinkYoutube',\r\n Link = 'Link',\r\n Guid = 'Guid'\r\n}\r\n\r\ninterface ISearchMatchBase {\r\n rule: ESearchMatch\r\n}\r\n\r\ninterface ISearchMatchMatchOnly extends ISearchMatchBase {\r\n rule: ESearchMatch.MatchOnly\r\n match: (value: string) => boolean\r\n}\r\n\r\ninterface ISearchMatchQuickly extends ISearchMatchBase {\r\n rule: ESearchMatch.AlwaysVisible | ESearchMatch.LinkYoutube | ESearchMatch.Link | ESearchMatch.Guid\r\n}\r\n\r\ntype IFieldSearchMatch = ISearchMatchMatchOnly | ISearchMatchQuickly\r\n//#endregion\r\n\r\n//#region Validate\r\nexport enum EMenuValidate {\r\n LinkYoutube = 'LinkYoutube',\r\n Link = 'Link',\r\n Custom = 'Custom'\r\n}\r\n\r\ninterface IFieldValidateBase {\r\n rule: EMenuValidate\r\n}\r\ninterface IFieldValidateCustom extends IFieldValidateBase {\r\n rule: EMenuValidate.Custom\r\n custom: (value: string) => boolean\r\n}\r\n\r\ninterface IFieldValidateQuickly extends IFieldValidateBase {\r\n rule: EMenuValidate.Link | EMenuValidate.LinkYoutube\r\n}\r\n\r\ntype IFieldValidate = IFieldValidateQuickly | IFieldValidateCustom\r\n//#endregion\r\n\r\n//#region Filter Field\r\nexport interface IQuickSearchDef<T> {\r\n fields: SingleOrArray<keyof T>\r\n label?: string\r\n notes?: IFilterNotesProps\r\n}\r\n\r\ninterface IFilterFieldDef {\r\n label?: string\r\n /** @default string */\r\n type?: 'string' | 'select'\r\n searchMatches?: SingleOrArray<IFieldSearchMatch>\r\n notes?: IFilterNotesProps\r\n // TODO thay vì required thì validate này sẽ chỉ hiện với field nào tồn tại validate\r\n /** @default Required */\r\n validate?: SingleOrArray<IFieldValidate>\r\n}\r\n\r\nexport interface IFilterFieldString extends IFilterFieldDef {\r\n type?: 'string'\r\n}\r\n\r\nexport interface IFilterFieldSelect extends IFilterFieldDef {\r\n type: 'select'\r\n options: { value: string; label?: string }[]\r\n}\r\n\r\nexport type IFilterField = IFilterFieldString | IFilterFieldSelect\r\n\r\n// export type IFilterFields<T> = Dictionary<T, IFilterField, IFilterValid>\r\nexport type IFilterFields<T> = { [key in keyof T]?: IFilterField }\r\n\r\n// ========= ========= ========= State ========= ========= =========\r\nexport interface IFilterItemModel {\r\n value?: string | number | boolean\r\n label?: string\r\n}\r\nexport interface IFilterItemChangeModel<T> extends IFilterItemModel {\r\n field: keyof T\r\n}\r\n\r\n// export type IFilterModel<T> = Dictionary<T, IFilterItemModel[], { Search?: string }>\r\nexport type IFilterModel<T> = { [key in keyof T]?: IFilterItemModel[] }\r\n\r\nexport interface IQuickSearchModel<T> {\r\n fields: SingleOrArray<keyof T>\r\n values?: SingleOrArray<string>\r\n}\r\n\r\nexport interface IFilterState<T> {\r\n filter?: IFilterModel<T>\r\n quickSearch?: IQuickSearchModel<T>\r\n details?: 'add' | 'remove'\r\n}\r\n//#endregion\r\n\r\n//#region For Component\r\nexport interface IFilterBarConfigs<T> {\r\n fields: IFilterFields<T>\r\n quickSearch?: IQuickSearchDef<T>\r\n id?: string\r\n placeholder?: string\r\n notes?: IFilterNotesProps\r\n}\r\n\r\nexport interface IFilterBarProps<T> {\r\n id?: string\r\n placeholder?: string\r\n value?: IFilterState<T>\r\n onChange?: (value: IFilterState<T>) => void\r\n}\r\n\r\nexport interface IFilterBarState {\r\n panelState: IFilterPanelState\r\n keyword: string\r\n}\r\n\r\nexport type IFilterSubmitFunc<T> = (mode: 'field' | 'quickSearch', data?: IFilterItemChangeModel<T>) => void\r\n//#endregion\r\n"],"names":["ESearchMatch","EMenuValidate"],"mappings":"IAYYA,EAyBAC,GAzBZ,SAAYD,GACVA,EAAA,cAAA,gBACAA,EAAA,UAAA,YACAA,EAAA,YAAA,cACAA,EAAA,KAAA,OACAA,EAAA,KAAA,MACD,CAND,CAAYA,IAAAA,EAMX,CAAA,IAmBD,SAAYC,GACVA,EAAA,YAAA,cACAA,EAAA,KAAA,OACAA,EAAA,OAAA,QACD,CAJD,CAAYA,IAAAA,EAIX,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.units.js","sources":["../../../../src/table-grid/filter-bar/ui.units.tsx"],"sourcesContent":["import React, { FC, ReactNode } from 'react'\r\nimport { Box, Fade, IconButton, IconButtonProps, styled, Tooltip, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport HelpTooltip from '../../components/help-tooltip'\r\n\r\nexport interface IButtonClearProps {\r\n visibled?: boolean\r\n onClick: IconButtonProps['onClick']\r\n}\r\n\r\nexport const ButtonClear: FC<IButtonClearProps> = (props) => (\r\n <WrapIcon>\r\n <Tooltip title='Remove filter'>\r\n <Fade in={props.visibled} unmountOnExit>\r\n <IconButton size='small' onClick={props.onClick}>\r\n <CloseIcon fontSize='small' />\r\n </IconButton>\r\n </Fade>\r\n </Tooltip>\r\n </WrapIcon>\r\n)\r\n\r\nexport interface IFilterNotesProps {\r\n title?: string\r\n items?: string[]\r\n disabledSize?: boolean\r\n renderContent?: () => ReactNode\r\n}\r\n\r\nconst HelpTooltipContent: FC<{ items: string[] }> = (props) => (\r\n <WrapList>\r\n {props.items.map((item, index) => (\r\n <Typography key={index} component='li' variant='body2'>\r\n {item}\r\n </Typography>\r\n ))}\r\n </WrapList>\r\n)\r\n\r\nexport const FilterNotes: FC<IFilterNotesProps> = (props) => (\r\n <WrapIcon className={props.disabledSize === true ? 'disabled-size' : ''}>\r\n <HelpTooltip small title={props.title ?? 'The search includes'}>\r\n {props.renderContent ? props.renderContent() : <HelpTooltipContent items={props.items ?? []} />}\r\n </HelpTooltip>\r\n </WrapIcon>\r\n)\r\nconst WrapIcon = styled(Box)({\r\n display: 'inline-flex',\r\n flex: '0 0 auto',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n '&:not(.disabled-size)': {\r\n width: '40px',\r\n height: '40px'\r\n }\r\n})\r\n\r\nconst WrapList = styled('ul')({\r\n paddingLeft: '1.7rem',\r\n marginBottom: 0,\r\n li: {\r\n position: 'relative',\r\n textAlign: 'justify',\r\n '&::before': {\r\n content: '\"►\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: '50%',\r\n right: 'calc(100% + 6px)',\r\n transform: 'translateY(-50%)',\r\n fontSize: '0.9em'\r\n }\r\n }\r\n})\r\n"],"names":["ButtonClear","props","_jsx","WrapIcon","children","Tooltip","title","Fade","in","visibled","unmountOnExit","IconButton","size","onClick","CloseIcon","fontSize","HelpTooltipContent","WrapList","items","map","item","index","Typography","component","variant","FilterNotes","_props$title","_props$items","className","disabledSize","HelpTooltip","small","renderContent","styled","Box","display","flex","justifyContent","alignItems","width","height","paddingLeft","marginBottom","li","position","textAlign","content","top","right","transform"],"mappings":"2PAUaA,EAAqC,SAACC,GAAK,OACtDC,EAACC,EAAQ,CAAAC,SACPF,EAACG,EAAO,CAACC,MAAM,gBAAeF,SAC5BF,EAACK,EAAK,CAAAC,GAAIP,EAAMQ,SAAUC,eAAa,EAAAN,SACrCF,EAACS,EAAW,CAAAC,KAAK,QAAQC,QAASZ,EAAMY,iBACtCX,EAACY,EAAU,CAAAC,SAAS,iBAIjB,EAUPC,EAA8C,SAACf,GAAK,OACxDC,EAACe,YACEhB,EAAMiB,MAAMC,KAAI,SAACC,EAAMC,GAAK,OAC3BnB,EAACoB,EAAU,CAAaC,UAAU,KAAKC,QAAQ,QAC5CpB,SAAAgB,GADcC,EAGlB,KACQ,EAGAI,EAAqC,SAACxB,GAAK,IAAAyB,EAAAC,EAAA,OACtDzB,EAACC,EAAQ,CAACyB,WAAkC,IAAvB3B,EAAM4B,aAAwB,gBAAkB,GAAEzB,SACrEF,EAAC4B,GAAYC,OAAK,EAACzB,MAAkB,QAAboB,EAAEzB,EAAMK,aAAK,IAAAoB,EAAAA,EAAI,sBACtCtB,SAAAH,EAAM+B,cAAgB/B,EAAM+B,gBAAkB9B,EAACc,EAAkB,CAACE,MAAkBS,QAAbA,EAAE1B,EAAMiB,aAAKS,IAAAA,EAAAA,EAAI,QAElF,EAEPxB,EAAW8B,EAAOC,EAAPD,CAAY,CAC3BE,QAAS,cACTC,KAAM,WACNC,eAAgB,SAChBC,WAAY,SACZ,wBAAyB,CACvBC,MAAO,OACPC,OAAQ,UAINvB,EAAWgB,EAAO,KAAPA,CAAa,CAC5BQ,YAAa,SACbC,aAAc,EACdC,GAAI,CACFC,SAAU,WACVC,UAAW,UACX,YAAa,CACXC,QAAS,MACTX,QAAS,QACTS,SAAU,WACVG,IAAK,MACLC,MAAO,mBACPC,UAAW,mBACXlC,SAAU"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/table-grid/helpers.tsx"],"sourcesContent":["import { IPaginationModel } from './types'\r\n\r\nexport const defaultPagination: IPaginationModel = { page: 0, pageSize: 25 }\r\n\r\nexport const tableGridClasses = {\r\n root: 'TableGrid-root',\r\n content: 'TableGrid-content',\r\n contentPosition: 'TableGrid-contentPosition',\r\n contentInner: 'TableGrid-contentInner',\r\n loading: 'TableGrid-loading',\r\n overlay: 'TableGrid-overlay',\r\n item: 'TableGrid-item',\r\n actions: 'TableGrid-actions',\r\n noItems: 'TableGrid-noItems'\r\n}\r\n"],"names":["defaultPagination","page","pageSize","tableGridClasses","root","content","contentPosition","contentInner","loading","overlay","item","actions","noItems"],"mappings":"AAEO,IAAMA,EAAsC,CAAEC,KAAM,EAAGC,SAAU,IAE3DC,EAAmB,CAC9BC,KAAM,iBACNC,QAAS,oBACTC,gBAAiB,4BACjBC,aAAc,yBACdC,QAAS,oBACTC,QAAS,oBACTC,KAAM,iBACNC,QAAS,oBACTC,QAAS"}