dinocollab-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +54 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js +431 -0
  3. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  4. package/dist/assets/vector-404265a04f4f9c8be1f.webp +0 -0
  5. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js +46 -0
  6. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js.map +1 -0
  7. package/dist/src/api-context/alert-global.js +151 -0
  8. package/dist/src/api-context/alert-global.js.map +1 -0
  9. package/dist/src/api-context/drawer-global.js +105 -0
  10. package/dist/src/api-context/drawer-global.js.map +1 -0
  11. package/dist/src/api-context/global-modal.js +87 -0
  12. package/dist/src/api-context/global-modal.js.map +1 -0
  13. package/dist/src/api-context/popover-global.js +102 -0
  14. package/dist/src/api-context/popover-global.js.map +1 -0
  15. package/dist/src/api-context/popover.js +86 -0
  16. package/dist/src/api-context/popover.js.map +1 -0
  17. package/dist/src/api-context/ui.units.js +21 -0
  18. package/dist/src/api-context/ui.units.js.map +1 -0
  19. package/dist/src/components/copy-to-clipboard.js +105 -0
  20. package/dist/src/components/copy-to-clipboard.js.map +1 -0
  21. package/dist/src/components/custom.breadcrumbs.js +61 -0
  22. package/dist/src/components/custom.breadcrumbs.js.map +1 -0
  23. package/dist/src/components/help-tooltip.js +91 -0
  24. package/dist/src/components/help-tooltip.js.map +1 -0
  25. package/dist/src/components/image-with-fallback.js +48 -0
  26. package/dist/src/components/image-with-fallback.js.map +1 -0
  27. package/dist/src/components/text-editor.js +117 -0
  28. package/dist/src/components/text-editor.js.map +1 -0
  29. package/dist/src/form/create.autocomplete.chips.js +218 -0
  30. package/dist/src/form/create.autocomplete.chips.js.map +1 -0
  31. package/dist/src/form/create.date-expired.js +201 -0
  32. package/dist/src/form/create.date-expired.js.map +1 -0
  33. package/dist/src/form/create.date-picker.js +125 -0
  34. package/dist/src/form/create.date-picker.js.map +1 -0
  35. package/dist/src/form/create.form-base.js +135 -0
  36. package/dist/src/form/create.form-base.js.map +1 -0
  37. package/dist/src/form/create.form-comfirm.js +119 -0
  38. package/dist/src/form/create.form-comfirm.js.map +1 -0
  39. package/dist/src/form/create.form-grid-layout.js +177 -0
  40. package/dist/src/form/create.form-grid-layout.js.map +1 -0
  41. package/dist/src/form/create.form-grid-layout.units.js +39 -0
  42. package/dist/src/form/create.form-grid-layout.units.js.map +1 -0
  43. package/dist/src/form/create.input-base.js +260 -0
  44. package/dist/src/form/create.input-base.js.map +1 -0
  45. package/dist/src/form/create.input.file.js +74 -0
  46. package/dist/src/form/create.input.file.js.map +1 -0
  47. package/dist/src/form/create.select-simple.js +104 -0
  48. package/dist/src/form/create.select-simple.js.map +1 -0
  49. package/dist/src/form/create.select-with-api.js +271 -0
  50. package/dist/src/form/create.select-with-api.js.map +1 -0
  51. package/dist/src/form/create.text-editor.js +156 -0
  52. package/dist/src/form/create.text-editor.js.map +1 -0
  53. package/dist/src/form/dino-form.js +42 -0
  54. package/dist/src/form/dino-form.js.map +1 -0
  55. package/dist/src/form/helper.js +157 -0
  56. package/dist/src/form/helper.js.map +1 -0
  57. package/dist/src/form/modal-wrapper.js +75 -0
  58. package/dist/src/form/modal-wrapper.js.map +1 -0
  59. package/dist/src/form/validator.js +186 -0
  60. package/dist/src/form/validator.js.map +1 -0
  61. package/dist/src/hooks/index.js +48 -0
  62. package/dist/src/hooks/index.js.map +1 -0
  63. package/dist/src/index.js +26 -0
  64. package/dist/src/index.js.map +1 -0
  65. package/dist/src/redux/create.hoc-lazy.js +67 -0
  66. package/dist/src/redux/create.hoc-lazy.js.map +1 -0
  67. package/dist/src/redux/dino.js +11 -0
  68. package/dist/src/redux/dino.js.map +1 -0
  69. package/dist/src/redux/types.js +9 -0
  70. package/dist/src/redux/types.js.map +1 -0
  71. package/dist/src/redux/ui.error-page.js +80 -0
  72. package/dist/src/redux/ui.error-page.js.map +1 -0
  73. package/dist/src/redux/vector-404.webp.js +4 -0
  74. package/dist/src/redux/vector-404.webp.js.map +1 -0
  75. package/dist/src/table/context.js +12 -0
  76. package/dist/src/table/context.js.map +1 -0
  77. package/dist/src/table/create.action-row.js +135 -0
  78. package/dist/src/table/create.action-row.js.map +1 -0
  79. package/dist/src/table/create.status-cell.js +49 -0
  80. package/dist/src/table/create.status-cell.js.map +1 -0
  81. package/dist/src/table/create.table.js +233 -0
  82. package/dist/src/table/create.table.js.map +1 -0
  83. package/dist/src/table/custom.filter-operators.js +89 -0
  84. package/dist/src/table/custom.filter-operators.js.map +1 -0
  85. package/dist/src/table/dino.js +129 -0
  86. package/dist/src/table/dino.js.map +1 -0
  87. package/dist/src/table/helpers.js +116 -0
  88. package/dist/src/table/helpers.js.map +1 -0
  89. package/dist/src/table/model-filter.js +23 -0
  90. package/dist/src/table/model-filter.js.map +1 -0
  91. package/dist/src/table/toolbar-pannel.js +134 -0
  92. package/dist/src/table/toolbar-pannel.js.map +1 -0
  93. package/dist/src/table/ui.buttons.js +60 -0
  94. package/dist/src/table/ui.buttons.js.map +1 -0
  95. package/dist/src/table/ui.units.js +201 -0
  96. package/dist/src/table/ui.units.js.map +1 -0
  97. package/dist/src/utils/dayjs-config.js +12 -0
  98. package/dist/src/utils/dayjs-config.js.map +1 -0
  99. package/dist/src/utils/helpers.js +197 -0
  100. package/dist/src/utils/helpers.js.map +1 -0
  101. package/dist/src/utils/json-object.js +38 -0
  102. package/dist/src/utils/json-object.js.map +1 -0
  103. package/dist/src/utils/query-param.js +172 -0
  104. package/dist/src/utils/query-param.js.map +1 -0
  105. package/package.json +52 -0
  106. package/rollup.config.js +39 -0
  107. package/src/@types/global.d.ts +5 -0
  108. package/src/api-context/alert-global.tsx +174 -0
  109. package/src/api-context/drawer-global.tsx +116 -0
  110. package/src/api-context/global-modal.tsx +109 -0
  111. package/src/api-context/index.ts +13 -0
  112. package/src/api-context/popover-global.tsx +107 -0
  113. package/src/api-context/popover.tsx +89 -0
  114. package/src/api-context/ui.units.tsx +10 -0
  115. package/src/components/copy-to-clipboard.tsx +86 -0
  116. package/src/components/custom.breadcrumbs.tsx +67 -0
  117. package/src/components/help-tooltip.tsx +75 -0
  118. package/src/components/image-with-fallback.tsx +51 -0
  119. package/src/components/index.tsx +1 -0
  120. package/src/components/input-debounce-timer.tsx +138 -0
  121. package/src/components/loading-buttons.tsx +35 -0
  122. package/src/components/text-editor.preview.tsx +30 -0
  123. package/src/components/text-editor.tsx +125 -0
  124. package/src/form/README.md +55 -0
  125. package/src/form/create.autocomplete.chips.tsx +199 -0
  126. package/src/form/create.date-expired.tsx +195 -0
  127. package/src/form/create.date-picker.tsx +122 -0
  128. package/src/form/create.form-base.tsx +102 -0
  129. package/src/form/create.form-comfirm.tsx +83 -0
  130. package/src/form/create.form-grid-layout.tsx +170 -0
  131. package/src/form/create.form-grid-layout.units.tsx +37 -0
  132. package/src/form/create.input-base.tsx +222 -0
  133. package/src/form/create.input.file.tsx +76 -0
  134. package/src/form/create.select-simple.tsx +101 -0
  135. package/src/form/create.select-with-api.tsx +213 -0
  136. package/src/form/create.text-editor.tsx +161 -0
  137. package/src/form/dino-form.tsx +40 -0
  138. package/src/form/helper.ts +132 -0
  139. package/src/form/index.ts +12 -0
  140. package/src/form/modal-wrapper.tsx +75 -0
  141. package/src/form/types.ts +16 -0
  142. package/src/form/validator.ts +202 -0
  143. package/src/hooks/index.ts +44 -0
  144. package/src/index.ts +7 -0
  145. package/src/lab/create.autocomplete.simple.tsx +57 -0
  146. package/src/lab/create.dino-store.ts +59 -0
  147. package/src/lab/create.multi-select-dropdown.tsx +189 -0
  148. package/src/lab/create.select-mul-with-api/index.tsx +271 -0
  149. package/src/lab/create.select-mul-with-api/table-custom.tsx +194 -0
  150. package/src/lab/create.select-mul-with-api/types.ts +26 -0
  151. package/src/lab/create.select-mul-with-api/ui.units.tsx +163 -0
  152. package/src/lab/filter-bar/base.tsx +162 -0
  153. package/src/lab/filter-bar/create.filter-bar.tsx +190 -0
  154. package/src/lab/filter-bar/create.filter-menu.tsx +156 -0
  155. package/src/lab/filter-bar/create.filter-panel.tsx +95 -0
  156. package/src/lab/filter-bar/create.filtered.tsx +41 -0
  157. package/src/lab/filter-bar/create.sort-menu.tsx +43 -0
  158. package/src/lab/filter-bar/demo.tsx +50 -0
  159. package/src/lab/filter-bar/index.ts +6 -0
  160. package/src/lab/filter-bar/types.ts +105 -0
  161. package/src/lab/filter-bar/ui.units.tsx +70 -0
  162. package/src/lab/grafana-dashboard/configs.ts +43 -0
  163. package/src/lab/grafana-dashboard/date-time-range/absolute-time-rage.tsx +137 -0
  164. package/src/lab/grafana-dashboard/date-time-range/helpers.ts +126 -0
  165. package/src/lab/grafana-dashboard/date-time-range/index.tsx +62 -0
  166. package/src/lab/grafana-dashboard/date-time-range/menu-wrap.tsx +101 -0
  167. package/src/lab/grafana-dashboard/date-time-range/quick-ranges.tsx +161 -0
  168. package/src/lab/grafana-dashboard/date-time-range/types.ts +9 -0
  169. package/src/lab/grafana-dashboard/date-time-range/units.tsx +18 -0
  170. package/src/lab/grafana-dashboard/helper.ts +25 -0
  171. package/src/lab/grafana-dashboard/hooks.tsx +79 -0
  172. package/src/lab/grafana-dashboard/icons.tsx +67 -0
  173. package/src/lab/grafana-dashboard/index.tsx +120 -0
  174. package/src/lab/grafana-dashboard/top-bar.tsx +62 -0
  175. package/src/lab/grafana-dashboard/top-bar.types.ts +5 -0
  176. package/src/lab/grafana-dashboard/types.ts +8 -0
  177. package/src/lab/media-player.core1.tsx +273 -0
  178. package/src/lab/media-player.muted.tsx +62 -0
  179. package/src/lab/media-player.units.ts +80 -0
  180. package/src/lab/table-grid/create.table-grid.tsx +183 -0
  181. package/src/lab/table-grid/demo.tsx +53 -0
  182. package/src/lab/table-grid/dino.tsx +8 -0
  183. package/src/lab/table-grid/helpers.tsx +11 -0
  184. package/src/lab/table-grid/index.ts +3 -0
  185. package/src/lab/table-grid/item-actions.tsx +138 -0
  186. package/src/lab/table-grid/toolbar-pannel.tsx +98 -0
  187. package/src/lab/table-grid/types.ts +68 -0
  188. package/src/redux/create.hoc-lazy.tsx +80 -0
  189. package/src/redux/dino.ts +9 -0
  190. package/src/redux/index.ts +6 -0
  191. package/src/redux/types.ts +27 -0
  192. package/src/redux/ui.error-page.tsx +62 -0
  193. package/src/redux/ui.units.tsx +41 -0
  194. package/src/redux/vector-404.webp +0 -0
  195. package/src/table/context.tsx +16 -0
  196. package/src/table/create.action-row.tsx +91 -0
  197. package/src/table/create.status-cell.tsx +51 -0
  198. package/src/table/create.table.tsx +239 -0
  199. package/src/table/custom.filter-operators.ts +94 -0
  200. package/src/table/dino.tsx +120 -0
  201. package/src/table/helpers.ts +94 -0
  202. package/src/table/index.ts +13 -0
  203. package/src/table/model-filter.ts +43 -0
  204. package/src/table/toolbar-pannel.tsx +106 -0
  205. package/src/table/types.ts +50 -0
  206. package/src/table/ui.buttons.tsx +54 -0
  207. package/src/table/ui.units.tsx +189 -0
  208. package/src/utils/dayjs-config.ts +13 -0
  209. package/src/utils/helpers.ts +171 -0
  210. package/src/utils/index.ts +7 -0
  211. package/src/utils/json-object.ts +29 -0
  212. package/src/utils/mfe-events.tsx +34 -0
  213. package/src/utils/query-param.ts +129 -0
  214. package/tsconfig.json +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.hoc-lazy.js","sources":["../../../src/redux/create.hoc-lazy.tsx"],"sourcesContent":["import React, { Component, PropsWithChildren } from 'react'\r\nimport { IErrorViewDefaultProps, IHocLazyWrapperProps } from './ui.units'\r\nimport { ELazyStatus, DinoReduxDispatch, DinoReduxState, ReturnDispatch } from './types'\r\nimport UIErrorPage from './ui.error-page'\r\n\r\ninterface IHocLazyBase<TModel> extends DinoReduxState, DinoReduxDispatch<TModel> {}\r\n\r\nexport interface IOptionBase {\r\n ErrorScreen?: React.ComponentType<IErrorViewDefaultProps>\r\n LazySpinner: React.ComponentType<PropsWithChildren<IHocLazyWrapperProps>>\r\n}\r\n\r\nexport interface IHocLazyOtherProps<TModel> {\r\n param?: TModel\r\n}\r\n\r\nexport interface IHocLazyOptions<TModel> extends IHocLazyOtherProps<TModel>, Omit<IOptionBase, 'LazySpinner'> {\r\n LazySpinner?: React.ComponentType<PropsWithChildren<IHocLazyWrapperProps>>\r\n}\r\n\r\nexport const EmptyComponent: React.FC<React.PropsWithChildren<any>> = ({ children }) => <>{children}</>\r\n\r\nexport const OptionHocLazyDefault: IOptionBase = {\r\n LazySpinner: EmptyComponent\r\n}\r\n\r\nconst CreateHocLazy = function <TChildProp extends IHocLazyBase<TModel>, TModel = any>(\r\n ChildComponent: React.ComponentType<TChildProp>,\r\n options?: IHocLazyOptions<TModel>\r\n) {\r\n type TProps = TChildProp & IHocLazyOtherProps<TModel>\r\n class HocComponent extends Component<TProps> {\r\n optionsMerge: IOptionBase\r\n tokenSources?: AbortController\r\n fetchSource?: ReturnDispatch\r\n constructor(props: TProps) {\r\n super(props)\r\n this.optionsMerge = Object.assign({}, OptionHocLazyDefault, options) as IOptionBase\r\n }\r\n\r\n render() {\r\n const { optionsMerge: OptionsMerge } = this\r\n switch (this.props.status) {\r\n case ELazyStatus.Loading:\r\n case ELazyStatus.Loaded:\r\n return (\r\n <OptionsMerge.LazySpinner loading={this.props.status === ELazyStatus.Loading}>\r\n <ChildComponent {...this.props} />\r\n </OptionsMerge.LazySpinner>\r\n )\r\n case ELazyStatus.Error:\r\n return <UIErrorPage />\r\n default:\r\n return <div></div>\r\n }\r\n }\r\n\r\n initialParam = (): TModel => {\r\n const oData = options?.param ?? {}\r\n const pData = this.props?.param ?? {}\r\n return Object.assign({}, oData, pData) as TModel\r\n }\r\n\r\n componentDidMount = () => {\r\n if (this.props.fetchData) {\r\n const param = this.initialParam()\r\n this.tokenSources?.abort()\r\n this.tokenSources = new AbortController()\r\n this.fetchSource = this.props.fetchData(param, this.tokenSources.signal)\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.tokenSources?.abort()\r\n this.fetchSource?.abort && this.fetchSource.abort()\r\n }\r\n }\r\n return HocComponent\r\n}\r\nexport default CreateHocLazy\r\n"],"names":["EmptyComponent","_ref","children","React","createElement","Fragment","OptionHocLazyDefault","LazySpinner","CreateHocLazy","ChildComponent","options","HocComponent","_Component","props","_this","_classCallCheck","_callSuper","initialParam","oData","_a","param","pData","_c","_b","Object","assign","componentDidMount","fetchData","tokenSources","abort","AbortController","fetchSource","signal","optionsMerge","_inherits","_createClass","key","value","render","OptionsMerge","status","ELazyStatus","Loading","Loaded","loading","Error","UIErrorPage","componentWillUnmount","Component"],"mappings":";;;;;IAoBaA,cAAc,GAA2C,SAAzDA,cAAcA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAA8CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAAA,oBAAOC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAGH,IAAAA,EAAAA,SAAY;AAAA;AAEhG,IAAMI,oBAAoB,GAAgB;AAC/CC,EAAAA,WAAW,EAAEP;;AAGTQ,IAAAA,aAAa,GAAG,SAAhBA,aAAaA,CACjBC,cAA+C,EAC/CC,OAAiC,EAAA;EAAA,IAG3BC,YAAa,0BAAAC,UAAA,EAAA;IAIjB,SAAAD,YAAAA,CAAYE,KAAa,EAAA;AAAA,MAAA,IAAAC,KAAA;AAAAC,MAAAA,eAAA,OAAAJ,YAAA,CAAA;AACvBG,MAAAA,KAAA,GAAAE,UAAA,CAAAL,IAAAA,EAAAA,YAAA,GAAME,KAAK,CAAA,CAAA;MAqBbC,KAAA,CAAYG,YAAA,GAAG,YAAa;;AAC1B,QAAA,IAAMC,KAAK,GAAG,CAAAC,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAAA,OAAO,CAAEU,KAAK,MAAI,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAA,EAAE;AAClC,QAAA,IAAME,KAAK,GAAG,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAT,KAAA,CAAKD,KAAK,MAAE,IAAA,IAAAU,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAH,KAAK,MAAI,IAAA,IAAAE,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAA,EAAE;QACrC,OAAOE,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEP,KAAK,EAAEG,KAAK,CAAW;OACjD;MAEDP,KAAA,CAAiBY,iBAAA,GAAG,YAAK;;AACvB,QAAA,IAAIZ,KAAA,CAAKD,KAAK,CAACc,SAAS,EAAE;AACxB,UAAA,IAAMP,KAAK,GAAGN,KAAA,CAAKG,YAAY,EAAE;UACjC,CAAAE,EAAA,GAAAL,KAAA,CAAKc,YAAY,MAAE,IAAA,IAAAT,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAU,KAAK,EAAE;AAC1Bf,UAAAA,KAAA,CAAKc,YAAY,GAAG,IAAIE,eAAe,EAAE;AACzChB,UAAAA,KAAA,CAAKiB,WAAW,GAAGjB,KAAA,CAAKD,KAAK,CAACc,SAAS,CAACP,KAAK,EAAEN,KAAA,CAAKc,YAAY,CAACI,MAAM,CAAC;AACzE;OACF;AAjCClB,MAAAA,KAAA,CAAKmB,YAAY,GAAGT,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEnB,oBAAoB,EAAEI,OAAO,CAAgB;AAAA,MAAA,OAAAI,KAAA;AACrF;IAACoB,SAAA,CAAAvB,YAAA,EAAAC,UAAA,CAAA;IAAA,OAAAuB,YAAA,CAAAxB,YAAA,EAAA,CAAA;MAAAyB,GAAA,EAAA,QAAA;AAAAC,MAAAA,KAAA,EAED,SAAAC,MAAMA,GAAA;AACJ,QAAA,IAAsBC,YAAY,GAAK,IAAI,CAAnCN,YAAY;AACpB,QAAA,QAAQ,IAAI,CAACpB,KAAK,CAAC2B,MAAM;UACvB,KAAKC,WAAW,CAACC,OAAO;UACxB,KAAKD,WAAW,CAACE,MAAM;AACrB,YAAA,oBACExC,KAAA,CAAAC,aAAA,CAACmC,YAAY,CAAChC,WAAW,EAAA;cAACqC,OAAO,EAAE,IAAI,CAAC/B,KAAK,CAAC2B,MAAM,KAAKC,WAAW,CAACC;aACnEvC,eAAAA,KAAA,CAAAC,aAAA,CAACK,cAAc,EAAK,IAAI,CAACI,KAC3B,CAA0B,CAAC;UAE/B,KAAK4B,WAAW,CAACI,KAAK;AACpB,YAAA,oBAAO1C,KAAA,CAAAC,aAAA,CAAC0C,WAAW,OAAG;AACxB,UAAA;AACE,YAAA,oBAAO3C,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAU,CAAC;AACrB;AACH;AAAC,KAAA,EAAA;MAAAgC,GAAA,EAAA,sBAAA;AAAAC,MAAAA,KAAA,EAiBD,SAAAU,oBAAoBA,GAAA;;QAClB,CAAA5B,EAAA,GAAA,IAAI,CAACS,YAAY,MAAE,IAAA,IAAAT,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAU,KAAK,EAAE;QAC1B,CAAA,CAAAN,EAAA,GAAA,IAAI,CAACQ,WAAW,MAAE,IAAA,IAAAR,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAM,KAAK,KAAI,IAAI,CAACE,WAAW,CAACF,KAAK,EAAE;AACrD;AAAC,KAAA,CAAA,CAAA;AAAA,GAAA,CA5CwBmB,SAAiB,CAAA;AA8C5C,EAAA,OAAOrC,YAAY;AACrB;;;;"}
@@ -0,0 +1,11 @@
1
+ import { createClass as _createClass, classCallCheck as _classCallCheck } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import CreateHocLazy from './create.hoc-lazy.js';
3
+
4
+ var DinoReduxBase = /*#__PURE__*/_createClass(function DinoReduxBase() {
5
+ _classCallCheck(this, DinoReduxBase);
6
+ this.createHocLazy = CreateHocLazy;
7
+ });
8
+ var DinoRedux = new DinoReduxBase();
9
+
10
+ export { DinoRedux as default };
11
+ //# sourceMappingURL=dino.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dino.js","sources":["../../../src/redux/dino.ts"],"sourcesContent":["import CreateHocLazy from './create.hoc-lazy'\r\n\r\nclass DinoReduxBase {\r\n createHocLazy = CreateHocLazy\r\n}\r\n\r\nconst DinoRedux = new DinoReduxBase()\r\n\r\nexport default DinoRedux\r\n"],"names":["DinoReduxBase","_createClass","_classCallCheck","createHocLazy","CreateHocLazy","DinoRedux"],"mappings":";;;AAA6C,IAEvCA,aAAa,gBAAAC,YAAA,CAAnB,SAAAD,gBAAA;AAAAE,EAAAA,eAAA,OAAAF,aAAA,CAAA;EACE,IAAa,CAAAG,aAAA,GAAGC,aAAa;AAC/B,CAAC,CAAA;AAED,IAAMC,SAAS,GAAG,IAAIL,aAAa;;;;"}
@@ -0,0 +1,9 @@
1
+ var ELazyStatus;
2
+ (function (ELazyStatus) {
3
+ ELazyStatus["Loading"] = "Loading";
4
+ ELazyStatus["Loaded"] = "Loaded";
5
+ ELazyStatus["Error"] = "Error";
6
+ })(ELazyStatus || (ELazyStatus = {}));
7
+
8
+ export { ELazyStatus };
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../src/redux/types.ts"],"sourcesContent":["export enum ELazyStatus {\r\n Loading = 'Loading',\r\n Loaded = 'Loaded',\r\n Error = 'Error'\r\n}\r\n\r\nexport interface DinoReduxState {\r\n status: ELazyStatus\r\n requestedId?: string\r\n}\r\n\r\nexport interface ReturnDispatch {\r\n abort?: () => void\r\n}\r\n\r\nexport interface DinoReduxDispatch<P = any> {\r\n fetchData?: (params?: P, signal?: AbortSignal) => ReturnDispatch\r\n setStatus: (status: ELazyStatus) => void\r\n}\r\n\r\ninterface Actions<T, Id extends keyof T> {\r\n create: (value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n update: (id: T[Id], value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n delete: (id: T[Id], value?: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n}\r\n\r\nexport type DinoReduxActions<T, Id extends keyof T, K extends keyof Actions<T, Id> = keyof Actions<T, Id>> = Pick<Actions<T, Id>, K>\r\n"],"names":["ELazyStatus"],"mappings":"IAAYA;AAAZ,CAAA,UAAYA,WAAW,EAAA;AACrBA,EAAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnBA,EAAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJWA,WAAW,KAAXA,WAAW,GAItB,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,80 @@
1
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
3
+ import React from 'react';
4
+ import { styled, Box, Button, Stack, Typography } from '@mui/material';
5
+ import ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt';
6
+ import Error404Vector from './vector-404.webp.js';
7
+
8
+ var UIErrorPage = function UIErrorPage() {
9
+ return /*#__PURE__*/React.createElement(Stack, {
10
+ sx: {
11
+ alignItems: 'center'
12
+ }
13
+ }, /*#__PURE__*/React.createElement(WrapImage, null, /*#__PURE__*/React.createElement("img", {
14
+ src: Error404Vector,
15
+ alt: "error-404-vector"
16
+ })), /*#__PURE__*/React.createElement(Typography, {
17
+ variant: "subtitle1",
18
+ component: "p",
19
+ sx: {
20
+ textAlign: 'center',
21
+ mt: '20px'
22
+ }
23
+ }, "Sorry, page not found or connection to server lost. Please come back later...."), /*#__PURE__*/React.createElement(CustomButton, {
24
+ href: "/"
25
+ }, "Back to home page"));
26
+ };
27
+ var WrapImage = styled(function (_a) {
28
+ var children = _a.children,
29
+ props = __rest(_a, ["children"]);
30
+ return /*#__PURE__*/React.createElement(Box, props, /*#__PURE__*/React.createElement("div", null, children));
31
+ })({
32
+ width: '100%',
33
+ maxWidth: '560px',
34
+ flex: '0 0 auto',
35
+ '& > div': {
36
+ width: '100%',
37
+ paddingBottom: '100%',
38
+ position: 'relative'
39
+ },
40
+ '& img': {
41
+ position: 'absolute',
42
+ top: 0,
43
+ left: 0,
44
+ width: '100%',
45
+ height: '100%'
46
+ }
47
+ });
48
+ var CustomButton = styled(function (p) {
49
+ return /*#__PURE__*/React.createElement(Button, _extends({
50
+ component: "a",
51
+ color: "inherit",
52
+ variant: "contained",
53
+ size: "large",
54
+ endIcon: /*#__PURE__*/React.createElement(ArrowRightAltIcon, {
55
+ fontSize: "small"
56
+ })
57
+ }, p));
58
+ })({
59
+ backgroundColor: 'var(--color-black)',
60
+ color: 'var(--color-text-light)',
61
+ minWidth: '250px',
62
+ marginTop: '24px',
63
+ height: '56px',
64
+ textTransform: 'none',
65
+ fontWeight: 600,
66
+ transition: '0.3s',
67
+ '&:hover': {
68
+ backgroundColor: 'var(--color-black2)',
69
+ color: 'var(--color-text-light)'
70
+ },
71
+ '& .MuiButton-icon.MuiButton-endIcon': {
72
+ transition: '0.3s'
73
+ },
74
+ '&:hover .MuiButton-icon.MuiButton-endIcon': {
75
+ marginLeft: '16px'
76
+ }
77
+ });
78
+
79
+ export { UIErrorPage as default };
80
+ //# sourceMappingURL=ui.error-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.error-page.js","sources":["../../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\nimport Error404Vector from './vector-404.webp'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center' }}>\r\n <WrapImage>\r\n <img src={Error404Vector} alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","React","createElement","Stack","sx","alignItems","WrapImage","src","Error404Vector","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_a","children","props","__rest","Box","width","maxWidth","flex","paddingBottom","position","top","left","height","p","Button","_extends","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var Error404Vector = "vector-404265a04f4f9c8be1f.webp";
2
+
3
+ export { Error404Vector as default };
4
+ //# sourceMappingURL=vector-404.webp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-404.webp.js","sources":["../../../src/redux/vector-404.webp"],"sourcesContent":["export default \"vector-404265a04f4f9c8be1f.webp\""],"names":[],"mappings":"AAAA,qBAAe;;;;"}
@@ -0,0 +1,12 @@
1
+ import React, { createContext } from 'react';
2
+
3
+ var TableBaseContext = /*#__PURE__*/createContext({
4
+ showModal: function showModal() {},
5
+ closeModal: function closeModal() {}
6
+ });
7
+ var MapTableBaseContext = function MapTableBaseContext(context) {
8
+ return /*#__PURE__*/React.createElement(TableBaseContext.Consumer, null, context);
9
+ };
10
+
11
+ export { MapTableBaseContext, TableBaseContext };
12
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../src/table/context.tsx"],"sourcesContent":["import React, { createContext } from 'react'\r\nimport { TCloseModal, TShowModal } from '../api-context'\r\n\r\nexport interface ITableBaseContext {\r\n showModal: TShowModal\r\n closeModal: TCloseModal\r\n}\r\n\r\nexport const TableBaseContext = createContext<ITableBaseContext>({\r\n showModal: () => {},\r\n closeModal: () => {}\r\n})\r\n\r\nexport const MapTableBaseContext = (context: (context: ITableBaseContext) => React.ReactNode) => (\r\n <TableBaseContext.Consumer>{context}</TableBaseContext.Consumer>\r\n)\r\n"],"names":["TableBaseContext","createContext","showModal","closeModal","MapTableBaseContext","context","React","createElement","Consumer"],"mappings":";;AAQaA,IAAAA,gBAAgB,gBAAGC,aAAa,CAAoB;AAC/DC,EAAAA,SAAS,EAAE,SAAXA,SAASA,GAAO,EAAG;AACnBC,EAAAA,UAAU,EAAE,SAAZA,UAAUA,GAAO;AAClB,CAAA;IAEYC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,OAAwD,EAAA;EAAA,oBAC1FC,KAAA,CAAAC,aAAA,CAACP,gBAAgB,CAACQ,QAAQ,EAAEH,IAAAA,EAAAA,OAAmC,CAAC;AAAA;;;;"}
@@ -0,0 +1,135 @@
1
+ import { inherits as _inherits, createClass as _createClass, extends as _extends, classCallCheck as _classCallCheck, callSuper as _callSuper, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import { Box, Tooltip, IconButton } from '@mui/material';
4
+ import EditIcon from '@mui/icons-material/Edit';
5
+ import DeleteIcon from '@mui/icons-material/Delete';
6
+ import { MapTableBaseContext } from './context.js';
7
+ import { mergeObjects as _mergeObjects } from '../utils/helpers.js';
8
+ import '../utils/query-param.js';
9
+ import '../utils/dayjs-config.js';
10
+
11
+ function CreateActionRow(params) {
12
+ var ActionRow = /*#__PURE__*/function (_Component) {
13
+ function ActionRow() {
14
+ var _this;
15
+ _classCallCheck(this, ActionRow);
16
+ _this = _callSuper(this, ActionRow, arguments);
17
+ _this.getButtons = /*#__PURE__*/_regeneratorRuntime().mark(function _callee(that, thatProps, tableContext) {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h, beforeFunc, editFunc, editContent, deleteFunc, deleteContent, afterFunc;
19
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ beforeFunc = (_b = (_a = that.props) === null || _a === void 0 ? void 0 : _a.before) !== null && _b !== void 0 ? _b : thatProps === null || thatProps === void 0 ? void 0 : thatProps.before;
23
+ if (!beforeFunc) {
24
+ _context.next = 4;
25
+ break;
26
+ }
27
+ _context.next = 4;
28
+ return /*#__PURE__*/React.createElement(React.Fragment, {
29
+ key: "Before"
30
+ }, beforeFunc(that.props.value, tableContext));
31
+ case 4:
32
+ editFunc = (_d = (_c = that.props) === null || _c === void 0 ? void 0 : _c.formEdit) !== null && _d !== void 0 ? _d : thatProps === null || thatProps === void 0 ? void 0 : thatProps.formEdit;
33
+ editContent = editFunc ? editFunc(that.props.value, tableContext) : undefined;
34
+ if (!(editFunc && !!editContent)) {
35
+ _context.next = 9;
36
+ break;
37
+ }
38
+ _context.next = 9;
39
+ return /*#__PURE__*/React.createElement(Tooltip, {
40
+ title: "Edit",
41
+ arrow: true,
42
+ key: "Edit"
43
+ }, /*#__PURE__*/React.createElement(IconButton, {
44
+ color: "primary",
45
+ onClick: function onClick() {
46
+ tableContext === null || tableContext === void 0 ? void 0 : tableContext.showModal(Object.assign({
47
+ renderContent: function renderContent() {
48
+ return editContent || /*#__PURE__*/React.createElement(React.Fragment, null);
49
+ },
50
+ sx: {
51
+ display: 'flex',
52
+ justifyContent: 'center',
53
+ alignItems: 'center'
54
+ },
55
+ backdropActivated: true
56
+ }, params === null || params === void 0 ? void 0 : params.buttonEditConfig));
57
+ }
58
+ }, /*#__PURE__*/React.createElement(EditIcon, {
59
+ fontSize: "small"
60
+ })));
61
+ case 9:
62
+ deleteFunc = (_f = (_e = that.props) === null || _e === void 0 ? void 0 : _e.formDelete) !== null && _f !== void 0 ? _f : thatProps === null || thatProps === void 0 ? void 0 : thatProps.formDelete;
63
+ deleteContent = deleteFunc ? deleteFunc(that.props.value, tableContext) : undefined;
64
+ if (!(deleteFunc && !!deleteContent)) {
65
+ _context.next = 14;
66
+ break;
67
+ }
68
+ _context.next = 14;
69
+ return /*#__PURE__*/React.createElement(Tooltip, {
70
+ title: "Delete",
71
+ arrow: true,
72
+ key: "Delete"
73
+ }, /*#__PURE__*/React.createElement(IconButton, {
74
+ color: "error",
75
+ onClick: function onClick() {
76
+ tableContext === null || tableContext === void 0 ? void 0 : tableContext.showModal(Object.assign({
77
+ renderContent: function renderContent() {
78
+ return deleteContent || /*#__PURE__*/React.createElement(React.Fragment, null);
79
+ },
80
+ sx: {
81
+ display: 'flex',
82
+ justifyContent: 'center',
83
+ alignItems: 'center'
84
+ },
85
+ backdropActivated: true
86
+ }, params === null || params === void 0 ? void 0 : params.buttonDeleteConfig));
87
+ }
88
+ }, /*#__PURE__*/React.createElement(DeleteIcon, {
89
+ fontSize: "small"
90
+ })));
91
+ case 14:
92
+ afterFunc = (_h = (_g = that.props) === null || _g === void 0 ? void 0 : _g.after) !== null && _h !== void 0 ? _h : thatProps === null || thatProps === void 0 ? void 0 : thatProps.after;
93
+ if (!afterFunc) {
94
+ _context.next = 18;
95
+ break;
96
+ }
97
+ _context.next = 18;
98
+ return /*#__PURE__*/React.createElement(React.Fragment, {
99
+ key: "After"
100
+ }, afterFunc(that.props.value, tableContext));
101
+ case 18:
102
+ case "end":
103
+ return _context.stop();
104
+ }
105
+ }, _callee);
106
+ });
107
+ return _this;
108
+ }
109
+ _inherits(ActionRow, _Component);
110
+ return _createClass(ActionRow, [{
111
+ key: "propsMerge",
112
+ get: function get() {
113
+ return _mergeObjects(params, this.props);
114
+ }
115
+ }, {
116
+ key: "render",
117
+ value: function render() {
118
+ var _this2 = this;
119
+ return MapTableBaseContext(function (context) {
120
+ return /*#__PURE__*/React.createElement(Box, _extends({
121
+ sx: {
122
+ display: 'flex',
123
+ alignItems: 'center',
124
+ height: '100%'
125
+ }
126
+ }, _this2.propsMerge.wrapProps), Array.from(_this2.getButtons(_this2, _this2.propsMerge, context)));
127
+ });
128
+ }
129
+ }]);
130
+ }(Component);
131
+ return ActionRow;
132
+ }
133
+
134
+ export { CreateActionRow as default };
135
+ //# sourceMappingURL=create.action-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.action-row.js","sources":["../../../src/table/create.action-row.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Box, BoxProps, IconButton, Tooltip } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport DeleteIcon from '@mui/icons-material/Delete'\r\nimport { GlobalModalState } from '../api-context'\r\nimport { ITableBaseContext, MapTableBaseContext } from './context'\r\nimport { mergeObjects } from '../utils'\r\n\r\nexport interface IActionRowProps<T> {\r\n value: T\r\n formEdit?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n formDelete?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n after?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n before?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n wrapProps?: BoxProps\r\n buttonEditConfig?: GlobalModalState\r\n buttonDeleteConfig?: GlobalModalState\r\n}\r\n\r\nfunction CreateActionRow<T>(params?: Omit<IActionRowProps<T>, 'value'>) {\r\n class ActionRow extends Component<IActionRowProps<T>> {\r\n get propsMerge() {\r\n return mergeObjects<IActionRowProps<T>>(params, this.props)\r\n }\r\n\r\n getButtons = function* (that: ActionRow, thatProps: Omit<IActionRowProps<T>, 'value'>, tableContext: ITableBaseContext) {\r\n const beforeFunc = that.props?.before ?? thatProps?.before\r\n if (beforeFunc) {\r\n yield <React.Fragment key='Before'>{beforeFunc(that.props.value, tableContext)}</React.Fragment>\r\n }\r\n const editFunc = that.props?.formEdit ?? thatProps?.formEdit\r\n const editContent = editFunc ? editFunc(that.props.value, tableContext) : undefined\r\n if (editFunc && !!editContent) {\r\n yield (\r\n <Tooltip title='Edit' arrow key='Edit'>\r\n <IconButton\r\n color='primary'\r\n onClick={() => {\r\n tableContext?.showModal({\r\n renderContent: () => editContent || <React.Fragment />,\r\n sx: { display: 'flex', justifyContent: 'center', alignItems: 'center' },\r\n backdropActivated: true,\r\n ...params?.buttonEditConfig\r\n })\r\n }}\r\n >\r\n <EditIcon fontSize='small' />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n const deleteFunc = that.props?.formDelete ?? thatProps?.formDelete\r\n const deleteContent = deleteFunc ? deleteFunc(that.props.value, tableContext) : undefined\r\n if (deleteFunc && !!deleteContent) {\r\n yield (\r\n <Tooltip title='Delete' arrow key='Delete'>\r\n <IconButton\r\n color='error'\r\n onClick={() => {\r\n tableContext?.showModal({\r\n renderContent: () => deleteContent || <React.Fragment />,\r\n sx: { display: 'flex', justifyContent: 'center', alignItems: 'center' },\r\n backdropActivated: true,\r\n ...params?.buttonDeleteConfig\r\n })\r\n }}\r\n >\r\n <DeleteIcon fontSize='small' />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n const afterFunc = that.props?.after ?? thatProps?.after\r\n if (afterFunc) {\r\n yield <React.Fragment key='After'>{afterFunc(that.props.value, tableContext)}</React.Fragment>\r\n }\r\n }\r\n\r\n render() {\r\n return MapTableBaseContext((context) => (\r\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }} {...this.propsMerge.wrapProps}>\r\n {Array.from(this.getButtons(this, this.propsMerge, context))}\r\n </Box>\r\n ))\r\n }\r\n }\r\n\r\n return ActionRow\r\n}\r\n\r\nexport default CreateActionRow\r\n"],"names":["CreateActionRow","params","ActionRow","_Component","_this","_classCallCheck","getButtons","_regeneratorRuntime","mark","_callee","that","thatProps","tableContext","_a","_b","_c","_d","_e","_f","_g","_h","beforeFunc","editFunc","editContent","deleteFunc","deleteContent","afterFunc","wrap","_callee$","_context","prev","next","props","before","React","createElement","Fragment","key","value","formEdit","undefined","Tooltip","title","arrow","IconButton","color","onClick","showModal","Object","assign","renderContent","sx","display","justifyContent","alignItems","backdropActivated","buttonEditConfig","EditIcon","fontSize","formDelete","buttonDeleteConfig","DeleteIcon","after","stop","_inherits","_createClass","get","mergeObjects","render","_this2","MapTableBaseContext","context","Box","_extends","height","propsMerge","wrapProps","Array","from","Component"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { inherits as _inherits, createClass as _createClass, extends as _extends, classCallCheck as _classCallCheck, callSuper as _callSuper } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import { styled, Typography } from '@mui/material';
4
+
5
+ var CreateStatusCell = function CreateStatusCell(config, options) {
6
+ var StatusCell = /*#__PURE__*/function (_Component) {
7
+ function StatusCell() {
8
+ var _this;
9
+ _classCallCheck(this, StatusCell);
10
+ _this = _callSuper(this, StatusCell, arguments);
11
+ _this.getSxProps = function () {
12
+ var _a;
13
+ var _this$props = _this.props,
14
+ data = _this$props.value,
15
+ sx = _this$props.sx,
16
+ slots = _this$props.slots;
17
+ return Object.assign({}, data ? config[data] : {}, options === null || options === void 0 ? void 0 : options.sx, sx, (_a = slots === null || slots === void 0 ? void 0 : slots.typographyProps) === null || _a === void 0 ? void 0 : _a.sx);
18
+ };
19
+ return _this;
20
+ }
21
+ _inherits(StatusCell, _Component);
22
+ return _createClass(StatusCell, [{
23
+ key: "render",
24
+ value: function render() {
25
+ var _a;
26
+ if (!this.props.value) return /*#__PURE__*/React.createElement(React.Fragment, null);
27
+ return /*#__PURE__*/React.createElement(CustomTypography, _extends({
28
+ onClick: this.props.onClick
29
+ }, (_a = this.props.slots) === null || _a === void 0 ? void 0 : _a.typographyProps, {
30
+ sx: this.getSxProps()
31
+ }), this.props.title || this.props.value);
32
+ }
33
+ }]);
34
+ }(Component);
35
+ return StatusCell;
36
+ };
37
+ var CustomTypography = styled(Typography)({
38
+ borderRadius: '4px',
39
+ fontSize: '0.8rem',
40
+ padding: '4px 9px',
41
+ fontWeight: 600,
42
+ minWidth: '70px',
43
+ textAlign: 'center',
44
+ color: '#ffffff',
45
+ display: 'inline-block'
46
+ });
47
+
48
+ export { CreateStatusCell as default };
49
+ //# sourceMappingURL=create.status-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.status-cell.js","sources":["../../../src/table/create.status-cell.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { SxProps, Theme, Typography, TypographyProps, styled } from '@mui/material'\r\n\r\nexport type StatusCellConfig<T extends string> = { [key in T]: SxProps<Theme> }\r\n\r\nexport interface StatusCellOptions {\r\n sx?: SxProps<Theme>\r\n}\r\n\r\nexport interface StatusCellProps<T extends string> {\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\n\r\nconst CreateStatusCell = function <T extends string>(config: StatusCellConfig<T>, options?: StatusCellOptions) {\r\n class StatusCell extends Component<React.PropsWithChildren<StatusCellProps<T>>> {\r\n render() {\r\n if (!this.props.value) return <></>\r\n return (\r\n <CustomTypography onClick={this.props.onClick} {...this.props.slots?.typographyProps} sx={this.getSxProps()}>\r\n {this.props.title || this.props.value}\r\n </CustomTypography>\r\n )\r\n }\r\n\r\n getSxProps = (): SxProps<Theme> => {\r\n const { value: data, sx, slots } = this.props\r\n return Object.assign({}, data ? config[data] : {}, options?.sx, sx, slots?.typographyProps?.sx)\r\n }\r\n }\r\n return StatusCell\r\n}\r\n\r\nexport default CreateStatusCell\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"],"names":["CreateStatusCell","config","options","StatusCell","_Component","_this","_classCallCheck","getSxProps","_this$props","props","data","value","sx","slots","Object","assign","_a","typographyProps","_inherits","_createClass","key","render","React","createElement","Fragment","CustomTypography","_extends","onClick","title","Component","styled","Typography","borderRadius","fontSize","padding","fontWeight","minWidth","textAlign","color","display"],"mappings":";;;;AAoBMA,IAAAA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAA+BC,MAA2B,EAAEC,OAA2B,EAAA;EAAA,IACrGC,UAAW,0BAAAC,UAAA,EAAA;AAAjB,IAAA,SAAAD,aAAA;AAAA,MAAA,IAAAE,KAAA;AAAAC,MAAAA,eAAA,OAAAH,UAAA,CAAA;;MAUEE,KAAA,CAAUE,UAAA,GAAG,YAAqB;;AAChC,QAAA,IAAAC,WAAA,GAAmCH,KAAA,CAAKI,KAAK;UAA9BC,IAAI,GAAAF,WAAA,CAAXG,KAAK;UAAQC,EAAE,GAAAJ,WAAA,CAAFI,EAAE;UAAEC,KAAK,GAAAL,WAAA,CAALK,KAAK;AAC9B,QAAA,OAAOC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEL,IAAI,GAAGT,MAAM,CAACS,IAAI,CAAC,GAAG,EAAE,EAAER,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEU,EAAE,EAAEA,EAAE,EAAE,CAAAI,EAAA,GAAAH,KAAK,KAAL,IAAA,IAAAA,KAAK,uBAALA,KAAK,CAAEI,eAAe,MAAE,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAJ,EAAE,CAAC;OAChG;AAAA,MAAA,OAAAP,KAAA;AACH;IAACa,SAAA,CAAAf,UAAA,EAAAC,UAAA,CAAA;IAAA,OAAAe,YAAA,CAAAhB,UAAA,EAAA,CAAA;MAAAiB,GAAA,EAAA,QAAA;AAAAT,MAAAA,KAAA,EAbC,SAAAU,MAAMA,GAAA;;AACJ,QAAA,IAAI,CAAC,IAAI,CAACZ,KAAK,CAACE,KAAK,EAAE,oBAAOW,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,OAAK;AACnC,QAAA,oBACEF,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EAAAC,QAAA,CAAA;AAACC,UAAAA,OAAO,EAAE,IAAI,CAAClB,KAAK,CAACkB;SAAa,EAAA,CAAAX,EAAA,GAAA,IAAI,CAACP,KAAK,CAACI,KAAK,MAAA,IAAA,IAAAG,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAEC,eAAe,EAAA;AAAEL,UAAAA,EAAE,EAAE,IAAI,CAACL,UAAU;SACtG,CAAA,EAAA,IAAI,CAACE,KAAK,CAACmB,KAAK,IAAI,IAAI,CAACnB,KAAK,CAACE,KAChB,CAAC;AAEvB;AAAC,KAAA,CAAA,CAAA;AAAA,GAAA,CARsBkB,SAAsD,CAAA;AAe/E,EAAA,OAAO1B,UAAU;AACnB;AAIA,IAAMsB,gBAAgB,GAAGK,MAAM,CAACC,UAAU,CAAC,CAAC;AAC1CC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,UAAU,EAAE,GAAG;AACfC,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,OAAO,EAAE;AACV,CAAA,CAAC;;;;"}
@@ -0,0 +1,233 @@
1
+ import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
3
+ import React, { Component } from 'react';
4
+ import { styled, Box } from '@mui/material';
5
+ import { DataGrid } from '@mui/x-data-grid';
6
+ import { mergeObjects as _mergeObjects } from '../utils/helpers.js';
7
+ import '../utils/query-param.js';
8
+ import '../utils/dayjs-config.js';
9
+ import { TableBaseContext } from './context.js';
10
+ import { CustomFilterOperators } from './custom.filter-operators.js';
11
+ import '../api-context/alert-global.js';
12
+ import '../api-context/drawer-global.js';
13
+ import GlobalModal, { MapGlobalModalContext } from '../api-context/global-modal.js';
14
+ import ToolbarPannel from './toolbar-pannel.js';
15
+ import TableHelper, { dinoTableClasses } from './helpers.js';
16
+
17
+ function CreateTable(params) {
18
+ var generateColumns = function generateColumns(extendColDefs) {
19
+ var columns = Object.keys(params.columns).map(function (key) {
20
+ var obj = Object.assign({
21
+ field: key
22
+ }, params.columns[key]);
23
+ obj.filterOperators = params.filterOperators ? params.filterOperators(obj) : CustomFilterOperators(obj);
24
+ return obj;
25
+ });
26
+ if (!!extendColDefs && extendColDefs.length > 0) columns.push.apply(columns, _toConsumableArray(extendColDefs));
27
+ return columns;
28
+ };
29
+ var TableBase = /*#__PURE__*/function (_Component) {
30
+ function TableBase(props) {
31
+ var _this;
32
+ _classCallCheck(this, TableBase);
33
+ _this = _callSuper(this, TableBase, [props]);
34
+ _this.tableQueryParamsCache = {};
35
+ _this.setTableQueryParams = function (value) {
36
+ _this.tableQueryParams = _mergeObjects({}, _this.tableQueryParams, value);
37
+ };
38
+ _this.renderWrapContext = function (children) {
39
+ return /*#__PURE__*/React.createElement(GlobalModal, null, MapGlobalModalContext(function (context) {
40
+ return /*#__PURE__*/React.createElement(TableBaseContext.Provider, {
41
+ value: {
42
+ showModal: context.show,
43
+ closeModal: context.close
44
+ }
45
+ }, children);
46
+ }));
47
+ };
48
+ _this.getDataGridProps = function () {
49
+ var _a, _b, _c, _d, _e, _f;
50
+ var mergeConfig = _this.mergeConfig;
51
+ var obj = {
52
+ getRowId: params.getRowId,
53
+ columns: _this.columns,
54
+ rows: (_b = (_a = _this.props.data) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : [],
55
+ checkboxSelection: true,
56
+ pagination: true,
57
+ density: (_d = (_c = _this.props.slots) === null || _c === void 0 ? void 0 : _c.density) !== null && _d !== void 0 ? _d : 'standard',
58
+ initialState: TableHelper.mapInitialState(_this.props.query, {
59
+ columns: {
60
+ columnVisibilityModel: params.columnVisibilityModel
61
+ }
62
+ }),
63
+ filterDebounceMs: 800,
64
+ sx: {
65
+ border: 0
66
+ },
67
+ slots: {
68
+ toolbar: mergeConfig.toolbar
69
+ },
70
+ rowSelectionModel: _this.rowSelecteds,
71
+ onRowSelectionModelChange: _this.handleRowSelectionChange
72
+ };
73
+ if (params.featureMode === 'server') {
74
+ var objServer = {
75
+ filterMode: 'server',
76
+ sortingMode: 'server',
77
+ paginationMode: 'server',
78
+ onPaginationModelChange: _this.onPaginationModelChange,
79
+ onFilterModelChange: _this.onFilterModelChange,
80
+ onSortModelChange: _this.onSortModelChange,
81
+ rowCount: (_f = (_e = _this.props.data) === null || _e === void 0 ? void 0 : _e.rowTotal) !== null && _f !== void 0 ? _f : 0,
82
+ paginationModel: _this.tableQueryParams.pagination,
83
+ filterModel: _this.tableQueryParams.filter,
84
+ sortModel: TableHelper.mapSortModel(_this.tableQueryParams.sort),
85
+ loading: _this.tableQueryParams.loading
86
+ };
87
+ Object.assign(obj, objServer);
88
+ }
89
+ return _mergeObjects(obj, _this.mergeConfig.dataGridProps);
90
+ };
91
+ _this.initialColumns = function () {
92
+ var ActionRow = _this.mergeConfig.ActionRow;
93
+ var list = [];
94
+ if (!!ActionRow) {
95
+ list.push(Object.assign({
96
+ field: 'Actions',
97
+ minWidth: 100,
98
+ headerAlign: 'right',
99
+ align: 'right',
100
+ filterable: false,
101
+ sortable: false,
102
+ renderCell: function renderCell(value) {
103
+ return /*#__PURE__*/React.createElement(ActionRow, {
104
+ value: value.row
105
+ });
106
+ }
107
+ }, params.actionRow));
108
+ }
109
+ return generateColumns(list);
110
+ };
111
+ _this.onPaginationModelChange = function (model, details) {
112
+ _this.setTableQueryParams({
113
+ pagination: model,
114
+ detail: 'pagination'
115
+ });
116
+ _this.handleChange();
117
+ };
118
+ _this.onFilterModelChange = function (model, details) {
119
+ var _a;
120
+ var pagination = _this.tableQueryParams.pagination;
121
+ _this.setTableQueryParams({
122
+ filter: model,
123
+ pagination: {
124
+ page: 0,
125
+ pageSize: (_a = pagination === null || pagination === void 0 ? void 0 : pagination.pageSize) !== null && _a !== void 0 ? _a : 25
126
+ },
127
+ detail: TableHelper.detectSearchType(model)
128
+ });
129
+ _this.handleChange();
130
+ };
131
+ _this.onSortModelChange = function (model, details) {
132
+ var _a, _b, _c, _d, _e, _f;
133
+ var sortValue = model;
134
+ var sort = _this.tableQueryParams.sort;
135
+ if (!!(sort === null || sort === void 0 ? void 0 : sort.length) && !sortValue.length) {
136
+ if (((_a = sort === null || sort === void 0 ? void 0 : sort[0]) === null || _a === void 0 ? void 0 : _a.field) === ((_c = (_b = _this.defaultTableQueryParams.sort) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.field)) {
137
+ sortValue = [{
138
+ field: (_d = sort[0]) === null || _d === void 0 ? void 0 : _d.field,
139
+ sort: ((_e = sort[0]) === null || _e === void 0 ? void 0 : _e.sort) === 'desc' ? 'asc' : 'desc'
140
+ }];
141
+ } else {
142
+ sortValue = (_f = _this.defaultTableQueryParams.sort) !== null && _f !== void 0 ? _f : [];
143
+ }
144
+ }
145
+ _this.setTableQueryParams({
146
+ sort: sortValue,
147
+ detail: 'sort'
148
+ });
149
+ _this.handleChange();
150
+ };
151
+ _this.handleChange = function () {
152
+ TableHelper.isEmpty(_this.tableQueryParams);
153
+ TableHelper.isEmpty(_this.tableQueryParamsCache);
154
+ _this.props.onChange && _this.props.onChange(_this.tableQueryParams);
155
+ _this.tableQueryParamsCache = _this.tableQueryParams;
156
+ };
157
+ _this.handleRowSelectionChange = function (value, details) {
158
+ if (_this.mergeConfig.maxSelcion && value.length > _this.mergeConfig.maxSelcion) {
159
+ _this.rowSelecteds = value.slice(0, _this.mergeConfig.maxSelcion);
160
+ } else {
161
+ _this.rowSelecteds = value;
162
+ }
163
+ _this.props.onRowSelectionChange && _this.props.onRowSelectionChange(_this.rowSelecteds, details);
164
+ _this.forceUpdate();
165
+ };
166
+ _this.columns = _this.initialColumns();
167
+ _this.tableQueryParams = Object.assign({}, props.query);
168
+ _this.defaultTableQueryParams = _this.tableQueryParams;
169
+ _this.rowSelecteds = [];
170
+ return _this;
171
+ }
172
+ _inherits(TableBase, _Component);
173
+ return _createClass(TableBase, [{
174
+ key: "mergeConfig",
175
+ get: function get() {
176
+ var _a, _b, _c, _d, _e, _f, _g;
177
+ var toolbarPannelProps = _mergeObjects({}, params === null || params === void 0 ? void 0 : params.toolbarProps, (_a = this.props.slots) === null || _a === void 0 ? void 0 : _a.toolbarProps);
178
+ return {
179
+ toolbar: (_c = (_b = this.props.slots) === null || _b === void 0 ? void 0 : _b.toolbar) !== null && _c !== void 0 ? _c : function () {
180
+ return /*#__PURE__*/React.createElement(ToolbarPannel, toolbarPannelProps);
181
+ },
182
+ ActionRow: (_d = this.props.slots) === null || _d === void 0 ? void 0 : _d.actionRow,
183
+ columnVisibilityModel: params.columnVisibilityModel,
184
+ maxSelcion: (_f = (_e = this.props.slots) === null || _e === void 0 ? void 0 : _e.maxSelection) !== null && _f !== void 0 ? _f : params.maxSelection,
185
+ dataGridProps: _mergeObjects({}, params.dataGridProps, (_g = this.props.slots) === null || _g === void 0 ? void 0 : _g.dataGridProps)
186
+ };
187
+ }
188
+ }, {
189
+ key: "shouldComponentUpdate",
190
+ value: function shouldComponentUpdate(nextProps) {
191
+ var _a;
192
+ if (params.featureMode === 'server' && !TableHelper.equalTableQueryParams(nextProps.query, this.props.query)) {
193
+ this.setTableQueryParams((_a = nextProps.query) !== null && _a !== void 0 ? _a : {});
194
+ return true;
195
+ } else if (params.featureMode !== 'server') {
196
+ return true;
197
+ } else {
198
+ return false;
199
+ }
200
+ }
201
+ }, {
202
+ key: "render",
203
+ value: function render() {
204
+ return this.renderWrapContext(/*#__PURE__*/React.createElement(Wrap, null, /*#__PURE__*/React.createElement(DataGrid, this.getDataGridProps())));
205
+ }
206
+ }]);
207
+ }(Component);
208
+ return TableBase;
209
+ }
210
+ var Wrap = styled(function (_a) {
211
+ var children = _a.children,
212
+ p = __rest(_a, ["children"]);
213
+ return /*#__PURE__*/React.createElement(Box, p, /*#__PURE__*/React.createElement("div", null, children));
214
+ })(_defineProperty({
215
+ flex: 1,
216
+ position: 'relative',
217
+ '& > div': {
218
+ position: 'absolute',
219
+ top: 0,
220
+ left: 0,
221
+ width: '100%',
222
+ height: '100%',
223
+ overflowY: 'auto'
224
+ },
225
+ '& .MuiDataGrid-root': {
226
+ '--unstable_DataGrid-radius': 0
227
+ }
228
+ }, "& .MuiDataGrid-cell.".concat(dinoTableClasses.whiteSpacePre, " .MuiDataGrid-cellContent"), {
229
+ whiteSpace: 'pre'
230
+ }));
231
+
232
+ export { CreateTable as default };
233
+ //# sourceMappingURL=create.table.js.map