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.
- package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -2
- package/dist/src/api-context/alert-global.js +1 -1
- package/dist/src/api-context/alert-global.js.map +1 -1
- package/dist/src/api-context/drawer-global.js +1 -1
- package/dist/src/api-context/drawer-global.js.map +1 -1
- package/dist/src/api-context/global-modal.js +1 -1
- package/dist/src/api-context/global-modal.js.map +1 -1
- package/dist/src/api-context/popover-global.js +1 -1
- package/dist/src/api-context/popover-global.js.map +1 -1
- package/dist/src/api-context/popover.js +1 -1
- package/dist/src/api-context/popover.js.map +1 -1
- package/dist/src/components/breadcrumbs.js +1 -1
- package/dist/src/components/breadcrumbs.js.map +1 -1
- package/dist/src/components/copy-to-clipboard.js +1 -1
- package/dist/src/components/copy-to-clipboard.js.map +1 -1
- package/dist/src/components/create.multi-select-dropdown.js +1 -1
- package/dist/src/components/create.multi-select-dropdown.js.map +1 -1
- package/dist/src/components/help-tooltip.js +1 -1
- package/dist/src/components/help-tooltip.js.map +1 -1
- package/dist/src/components/image-with-fallback.js +1 -1
- package/dist/src/components/image-with-fallback.js.map +1 -1
- package/dist/src/components/rich-tooltip.js +1 -1
- package/dist/src/components/rich-tooltip.js.map +1 -1
- package/dist/src/components/text-editor.js +1 -1
- package/dist/src/components/text-editor.js.map +1 -1
- package/dist/src/components/text-editor.preview.js +1 -1
- package/dist/src/components/text-editor.preview.js.map +1 -1
- package/dist/src/data-view/animation-switch.js +1 -1
- package/dist/src/data-view/animation-switch.js.map +1 -1
- package/dist/src/data-view/convert-filter-to-graphql.js +1 -1
- package/dist/src/data-view/convert-filter-to-graphql.js.map +1 -1
- package/dist/src/data-view/create.active-filters-panel.js +1 -1
- package/dist/src/data-view/create.active-filters-panel.js.map +1 -1
- package/dist/src/data-view/create.data-view.js +1 -1
- package/dist/src/data-view/create.data-view.js.map +1 -1
- package/dist/src/data-view/create.filter-bar.js +1 -1
- package/dist/src/data-view/create.filter-bar.js.map +1 -1
- package/dist/src/data-view/create.filter-menu.js +1 -1
- package/dist/src/data-view/create.filter-menu.js.map +1 -1
- package/dist/src/data-view/create.pagination-bar.js +1 -1
- package/dist/src/data-view/create.pagination-bar.js.map +1 -1
- package/dist/src/data-view/create.popper-panel.js +1 -1
- package/dist/src/data-view/create.popper-panel.js.map +1 -1
- package/dist/src/data-view/create.search-match.js +1 -1
- package/dist/src/data-view/create.search-match.js.map +1 -1
- package/dist/src/data-view/create.sort-menu.js +1 -1
- package/dist/src/data-view/create.sort-menu.js.map +1 -1
- package/dist/src/data-view/create.view-mode.js +1 -1
- package/dist/src/data-view/create.view-mode.js.map +1 -1
- package/dist/src/data-view/dino.js +1 -1
- package/dist/src/data-view/dino.js.map +1 -1
- package/dist/src/data-view/filter-store.js +1 -1
- package/dist/src/data-view/filter-store.js.map +1 -1
- package/dist/src/data-view/helpers.js +1 -1
- package/dist/src/data-view/helpers.js.map +1 -1
- package/dist/src/data-view/scroll-tracking.js +1 -1
- package/dist/src/data-view/scroll-tracking.js.map +1 -1
- package/dist/src/data-view/ui.units.js +1 -1
- package/dist/src/data-view/ui.units.js.map +1 -1
- package/dist/src/data-view/view-mode.content.js +1 -1
- package/dist/src/data-view/view-mode.content.js.map +1 -1
- package/dist/src/data-view/view-mode.units.js +1 -1
- package/dist/src/data-view/view-mode.units.js.map +1 -1
- package/dist/src/form/create.autocomplete.chips.js +1 -1
- package/dist/src/form/create.autocomplete.chips.js.map +1 -1
- package/dist/src/form/create.color-picker.js +1 -1
- package/dist/src/form/create.color-picker.js.map +1 -1
- package/dist/src/form/create.date-expired.js +1 -1
- package/dist/src/form/create.date-expired.js.map +1 -1
- package/dist/src/form/create.date-picker.js +1 -1
- package/dist/src/form/create.date-picker.js.map +1 -1
- package/dist/src/form/create.form-base.js +1 -1
- package/dist/src/form/create.form-base.js.map +1 -1
- package/dist/src/form/create.form-comfirm.js +1 -1
- package/dist/src/form/create.form-comfirm.js.map +1 -1
- package/dist/src/form/create.form-grid-layout.js +1 -1
- package/dist/src/form/create.form-grid-layout.js.map +1 -1
- package/dist/src/form/create.input-file.csv-local-parser.js +1 -1
- package/dist/src/form/create.input-file.csv-local-parser.js.map +1 -1
- package/dist/src/form/create.input.file.js +1 -1
- package/dist/src/form/create.input.file.js.map +1 -1
- package/dist/src/form/create.input.image-file.js +1 -1
- package/dist/src/form/create.input.image-file.js.map +1 -1
- package/dist/src/form/create.input.js +1 -1
- package/dist/src/form/create.input.js.map +1 -1
- package/dist/src/form/create.select-simple.js +1 -1
- package/dist/src/form/create.select-simple.js.map +1 -1
- package/dist/src/form/create.select-with-api.js +1 -1
- package/dist/src/form/create.select-with-api.js.map +1 -1
- package/dist/src/form/create.text-editor.js +1 -1
- package/dist/src/form/create.text-editor.js.map +1 -1
- package/dist/src/form/decorator.form.js +1 -1
- package/dist/src/form/decorator.form.js.map +1 -1
- package/dist/src/form/decorator.js +1 -1
- package/dist/src/form/decorator.js.map +1 -1
- package/dist/src/form/dino-form.js +1 -1
- package/dist/src/form/dino-form.js.map +1 -1
- package/dist/src/form/helpers.js +1 -1
- package/dist/src/form/helpers.js.map +1 -1
- package/dist/src/form/modal-wrapper.js +1 -1
- package/dist/src/form/modal-wrapper.js.map +1 -1
- package/dist/src/form/validator.js +1 -1
- package/dist/src/form/validator.js.map +1 -1
- package/dist/src/hooks/check-scrolled.js +1 -1
- package/dist/src/hooks/check-scrolled.js.map +1 -1
- package/dist/src/hooks/debounce.js +1 -1
- package/dist/src/hooks/debounce.js.map +1 -1
- package/dist/src/hooks/use-fetch-data.js +1 -1
- package/dist/src/hooks/use-fetch-data.js.map +1 -1
- package/dist/src/http-service/base/crud-service-base.js +1 -1
- package/dist/src/http-service/base/crud-service-base.js.map +1 -1
- package/dist/src/http-service/base/helpers.js +1 -1
- package/dist/src/http-service/base/helpers.js.map +1 -1
- package/dist/src/http-service/base/service-base.js +1 -1
- package/dist/src/http-service/base/service-base.js.map +1 -1
- package/dist/src/http-service/graphql/app-profile.js +1 -1
- package/dist/src/http-service/graphql/app-profile.js.map +1 -1
- package/dist/src/http-service/graphql/graphql-request.js +1 -1
- package/dist/src/http-service/graphql/graphql-request.js.map +1 -1
- package/dist/src/http-service/graphql/request-param.js +1 -1
- package/dist/src/http-service/graphql/request-param.js.map +1 -1
- package/dist/src/lab/attach-widget/helpers.js +1 -1
- package/dist/src/lab/attach-widget/helpers.js.map +1 -1
- package/dist/src/lab/attach-widget/modal.js +1 -1
- package/dist/src/lab/attach-widget/modal.js.map +1 -1
- package/dist/src/lab/attach-widget/styled.js +1 -1
- package/dist/src/lab/attach-widget/styled.js.map +1 -1
- package/dist/src/lab/attach-widget/widget.js +1 -1
- package/dist/src/lab/attach-widget/widget.js.map +1 -1
- package/dist/src/lab/input.social-links/create.js +1 -1
- package/dist/src/lab/input.social-links/create.js.map +1 -1
- package/dist/src/lab/input.social-links/units.js +1 -1
- package/dist/src/lab/input.social-links/units.js.map +1 -1
- package/dist/src/mfe-shared/navigation.js +1 -1
- package/dist/src/mfe-shared/navigation.js.map +1 -1
- package/dist/src/redux/create.hoc-lazy.js +1 -1
- package/dist/src/redux/create.hoc-lazy.js.map +1 -1
- package/dist/src/redux/dino.js +1 -1
- package/dist/src/redux/dino.js.map +1 -1
- package/dist/src/redux/ui.error-page.js +1 -1
- package/dist/src/redux/ui.error-page.js.map +1 -1
- package/dist/src/table/create.action-row.js +1 -1
- package/dist/src/table/create.action-row.js.map +1 -1
- package/dist/src/table/create.table.js +1 -1
- package/dist/src/table/create.table.js.map +1 -1
- package/dist/src/table/custom.filter-operators.js +1 -1
- package/dist/src/table/custom.filter-operators.js.map +1 -1
- package/dist/src/table/dino.js +1 -1
- package/dist/src/table/dino.js.map +1 -1
- package/dist/src/table/helpers.js +1 -1
- package/dist/src/table/helpers.js.map +1 -1
- package/dist/src/table/toolbar-pannel.js +1 -1
- package/dist/src/table/toolbar-pannel.js.map +1 -1
- package/dist/src/table/ui.buttons.js +1 -1
- package/dist/src/table/ui.buttons.js.map +1 -1
- package/dist/src/table/ui.units.js +1 -1
- package/dist/src/table/ui.units.js.map +1 -1
- package/dist/src/table-grid/create.table-grid.js +1 -1
- package/dist/src/table-grid/create.table-grid.js.map +1 -1
- package/dist/src/table-grid/dino.js +1 -1
- package/dist/src/table-grid/dino.js.map +1 -1
- package/dist/src/table-grid/filter-bar/base.js +1 -1
- package/dist/src/table-grid/filter-bar/base.js.map +1 -1
- package/dist/src/table-grid/filter-bar/create.filter-bar.js +1 -1
- package/dist/src/table-grid/filter-bar/create.filter-bar.js.map +1 -1
- package/dist/src/table-grid/filter-bar/create.filter-menu.js +1 -1
- package/dist/src/table-grid/filter-bar/create.filter-menu.js.map +1 -1
- package/dist/src/table-grid/filter-bar/create.filter-panel.js +1 -1
- package/dist/src/table-grid/filter-bar/create.filter-panel.js.map +1 -1
- package/dist/src/table-grid/filter-bar/create.filtered.js +1 -1
- package/dist/src/table-grid/filter-bar/create.filtered.js.map +1 -1
- package/dist/src/table-grid/filter-bar/ui.units.js +1 -1
- package/dist/src/table-grid/filter-bar/ui.units.js.map +1 -1
- package/dist/src/table-grid/helpers.js +1 -1
- package/dist/src/table-grid/helpers.js.map +1 -1
- package/dist/src/table-grid/item-actions.js +1 -1
- package/dist/src/table-grid/item-actions.js.map +1 -1
- package/dist/src/table-grid/styled.js +2 -0
- package/dist/src/table-grid/styled.js.map +1 -0
- package/dist/src/table-grid/toolbar-pannel.js +1 -1
- package/dist/src/table-grid/toolbar-pannel.js.map +1 -1
- package/dist/src/table-grid/url-query-param.js +1 -1
- package/dist/src/table-grid/url-query-param.js.map +1 -1
- package/dist/src/utils/helpers.js +1 -1
- package/dist/src/utils/helpers.js.map +1 -1
- package/dist/src/utils/json-object.js +1 -1
- package/dist/src/utils/json-object.js.map +1 -1
- package/dist/src/utils/query-param.js +1 -1
- package/dist/src/utils/query-param.js.map +1 -1
- package/dist/types/mfe-shared/navigation.d.ts +5 -2
- package/dist/types/table-grid/create.table-grid.d.ts +2 -2
- package/dist/types/table-grid/helpers.d.ts +0 -11
- package/dist/types/table-grid/styled.d.ts +19 -0
- package/dist/types/table-grid/types.d.ts +6 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar-pannel.js","sources":["../../../src/table-grid/toolbar-pannel.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, styled, Tooltip, Typography, TypographyProps } from '@mui/material'\r\nimport AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline'\r\nimport { mapGlobalModalContext } from '../api-context'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\n\r\nexport interface ISectionSlots {\r\n before?: React.ReactNode\r\n after?: React.ReactNode\r\n}\r\n\r\nexport interface IToolbarPannelProps {\r\n /** @default true */\r\n visible?: boolean\r\n searchInclude?: string[]\r\n breadcrumbs?: IBreadcrumbConfig[]\r\n title?: React.ReactNode\r\n titleSlots?: ISectionSlots\r\n formCreate?: React.ReactNode\r\n actionSlots?: ISectionSlots\r\n slots?: {\r\n rootProps?: BoxProps\r\n buttonCreateProps?: ButtonProps\r\n }\r\n}\r\n\r\nclass ToolbarPannel extends Component<IToolbarPannelProps> {\r\n render() {\r\n if (this.props.visible === false) return\r\n return (\r\n <Wrap {...this.props.slots?.rootProps}>\r\n {this.props.titleSlots?.before}\r\n {this.renderTitle()}\r\n {this.props.titleSlots?.after}\r\n <Box sx={{ flex: { xs: '0 0 auto', md: 1 }, width: { xs: '100%', md: 'auto' } }} />\r\n {this.props.actionSlots?.before}\r\n {this.renderButtonCreate()}\r\n {this.props.actionSlots?.after}\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderButtonCreate = () => {\r\n if (!this.props.formCreate) return <></>\r\n return mapGlobalModalContext((context) => (\r\n <Tooltip title='Create new'>\r\n <Button\r\n size='small'\r\n onClick={() => context.show({ renderContent: () => this.props.formCreate })}\r\n startIcon={<AddCircleOutlineIcon fontSize='small' />}\r\n sx={{ fontWeight: 600 }}\r\n variant='contained'\r\n {...this.props.slots?.buttonCreateProps}\r\n >\r\n Create\r\n </Button>\r\n </Tooltip>\r\n ))\r\n }\r\n\r\n renderTitle = () => {\r\n const { title, breadcrumbs } = this.props ?? {}\r\n if (breadcrumbs) return <Breadcrumbs value={breadcrumbs} />\r\n if (typeof title === 'string') return <Title>{title}</Title>\r\n return <>{title}</>\r\n }\r\n}\r\n\r\nexport default ToolbarPannel\r\n\r\n// const 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\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n height: 'var(--height-toolbar, 56px)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n padding: '0 6px',\r\n flexWrap: 'wrap',\r\n [theme.breakpoints.down('sm')]: {\r\n height: 'auto',\r\n padding: '12px 0',\r\n alignItems: 'flex-start'\r\n }\r\n}))\r\n"],"names":["ToolbarPannel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","props","formCreate","mapGlobalModalContext","context","_this$props$slots","_jsx","Tooltip","title","children","Button","_objectSpread","size","onClick","show","renderContent","startIcon","AddCircleOutlineIcon","fontSize","sx","fontWeight","variant","slots","buttonCreateProps","_this$props","_ref","breadcrumbs","Breadcrumbs","value","Title","_Fragment","_inherits","Component","_createClass","key","_this$props$slots2","_this$props$titleSlot","_this$props$titleSlot2","_this$props$actionSlo","_this$props$actionSlo2","visible","_jsxs","Wrap","rootProps","titleSlots","before","renderTitle","after","Box","flex","xs","md","width","actionSlots","renderButtonCreate","styled","Typography","noWrap","_ref2","theme","height","display","alignItems","gap","padding","flexWrap","breakpoints","down"],"mappings":"mhBA0BMA,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,GAuCjB,OAvCiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,
|
|
1
|
+
{"version":3,"file":"toolbar-pannel.js","sources":["../../../src/table-grid/toolbar-pannel.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, styled, Tooltip, Typography, TypographyProps } from '@mui/material'\r\nimport AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline'\r\nimport { mapGlobalModalContext } from '../api-context'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\n\r\nexport interface ISectionSlots {\r\n before?: React.ReactNode\r\n after?: React.ReactNode\r\n}\r\n\r\nexport interface IToolbarPannelProps {\r\n /** @default true */\r\n visible?: boolean\r\n searchInclude?: string[]\r\n breadcrumbs?: IBreadcrumbConfig[]\r\n title?: React.ReactNode\r\n titleSlots?: ISectionSlots\r\n formCreate?: React.ReactNode\r\n actionSlots?: ISectionSlots\r\n slots?: {\r\n rootProps?: BoxProps\r\n buttonCreateProps?: ButtonProps\r\n }\r\n}\r\n\r\nclass ToolbarPannel extends Component<IToolbarPannelProps> {\r\n render() {\r\n if (this.props.visible === false) return\r\n return (\r\n <Wrap {...this.props.slots?.rootProps}>\r\n {this.props.titleSlots?.before}\r\n {this.renderTitle()}\r\n {this.props.titleSlots?.after}\r\n <Box sx={{ flex: { xs: '0 0 auto', md: 1 }, width: { xs: '100%', md: 'auto' } }} />\r\n {this.props.actionSlots?.before}\r\n {this.renderButtonCreate()}\r\n {this.props.actionSlots?.after}\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderButtonCreate = () => {\r\n if (!this.props.formCreate) return <></>\r\n return mapGlobalModalContext((context) => (\r\n <Tooltip title='Create new'>\r\n <Button\r\n size='small'\r\n onClick={() => context.show({ renderContent: () => this.props.formCreate })}\r\n startIcon={<AddCircleOutlineIcon fontSize='small' />}\r\n sx={{ fontWeight: 600 }}\r\n variant='contained'\r\n {...this.props.slots?.buttonCreateProps}\r\n >\r\n Create\r\n </Button>\r\n </Tooltip>\r\n ))\r\n }\r\n\r\n renderTitle = () => {\r\n const { title, breadcrumbs } = this.props ?? {}\r\n if (breadcrumbs) return <Breadcrumbs value={breadcrumbs} />\r\n if (typeof title === 'string') return <Title>{title}</Title>\r\n return <>{title}</>\r\n }\r\n}\r\n\r\nexport default ToolbarPannel\r\n\r\n// const 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\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n height: 'var(--height-toolbar, 56px)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n padding: '0 6px',\r\n flexWrap: 'wrap',\r\n [theme.breakpoints.down('sm')]: {\r\n height: 'auto',\r\n padding: '12px 0',\r\n alignItems: 'flex-start'\r\n }\r\n}))\r\n"],"names":["ToolbarPannel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","props","formCreate","mapGlobalModalContext","context","_this$props$slots","_jsx","Tooltip","title","children","Button","_objectSpread","size","onClick","show","renderContent","startIcon","AddCircleOutlineIcon","fontSize","sx","fontWeight","variant","slots","buttonCreateProps","_this$props","_ref","breadcrumbs","Breadcrumbs","value","Title","_Fragment","_inherits","Component","_createClass","key","_this$props$slots2","_this$props$titleSlot","_this$props$titleSlot2","_this$props$actionSlo","_this$props$actionSlo2","visible","_jsxs","Wrap","rootProps","titleSlots","before","renderTitle","after","Box","flex","xs","md","width","actionSlots","renderButtonCreate","styled","Typography","noWrap","_ref2","theme","height","display","alignItems","gap","padding","flexWrap","breakpoints","down"],"mappings":"mhBA0BMA,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,GAuCjB,OAvCiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,qBAgBG,WACnB,OAAKA,EAAKY,MAAMC,WACTC,EAAsB,SAACC,GAAO,IAAAC,EAAA,OACnCC,EAACC,GAAQC,MAAM,aAAYC,SACzBH,EAACI,EAAMC,EAAAA,EAAA,CACLC,KAAK,QACLC,QAAS,WAAF,OAAQT,EAAQU,KAAK,CAAEC,cAAe,WAAF,OAAQ1B,EAAKY,MAAMC,UAAU,GAAG,EAC3Ec,UAAWV,EAACW,EAAqB,CAAAC,SAAS,UAC1CC,GAAI,CAAEC,WAAY,KAClBC,QAAQ,aACY,QADDhB,EACfhB,EAAKY,MAAMqB,aAAK,IAAAjB,OAAA,EAAhBA,EAAkBkB,mBAAiB,CAAA,EAAA,uBAIjC,GAbuBjB,UAepCN,EAAAX,EAAA,cAEa,WAAK,IAAAmC,EACjBC,EAAyC,QAAzCD,EAA+BnC,EAAKY,aAAK,IAAAuB,EAAAA,EAAI,CAAE,EAAvChB,EAAKiB,EAALjB,MAAOkB,EAAWD,EAAXC,YACf,OAAIA,EAAoBpB,EAACqB,EAAW,CAACC,MAAOF,IACNpB,EAAjB,iBAAVE,EAA4BqB,EAChCC,EADuC,CAAArB,SAAAD,MAE/CnB,CAAA,CAAA,OAAA0C,EAAA3C,EAvCyB4C,GAuCzBC,EAAA7C,EAAA,CAAA,CAAA8C,IAAA,SAAAN,MAtCD,WAAM,IAAAO,EAAAC,EAAAC,EAAAC,EAAAC,EACJ,IAA2B,IAAvBzC,KAAKG,MAAMuC,QACf,OACEC,EAACC,EAAI/B,EAAAA,KAAqB,QAArBwB,EAAKrC,KAAKG,MAAMqB,aAAXa,IAAgBA,OAAhBA,EAAAA,EAAkBQ,WAAS,GAAA,WACb,UAArB7C,KAAKG,MAAM2C,kBAAXR,IAAqBA,OAArBA,EAAAA,EAAuBS,OACvB/C,KAAKgD,cACgB,QADHT,EAClBvC,KAAKG,MAAM2C,kBAAU,IAAAP,OAAA,EAArBA,EAAuBU,MACxBzC,EAAC0C,EAAI,CAAA7B,GAAI,CAAE8B,KAAM,CAAEC,GAAI,WAAYC,GAAI,GAAKC,MAAO,CAAEF,GAAI,OAAQC,GAAI,mBAAcb,EAClFxC,KAAKG,MAAMoD,mBAAW,IAAAf,OAAA,EAAtBA,EAAwBO,OACxB/C,KAAKwD,qBACiBf,QADGA,EACzBzC,KAAKG,MAAMoD,mBAAXd,IAAsBA,OAAtBA,EAAAA,EAAwBQ,SAG/B,IAAC,IA8CGlB,EAAQ0B,EAAO,SAACtD,GAAsB,OAAKK,EAACkD,EAAU7C,EAAA,CAAC8C,UAAOpC,QAAQ,aAAgBpB,GAAS,EAAvFsD,CAAyF,CACrGnC,WAAY,IACZ6B,KAAM,IAGFP,EAAOa,EAAOP,EAAPO,CAAY,SAAAG,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAA3D,EAAA,CAC/B4D,OAAQ,8BACRC,QAAS,OACTC,WAAY,SACZC,IAAK,MACLC,QAAS,QACTC,SAAU,QACTN,EAAMO,YAAYC,KAAK,MAAQ,CAC9BP,OAAQ,OACRI,QAAS,SACTF,WAAY,cACb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createClass as e,classCallCheck as t,defineProperty as a,objectSpread2 as i}from"../../_virtual/_rollupPluginBabelHelpers.js";import{deepRemoveEmptyFields as l}from"../utils/helpers.js";import"../utils/dayjs-config.js";import{QueryParam as r}from"../utils/query-param.js";var n=new(e(
|
|
1
|
+
import{createClass as e,classCallCheck as t,defineProperty as a,objectSpread2 as i}from"../../_virtual/_rollupPluginBabelHelpers.js";import{deepRemoveEmptyFields as l}from"../utils/helpers.js";import"../utils/dayjs-config.js";import{QueryParam as r}from"../utils/query-param.js";var n=new(e(function e(){var n=this;t(this,e),a(this,"getUrlQuery",function(e){try{var t=r.gets("table");return t.table?JSON.parse(t.table):null==e?void 0:e.defaultFilter}catch(t){return null==e?void 0:e.defaultFilter}}),a(this,"setUrlQuery",function(e,t){var a=n.extractFilter(e,t),i=l(a);if(0===Object.keys(i).length)return r.replaceDeletes("table");r.replacePatch({table:JSON.stringify(i)})}),a(this,"extractFilter",function(e,t){var a,l,r,n,o=(null==t?void 0:t.defaultFilter)||{},s=i({},e);delete s.details,delete s.loading;var u=(null===(a=s.pagination)||void 0===a?void 0:a.page)===(null===(l=o.pagination)||void 0===l?void 0:l.page),d=(null===(r=s.pagination)||void 0===r?void 0:r.pageSize)===(null===(n=o.pagination)||void 0===n?void 0:n.pageSize);return u&&d&&delete s.pagination,s})}));export{n as default};
|
|
2
2
|
//# sourceMappingURL=url-query-param.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-query-param.js","sources":["../../../src/table-grid/url-query-param.ts"],"sourcesContent":["import { ITableGridFilter } from './types'\r\nimport { deepRemoveEmptyFields, QueryParam } from '../utils'\r\n\r\nexport interface ITableGridQueryParams {\r\n table?: string\r\n}\r\n\r\nexport interface IUrlQueryParamOptions<T> {\r\n defaultFilter?: ITableGridFilter<T>\r\n}\r\n\r\nclass UrlQueryParamBase {\r\n getUrlQuery = <T>(options?: IUrlQueryParamOptions<T>) => {\r\n try {\r\n const query = QueryParam.gets<ITableGridQueryParams>('table')\r\n return query.table ? JSON.parse(query.table) : options?.defaultFilter\r\n } catch (error) {\r\n return options?.defaultFilter\r\n }\r\n }\r\n\r\n setUrlQuery = <T>(params: ITableGridFilter<T>, options?: IUrlQueryParamOptions<T>) => {\r\n const filter = this.extractFilter(params, options)\r\n const filterRemovedEmpty = deepRemoveEmptyFields(filter)\r\n\r\n if (Object.keys(filterRemovedEmpty).length === 0) {\r\n return QueryParam.replaceDeletes<ITableGridQueryParams>('table')\r\n }\r\n QueryParam.replacePatch<ITableGridQueryParams>({ table: JSON.stringify(filterRemovedEmpty) })\r\n }\r\n\r\n extractFilter = <T>(filter: ITableGridFilter<T>, options?: IUrlQueryParamOptions<T>): ITableGridFilter<T> => {\r\n const dFilter: Partial<ITableGridFilter<T>> = options?.defaultFilter || {}\r\n const obj = { ...filter }\r\n delete obj.details\r\n delete obj.loading\r\n\r\n const checkPagination1 = obj.pagination?.page === dFilter.pagination?.page\r\n const checkPagination2 = obj.pagination?.pageSize === dFilter.pagination?.pageSize\r\n if (checkPagination1 && checkPagination2) delete obj.pagination\r\n\r\n return obj\r\n }\r\n}\r\n\r\nconst UrlQueryParam = new UrlQueryParamBase()\r\nexport default UrlQueryParam\r\n"],"names":["UrlQueryParam","_createClass","UrlQueryParamBase","_this","this","_classCallCheck","_defineProperty","options","query","QueryParam","gets","table","JSON","parse","defaultFilter","error","params","filter","extractFilter","filterRemovedEmpty","deepRemoveEmptyFields","Object","keys","length","replaceDeletes","replacePatch","stringify","_obj$pagination","_dFilter$pagination","_obj$pagination2","_dFilter$pagination2","dFilter","obj","_objectSpread","details","loading","checkPagination1","pagination","page","checkPagination2","pageSize"],"mappings":"uRAC4D,IA4CtDA,EAAgB,IAlCCC,
|
|
1
|
+
{"version":3,"file":"url-query-param.js","sources":["../../../src/table-grid/url-query-param.ts"],"sourcesContent":["import { ITableGridFilter } from './types'\r\nimport { deepRemoveEmptyFields, QueryParam } from '../utils'\r\n\r\nexport interface ITableGridQueryParams {\r\n table?: string\r\n}\r\n\r\nexport interface IUrlQueryParamOptions<T> {\r\n defaultFilter?: ITableGridFilter<T>\r\n}\r\n\r\nclass UrlQueryParamBase {\r\n getUrlQuery = <T>(options?: IUrlQueryParamOptions<T>) => {\r\n try {\r\n const query = QueryParam.gets<ITableGridQueryParams>('table')\r\n return query.table ? JSON.parse(query.table) : options?.defaultFilter\r\n } catch (error) {\r\n return options?.defaultFilter\r\n }\r\n }\r\n\r\n setUrlQuery = <T>(params: ITableGridFilter<T>, options?: IUrlQueryParamOptions<T>) => {\r\n const filter = this.extractFilter(params, options)\r\n const filterRemovedEmpty = deepRemoveEmptyFields(filter)\r\n\r\n if (Object.keys(filterRemovedEmpty).length === 0) {\r\n return QueryParam.replaceDeletes<ITableGridQueryParams>('table')\r\n }\r\n QueryParam.replacePatch<ITableGridQueryParams>({ table: JSON.stringify(filterRemovedEmpty) })\r\n }\r\n\r\n extractFilter = <T>(filter: ITableGridFilter<T>, options?: IUrlQueryParamOptions<T>): ITableGridFilter<T> => {\r\n const dFilter: Partial<ITableGridFilter<T>> = options?.defaultFilter || {}\r\n const obj = { ...filter }\r\n delete obj.details\r\n delete obj.loading\r\n\r\n const checkPagination1 = obj.pagination?.page === dFilter.pagination?.page\r\n const checkPagination2 = obj.pagination?.pageSize === dFilter.pagination?.pageSize\r\n if (checkPagination1 && checkPagination2) delete obj.pagination\r\n\r\n return obj\r\n }\r\n}\r\n\r\nconst UrlQueryParam = new UrlQueryParamBase()\r\nexport default UrlQueryParam\r\n"],"names":["UrlQueryParam","_createClass","UrlQueryParamBase","_this","this","_classCallCheck","_defineProperty","options","query","QueryParam","gets","table","JSON","parse","defaultFilter","error","params","filter","extractFilter","filterRemovedEmpty","deepRemoveEmptyFields","Object","keys","length","replaceDeletes","replacePatch","stringify","_obj$pagination","_dFilter$pagination","_obj$pagination2","_dFilter$pagination2","dFilter","obj","_objectSpread","details","loading","checkPagination1","pagination","page","checkPagination2","pageSize"],"mappings":"uRAC4D,IA4CtDA,EAAgB,IAlCCC,EAAA,SAAAC,IAAA,IAAAC,EAAAC,KAAAC,OAAAH,GAAAI,EAAAF,KAAA,cACP,SAAIG,GAChB,IACE,IAAMC,EAAQC,EAAWC,KAA4B,SACrD,OAAOF,EAAMG,MAAQC,KAAKC,MAAML,EAAMG,OAASJ,aAAAA,EAAAA,EAASO,aACzD,CAAC,MAAOC,GACP,OAAOR,aAAAA,EAAAA,EAASO,aACjB,IACFR,EAEaF,KAAA,cAAA,SAAIY,EAA6BT,GAC7C,IAAMU,EAASd,EAAKe,cAAcF,EAAQT,GACpCY,EAAqBC,EAAsBH,GAEjD,GAA+C,IAA3CI,OAAOC,KAAKH,GAAoBI,OAClC,OAAOd,EAAWe,eAAsC,SAE1Df,EAAWgB,aAAoC,CAAEd,MAAOC,KAAKc,UAAUP,OACxEb,EAEeF,KAAA,gBAAA,SAAIa,EAA6BV,GAA2D,IAAAoB,EAAAC,EAAAC,EAAAC,EACpGC,GAAwCxB,aAAAA,EAAAA,EAASO,gBAAiB,CAAE,EACpEkB,EAAGC,EAAA,CAAA,EAAQhB,UACVe,EAAIE,eACJF,EAAIG,QAEX,IAAMC,GAAiCT,QAAdA,EAAAK,EAAIK,kBAAJV,IAAcA,OAAdA,EAAAA,EAAgBW,SAA2B,QAAvBV,EAAKG,EAAQM,kBAAU,IAAAT,OAAA,EAAlBA,EAAoBU,MAChEC,GAAiCV,QAAdA,EAAAG,EAAIK,kBAAJR,IAAcA,OAAdA,EAAAA,EAAgBW,aAA+B,QAAvBV,EAAKC,EAAQM,kBAAU,IAAAP,OAAA,EAAlBA,EAAoBU,UAG1E,OAFIJ,GAAoBG,UAAyBP,EAAIK,WAE9CL,GACR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r,asyncToGenerator as t,typeof as n,regenerator as e,objectSpread2 as o,toArray as a}from"../../_virtual/_rollupPluginBabelHelpers.js";import
|
|
1
|
+
import{slicedToArray as r,asyncToGenerator as t,typeof as n,regenerator as e,objectSpread2 as o,toArray as a,arrayLikeToArray as c}from"../../_virtual/_rollupPluginBabelHelpers.js";import i from"dayjs";var u=function(r){return new Promise(function(t){return setTimeout(t,r)})},s=function(){var n=t(e().m(function t(n,o){var a,c,i;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,Promise.all([n(),u(o)]);case 1:return a=t.v,c=r(a,1),i=c[0],t.a(2,i)}},t)}));return function(r,t){return n.apply(this,arguments)}}(),f=function(r){return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(r)},l=function(r){return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(r)},y=function(r){return/^(\+?\d{1,4}[\s-]?)?((\(\d{1,4}\))|\d{1,4})[\s-]?\d{1,4}[\s-]?\d{1,9}$/.test((null!=r?r:"").trim())},d=function(r){return/^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i.test(r)},v=function(r,t){setTimeout(function(){window.scrollTo(o({top:0,left:0,behavior:"smooth"},r))},t||50)},h=function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];return t.join(" ")},p=function(r){return r&&"object"===n(r)&&!Array.isArray(r)},A=function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];return t.reduce(function(r,t){return t?(Object.keys(t).forEach(function(n){p(r[n])&&p(t[n])?r[n]=A(r[n],t[n]):r[n]=t[n]}),r):r},{})},m=function(t){try{return t?Object.entries(t).reduce(function(t,n){var e=r(n,2),o=e[0],a=e[1];return void 0!==a&&(t[o]=a),t},{}):{}}catch(r){return{}}},g=function(t){if("object"!==n(t)||null===t)return t;var e=Array.isArray(t)?[]:{};return Object.entries(t).forEach(function(t){var o=r(t,2),a=o[0],c=o[1];if(null==c||"string"==typeof c&&""===c.trim()||"number"==typeof c&&isNaN(c)||Array.isArray(c)&&0===c.length||"object"===n(c)&&!Array.isArray(c)&&0===Object.keys(g(c)).length);else if("object"!==n(c)||Array.isArray(c))e[a]=c;else{var i=g(c);Object.keys(i).length>0&&(e[a]=i)}}),e},b=function(r){try{var t=(new TextEncoder).encode(r),n="";return t.forEach(function(r){n+=String.fromCharCode(r)}),btoa(n)}catch(r){return console.error("Error encoding to base64",r),""}},w=function(r){try{for(var t=atob(r),n=new Uint8Array(t.length),e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return(new TextDecoder).decode(n)}catch(r){return void console.error("Error decoding base64",r)}},j=function(r,t){try{return r?JSON.parse(r):t}catch(r){return console.log(r),t}},F=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];try{if(!r)return[];var n=JSON.parse(r);return Array.isArray(n)?n:[]}catch(r){return t}},Y=function(r,t){try{return r?parseInt(r):t}catch(r){return t}},E=function(r){return new Promise(function(t,n){var e=new FileReader;e.onload=function(){try{var r=e.result.split(/\r?\n/).filter(Boolean);if(r.length<1)return t([]);var n=r[0].split(",").map(function(r){return r.trim()}),o=r.slice(1).map(function(r){var t=r.split(",").map(function(r){return r.trim()}),e={};return n.forEach(function(r,n){var o;e[r]=null!==(o=t[n])&&void 0!==o?o:""}),e});t(o)}catch(r){t([])}},e.onerror=function(){n(new Error("Error reading file"))},e.readAsText(r)})},T=function(r){return r<1024?r.toFixed(2)+" Kb":r<1048576?(r/1024).toFixed(2)+" Mb":r<1073741824?(r/1048576).toFixed(2)+" Gb":(r/1073741824).toFixed(2)+" Tb"},x=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"$ ",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";try{n=parseFloat(t),isNaN(n)&&(n=0)}catch(r){n=0}var a=n.toFixed(2).split("."),c=r(a,2),i=c[0],u=c[1],s=i.replace(/\B(?=(\d{3})+(?!\d))/g," "),f=s;return"00"!==u&&(f="".concat(s,".").concat(u)),"".concat(e).concat(f).concat(o)},M=function(r){return r.toLocaleString("en-US")},O=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!r)return r;var t=Array.from(r),n=a(t),e=n[0],o=c(n).slice(1);return"".concat(e.toUpperCase()).concat(o.join(""))},D={style1:"DD/MM/YYYY HH:mm",style2:"MMMM D, YYYY",style3:"MM-DD-YYYY"},N=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"style1";try{if(!r)throw new Error;return i(r).format(D[t])}catch(r){return"unknown"}};export{m as cleanObject,w as decodeBase64,g as deepRemoveEmptyFields,b as encodeBase64,s as fetchDelay,O as formatCapitalizeFirstText,x as formatCurrency,N as formatDatetime,T as formatFileSize,M as formatNumberWithCommas,f as isGuid,l as isValidEmail,y as isValidPhoneNumber,d as isValidURL,h as mergeClasses,A as mergeObjects,u as sleep,F as tryParseArray,E as tryParseCsvFileToArray,Y as tryParseIntRequired,j as tryParseObject,v as windowScrollToTop};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../src/utils/helpers.ts"],"sourcesContent":["import dayjs from 'dayjs'\r\n\r\nexport const sleep = (sec: number) => new Promise((res) => setTimeout(res, sec))\r\n\r\nexport const fetchDelay = async function <TModel>(action: () => Promise<TModel>, sec: number) {\r\n const [res] = await Promise.all([action(), sleep(sec)])\r\n return res\r\n}\r\n\r\nexport const isGuid = (value: string): boolean => {\r\n const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/\r\n return guidRegex.test(value)\r\n}\r\n\r\nexport const isValidEmail = (value: string) => {\r\n const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\r\n return regex.test(value)\r\n}\r\n\r\nexport const isValidPhoneNumber = (phoneNumber?: string): boolean => {\r\n const phoneRegex = /^(\\+?\\d{1,4}[\\s-]?)?((\\(\\d{1,4}\\))|\\d{1,4})[\\s-]?\\d{1,4}[\\s-]?\\d{1,9}$/\r\n return phoneRegex.test((phoneNumber ?? '').trim())\r\n}\r\n\r\nexport const isValidURL = (url: string): boolean => {\r\n const regex = /^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/i\r\n return regex.test(url)\r\n}\r\n\r\nexport const windowScrollToTop = (options?: ScrollToOptions, delay?: number) => {\r\n setTimeout(() => {\r\n window.scrollTo({ top: 0, left: 0, behavior: 'smooth', ...options })\r\n }, delay || 50)\r\n}\r\n\r\nexport const mergeClasses = (...classes: string[]) => {\r\n return classes.join(' ')\r\n}\r\n\r\n//#region Object\r\n/**\r\n * Simple object check.\r\n * @param item\r\n * @returns {boolean}\r\n */\r\nconst isObject = (obj: any) => {\r\n return obj && typeof obj === 'object' && !Array.isArray(obj)\r\n}\r\n\r\ntype DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] } | undefined\r\n\r\nexport const mergeObjects = <T>(...objects: DeepPartial<T>[]): T => {\r\n return objects.reduce((prev, obj) => {\r\n if (!obj) return prev\r\n Object.keys(obj).forEach((key) => {\r\n if (isObject((prev as any)[key]) && isObject((obj as any)[key])) {\r\n ;(prev as any)[key] = mergeObjects((prev as any)[key], (obj as any)[key])\r\n } else {\r\n ;(prev as any)[key] = (obj as any)[key]\r\n }\r\n })\r\n return prev\r\n }, {} as T) as any\r\n}\r\n\r\nexport const cleanObject = <T extends object>(obj: T): Partial<T> => {\r\n try {\r\n if (!obj) return {}\r\n return Object.entries(obj).reduce((acc, [key, value]) => {\r\n if (value !== undefined) {\r\n ;(acc as any)[key] = value\r\n }\r\n return acc\r\n }, {} as Partial<T>)\r\n } catch (error) {\r\n return {}\r\n }\r\n}\r\n\r\nexport const deepRemoveEmptyFields = <T extends object>(obj: T): T => {\r\n if (typeof obj !== 'object' || obj === null) return obj\r\n const result: any = Array.isArray(obj) ? [] : {}\r\n Object.entries(obj).forEach(([key, value]) => {\r\n if (\r\n value === undefined ||\r\n value === null ||\r\n (typeof value === 'string' && value.trim() === '') ||\r\n (typeof value === 'number' && isNaN(value)) ||\r\n (Array.isArray(value) && value.length === 0) ||\r\n (typeof value === 'object' && !Array.isArray(value) && Object.keys(deepRemoveEmptyFields(value)).length === 0)\r\n ) {\r\n // skip\r\n } else if (typeof value === 'object' && !Array.isArray(value)) {\r\n const cleaned = deepRemoveEmptyFields(value)\r\n if (Object.keys(cleaned).length > 0) result[key] = cleaned\r\n } else {\r\n result[key] = value\r\n }\r\n })\r\n return result\r\n}\r\n//#endregion\r\n\r\nexport const encodeBase64 = (input: string): string => {\r\n try {\r\n const utf8Bytes = new TextEncoder().encode(input)\r\n let binaryString = ''\r\n utf8Bytes.forEach((byte) => {\r\n binaryString += String.fromCharCode(byte)\r\n })\r\n return btoa(binaryString)\r\n } catch (error) {\r\n console.error('Error encoding to base64', error)\r\n return ''\r\n }\r\n}\r\n\r\nexport const decodeBase64 = (encoded: string): string | undefined => {\r\n try {\r\n const binaryString = atob(encoded)\r\n const utf8Bytes = new Uint8Array(binaryString.length)\r\n for (let i = 0; i < binaryString.length; i++) {\r\n utf8Bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n return new TextDecoder().decode(utf8Bytes)\r\n } catch (error) {\r\n console.error('Error decoding base64', error)\r\n return\r\n }\r\n}\r\n\r\n//#region Try Parse\r\nexport const tryParseObject = function <T>(value: any, defaultValue: T): T {\r\n try {\r\n if (!value) return defaultValue\r\n return JSON.parse(value)\r\n } catch (error) {\r\n console.log(error)\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseArray = function <T>(value: any, defaultValue: T[] = []): T[] {\r\n try {\r\n if (!value) return []\r\n const parseValue = JSON.parse(value)\r\n return Array.isArray(parseValue) ? parseValue : []\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseIntRequired = function (value: any, defaultValue: number): number {\r\n try {\r\n if (!value) return defaultValue\r\n return parseInt(value)\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseCsvFileToArray = (file: File): Promise<Record<string, string>[]> => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n\r\n reader.onload = () => {\r\n try {\r\n const text = reader.result as string\r\n const rows = text.split(/\\r?\\n/).filter(Boolean)\r\n\r\n if (rows.length < 1) return resolve([])\r\n\r\n const headers = rows[0].split(',').map((h) => h.trim())\r\n\r\n const data = rows.slice(1).map((row) => {\r\n const values = row.split(',').map((v) => v.trim())\r\n const item: Record<string, string> = {}\r\n\r\n headers.forEach((header, index) => {\r\n item[header] = values[index] ?? ''\r\n })\r\n\r\n return item\r\n })\r\n\r\n resolve(data)\r\n } catch (error) {\r\n resolve([])\r\n }\r\n }\r\n\r\n reader.onerror = () => {\r\n reject(new Error('Error reading file'))\r\n }\r\n\r\n reader.readAsText(file)\r\n })\r\n}\r\n//#endregion\r\n\r\n//#region Format\r\nexport const formatFileSize = (sizeInKb: number) => {\r\n if (sizeInKb < 1024) {\r\n return sizeInKb.toFixed(2) + ' Kb'\r\n } else if (sizeInKb < 1024 * 1024) {\r\n return (sizeInKb / 1024).toFixed(2) + ' Mb'\r\n } else if (sizeInKb < 1024 * 1024 * 1024) {\r\n return (sizeInKb / (1024 * 1024)).toFixed(2) + ' Gb'\r\n } else {\r\n return (sizeInKb / (1024 * 1024 * 1024)).toFixed(2) + ' Tb'\r\n }\r\n}\r\n\r\nexport const formatCurrency = (value?: any, prefix = '$ ', suffix = ''): string => {\r\n let parsedValue\r\n try {\r\n parsedValue = parseFloat(value)\r\n if (isNaN(parsedValue)) parsedValue = 0\r\n } catch (e) {\r\n parsedValue = 0\r\n }\r\n const roundedValue = parsedValue.toFixed(2)\r\n const [integerPart, decimalPart] = roundedValue.split('.')\r\n const formattedIntegerPart = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ')\r\n\r\n let formattedValue = formattedIntegerPart\r\n if (decimalPart !== '00') {\r\n formattedValue = `${formattedIntegerPart}.${decimalPart}`\r\n }\r\n return `${prefix}${formattedValue}${suffix}`\r\n}\r\n\r\nexport const formatNumberWithCommas = (number: number): string => {\r\n return number.toLocaleString('en-US')\r\n}\r\n\r\nexport const formatCapitalizeFirstText = (value: string = '') => {\r\n if (!value) return value\r\n const [first, ...data] = Array.from(value)\r\n return `${first.toUpperCase()}${data.join('')}`\r\n}\r\n\r\nconst formatDatetimeStyle = {\r\n style1: 'DD/MM/YYYY HH:mm',\r\n style2: 'MMMM D, YYYY',\r\n style3: 'MM-DD-YYYY'\r\n}\r\n\r\n/**\r\n * Formats a datetime string using one of the predefined styles.\r\n *\r\n * Available format styles:\r\n * - style1: DD/MM/YYYY HH:mm → e.g., '25/04/2025 14:30'\r\n * - style2: 'MMMM D, YYYY' → e.g., 'April 25, 2025'\r\n * - style2: 'MM-DD-YYYY' → e.g., '04-25-2025'\r\n * @param value - A datetime string (ISO format or any format parsable by dayjs).\r\n * @param format - Format style key: 'style1' or 'style2'. Defaults to 'style1'.\r\n * @returns A formatted datetime string, or 'unknown' if the input is invalid or unparsable.\r\n */\r\nexport const formatDatetime = (value: string, format: keyof typeof formatDatetimeStyle = 'style1'): string => {\r\n try {\r\n if (!value) throw new Error()\r\n return dayjs(value).format(formatDatetimeStyle[format])\r\n } catch (error) {\r\n return 'unknown'\r\n }\r\n}\r\n//#endregion\r\n"],"names":["sleep","sec","Promise","res","setTimeout","fetchDelay","_ref","_asyncToGenerator","_regenerator","m","_callee","action","_yield$Promise$all","_yield$Promise$all2","w","_context","n","all","v","_slicedToArray","a","_x","_x2","apply","this","arguments","isGuid","value","test","isValidEmail","isValidPhoneNumber","phoneNumber","trim","isValidURL","url","windowScrollToTop","options","delay","window","scrollTo","_objectSpread","top","left","behavior","mergeClasses","_len","length","classes","Array","_key","join","isObject","obj","_typeof","isArray","mergeObjects","_len2","objects","_key2","reduce","prev","Object","keys","forEach","key","cleanObject","entries","acc","_ref2","_ref3","undefined","error","deepRemoveEmptyFields","result","_ref4","_ref5","isNaN","cleaned","encodeBase64","input","utf8Bytes","TextEncoder","encode","binaryString","byte","String","fromCharCode","btoa","console","decodeBase64","encoded","atob","Uint8Array","i","charCodeAt","TextDecoder","decode","tryParseObject","defaultValue","JSON","parse","log","tryParseArray","parseValue","_unused","tryParseIntRequired","parseInt","_unused2","tryParseCsvFileToArray","file","resolve","reject","reader","FileReader","onload","rows","split","filter","Boolean","headers","map","h","data","slice","row","values","item","header","index","_values$index","onerror","Error","readAsText","formatFileSize","sizeInKb","toFixed","formatCurrency","parsedValue","prefix","suffix","parseFloat","e","_roundedValue$split","_roundedValue$split2","integerPart","decimalPart","formattedIntegerPart","replace","formattedValue","concat","formatNumberWithCommas","number","toLocaleString","formatCapitalizeFirstText","_Array$from","from","_Array$from2","_toArray","first","toUpperCase","formatDatetimeStyle","style1","style2","style3","formatDatetime","format","dayjs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../src/utils/helpers.ts"],"sourcesContent":["import dayjs from 'dayjs'\r\n\r\nexport const sleep = (sec: number) => new Promise((res) => setTimeout(res, sec))\r\n\r\nexport const fetchDelay = async function <TModel>(action: () => Promise<TModel>, sec: number) {\r\n const [res] = await Promise.all([action(), sleep(sec)])\r\n return res\r\n}\r\n\r\nexport const isGuid = (value: string): boolean => {\r\n const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/\r\n return guidRegex.test(value)\r\n}\r\n\r\nexport const isValidEmail = (value: string) => {\r\n const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\r\n return regex.test(value)\r\n}\r\n\r\nexport const isValidPhoneNumber = (phoneNumber?: string): boolean => {\r\n const phoneRegex = /^(\\+?\\d{1,4}[\\s-]?)?((\\(\\d{1,4}\\))|\\d{1,4})[\\s-]?\\d{1,4}[\\s-]?\\d{1,9}$/\r\n return phoneRegex.test((phoneNumber ?? '').trim())\r\n}\r\n\r\nexport const isValidURL = (url: string): boolean => {\r\n const regex = /^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/i\r\n return regex.test(url)\r\n}\r\n\r\nexport const windowScrollToTop = (options?: ScrollToOptions, delay?: number) => {\r\n setTimeout(() => {\r\n window.scrollTo({ top: 0, left: 0, behavior: 'smooth', ...options })\r\n }, delay || 50)\r\n}\r\n\r\nexport const mergeClasses = (...classes: string[]) => {\r\n return classes.join(' ')\r\n}\r\n\r\n//#region Object\r\n/**\r\n * Simple object check.\r\n * @param item\r\n * @returns {boolean}\r\n */\r\nconst isObject = (obj: any) => {\r\n return obj && typeof obj === 'object' && !Array.isArray(obj)\r\n}\r\n\r\ntype DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] } | undefined\r\n\r\nexport const mergeObjects = <T>(...objects: DeepPartial<T>[]): T => {\r\n return objects.reduce((prev, obj) => {\r\n if (!obj) return prev\r\n Object.keys(obj).forEach((key) => {\r\n if (isObject((prev as any)[key]) && isObject((obj as any)[key])) {\r\n ;(prev as any)[key] = mergeObjects((prev as any)[key], (obj as any)[key])\r\n } else {\r\n ;(prev as any)[key] = (obj as any)[key]\r\n }\r\n })\r\n return prev\r\n }, {} as T) as any\r\n}\r\n\r\nexport const cleanObject = <T extends object>(obj: T): Partial<T> => {\r\n try {\r\n if (!obj) return {}\r\n return Object.entries(obj).reduce((acc, [key, value]) => {\r\n if (value !== undefined) {\r\n ;(acc as any)[key] = value\r\n }\r\n return acc\r\n }, {} as Partial<T>)\r\n } catch (error) {\r\n return {}\r\n }\r\n}\r\n\r\nexport const deepRemoveEmptyFields = <T extends object>(obj: T): T => {\r\n if (typeof obj !== 'object' || obj === null) return obj\r\n const result: any = Array.isArray(obj) ? [] : {}\r\n Object.entries(obj).forEach(([key, value]) => {\r\n if (\r\n value === undefined ||\r\n value === null ||\r\n (typeof value === 'string' && value.trim() === '') ||\r\n (typeof value === 'number' && isNaN(value)) ||\r\n (Array.isArray(value) && value.length === 0) ||\r\n (typeof value === 'object' && !Array.isArray(value) && Object.keys(deepRemoveEmptyFields(value)).length === 0)\r\n ) {\r\n // skip\r\n } else if (typeof value === 'object' && !Array.isArray(value)) {\r\n const cleaned = deepRemoveEmptyFields(value)\r\n if (Object.keys(cleaned).length > 0) result[key] = cleaned\r\n } else {\r\n result[key] = value\r\n }\r\n })\r\n return result\r\n}\r\n//#endregion\r\n\r\nexport const encodeBase64 = (input: string): string => {\r\n try {\r\n const utf8Bytes = new TextEncoder().encode(input)\r\n let binaryString = ''\r\n utf8Bytes.forEach((byte) => {\r\n binaryString += String.fromCharCode(byte)\r\n })\r\n return btoa(binaryString)\r\n } catch (error) {\r\n console.error('Error encoding to base64', error)\r\n return ''\r\n }\r\n}\r\n\r\nexport const decodeBase64 = (encoded: string): string | undefined => {\r\n try {\r\n const binaryString = atob(encoded)\r\n const utf8Bytes = new Uint8Array(binaryString.length)\r\n for (let i = 0; i < binaryString.length; i++) {\r\n utf8Bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n return new TextDecoder().decode(utf8Bytes)\r\n } catch (error) {\r\n console.error('Error decoding base64', error)\r\n return\r\n }\r\n}\r\n\r\n//#region Try Parse\r\nexport const tryParseObject = function <T>(value: any, defaultValue: T): T {\r\n try {\r\n if (!value) return defaultValue\r\n return JSON.parse(value)\r\n } catch (error) {\r\n console.log(error)\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseArray = function <T>(value: any, defaultValue: T[] = []): T[] {\r\n try {\r\n if (!value) return []\r\n const parseValue = JSON.parse(value)\r\n return Array.isArray(parseValue) ? parseValue : []\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseIntRequired = function (value: any, defaultValue: number): number {\r\n try {\r\n if (!value) return defaultValue\r\n return parseInt(value)\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseCsvFileToArray = (file: File): Promise<Record<string, string>[]> => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n\r\n reader.onload = () => {\r\n try {\r\n const text = reader.result as string\r\n const rows = text.split(/\\r?\\n/).filter(Boolean)\r\n\r\n if (rows.length < 1) return resolve([])\r\n\r\n const headers = rows[0].split(',').map((h) => h.trim())\r\n\r\n const data = rows.slice(1).map((row) => {\r\n const values = row.split(',').map((v) => v.trim())\r\n const item: Record<string, string> = {}\r\n\r\n headers.forEach((header, index) => {\r\n item[header] = values[index] ?? ''\r\n })\r\n\r\n return item\r\n })\r\n\r\n resolve(data)\r\n } catch (error) {\r\n resolve([])\r\n }\r\n }\r\n\r\n reader.onerror = () => {\r\n reject(new Error('Error reading file'))\r\n }\r\n\r\n reader.readAsText(file)\r\n })\r\n}\r\n//#endregion\r\n\r\n//#region Format\r\nexport const formatFileSize = (sizeInKb: number) => {\r\n if (sizeInKb < 1024) {\r\n return sizeInKb.toFixed(2) + ' Kb'\r\n } else if (sizeInKb < 1024 * 1024) {\r\n return (sizeInKb / 1024).toFixed(2) + ' Mb'\r\n } else if (sizeInKb < 1024 * 1024 * 1024) {\r\n return (sizeInKb / (1024 * 1024)).toFixed(2) + ' Gb'\r\n } else {\r\n return (sizeInKb / (1024 * 1024 * 1024)).toFixed(2) + ' Tb'\r\n }\r\n}\r\n\r\nexport const formatCurrency = (value?: any, prefix = '$ ', suffix = ''): string => {\r\n let parsedValue\r\n try {\r\n parsedValue = parseFloat(value)\r\n if (isNaN(parsedValue)) parsedValue = 0\r\n } catch (e) {\r\n parsedValue = 0\r\n }\r\n const roundedValue = parsedValue.toFixed(2)\r\n const [integerPart, decimalPart] = roundedValue.split('.')\r\n const formattedIntegerPart = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ')\r\n\r\n let formattedValue = formattedIntegerPart\r\n if (decimalPart !== '00') {\r\n formattedValue = `${formattedIntegerPart}.${decimalPart}`\r\n }\r\n return `${prefix}${formattedValue}${suffix}`\r\n}\r\n\r\nexport const formatNumberWithCommas = (number: number): string => {\r\n return number.toLocaleString('en-US')\r\n}\r\n\r\nexport const formatCapitalizeFirstText = (value: string = '') => {\r\n if (!value) return value\r\n const [first, ...data] = Array.from(value)\r\n return `${first.toUpperCase()}${data.join('')}`\r\n}\r\n\r\nconst formatDatetimeStyle = {\r\n style1: 'DD/MM/YYYY HH:mm',\r\n style2: 'MMMM D, YYYY',\r\n style3: 'MM-DD-YYYY'\r\n}\r\n\r\n/**\r\n * Formats a datetime string using one of the predefined styles.\r\n *\r\n * Available format styles:\r\n * - style1: DD/MM/YYYY HH:mm → e.g., '25/04/2025 14:30'\r\n * - style2: 'MMMM D, YYYY' → e.g., 'April 25, 2025'\r\n * - style2: 'MM-DD-YYYY' → e.g., '04-25-2025'\r\n * @param value - A datetime string (ISO format or any format parsable by dayjs).\r\n * @param format - Format style key: 'style1' or 'style2'. Defaults to 'style1'.\r\n * @returns A formatted datetime string, or 'unknown' if the input is invalid or unparsable.\r\n */\r\nexport const formatDatetime = (value: string, format: keyof typeof formatDatetimeStyle = 'style1'): string => {\r\n try {\r\n if (!value) throw new Error()\r\n return dayjs(value).format(formatDatetimeStyle[format])\r\n } catch (error) {\r\n return 'unknown'\r\n }\r\n}\r\n//#endregion\r\n"],"names":["sleep","sec","Promise","res","setTimeout","fetchDelay","_ref","_asyncToGenerator","_regenerator","m","_callee","action","_yield$Promise$all","_yield$Promise$all2","w","_context","n","all","v","_slicedToArray","a","_x","_x2","apply","this","arguments","isGuid","value","test","isValidEmail","isValidPhoneNumber","phoneNumber","trim","isValidURL","url","windowScrollToTop","options","delay","window","scrollTo","_objectSpread","top","left","behavior","mergeClasses","_len","length","classes","Array","_key","join","isObject","obj","_typeof","isArray","mergeObjects","_len2","objects","_key2","reduce","prev","Object","keys","forEach","key","cleanObject","entries","acc","_ref2","_ref3","undefined","error","deepRemoveEmptyFields","result","_ref4","_ref5","isNaN","cleaned","encodeBase64","input","utf8Bytes","TextEncoder","encode","binaryString","byte","String","fromCharCode","btoa","console","decodeBase64","encoded","atob","Uint8Array","i","charCodeAt","TextDecoder","decode","tryParseObject","defaultValue","JSON","parse","log","tryParseArray","parseValue","_unused","tryParseIntRequired","parseInt","_unused2","tryParseCsvFileToArray","file","resolve","reject","reader","FileReader","onload","rows","split","filter","Boolean","headers","map","h","data","slice","row","values","item","header","index","_values$index","onerror","Error","readAsText","formatFileSize","sizeInKb","toFixed","formatCurrency","parsedValue","prefix","suffix","parseFloat","e","_roundedValue$split","_roundedValue$split2","integerPart","decimalPart","formattedIntegerPart","replace","formattedValue","concat","formatNumberWithCommas","number","toLocaleString","formatCapitalizeFirstText","_Array$from","from","_Array$from2","_toArray","first","_arrayLikeToArray","toUpperCase","formatDatetimeStyle","style1","style2","style3","formatDatetime","format","dayjs"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createClass as t,classCallCheck as e,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";var u=function(){function u(t){var l=this;e(this,u),n(this,"toValue",
|
|
1
|
+
import{createClass as t,classCallCheck as e,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";var u=function(){function u(t){var l=this;e(this,u),n(this,"toValue",function(t){return l.value[t]}),n(this,"toJObject",function(t){return new u(l.value[t])}),n(this,"setValue",function(t,e){l.value[t]=e}),n(this,"toObject",function(){return l.value});try{this.value="string"==typeof t?JSON.parse(null!=t?t:"{}"):null!=t?t:{}}catch(t){this.value={}}}return t(u,null,[{key:"fromJson",value:function(t){return new u(t)}}])}();export{u as default};
|
|
2
2
|
//# sourceMappingURL=json-object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-object.js","sources":["../../../src/utils/json-object.ts"],"sourcesContent":["export default class JObject {\r\n private value: Record<string, any>\r\n constructor(value?: any) {\r\n try {\r\n if (typeof value === 'string') {\r\n this.value = JSON.parse(value ?? '{}')\r\n } else {\r\n this.value = value ?? {}\r\n }\r\n } catch (error) {\r\n this.value = {}\r\n }\r\n }\r\n static fromJson(value?: any) {\r\n return new JObject(value)\r\n }\r\n toValue = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK): T[TK] | undefined => {\r\n return this.value[key as any]\r\n }\r\n toJObject = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK): JObject => {\r\n return new JObject(this.value[key as any])\r\n }\r\n setValue = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK, value: any) => {\r\n this.value[key as any] = value\r\n }\r\n toObject = <T>(): Partial<T> => {\r\n return this.value as T\r\n }\r\n}\r\n"],"names":["JObject","value","_this","this","_classCallCheck","_defineProperty","key","JSON","parse","error","_createClass"],"mappings":"sHAAqBA,EAAO,WAE1B,SAAAA,EAAYC,GAAW,IAAAC,EAAAC,KAAAC,OAAAJ,GAAAK,EAAAF,KAAA,
|
|
1
|
+
{"version":3,"file":"json-object.js","sources":["../../../src/utils/json-object.ts"],"sourcesContent":["export default class JObject {\r\n private value: Record<string, any>\r\n constructor(value?: any) {\r\n try {\r\n if (typeof value === 'string') {\r\n this.value = JSON.parse(value ?? '{}')\r\n } else {\r\n this.value = value ?? {}\r\n }\r\n } catch (error) {\r\n this.value = {}\r\n }\r\n }\r\n static fromJson(value?: any) {\r\n return new JObject(value)\r\n }\r\n toValue = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK): T[TK] | undefined => {\r\n return this.value[key as any]\r\n }\r\n toJObject = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK): JObject => {\r\n return new JObject(this.value[key as any])\r\n }\r\n setValue = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK, value: any) => {\r\n this.value[key as any] = value\r\n }\r\n toObject = <T>(): Partial<T> => {\r\n return this.value as T\r\n }\r\n}\r\n"],"names":["JObject","value","_this","this","_classCallCheck","_defineProperty","key","JSON","parse","error","_createClass"],"mappings":"sHAAqBA,EAAO,WAE1B,SAAAA,EAAYC,GAAW,IAAAC,EAAAC,KAAAC,OAAAJ,GAAAK,EAAAF,KAAA,UAcb,SAA8DG,GACtE,OAAOJ,EAAKD,MAAMK,KACnBD,EAAAF,KAAA,YACW,SAA8DG,GACxE,OAAO,IAAIN,EAAQE,EAAKD,MAAMK,MAC/BD,EACUF,KAAA,WAAA,SAA8DG,EAASL,GAChFC,EAAKD,MAAMK,GAAcL,IAC1BI,kBACU,WACT,OAAOH,EAAKD,QAvBZ,IAEIE,KAAKF,MADc,iBAAVA,EACIM,KAAKC,MAAMP,QAAAA,EAAS,MAEpBA,QAAAA,EAAS,CAAE,CAE3B,CAAC,MAAOQ,GACPN,KAAKF,MAAQ,CAAE,CAChB,CACH,CAAC,OAAAS,EAAAV,EAAA,KAAA,CAAA,CAAAM,IAAA,WAAAL,MACD,SAAgBA,GACd,OAAO,IAAID,EAAQC,EACrB,IAAC,CAfyB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createClass as e,classCallCheck as t,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import a from"query-string";var i=function(e){var t;return null!==(t=null==e?void 0:e.trim().toLowerCase())&&void 0!==t?t:""},r=new(function(){return e(
|
|
1
|
+
import{createClass as e,classCallCheck as t,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import a from"query-string";var i=function(e){var t;return null!==(t=null==e?void 0:e.trim().toLowerCase())&&void 0!==t?t:""},r=new(function(){return e(function e(){var i=this;t(this,e),n(this,"getPath",function(){return"/"===window.location.pathname?"":window.location.pathname}),n(this,"stringify",function(e){var t=Object.keys(e).filter(function(t){return e[t]}).reduce(function(t,n){var a=encodeURIComponent(e[n]);return t[n]=a,t},{});return"?"+a.stringify(t,{skipNull:!0,skipEmptyString:!0})}),n(this,"getAll",function(){return i.getValues()})},[{key:"getValues",value:function(){return a.parse(decodeURIComponent(window.location.search))}},{key:"getValuesMap",value:function(){var e=this.getValues();return new Map(Object.keys(e).map(function(t){return[i(t),e[t]]}))}},{key:"getkeysMap",value:function(){var e=this.getValues();return new Map(Object.keys(e).map(function(e){return[i(e),e]}))}},{key:"replace",value:function(e,t){window.history.replaceState(null!=t?t:{},"","".concat(this.getPath()).concat(this.stringify(e))),window.dispatchEvent(new window.PopStateEvent("popstate"))}},{key:"patch",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();Object.keys(e).forEach(function(t){var r,o=i(t);a.has(o)?n[null!==(r=a.get(o))&&void 0!==r?r:""]=e[t]:n[t]=e[t]}),this.put(n,t)}},{key:"replacePatch",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();Object.keys(e).forEach(function(t){var r,o=i(t);a.has(o)?n[null!==(r=a.get(o))&&void 0!==r?r:""]=e[t]:n[t]=e[t]}),this.replace(n,t)}},{key:"put",value:function(e,t){window.history.pushState(null!=t?t:{},"","".concat(this.getPath()).concat(this.stringify(e))),window.dispatchEvent(new window.PopStateEvent("popstate"))}},{key:"deletes",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.deletesWithState(t)}},{key:"replaceDeletes",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.replaceDeletesWithState(t)}},{key:"replaceDeletesWithState",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();e.forEach(function(e){var t,r=i(e.toString());a.has(r)&&delete n[null!==(t=a.get(r))&&void 0!==t?t:""]}),this.replace(n,t)}},{key:"deletesWithState",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();e.forEach(function(e){var t,r=i(e.toString());a.has(r)&&delete n[null!==(t=a.get(r))&&void 0!==t?t:""]}),this.put(n,t)}},{key:"deleteAll",value:function(){window.history.replaceState({},"","".concat(this.getPath()))}},{key:"gets",value:function(){for(var e=this.getValuesMap(),t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return n.reduce(function(t,n){var a=i(n.toString());return e.has(a)&&(t[n]=e.get(a)),t},{})}}])}());export{r as QueryParam,r as default};
|
|
2
2
|
//# sourceMappingURL=query-param.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-param.js","sources":["../../../src/utils/query-param.ts"],"sourcesContent":["import queryString from 'query-string'\r\n\r\nconst stringStardize = (str: string) => str?.trim().toLowerCase() ?? ''\r\n\r\nclass QueryParamBase {\r\n private getValues() {\r\n // return queryString.parse(decodeURIComponent(window.location.search))\r\n return queryString.parse(decodeURIComponent(window.location.search))\r\n }\r\n\r\n private getValuesMap() {\r\n const query = this.getValues()\r\n return new Map(Object.keys(query).map((x) => [stringStardize(x), query[x] as string]))\r\n }\r\n\r\n private getkeysMap() {\r\n const query = this.getValues()\r\n return new Map(Object.keys(query).map((x) => [stringStardize(x), x]))\r\n }\r\n\r\n private getPath = () => (window.location.pathname === '/' ? '' : window.location.pathname)\r\n\r\n // stringify<TParam extends {} = any>(param: TParam) {\r\n // return `?${encodeURIComponent(queryString.stringify(param, { skipNull: true, skipEmptyString: true }))}`\r\n // }\r\n stringify = <TParam extends Record<string, any> = any>(param: TParam): string => {\r\n const entries = Object.keys(param)\r\n .filter((key) => param[key]) // skip null & empty string\r\n .reduce((a, key) => {\r\n const encodedValue = encodeURIComponent(param[key])\r\n a[key] = encodedValue\r\n return a\r\n }, {} as any)\r\n\r\n return '?' + queryString.stringify(entries, { skipNull: true, skipEmptyString: true })\r\n }\r\n\r\n replace<TParam extends {} = any, TState = any>(param: TParam, state?: TState) {\r\n window.history.replaceState(state ?? {}, '', `${this.getPath()}${this.stringify(param)}`)\r\n window.dispatchEvent(new window.PopStateEvent('popstate'))\r\n }\r\n\r\n patch<TParam extends { [key: string]: any } = any, TState = any>(param: TParam, state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n Object.keys(param).forEach((k) => {\r\n const key = stringStardize(k)\r\n if (keyMap.has(key)) {\r\n query[keyMap.get(key) ?? ''] = param[k]\r\n } else {\r\n query[k] = param[k]\r\n }\r\n })\r\n this.put(query, state)\r\n }\r\n\r\n replacePatch<TParam extends { [key: string]: any } = any, TState = any>(param: TParam, state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n Object.keys(param).forEach((k) => {\r\n const key = stringStardize(k)\r\n if (keyMap.has(key)) {\r\n query[keyMap.get(key) ?? ''] = param[k]\r\n } else {\r\n query[k] = param[k]\r\n }\r\n })\r\n this.replace(query, state)\r\n }\r\n\r\n put<TParam extends {} = any, TState = any>(param: TParam, state?: TState) {\r\n window.history.pushState(state ?? {}, '', `${this.getPath()}${this.stringify(param)}`)\r\n window.dispatchEvent(new window.PopStateEvent('popstate'))\r\n }\r\n\r\n deletes<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n this.deletesWithState(keys)\r\n }\r\n\r\n replaceDeletes<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n this.replaceDeletesWithState(keys)\r\n }\r\n\r\n replaceDeletesWithState<TValue extends {} = any, TState = any>(keys: (keyof TValue)[], state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n keys.forEach((k) => {\r\n const key = stringStardize(k.toString())\r\n if (keyMap.has(key)) {\r\n delete query[keyMap.get(key) ?? '']\r\n }\r\n })\r\n this.replace(query, state)\r\n }\r\n\r\n deletesWithState<TValue extends {} = any, TState = any>(keys: (keyof TValue)[], state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n keys.forEach((k) => {\r\n const key = stringStardize(k.toString())\r\n if (keyMap.has(key)) {\r\n delete query[keyMap.get(key) ?? '']\r\n }\r\n })\r\n this.put(query, state)\r\n }\r\n\r\n deleteAll() {\r\n window.history.replaceState({}, '', `${this.getPath()}`)\r\n }\r\n\r\n getAll = () => {\r\n return this.getValues()\r\n }\r\n\r\n gets<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n const query = this.getValuesMap()\r\n return keys.reduce<Partial<TValue>>((a, k) => {\r\n const key = stringStardize(k.toString())\r\n if (query.has(key)) {\r\n a[k] = query.get(key) as any\r\n }\r\n return a\r\n }, {})\r\n }\r\n}\r\n\r\nexport const QueryParam = new QueryParamBase()\r\n// ;(window as any).QueryParam = QueryParam\r\nexport default QueryParam\r\n"],"names":["stringStardize","str","_str$trim$toLowerCase","trim","toLowerCase","QueryParam","_createClass","QueryParamBase","_this","this","_classCallCheck","_defineProperty","window","location","pathname","param","entries","Object","keys","filter","key","reduce","a","encodedValue","encodeURIComponent","queryString","stringify","skipNull","skipEmptyString","getValues","value","parse","decodeURIComponent","search","query","Map","map","x","state","history","replaceState","concat","getPath","dispatchEvent","PopStateEvent","keyMap","getkeysMap","forEach","k","_keyMap$get","has","get","put","_keyMap$get2","replace","pushState","_len","arguments","length","Array","_key","deletesWithState","_len2","_key2","replaceDeletesWithState","_keyMap$get3","toString","_keyMap$get4","getValuesMap","_len3","_key3"],"mappings":"8IAEA,IAAMA,EAAiB,SAACC,GAAW,IAAAC,EAAA,OAA8B,QAA9BA,EAAKD,aAAAA,EAAAA,EAAKE,OAAOC,qBAAaF,IAAAA,EAAAA,EAAI,EAAE,EA6H1DG,EAAa,IA3HN,WA6GjB,OAAAC,
|
|
1
|
+
{"version":3,"file":"query-param.js","sources":["../../../src/utils/query-param.ts"],"sourcesContent":["import queryString from 'query-string'\r\n\r\nconst stringStardize = (str: string) => str?.trim().toLowerCase() ?? ''\r\n\r\nclass QueryParamBase {\r\n private getValues() {\r\n // return queryString.parse(decodeURIComponent(window.location.search))\r\n return queryString.parse(decodeURIComponent(window.location.search))\r\n }\r\n\r\n private getValuesMap() {\r\n const query = this.getValues()\r\n return new Map(Object.keys(query).map((x) => [stringStardize(x), query[x] as string]))\r\n }\r\n\r\n private getkeysMap() {\r\n const query = this.getValues()\r\n return new Map(Object.keys(query).map((x) => [stringStardize(x), x]))\r\n }\r\n\r\n private getPath = () => (window.location.pathname === '/' ? '' : window.location.pathname)\r\n\r\n // stringify<TParam extends {} = any>(param: TParam) {\r\n // return `?${encodeURIComponent(queryString.stringify(param, { skipNull: true, skipEmptyString: true }))}`\r\n // }\r\n stringify = <TParam extends Record<string, any> = any>(param: TParam): string => {\r\n const entries = Object.keys(param)\r\n .filter((key) => param[key]) // skip null & empty string\r\n .reduce((a, key) => {\r\n const encodedValue = encodeURIComponent(param[key])\r\n a[key] = encodedValue\r\n return a\r\n }, {} as any)\r\n\r\n return '?' + queryString.stringify(entries, { skipNull: true, skipEmptyString: true })\r\n }\r\n\r\n replace<TParam extends {} = any, TState = any>(param: TParam, state?: TState) {\r\n window.history.replaceState(state ?? {}, '', `${this.getPath()}${this.stringify(param)}`)\r\n window.dispatchEvent(new window.PopStateEvent('popstate'))\r\n }\r\n\r\n patch<TParam extends { [key: string]: any } = any, TState = any>(param: TParam, state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n Object.keys(param).forEach((k) => {\r\n const key = stringStardize(k)\r\n if (keyMap.has(key)) {\r\n query[keyMap.get(key) ?? ''] = param[k]\r\n } else {\r\n query[k] = param[k]\r\n }\r\n })\r\n this.put(query, state)\r\n }\r\n\r\n replacePatch<TParam extends { [key: string]: any } = any, TState = any>(param: TParam, state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n Object.keys(param).forEach((k) => {\r\n const key = stringStardize(k)\r\n if (keyMap.has(key)) {\r\n query[keyMap.get(key) ?? ''] = param[k]\r\n } else {\r\n query[k] = param[k]\r\n }\r\n })\r\n this.replace(query, state)\r\n }\r\n\r\n put<TParam extends {} = any, TState = any>(param: TParam, state?: TState) {\r\n window.history.pushState(state ?? {}, '', `${this.getPath()}${this.stringify(param)}`)\r\n window.dispatchEvent(new window.PopStateEvent('popstate'))\r\n }\r\n\r\n deletes<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n this.deletesWithState(keys)\r\n }\r\n\r\n replaceDeletes<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n this.replaceDeletesWithState(keys)\r\n }\r\n\r\n replaceDeletesWithState<TValue extends {} = any, TState = any>(keys: (keyof TValue)[], state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n keys.forEach((k) => {\r\n const key = stringStardize(k.toString())\r\n if (keyMap.has(key)) {\r\n delete query[keyMap.get(key) ?? '']\r\n }\r\n })\r\n this.replace(query, state)\r\n }\r\n\r\n deletesWithState<TValue extends {} = any, TState = any>(keys: (keyof TValue)[], state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n keys.forEach((k) => {\r\n const key = stringStardize(k.toString())\r\n if (keyMap.has(key)) {\r\n delete query[keyMap.get(key) ?? '']\r\n }\r\n })\r\n this.put(query, state)\r\n }\r\n\r\n deleteAll() {\r\n window.history.replaceState({}, '', `${this.getPath()}`)\r\n }\r\n\r\n getAll = () => {\r\n return this.getValues()\r\n }\r\n\r\n gets<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n const query = this.getValuesMap()\r\n return keys.reduce<Partial<TValue>>((a, k) => {\r\n const key = stringStardize(k.toString())\r\n if (query.has(key)) {\r\n a[k] = query.get(key) as any\r\n }\r\n return a\r\n }, {})\r\n }\r\n}\r\n\r\nexport const QueryParam = new QueryParamBase()\r\n// ;(window as any).QueryParam = QueryParam\r\nexport default QueryParam\r\n"],"names":["stringStardize","str","_str$trim$toLowerCase","trim","toLowerCase","QueryParam","_createClass","QueryParamBase","_this","this","_classCallCheck","_defineProperty","window","location","pathname","param","entries","Object","keys","filter","key","reduce","a","encodedValue","encodeURIComponent","queryString","stringify","skipNull","skipEmptyString","getValues","value","parse","decodeURIComponent","search","query","Map","map","x","state","history","replaceState","concat","getPath","dispatchEvent","PopStateEvent","keyMap","getkeysMap","forEach","k","_keyMap$get","has","get","put","_keyMap$get2","replace","pushState","_len","arguments","length","Array","_key","deletesWithState","_len2","_key2","replaceDeletesWithState","_keyMap$get3","toString","_keyMap$get4","getValuesMap","_len3","_key3"],"mappings":"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"}
|
|
@@ -3,6 +3,9 @@ import EventEmitter from 'events';
|
|
|
3
3
|
import { FC } from 'react';
|
|
4
4
|
interface IEventOptions {
|
|
5
5
|
message?: string;
|
|
6
|
+
href?: string;
|
|
7
|
+
target?: string;
|
|
8
|
+
rel?: string;
|
|
6
9
|
}
|
|
7
10
|
export interface IMfeNavigationEventConfigs {
|
|
8
11
|
navigation: [{
|
|
@@ -22,7 +25,7 @@ export declare class MfeNavigationEventStore extends EventEmitter<IMfeNavigation
|
|
|
22
25
|
subscribe<K extends keyof IMfeNavigationEventConfigs>(eventName: K, listener: K extends keyof IMfeNavigationEventConfigs ? IMfeNavigationEventConfigs[K] extends unknown[] ? (...args: IMfeNavigationEventConfigs[K]) => void : never : never, isTry?: boolean): () => void;
|
|
23
26
|
}
|
|
24
27
|
export declare function getMfeNavigationEventStore(): MfeNavigationEventStore | null;
|
|
25
|
-
type INavigationFunction = (routeKey?: string) => void;
|
|
28
|
+
type INavigationFunction = (routeKey?: string, options?: IEventOptions) => void;
|
|
26
29
|
export interface IMfeNavigationProviderProps {
|
|
27
30
|
navigation?: INavigationFunction;
|
|
28
31
|
}
|
|
@@ -31,5 +34,5 @@ export interface IMfeLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElem
|
|
|
31
34
|
routeKey?: string;
|
|
32
35
|
}
|
|
33
36
|
export declare const MfeLink: import("react").ForwardRefExoticComponent<IMfeLinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
34
|
-
export declare const mfeNavigation: (routeKey: string) => void;
|
|
37
|
+
export declare const mfeNavigation: (routeKey: string, options?: IEventOptions) => void;
|
|
35
38
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
2
|
import { ITableGridParams, ITableGridProps } from './types';
|
|
3
|
-
declare function CreateTableGrid<T extends object>(params: ITableGridParams<T>):
|
|
3
|
+
declare function CreateTableGrid<T extends object>(params: ITableGridParams<T>): ComponentType<ITableGridProps<T>>;
|
|
4
4
|
export default CreateTableGrid;
|
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
import { IPaginationModel } from './types';
|
|
2
2
|
export declare const defaultPagination: IPaginationModel;
|
|
3
|
-
export declare const tableGridClasses: {
|
|
4
|
-
root: string;
|
|
5
|
-
content: string;
|
|
6
|
-
contentPosition: string;
|
|
7
|
-
contentInner: string;
|
|
8
|
-
loading: string;
|
|
9
|
-
overlay: string;
|
|
10
|
-
item: string;
|
|
11
|
-
actions: string;
|
|
12
|
-
noItems: string;
|
|
13
|
-
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const tableGridClasses: {
|
|
3
|
+
root: string;
|
|
4
|
+
content: string;
|
|
5
|
+
contentPosition: string;
|
|
6
|
+
contentInner: string;
|
|
7
|
+
filterBarWrap: string;
|
|
8
|
+
loading: string;
|
|
9
|
+
overlay: string;
|
|
10
|
+
item: string;
|
|
11
|
+
actions: string;
|
|
12
|
+
noItems: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const TableGridStyled: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
15
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
16
|
+
}, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
17
|
+
export declare const ItemDefault: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
18
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
19
|
+
}, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import { GridProps, RegularBreakpoints } from '@mui/material';
|
|
2
|
+
import { GridProps, RegularBreakpoints, SxProps, Theme } from '@mui/material';
|
|
3
3
|
import { IToolbarPannelProps } from './toolbar-pannel';
|
|
4
4
|
import { IFilterBarConfigs, IFilterState } from './filter-bar';
|
|
5
5
|
import { TableGridItemActionsConfig, ITableGridItemActionsBaseProps } from './item-actions';
|
|
@@ -26,6 +26,11 @@ export interface ITableGridSlots<T> extends ITableGridFlexibleSlots<T> {
|
|
|
26
26
|
toolbarProps?: IToolbarPannelProps;
|
|
27
27
|
action?: ComponentType<ITableGridItemActionsBaseProps<T>>;
|
|
28
28
|
actionProps?: TableGridItemActionsConfig<T>;
|
|
29
|
+
filterBar?: {
|
|
30
|
+
sx?: SxProps<Theme>;
|
|
31
|
+
after?: ReactNode;
|
|
32
|
+
before?: ReactNode;
|
|
33
|
+
};
|
|
29
34
|
}
|
|
30
35
|
export interface ITableGridInnerSlots<T> extends ITableGridSlots<T> {
|
|
31
36
|
TableGridItem: ComponentType<ITableGridItemProps<T>>;
|