dinocollab-core 2.1.27 → 2.1.29

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 (195) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -2
  2. package/dist/src/api-context/alert-global.js +1 -1
  3. package/dist/src/api-context/alert-global.js.map +1 -1
  4. package/dist/src/api-context/drawer-global.js +1 -1
  5. package/dist/src/api-context/drawer-global.js.map +1 -1
  6. package/dist/src/api-context/global-modal.js +1 -1
  7. package/dist/src/api-context/global-modal.js.map +1 -1
  8. package/dist/src/api-context/popover-global.js +1 -1
  9. package/dist/src/api-context/popover-global.js.map +1 -1
  10. package/dist/src/api-context/popover.js +1 -1
  11. package/dist/src/api-context/popover.js.map +1 -1
  12. package/dist/src/components/breadcrumbs.js +1 -1
  13. package/dist/src/components/breadcrumbs.js.map +1 -1
  14. package/dist/src/components/copy-to-clipboard.js +1 -1
  15. package/dist/src/components/copy-to-clipboard.js.map +1 -1
  16. package/dist/src/components/create.multi-select-dropdown.js +1 -1
  17. package/dist/src/components/create.multi-select-dropdown.js.map +1 -1
  18. package/dist/src/components/help-tooltip.js +1 -1
  19. package/dist/src/components/help-tooltip.js.map +1 -1
  20. package/dist/src/components/image-with-fallback.js +1 -1
  21. package/dist/src/components/image-with-fallback.js.map +1 -1
  22. package/dist/src/components/rich-tooltip.js +1 -1
  23. package/dist/src/components/rich-tooltip.js.map +1 -1
  24. package/dist/src/components/text-editor.js +1 -1
  25. package/dist/src/components/text-editor.js.map +1 -1
  26. package/dist/src/components/text-editor.preview.js +1 -1
  27. package/dist/src/components/text-editor.preview.js.map +1 -1
  28. package/dist/src/data-view/animation-switch.js +1 -1
  29. package/dist/src/data-view/animation-switch.js.map +1 -1
  30. package/dist/src/data-view/convert-filter-to-graphql.js +1 -1
  31. package/dist/src/data-view/convert-filter-to-graphql.js.map +1 -1
  32. package/dist/src/data-view/create.active-filters-panel.js +1 -1
  33. package/dist/src/data-view/create.active-filters-panel.js.map +1 -1
  34. package/dist/src/data-view/create.data-view.js +1 -1
  35. package/dist/src/data-view/create.data-view.js.map +1 -1
  36. package/dist/src/data-view/create.filter-bar.js +1 -1
  37. package/dist/src/data-view/create.filter-bar.js.map +1 -1
  38. package/dist/src/data-view/create.filter-menu.js +1 -1
  39. package/dist/src/data-view/create.filter-menu.js.map +1 -1
  40. package/dist/src/data-view/create.pagination-bar.js +1 -1
  41. package/dist/src/data-view/create.pagination-bar.js.map +1 -1
  42. package/dist/src/data-view/create.popper-panel.js +1 -1
  43. package/dist/src/data-view/create.popper-panel.js.map +1 -1
  44. package/dist/src/data-view/create.search-match.js +1 -1
  45. package/dist/src/data-view/create.search-match.js.map +1 -1
  46. package/dist/src/data-view/create.sort-menu.js +1 -1
  47. package/dist/src/data-view/create.sort-menu.js.map +1 -1
  48. package/dist/src/data-view/create.view-mode.js +1 -1
  49. package/dist/src/data-view/create.view-mode.js.map +1 -1
  50. package/dist/src/data-view/dino.js +1 -1
  51. package/dist/src/data-view/dino.js.map +1 -1
  52. package/dist/src/data-view/filter-store.js +1 -1
  53. package/dist/src/data-view/filter-store.js.map +1 -1
  54. package/dist/src/data-view/helpers.js +1 -1
  55. package/dist/src/data-view/helpers.js.map +1 -1
  56. package/dist/src/data-view/scroll-tracking.js +1 -1
  57. package/dist/src/data-view/scroll-tracking.js.map +1 -1
  58. package/dist/src/data-view/ui.units.js +1 -1
  59. package/dist/src/data-view/ui.units.js.map +1 -1
  60. package/dist/src/data-view/view-mode.content.js +1 -1
  61. package/dist/src/data-view/view-mode.content.js.map +1 -1
  62. package/dist/src/data-view/view-mode.units.js +1 -1
  63. package/dist/src/data-view/view-mode.units.js.map +1 -1
  64. package/dist/src/form/create.autocomplete.chips.js +1 -1
  65. package/dist/src/form/create.autocomplete.chips.js.map +1 -1
  66. package/dist/src/form/create.color-picker.js +1 -1
  67. package/dist/src/form/create.color-picker.js.map +1 -1
  68. package/dist/src/form/create.date-expired.js +1 -1
  69. package/dist/src/form/create.date-expired.js.map +1 -1
  70. package/dist/src/form/create.date-picker.js +1 -1
  71. package/dist/src/form/create.date-picker.js.map +1 -1
  72. package/dist/src/form/create.form-base.js +1 -1
  73. package/dist/src/form/create.form-base.js.map +1 -1
  74. package/dist/src/form/create.form-comfirm.js +1 -1
  75. package/dist/src/form/create.form-comfirm.js.map +1 -1
  76. package/dist/src/form/create.form-grid-layout.js +1 -1
  77. package/dist/src/form/create.form-grid-layout.js.map +1 -1
  78. package/dist/src/form/create.input-file.csv-local-parser.js +1 -1
  79. package/dist/src/form/create.input-file.csv-local-parser.js.map +1 -1
  80. package/dist/src/form/create.input.file.js +1 -1
  81. package/dist/src/form/create.input.file.js.map +1 -1
  82. package/dist/src/form/create.input.image-file.js +1 -1
  83. package/dist/src/form/create.input.image-file.js.map +1 -1
  84. package/dist/src/form/create.input.js +1 -1
  85. package/dist/src/form/create.input.js.map +1 -1
  86. package/dist/src/form/create.select-simple.js +1 -1
  87. package/dist/src/form/create.select-simple.js.map +1 -1
  88. package/dist/src/form/create.select-with-api.js +1 -1
  89. package/dist/src/form/create.select-with-api.js.map +1 -1
  90. package/dist/src/form/create.text-editor.js +1 -1
  91. package/dist/src/form/create.text-editor.js.map +1 -1
  92. package/dist/src/form/decorator.form.js +1 -1
  93. package/dist/src/form/decorator.form.js.map +1 -1
  94. package/dist/src/form/decorator.js +1 -1
  95. package/dist/src/form/decorator.js.map +1 -1
  96. package/dist/src/form/dino-form.js +1 -1
  97. package/dist/src/form/dino-form.js.map +1 -1
  98. package/dist/src/form/helpers.js +1 -1
  99. package/dist/src/form/helpers.js.map +1 -1
  100. package/dist/src/form/modal-wrapper.js +1 -1
  101. package/dist/src/form/modal-wrapper.js.map +1 -1
  102. package/dist/src/form/validator.js +1 -1
  103. package/dist/src/form/validator.js.map +1 -1
  104. package/dist/src/hooks/check-scrolled.js +1 -1
  105. package/dist/src/hooks/check-scrolled.js.map +1 -1
  106. package/dist/src/hooks/debounce.js +1 -1
  107. package/dist/src/hooks/debounce.js.map +1 -1
  108. package/dist/src/hooks/use-fetch-data.js +1 -1
  109. package/dist/src/hooks/use-fetch-data.js.map +1 -1
  110. package/dist/src/http-service/base/crud-service-base.js +1 -1
  111. package/dist/src/http-service/base/crud-service-base.js.map +1 -1
  112. package/dist/src/http-service/base/helpers.js +1 -1
  113. package/dist/src/http-service/base/helpers.js.map +1 -1
  114. package/dist/src/http-service/base/service-base.js +1 -1
  115. package/dist/src/http-service/base/service-base.js.map +1 -1
  116. package/dist/src/http-service/graphql/app-profile.js +1 -1
  117. package/dist/src/http-service/graphql/app-profile.js.map +1 -1
  118. package/dist/src/http-service/graphql/graphql-request.js +1 -1
  119. package/dist/src/http-service/graphql/graphql-request.js.map +1 -1
  120. package/dist/src/http-service/graphql/request-param.js +1 -1
  121. package/dist/src/http-service/graphql/request-param.js.map +1 -1
  122. package/dist/src/lab/attach-widget/helpers.js +1 -1
  123. package/dist/src/lab/attach-widget/helpers.js.map +1 -1
  124. package/dist/src/lab/attach-widget/modal.js +1 -1
  125. package/dist/src/lab/attach-widget/modal.js.map +1 -1
  126. package/dist/src/lab/attach-widget/styled.js +1 -1
  127. package/dist/src/lab/attach-widget/styled.js.map +1 -1
  128. package/dist/src/lab/attach-widget/widget.js +1 -1
  129. package/dist/src/lab/attach-widget/widget.js.map +1 -1
  130. package/dist/src/lab/input.social-links/create.js +1 -1
  131. package/dist/src/lab/input.social-links/create.js.map +1 -1
  132. package/dist/src/lab/input.social-links/units.js +1 -1
  133. package/dist/src/lab/input.social-links/units.js.map +1 -1
  134. package/dist/src/mfe-shared/navigation.js +1 -1
  135. package/dist/src/mfe-shared/navigation.js.map +1 -1
  136. package/dist/src/redux/create.hoc-lazy.js +1 -1
  137. package/dist/src/redux/create.hoc-lazy.js.map +1 -1
  138. package/dist/src/redux/dino.js +1 -1
  139. package/dist/src/redux/dino.js.map +1 -1
  140. package/dist/src/redux/ui.error-page.js +1 -1
  141. package/dist/src/redux/ui.error-page.js.map +1 -1
  142. package/dist/src/table/create.action-row.js +1 -1
  143. package/dist/src/table/create.action-row.js.map +1 -1
  144. package/dist/src/table/create.table.js +1 -1
  145. package/dist/src/table/create.table.js.map +1 -1
  146. package/dist/src/table/custom.filter-operators.js +1 -1
  147. package/dist/src/table/custom.filter-operators.js.map +1 -1
  148. package/dist/src/table/dino.js +1 -1
  149. package/dist/src/table/dino.js.map +1 -1
  150. package/dist/src/table/helpers.js +1 -1
  151. package/dist/src/table/helpers.js.map +1 -1
  152. package/dist/src/table/toolbar-pannel.js +1 -1
  153. package/dist/src/table/toolbar-pannel.js.map +1 -1
  154. package/dist/src/table/ui.buttons.js +1 -1
  155. package/dist/src/table/ui.buttons.js.map +1 -1
  156. package/dist/src/table/ui.units.js +1 -1
  157. package/dist/src/table/ui.units.js.map +1 -1
  158. package/dist/src/table-grid/create.table-grid.js +1 -1
  159. package/dist/src/table-grid/create.table-grid.js.map +1 -1
  160. package/dist/src/table-grid/dino.js +1 -1
  161. package/dist/src/table-grid/dino.js.map +1 -1
  162. package/dist/src/table-grid/filter-bar/base.js +1 -1
  163. package/dist/src/table-grid/filter-bar/base.js.map +1 -1
  164. package/dist/src/table-grid/filter-bar/create.filter-bar.js +1 -1
  165. package/dist/src/table-grid/filter-bar/create.filter-bar.js.map +1 -1
  166. package/dist/src/table-grid/filter-bar/create.filter-menu.js +1 -1
  167. package/dist/src/table-grid/filter-bar/create.filter-menu.js.map +1 -1
  168. package/dist/src/table-grid/filter-bar/create.filter-panel.js +1 -1
  169. package/dist/src/table-grid/filter-bar/create.filter-panel.js.map +1 -1
  170. package/dist/src/table-grid/filter-bar/create.filtered.js +1 -1
  171. package/dist/src/table-grid/filter-bar/create.filtered.js.map +1 -1
  172. package/dist/src/table-grid/filter-bar/ui.units.js +1 -1
  173. package/dist/src/table-grid/filter-bar/ui.units.js.map +1 -1
  174. package/dist/src/table-grid/helpers.js +1 -1
  175. package/dist/src/table-grid/helpers.js.map +1 -1
  176. package/dist/src/table-grid/item-actions.js +1 -1
  177. package/dist/src/table-grid/item-actions.js.map +1 -1
  178. package/dist/src/table-grid/styled.js +2 -0
  179. package/dist/src/table-grid/styled.js.map +1 -0
  180. package/dist/src/table-grid/toolbar-pannel.js +1 -1
  181. package/dist/src/table-grid/toolbar-pannel.js.map +1 -1
  182. package/dist/src/table-grid/url-query-param.js +1 -1
  183. package/dist/src/table-grid/url-query-param.js.map +1 -1
  184. package/dist/src/utils/helpers.js +1 -1
  185. package/dist/src/utils/helpers.js.map +1 -1
  186. package/dist/src/utils/json-object.js +1 -1
  187. package/dist/src/utils/json-object.js.map +1 -1
  188. package/dist/src/utils/query-param.js +1 -1
  189. package/dist/src/utils/query-param.js.map +1 -1
  190. package/dist/types/mfe-shared/navigation.d.ts +5 -2
  191. package/dist/types/table-grid/create.table-grid.d.ts +2 -2
  192. package/dist/types/table-grid/helpers.d.ts +0 -11
  193. package/dist/types/table-grid/styled.d.ts +19 -0
  194. package/dist/types/table-grid/types.d.ts +6 -1
  195. package/package.json +1 -1
@@ -1 +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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"}
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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"}
@@ -1,2 +1,2 @@
1
- import{getGridStringOperators as e,getGridDateOperators as a,getGridBooleanOperators as r,getGridNumericOperators as n}from"@mui/x-data-grid";import{EOperator as t}from"./model-filter.js";var u={contains:t.Contains,equals:t.Equal},l={"=":t.Equal,"!=":t.NotEqual,">":t.GreaterThan,">=":t.GreaterThanOrEqual,"<":t.LessThan,"<=":t.LessThanOrEqual},o={"is=":t.Equal},s={is:t.Equal,not:t.NotEqual,after:t.GreaterThan,onOrAfter:t.GreaterThanOrEqual,before:t.LessThan,onOrBefore:t.LessThanOrEqual},i=function(){var a=new Set(Object.keys(u));return e().filter((function(e){return a.has(e.value)})).map((function(e){return e.label=e.value,e.value=u[e.value]+"",e}))},f=function(e){var r=new Set(Object.keys(s));return a(e).filter((function(e){return r.has(e.value)})).map((function(e){return e.label=e.value,e.value=s[e.value]+"",e}))},c=function(e){switch(e.type){case"string":default:return i();case"number":return a=new Set(Object.keys(l)),n().filter((function(e){return a.has(e.value)})).map((function(e){return e.label=e.value,e.value=l[e.value]+"",e}));case"boolean":return function(){var e=new Set(Object.keys(o));return r().filter((function(a){return e.has(a.value)})).map((function(e){return e.label=e.value,e.value=o[e.value]+"",e}))}();case"date":return f();case"dateTime":return f(!0)}var a};export{c as customFilterOperators};
1
+ import{getGridStringOperators as e,getGridDateOperators as a,getGridBooleanOperators as r,getGridNumericOperators as n}from"@mui/x-data-grid";import{EOperator as t}from"./model-filter.js";var u={contains:t.Contains,equals:t.Equal},l={"=":t.Equal,"!=":t.NotEqual,">":t.GreaterThan,">=":t.GreaterThanOrEqual,"<":t.LessThan,"<=":t.LessThanOrEqual},o={"is=":t.Equal},s={is:t.Equal,not:t.NotEqual,after:t.GreaterThan,onOrAfter:t.GreaterThanOrEqual,before:t.LessThan,onOrBefore:t.LessThanOrEqual},i=function(){var a=new Set(Object.keys(u));return e().filter(function(e){return a.has(e.value)}).map(function(e){return e.label=e.value,e.value=u[e.value]+"",e})},f=function(e){var r=new Set(Object.keys(s));return a(e).filter(function(e){return r.has(e.value)}).map(function(e){return e.label=e.value,e.value=s[e.value]+"",e})},c=function(e){switch(e.type){case"string":default:return i();case"number":return a=new Set(Object.keys(l)),n().filter(function(e){return a.has(e.value)}).map(function(e){return e.label=e.value,e.value=l[e.value]+"",e});case"boolean":return function(){var e=new Set(Object.keys(o));return r().filter(function(a){return e.has(a.value)}).map(function(e){return e.label=e.value,e.value=o[e.value]+"",e})}();case"date":return f();case"dateTime":return f(!0)}var a};export{c as customFilterOperators};
2
2
  //# sourceMappingURL=custom.filter-operators.js.map
@@ -1 +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"}
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,OAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,GAC/BC,IAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAAS5B,EAAkB0B,EAAEE,OAAS,GACjCF,CACT,EAEJ,EA0BMK,EAA6B,SAACC,GAClC,IAAMX,EAAO,IAAIC,IAAIC,OAAOF,KAAKR,IAQjC,OAPgBoB,EAAqBD,GAClCP,OAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,GAC/BC,IAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAASf,EAAgBa,EAAEE,OAAS,GAC/BF,CACT,EAEJ,EAEaQ,EAAwB,SAACC,GACpC,OAAQA,EAAOC,MACb,IAAK,SAUL,QACE,OAAOhB,IATT,IAAK,SACH,OAxCEC,EAAO,IAAIC,IAAIC,OAAOF,KAAKf,IACjB+B,IACbZ,OAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,GAC/BC,IAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAAStB,EAAmBoB,EAAEE,OAAS,GAClCF,CACT,GAkCA,IAAK,UACH,OA/BgC,WACpC,IAAML,EAAO,IAAIC,IAAIC,OAAOF,KAAKT,IAQjC,OAPgB0B,IACbb,OAAO,SAACC,GAAC,OAAKL,EAAKM,IAAID,EAAEE,MAAM,GAC/BC,IAAI,SAACH,GAGJ,OAFAA,EAAEI,MAAQJ,EAAEE,MACZF,EAAEE,MAAShB,EAAmBc,EAAEE,OAAS,GAClCF,CACT,EAEJ,CAqBaa,GACT,IAAK,OACH,OAAOR,IACT,IAAK,WACH,OAAOA,GAA2B,GA/CF,IAC9BV,CAkDR"}
@@ -1,2 +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};
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
2
  //# sourceMappingURL=dino.js.map
@@ -1 +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":"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"}
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,EAAA,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,gBAEb,SAACU,GACf,OAAO,SAACC,GAAC,OAAKC,EAACH,EAAaI,EAAAA,GAAAA,EAAAA,EAAUF,GAAAA,GAAMD,IAAW,IACxDR,uBAEeY,GAAaZ,mBAEjBa,GAASb,EAAAF,KAAA,0BAEK,SAACgB,GAA0B,OAAKA,CAAK,GAAAd,EAAAF,KAAA,oBAE3C,SAACgB,GACnB,OAAO,WAAA,OAAMJ,EAACK,GAAYD,MAAOA,GAAS,IAC3Cd,0BAEkBgB,GAGnBhB,EACgBF,KAAA,gBAAA,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,IACF7B,EAAAF,KAAA,qBAEoB,SAACmB,GACpB,OAAO,SAACa,GAAqC,OAAKjC,EAAKkC,cAAcD,EAAOhB,MAAOG,EAAQ,IAI7FjB,EAAAF,KAAA,kBACkB,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,IACFd,EAEkBF,KAAA,mBAAA,SAA4BqC,EAA8BlB,GAC3E,IAAMmB,EAAqBpB,EAAiBmB,EAAMxB,EAAA,CAAI0B,GAAI,CAAEC,SAAU,SAAarB,IACnF,OAAO,SAAce,GACnB,OAAOtB,EAAC0B,EAAmB,CAAAtB,MAAOkB,EAASlB,OAC5C,IACFd,EAAAF,KAAA,iBAEgB,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,IACFpD,EAEiBF,KAAA,kBAAA,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,IACF5D,EAAAF,KAAA,iBAEgB,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,GACF"}
@@ -1,2 +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};
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
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +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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"}
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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"}
@@ -1,2 +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};
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
2
  //# sourceMappingURL=toolbar-pannel.js.map
@@ -1 +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"}
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,cAsBJ,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,OAGNJ,EAAAX,EAAA,qBAEoB,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,IAAI,SAACC,EAAMC,GAAK,OACxClB,iBACEA,EAACmB,EAAW,CAAAC,QAAQ,iBAASH,KADtBC,EAGV,SAIRnC,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,EAAO,SAAChD,GAAsB,OAAKI,EAACmB,EAAUiC,EAAA,CAACC,UAAOjC,QAAQ,aAAgBxB,GAAS,EAAvFgD,CAAyF,CACrGU,WAAY,IACZ1B,KAAM"}
@@ -1,2 +1,2 @@
1
- import{jsx as n}from"react/jsx-runtime";import{Tooltip as t,IconButton as i,Button as r}from"@mui/material";import e from"@mui/icons-material/ViewList";import o from"@mui/icons-material/AddCircleOutline";import{mapGlobalModalContext as l}from"../api-context/global-modal.js";var c=function(i){return l((function(e){return n(t,{title:"Create new",children:n(r,{size:"small",onClick:function(){return e.show({renderContent:function(){return i.children}})},startIcon:n(o,{fontSize:"small"}),sx:{fontWeight:600},variant:"contained",children:"Create"})})}))},a=function(r){return l((function(o){return n(t,{title:"Detail",children:n(i,{onClick:function(n){var t;null===(t=r.onOpenModal)||void 0===t||t.call(r,n),o.show({backdropActivated:!0,renderContent:function(){return r.formDetail},onClose:r.onCloseModal})},children:n(e,{})})})}))},u=function(r){return n(t,{title:"Detail",children:n(i,{onClick:r.onClick,children:n(e,{})})})};export{u as BtnDetail,c as BtnFormCreate,a as BtnFormDetail};
1
+ import{jsx as n}from"react/jsx-runtime";import{Tooltip as t,IconButton as i,Button as r}from"@mui/material";import e from"@mui/icons-material/ViewList";import o from"@mui/icons-material/AddCircleOutline";import{mapGlobalModalContext as l}from"../api-context/global-modal.js";var c=function(i){return l(function(e){return n(t,{title:"Create new",children:n(r,{size:"small",onClick:function(){return e.show({renderContent:function(){return i.children}})},startIcon:n(o,{fontSize:"small"}),sx:{fontWeight:600},variant:"contained",children:"Create"})})})},a=function(r){return l(function(o){return n(t,{title:"Detail",children:n(i,{onClick:function(n){var t;null===(t=r.onOpenModal)||void 0===t||t.call(r,n),o.show({backdropActivated:!0,renderContent:function(){return r.formDetail},onClose:r.onCloseModal})},children:n(e,{})})})})},u=function(r){return n(t,{title:"Detail",children:n(i,{onClick:r.onClick,children:n(e,{})})})};export{u as BtnDetail,c as BtnFormCreate,a as BtnFormDetail};
2
2
  //# sourceMappingURL=ui.buttons.js.map
@@ -1 +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"}
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,EAAsB,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,EAEd,EAQaY,EAAyC,SAAClB,GACrD,OAAOC,EAAsB,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,EAEd,EAMaC,EAAiC,SAAC7B,GAAK,OAClDG,EAACC,EAAO,CAACC,MAAM,SACbC,SAAAH,EAACgB,EAAU,CAACV,QAAST,EAAMS,QACzBH,SAAAH,EAACyB,EAAY,CAAA,MAEP"}
@@ -1,2 +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};
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
2
  //# sourceMappingURL=ui.units.js.map
@@ -1 +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":"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"}
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":"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"}
@@ -1,2 +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};
1
+ import{inherits as t,createClass as e,objectSpread2 as i,classCallCheck as r,callSuper as o,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import{Stack as d,Grid as c,Box as p,Fade as u,CircularProgress as g,Typography as h,Divider as m,TablePagination as f}from"@mui/material";import{mergeObjects as v}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{defaultPagination as S}from"./helpers.js";import{CreateTableGridItemActions as P}from"./item-actions.js";import j from"./filter-bar/create.filter-bar.js";import"./filter-bar/types.js";import{ItemDefault as b,TableGridStyled as C,tableGridClasses as y}from"./styled.js";import x from"./toolbar-pannel.js";import I from"../api-context/popover-global.js";import{GlobalModal as z}from"../api-context/global-modal.js";function N(N){var F,R=j(null!==(F=N.filterBarConfigs)&&void 0!==F?F:{fields:{}}),k=P(),B=function(){function P(){var t;r(this,P);for(var e=arguments.length,s=new Array(e),d=0;d<e;d++)s[d]=arguments[d];return t=o(this,P,[].concat(s)),n(t,"filterStateStore",{pagination:S}),n(t,"setFilterState",function(e){try{e.details?t.filterStateStore=i({pagination:t.filterStateStore.pagination},e):t.filterStateStore=v({},t.filterState,e),t.props.onFilterChange&&t.props.onFilterChange(t.filterStateStore),t.forceUpdate()}catch(t){console.log(t)}}),n(t,"preRender",function(t){return l(z,{children:[a(I.Provider,{}),t]})}),n(t,"getPagination",function(){var e;return null!==(e=t.filterState.pagination)&&void 0!==e?e:S}),n(t,"getRootClasses",function(){var e=[y.root];return t.filterState.loading&&e.push(y.loading),e.join(" ")}),n(t,"getItems",function(){var e;return null!==(e=t.props.data.items)&&void 0!==e?e:[]}),n(t,"handleFilterChange",function(e){t.setFilterState(e)}),n(t,"handleChangePage",function(e,i){var r=t.getPagination();t.setFilterState({pagination:{page:i,pageSize:r.pageSize}})}),n(t,"handleChangeRowsPerPage",function(e){t.setFilterState({pagination:{page:0,pageSize:parseInt(e.target.value,10)}})}),t}return t(P,s),e(P,[{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,r,o,n,l,s;return i(i({},Object.assign({},N.slots,this.props.slots)),{},{TableGridItem:null!==(t=null!==(e=null===(r=this.props.slots)||void 0===r?void 0:r.item)&&void 0!==e?e:N.item)&&void 0!==t?t:function(){return a(b,{})},ToolbarPannel:null!==(o=null!==(n=null===(l=this.props.slots)||void 0===l?void 0:l.toolbar)&&void 0!==n?n:null===(s=N.slots)||void 0===s?void 0:s.toolbar)&&void 0!==o?o:x})}},{key:"mergeConfig",get:function(){var t;return{size:null!==(t=N.size)&&void 0!==t?t:{xs:12,sm:6,md:4}}}},{key:"render",value:function(){var t,e,r,o,n=this,s=this.slots,v=s.TableGridItem,S=s.ToolbarPannel,P=s.actionProps,j=this.getItems(),b=this.getPagination();return this.preRender(l(C,{className:this.getRootClasses(),children:[a(S,i({title:N.title},this.slots.toolbarProps)),l(d,{className:y.filterBarWrap,sx:null===(t=this.slots.filterBar)||void 0===t?void 0:t.sx,children:[(null===(e=this.slots.filterBar)||void 0===e?void 0:e.before)||null,a(R,{value:this.filterState,onChange:this.handleFilterChange}),(null===(r=this.slots.filterBar)||void 0===r?void 0:r.after)||null]}),l("div",{className:y.content,children:[a("div",{className:[y.contentInner,y.contentPosition].join(" "),children:a(c,i(i({container:!0,spacing:2},this.slots.gridContainer),{},{children:j.map(function(t,e){return a(c,i(i(i({item:!0},n.mergeConfig.size),n.slots.gridItem),{},{children:l("div",{className:y.item,children:[a(v,{value:t}),a(p,{className:y.actions,children:a(k,i({value:t},P))})]})}),N.getSelecterId(t).toString()+e)})}))}),a(u,{in:this.filterState.loading,unmountOnExit:!0,children:a("div",{className:[y.overlay,y.contentPosition].join(" "),children:a(g,{size:36})})}),a(u,{in:j.length<1&&!this.filterState.loading,unmountOnExit:!0,children:a("div",{className:[y.noItems,y.contentPosition].join(" "),children:a(h,{variant:"body2",children:"No items data"})})})]}),a(m,{sx:{position:"relative",zIndex:2}}),a(f,{component:"div",count:null!==(o=this.props.data.totalItems)&&void 0!==o?o:0,page:b.page,onPageChange:this.handleChangePage,rowsPerPage:b.pageSize,onRowsPerPageChange:this.handleChangeRowsPerPage,slotProps:{select:{MenuProps:{disableScrollLock:!0}}}})]}))}}])}();return B}export{N as default};
2
2
  //# sourceMappingURL=create.table-grid.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"create.table-grid.js","sources":["../../../src/table-grid/create.table-grid.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { ChangeEventHandler, ComponentType, MouseEvent as RMEvent, ReactNode } from 'react'\r\nimport { Box, CircularProgress, Divider, Fade, Grid, Stack, TablePagination, Typography } from '@mui/material'\r\nimport { mergeObjects } from '../utils'\r\nimport { defaultPagination } from './helpers'\r\nimport { CreateTableGridItemActions } from './item-actions'\r\nimport { GlobalModal, PopoverGlobal } from '../api-context'\r\nimport { CreateFilterBar, IFilterState } from './filter-bar'\r\nimport { ItemDefault, tableGridClasses, TableGridStyled } from './styled'\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>): 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 <TableGridStyled className={this.getRootClasses()}>\r\n <ToolbarPannel title={params.title} {...this.slots.toolbarProps} />\r\n <Stack className={tableGridClasses.filterBarWrap} sx={this.slots.filterBar?.sx}>\r\n {this.slots.filterBar?.before || null}\r\n <FilterBarInstance value={this.filterState} onChange={this.handleFilterChange} />\r\n {this.slots.filterBar?.after || null}\r\n </Stack>\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 </TableGridStyled>\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 = (_: RMEvent<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: 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"],"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$slots$filterBar","_this$slots$filterBar2","_this$slots$filterBar3","_this$props$data$tota","_this2","_this$slots","actionProps","getItems","preRender","TableGridStyled","className","getRootClasses","title","toolbarProps","Stack","filterBarWrap","sx","filterBar","before","onChange","handleFilterChange","after","content","contentInner","contentPosition","Grid","container","spacing","gridContainer","map","index","mergeConfig","gridItem","Box","actions","getSelecterId","toString","Fade","in","unmountOnExit","overlay","CircularProgress","noItems","Typography","variant","Divider","position","zIndex","TablePagination","component","count","totalItems","onPageChange","handleChangePage","rowsPerPage","onRowsPerPageChange","handleChangeRowsPerPage","slotProps","select","MenuProps","disableScrollLock"],"mappings":"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"}
@@ -1,2 +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};
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
2
  //# sourceMappingURL=dino.js.map