@wix/auto-patterns 1.36.0 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +1 -1
  2. package/dist/cjs/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +1 -1
  4. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -1
  5. package/dist/cjs/components/AutoPatternsCollectionPageContent/SkeletonCollection.js +1 -1
  6. package/dist/cjs/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.js +1 -1
  7. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +1 -1
  8. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +13 -9
  9. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
  10. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Checkbox.js +1 -1
  11. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +1 -1
  12. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +1 -1
  13. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +1 -1
  14. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +1 -1
  15. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +1 -1
  16. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +1 -1
  17. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +1 -1
  18. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +1 -1
  19. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +1 -1
  20. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +1 -1
  21. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +1 -1
  22. package/dist/cjs/components/AutoPatternsEntityPage/SkeletonEntity.js +1 -1
  23. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +1 -1
  24. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +1 -1
  25. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +1 -1
  26. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +9 -6
  27. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  28. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsPage.js +1 -1
  29. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +1 -1
  30. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +11 -6
  31. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  32. package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +1 -1
  33. package/dist/cjs/components/DynamicIcon.js +1 -1
  34. package/dist/cjs/components/ModalRenderer.js +1 -1
  35. package/dist/cjs/components/filters/DynamicCollectionFilter.js +1 -1
  36. package/dist/cjs/components/filters/StaticCollectionFilter.js +1 -1
  37. package/dist/cjs/components/modals/actions/BulkDeleteModal.js +32 -14
  38. package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -1
  39. package/dist/cjs/components/modals/actions/CreateModal.js +1 -1
  40. package/dist/cjs/components/modals/actions/EditModal.js +1 -1
  41. package/dist/cjs/counter.js +1 -1
  42. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js +3 -2
  43. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  44. package/dist/cjs/dataSourceAdapters/cms/sortUtils.js +2 -1
  45. package/dist/cjs/dataSourceAdapters/cms/sortUtils.js.map +1 -1
  46. package/dist/cjs/hooks/useBaseTableFeatures.js +6 -3
  47. package/dist/cjs/hooks/useBaseTableFeatures.js.map +1 -1
  48. package/dist/cjs/hooks/useBulkActionToolbar.js +1 -1
  49. package/dist/cjs/hooks/useCollectionPageActions.js +1 -1
  50. package/dist/cjs/hooks/useColumns.js +6 -1
  51. package/dist/cjs/hooks/useColumns.js.map +1 -1
  52. package/dist/cjs/hooks/useCommonCollectionFeatures.js +1 -1
  53. package/dist/cjs/hooks/useDataExtensionProps.js +30 -0
  54. package/dist/cjs/hooks/useDataExtensionProps.js.map +1 -0
  55. package/dist/cjs/hooks/useDragAndDropBaseProps.js +30 -0
  56. package/dist/cjs/hooks/useDragAndDropBaseProps.js.map +1 -0
  57. package/dist/cjs/hooks/useEmptyStates.js +1 -1
  58. package/dist/cjs/hooks/useEntityPageActions.js +1 -1
  59. package/dist/cjs/hooks/useFilters.js +1 -1
  60. package/dist/cjs/hooks/useGridDragAndDrop.js +17 -0
  61. package/dist/cjs/hooks/useGridDragAndDrop.js.map +1 -0
  62. package/dist/cjs/hooks/useGridFeatures.js +4 -1
  63. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  64. package/dist/cjs/hooks/useTableDragAndDrop.js +17 -0
  65. package/dist/cjs/hooks/useTableDragAndDrop.js.map +1 -0
  66. package/dist/cjs/hooks/useTableFeatures.js +7 -2
  67. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  68. package/dist/cjs/hooks/useTableGridSwitchDragAndDrop.js +17 -0
  69. package/dist/cjs/hooks/useTableGridSwitchDragAndDrop.js.map +1 -0
  70. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +7 -2
  71. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -1
  72. package/dist/cjs/providers/AppConfigContext.js +1 -1
  73. package/dist/cjs/providers/AppContext.js +1 -1
  74. package/dist/cjs/providers/AppContextData.js +1 -1
  75. package/dist/cjs/providers/AutoPatternsOverridesContext.js +2 -2
  76. package/dist/cjs/providers/AutoPatternsOverridesContext.js.map +1 -1
  77. package/dist/cjs/providers/ErrorContext.js +1 -1
  78. package/dist/cjs/providers/ItemsContext.js +1 -1
  79. package/dist/cjs/providers/ModalContext.js +1 -1
  80. package/dist/cjs/providers/OptimisticActionsContext.js +1 -1
  81. package/dist/cjs/providers/RootAppProvider.js +1 -1
  82. package/dist/cjs/providers/SchemaContext.js +1 -1
  83. package/dist/cjs/providers/SchemaRegistryContext.js +1 -1
  84. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  85. package/dist/cjs/types/DeepPartial.js +4 -0
  86. package/dist/cjs/types/DeepPartial.js.map +1 -0
  87. package/dist/cjs/types/actions/base.js.map +1 -1
  88. package/dist/cjs/types/types.js.map +1 -1
  89. package/dist/cjs/utils/actions/bulkDeleteAction.js +1 -1
  90. package/dist/cjs/utils/actions/createAction.js +1 -1
  91. package/dist/cjs/utils/actions/deleteAction.js +1 -1
  92. package/dist/cjs/utils/actions/updateAction.js +1 -1
  93. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +4 -0
  94. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
  95. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +7 -4
  96. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  97. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +9 -4
  98. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  99. package/dist/esm/components/modals/actions/BulkDeleteModal.js +25 -8
  100. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
  101. package/dist/esm/dataSourceAdapters/cms/filterUtils.js +3 -2
  102. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  103. package/dist/esm/dataSourceAdapters/cms/sortUtils.js +2 -1
  104. package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -1
  105. package/dist/esm/hooks/useBaseTableFeatures.js +4 -1
  106. package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
  107. package/dist/esm/hooks/useColumns.js +5 -0
  108. package/dist/esm/hooks/useColumns.js.map +1 -1
  109. package/dist/esm/hooks/useDataExtensionProps.js +18 -0
  110. package/dist/esm/hooks/useDataExtensionProps.js.map +1 -0
  111. package/dist/esm/hooks/useDragAndDropBaseProps.js +27 -0
  112. package/dist/esm/hooks/useDragAndDropBaseProps.js.map +1 -0
  113. package/dist/esm/hooks/useGridDragAndDrop.js +13 -0
  114. package/dist/esm/hooks/useGridDragAndDrop.js.map +1 -0
  115. package/dist/esm/hooks/useGridFeatures.js +4 -1
  116. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  117. package/dist/esm/hooks/useTableDragAndDrop.js +13 -0
  118. package/dist/esm/hooks/useTableDragAndDrop.js.map +1 -0
  119. package/dist/esm/hooks/useTableFeatures.js +7 -2
  120. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  121. package/dist/esm/hooks/useTableGridSwitchDragAndDrop.js +13 -0
  122. package/dist/esm/hooks/useTableGridSwitchDragAndDrop.js.map +1 -0
  123. package/dist/esm/hooks/useTableGridSwitchFeatures.js +7 -2
  124. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -1
  125. package/dist/esm/providers/AutoPatternsOverridesContext.js.map +1 -1
  126. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  127. package/dist/esm/types/DeepPartial.js +2 -0
  128. package/dist/esm/types/DeepPartial.js.map +1 -0
  129. package/dist/esm/types/actions/base.js.map +1 -1
  130. package/dist/esm/types/types.js.map +1 -1
  131. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -1
  132. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
  133. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
  134. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -1
  135. package/dist/types/hooks/useBaseTableFeatures.d.ts +10 -0
  136. package/dist/types/hooks/useBaseTableFeatures.d.ts.map +1 -1
  137. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  138. package/dist/types/hooks/useDataExtensionProps.d.ts +8 -0
  139. package/dist/types/hooks/useDataExtensionProps.d.ts.map +1 -0
  140. package/dist/types/hooks/useDragAndDropBaseProps.d.ts +4 -0
  141. package/dist/types/hooks/useDragAndDropBaseProps.d.ts.map +1 -0
  142. package/dist/types/hooks/useGridDragAndDrop.d.ts +24 -0
  143. package/dist/types/hooks/useGridDragAndDrop.d.ts.map +1 -0
  144. package/dist/types/hooks/useGridFeatures.d.ts +22 -0
  145. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  146. package/dist/types/hooks/useTableDragAndDrop.d.ts +3 -0
  147. package/dist/types/hooks/useTableDragAndDrop.d.ts.map +1 -0
  148. package/dist/types/hooks/useTableFeatures.d.ts +2 -0
  149. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  150. package/dist/types/hooks/useTableGridSwitchDragAndDrop.d.ts +27 -0
  151. package/dist/types/hooks/useTableGridSwitchDragAndDrop.d.ts.map +1 -0
  152. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +24 -0
  153. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -1
  154. package/dist/types/providers/AutoPatternsOverridesContext.d.ts +6 -0
  155. package/dist/types/providers/AutoPatternsOverridesContext.d.ts.map +1 -1
  156. package/dist/types/types/CollectionPageConfig.d.ts +19 -0
  157. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  158. package/dist/types/types/DeepPartial.d.ts +4 -0
  159. package/dist/types/types/DeepPartial.d.ts.map +1 -0
  160. package/dist/types/types/actions/base.d.ts +5 -0
  161. package/dist/types/types/actions/base.d.ts.map +1 -1
  162. package/dist/types/types/types.d.ts +24 -1
  163. package/dist/types/types/types.d.ts.map +1 -1
  164. package/docs/GETTING_STARTED.md +99 -2
  165. package/mcp-docs/app_config_structure.md +15 -1
  166. package/mcp-docs/auto-patterns-guide.md +317 -80
  167. package/mcp-docs/bulk_actions.md +60 -0
  168. package/mcp-docs/collection_page.md +34 -0
  169. package/mcp-docs/custom_overrides.md +134 -54
  170. package/mcp-docs/schema_config.md +74 -25
  171. package/mcp-docs/wix_fqdn_custom_data_source.md +66 -11
  172. package/package.json +12 -12
@@ -7,6 +7,7 @@ import { useEntityPageHeaderTexts, useNavigation } from '../../hooks';
7
7
  import { useEntityPageMoreActions } from '../../hooks/useEntityPageMoreActions';
8
8
  import { useActionsSDK } from '../../hooks/useActionsSDK';
9
9
  import { RenderLayoutCard } from './RenderLayout';
10
+ import { errorHandler } from '@wix/essentials';
10
11
  export const EditModeEntityPage = _ref => {
11
12
  var _pageLayout$main, _pageLayout$sidebar;
12
13
  let {
@@ -49,6 +50,9 @@ export const EditModeEntityPage = _ref => {
49
50
  const state = useEntityPage({
50
51
  parentPath,
51
52
  form,
53
+ saveErrorToast: err => ({
54
+ message: errorHandler.getResolvedError(err).message
55
+ }),
52
56
  onSave: async () => {
53
57
  validate();
54
58
  const formValues = form.getValues();
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useRef","EntityPage","useEntity","useEntityPage","MoreActions","useForm","useParams","useSchema","useEntityPageHeaderTexts","useNavigation","useEntityPageMoreActions","useActionsSDK","RenderLayoutCard","EditModeEntityPage","_ref","_pageLayout$main","_pageLayout$sidebar","configuration","layout","pageLayout","parentPageId","route","actions","collectionId","moreActions","form","mode","params","entityId","id","schema","isCreateMode","inputRefs","setInputRef","input","current","validate","invalidFieldId","Object","keys","find","fieldId","_inputRefs$current$fi","invalid","_inputRefs$current$in","focus","Error","getParentPagePath","parentPath","state","onSave","formValues","getValues","baseEntity","entity","updatedEntity","newEntity","update","create","fetch","undefined","get","title","subtitle","config","entityDisplayName","displayField","sdk","resolvedMoreActions","createElement","dataHook","Header","length","items","Content","MainContent","main","map","layoutIndex","key","sectionId","cardIndex","sidebar","AdditionalContent"],"sources":["../../../../src/components/AutoPatternsEntityPage/EditModeEntityPage.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport {\n EntityPage,\n EntityPageState,\n useEntity,\n useEntityPage,\n MoreActions,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { BaseInputRef } from './Fields/types';\nimport { useEntityPageHeaderTexts, useNavigation } from '../../hooks';\nimport { useEntityPageMoreActions } from '../../hooks/useEntityPageMoreActions';\nimport { useActionsSDK } from '../../hooks/useActionsSDK';\nimport { RenderLayoutCard } from './RenderLayout';\nimport { EditEntityPageConfig } from '../../types';\n\nexport const EditModeEntityPage: React.FC<{\n configuration: EditEntityPageConfig;\n}> = ({ configuration }) => {\n const {\n layout: pageLayout,\n parentPageId,\n route,\n actions,\n collectionId,\n } = configuration;\n\n const moreActions = actions?.moreActions;\n\n const form = useForm<any>({\n mode: 'onChange',\n });\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n const isCreateMode = !entityId;\n\n const inputRefs = useRef<{ [fieldId: string]: BaseInputRef }>({});\n\n const setInputRef = (id: string, input: BaseInputRef) => {\n inputRefs.current[id] = input;\n };\n\n const validate = () => {\n const invalidFieldId = Object.keys(inputRefs.current).find((fieldId) => {\n return inputRefs.current[fieldId]?.invalid;\n });\n\n if (invalidFieldId) {\n inputRefs.current[invalidFieldId]?.focus?.();\n throw new Error('Invalid form');\n }\n };\n const { getParentPagePath } = useNavigation();\n\n const parentPath = useMemo(\n () => getParentPagePath(parentPageId),\n [parentPageId, getParentPagePath],\n );\n\n const state: EntityPageState<any> = useEntityPage<any, any>({\n parentPath,\n form,\n onSave: async () => {\n validate();\n\n const formValues = form.getValues();\n const baseEntity = state.entity || {};\n const updatedEntity = {\n ...baseEntity,\n ...formValues,\n };\n\n const newEntity = entityId\n ? await schema.actions.update(updatedEntity)\n : await schema.actions.create(updatedEntity);\n\n return { updatedEntity: newEntity };\n },\n fetch: async () => {\n if (!entityId) {\n return { entity: undefined };\n }\n const entity = await schema.actions.get(entityId);\n return { entity };\n },\n });\n\n const entity = useEntity(state);\n\n const { title, subtitle } = useEntityPageHeaderTexts({\n config: configuration,\n isCreateMode,\n entityDisplayName: entity?.[schema.displayField],\n entity,\n });\n\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const resolvedMoreActions = useEntityPageMoreActions(\n moreActions,\n entity,\n sdk,\n form,\n );\n\n return (\n <EntityPage state={state} dataHook=\"auto-patterns-entity-page\">\n <EntityPage.Header\n title={title}\n subtitle={subtitle}\n moreActions={\n resolvedMoreActions.length > 0 ? (\n <MoreActions items={resolvedMoreActions} />\n ) : undefined\n }\n />\n <EntityPage.Content>\n <EntityPage.MainContent dataHook=\"entity-page-main-content\">\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`main-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.MainContent>\n {pageLayout?.sidebar ? (\n <EntityPage.AdditionalContent>\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.AdditionalContent>\n ) : null}\n </EntityPage.Content>\n </EntityPage>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useRef","EntityPage","useEntity","useEntityPage","MoreActions","useForm","useParams","useSchema","useEntityPageHeaderTexts","useNavigation","useEntityPageMoreActions","useActionsSDK","RenderLayoutCard","errorHandler","EditModeEntityPage","_ref","_pageLayout$main","_pageLayout$sidebar","configuration","layout","pageLayout","parentPageId","route","actions","collectionId","moreActions","form","mode","params","entityId","id","schema","isCreateMode","inputRefs","setInputRef","input","current","validate","invalidFieldId","Object","keys","find","fieldId","_inputRefs$current$fi","invalid","_inputRefs$current$in","focus","Error","getParentPagePath","parentPath","state","saveErrorToast","err","message","getResolvedError","onSave","formValues","getValues","baseEntity","entity","updatedEntity","newEntity","update","create","fetch","undefined","get","title","subtitle","config","entityDisplayName","displayField","sdk","resolvedMoreActions","createElement","dataHook","Header","length","items","Content","MainContent","main","map","layoutIndex","key","sectionId","cardIndex","sidebar","AdditionalContent"],"sources":["../../../../src/components/AutoPatternsEntityPage/EditModeEntityPage.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport {\n EntityPage,\n EntityPageState,\n useEntity,\n useEntityPage,\n MoreActions,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { BaseInputRef } from './Fields/types';\nimport { useEntityPageHeaderTexts, useNavigation } from '../../hooks';\nimport { useEntityPageMoreActions } from '../../hooks/useEntityPageMoreActions';\nimport { useActionsSDK } from '../../hooks/useActionsSDK';\nimport { RenderLayoutCard } from './RenderLayout';\nimport { EditEntityPageConfig } from '../../types';\nimport { errorHandler } from '@wix/essentials';\n\nexport const EditModeEntityPage: React.FC<{\n configuration: EditEntityPageConfig;\n}> = ({ configuration }) => {\n const {\n layout: pageLayout,\n parentPageId,\n route,\n actions,\n collectionId,\n } = configuration;\n\n const moreActions = actions?.moreActions;\n\n const form = useForm<any>({\n mode: 'onChange',\n });\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n const isCreateMode = !entityId;\n\n const inputRefs = useRef<{ [fieldId: string]: BaseInputRef }>({});\n\n const setInputRef = (id: string, input: BaseInputRef) => {\n inputRefs.current[id] = input;\n };\n\n const validate = () => {\n const invalidFieldId = Object.keys(inputRefs.current).find((fieldId) => {\n return inputRefs.current[fieldId]?.invalid;\n });\n\n if (invalidFieldId) {\n inputRefs.current[invalidFieldId]?.focus?.();\n throw new Error('Invalid form');\n }\n };\n const { getParentPagePath } = useNavigation();\n\n const parentPath = useMemo(\n () => getParentPagePath(parentPageId),\n [parentPageId, getParentPagePath],\n );\n\n const state: EntityPageState<any> = useEntityPage<any, any>({\n parentPath,\n form,\n saveErrorToast: (err) => ({\n message: errorHandler.getResolvedError(err).message,\n }),\n onSave: async () => {\n validate();\n\n const formValues = form.getValues();\n const baseEntity = state.entity || {};\n const updatedEntity = {\n ...baseEntity,\n ...formValues,\n };\n\n const newEntity = entityId\n ? await schema.actions.update(updatedEntity)\n : await schema.actions.create(updatedEntity);\n\n return { updatedEntity: newEntity };\n },\n fetch: async () => {\n if (!entityId) {\n return { entity: undefined };\n }\n const entity = await schema.actions.get(entityId);\n return { entity };\n },\n });\n\n const entity = useEntity(state);\n\n const { title, subtitle } = useEntityPageHeaderTexts({\n config: configuration,\n isCreateMode,\n entityDisplayName: entity?.[schema.displayField],\n entity,\n });\n\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const resolvedMoreActions = useEntityPageMoreActions(\n moreActions,\n entity,\n sdk,\n form,\n );\n\n return (\n <EntityPage state={state} dataHook=\"auto-patterns-entity-page\">\n <EntityPage.Header\n title={title}\n subtitle={subtitle}\n moreActions={\n resolvedMoreActions.length > 0 ? (\n <MoreActions items={resolvedMoreActions} />\n ) : undefined\n }\n />\n <EntityPage.Content>\n <EntityPage.MainContent dataHook=\"entity-page-main-content\">\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`main-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.MainContent>\n {pageLayout?.sidebar ? (\n <EntityPage.AdditionalContent>\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.AdditionalContent>\n ) : null}\n </EntityPage.Content>\n </EntityPage>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import React from 'react';
2
3
  import { Grid } from '@wix/patterns';
3
4
  import { useGridFeatures } from '../../hooks';
@@ -14,9 +15,10 @@ export const AutoPatternsGrid = _ref => {
14
15
  actionCell,
15
16
  renderItem,
16
17
  imagePlacement,
17
- preset
18
+ preset,
19
+ dragAndDropProps
18
20
  } = useGridFeatures(configuration);
19
- return /*#__PURE__*/React.createElement(Grid, {
21
+ return /*#__PURE__*/React.createElement(Grid, _extends({
20
22
  dataHook: "auto-patterns-grid",
21
23
  search: search,
22
24
  title: title,
@@ -24,9 +26,10 @@ export const AutoPatternsGrid = _ref => {
24
26
  actionCell: actionCell,
25
27
  filters: filters,
26
28
  emptyState: emptyState,
27
- imagePlacement: imagePlacement,
29
+ imagePlacement: imagePlacement
30
+ }, dragAndDropProps, {
28
31
  preset: preset,
29
32
  renderItem: renderItem
30
- });
33
+ }));
31
34
  };
32
35
  //# sourceMappingURL=AutoPatternsGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Grid","useGridFeatures","AutoPatternsGrid","_ref","configuration","state","search","title","emptyState","filters","actionCell","renderItem","imagePlacement","preset","createElement","dataHook"],"sources":["../../../../src/components/AutoPatternsGrid/AutoPatternsGrid.tsx"],"sourcesContent":["import React from 'react';\nimport { Grid } from '@wix/patterns';\nimport { GridConfig } from '../../types';\nimport { useGridFeatures } from '../../hooks';\n\nexport interface AutoPatternsGridContentProps {\n configuration: GridConfig;\n}\n\nexport const AutoPatternsGrid = ({\n configuration,\n}: AutoPatternsGridContentProps) => {\n const {\n state,\n search,\n title,\n emptyState,\n filters,\n actionCell,\n renderItem,\n imagePlacement,\n preset,\n } = useGridFeatures(configuration);\n\n return (\n <Grid\n dataHook=\"auto-patterns-grid\"\n search={search}\n title={title}\n state={state}\n actionCell={actionCell}\n filters={filters}\n emptyState={emptyState}\n imagePlacement={imagePlacement}\n preset={preset}\n renderItem={renderItem}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,eAAe;AAEpC,SAASC,eAAe,QAAQ,aAAa;AAM7C,OAAO,MAAMC,gBAAgB,GAAGC,IAAA,IAEI;EAAA,IAFH;IAC/BC;EAC4B,CAAC,GAAAD,IAAA;EAC7B,MAAM;IACJE,KAAK;IACLC,MAAM;IACNC,KAAK;IACLC,UAAU;IACVC,OAAO;IACPC,UAAU;IACVC,UAAU;IACVC,cAAc;IACdC;EACF,CAAC,GAAGZ,eAAe,CAACG,aAAa,CAAC;EAElC,oBACEL,KAAA,CAAAe,aAAA,CAACd,IAAI;IACHe,QAAQ,EAAC,oBAAoB;IAC7BT,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAEA,KAAM;IACbK,UAAU,EAAEA,UAAW;IACvBD,OAAO,EAAEA,OAAQ;IACjBD,UAAU,EAAEA,UAAW;IACvBI,cAAc,EAAEA,cAAe;IAC/BC,MAAM,EAAEA,MAAO;IACfF,UAAU,EAAEA;EAAW,CACxB,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Grid","useGridFeatures","AutoPatternsGrid","_ref","configuration","state","search","title","emptyState","filters","actionCell","renderItem","imagePlacement","preset","dragAndDropProps","createElement","_extends","dataHook"],"sources":["../../../../src/components/AutoPatternsGrid/AutoPatternsGrid.tsx"],"sourcesContent":["import React from 'react';\nimport { Grid } from '@wix/patterns';\nimport { GridConfig } from '../../types';\nimport { useGridFeatures } from '../../hooks';\n\nexport interface AutoPatternsGridContentProps {\n configuration: GridConfig;\n}\n\nexport const AutoPatternsGrid = ({\n configuration,\n}: AutoPatternsGridContentProps) => {\n const {\n state,\n search,\n title,\n emptyState,\n filters,\n actionCell,\n renderItem,\n imagePlacement,\n preset,\n dragAndDropProps,\n } = useGridFeatures(configuration);\n\n return (\n <Grid\n dataHook=\"auto-patterns-grid\"\n search={search}\n title={title}\n state={state}\n actionCell={actionCell}\n filters={filters}\n emptyState={emptyState}\n imagePlacement={imagePlacement}\n {...dragAndDropProps}\n preset={preset}\n renderItem={renderItem}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,eAAe;AAEpC,SAASC,eAAe,QAAQ,aAAa;AAM7C,OAAO,MAAMC,gBAAgB,GAAGC,IAAA,IAEI;EAAA,IAFH;IAC/BC;EAC4B,CAAC,GAAAD,IAAA;EAC7B,MAAM;IACJE,KAAK;IACLC,MAAM;IACNC,KAAK;IACLC,UAAU;IACVC,OAAO;IACPC,UAAU;IACVC,UAAU;IACVC,cAAc;IACdC,MAAM;IACNC;EACF,CAAC,GAAGb,eAAe,CAACG,aAAa,CAAC;EAElC,oBACEL,KAAA,CAAAgB,aAAA,CAACf,IAAI,EAAAgB,QAAA;IACHC,QAAQ,EAAC,oBAAoB;IAC7BX,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAEA,KAAM;IACbK,UAAU,EAAEA,UAAW;IACvBD,OAAO,EAAEA,OAAQ;IACjBD,UAAU,EAAEA,UAAW;IACvBI,cAAc,EAAEA;EAAe,GAC3BE,gBAAgB;IACpBD,MAAM,EAAEA,MAAO;IACfF,UAAU,EAAEA;EAAW,EACxB,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import React from 'react';
2
3
  import { Table } from '@wix/patterns';
3
4
  import { useTableFeatures } from '../../hooks';
@@ -19,15 +20,19 @@ export const AutoPatternsTable = _ref => {
19
20
  stickyColumns,
20
21
  stickySelectionColumn,
21
22
  showTitleBar,
22
- sections
23
+ sections,
24
+ dragAndDropProps,
25
+ dataExtension
23
26
  } = useTableFeatures(configuration);
24
- return /*#__PURE__*/React.createElement(Table, {
27
+ return /*#__PURE__*/React.createElement(Table, _extends({
25
28
  dataHook: "auto-patterns-table",
26
29
  search: search,
27
30
  title: title,
28
31
  state: state,
29
32
  columns: columns,
30
- customColumns: customColumns,
33
+ dataExtension: dataExtension,
34
+ customColumns: customColumns
35
+ }, dragAndDropProps, {
31
36
  actionCell: actionCell,
32
37
  filters: filters,
33
38
  emptyState: emptyState,
@@ -38,6 +43,6 @@ export const AutoPatternsTable = _ref => {
38
43
  stickySelectionColumn: stickySelectionColumn,
39
44
  showTitleBar: showTitleBar,
40
45
  sections: sections
41
- });
46
+ }));
42
47
  };
43
48
  //# sourceMappingURL=AutoPatternsTable.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Table","useTableFeatures","AutoPatternsTable","_ref","configuration","state","columns","customColumns","search","title","emptyState","filters","actionCell","bulkActionToolbar","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","sections","createElement","dataHook","horizontalScroll"],"sources":["../../../../src/components/AutoPatternsTable/AutoPatternsTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Table } from '@wix/patterns';\nimport { TableConfig } from '../../types';\nimport { useTableFeatures } from '../../hooks';\n\nexport interface AutoPatternsTableContentProps {\n configuration: TableConfig;\n}\n\nexport const AutoPatternsTable = ({\n configuration,\n}: AutoPatternsTableContentProps) => {\n const {\n state,\n columns,\n customColumns,\n search,\n title,\n emptyState,\n filters,\n actionCell,\n bulkActionToolbar,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n sections,\n } = useTableFeatures(configuration);\n\n return (\n <Table\n dataHook=\"auto-patterns-table\"\n search={search}\n title={title}\n state={state}\n columns={columns}\n customColumns={customColumns}\n actionCell={actionCell}\n filters={filters}\n emptyState={emptyState}\n bulkActionToolbar={bulkActionToolbar}\n onRowClick={onRowClick}\n horizontalScroll\n stickyColumns={stickyColumns}\n stickySelectionColumn={stickySelectionColumn}\n showTitleBar={showTitleBar}\n sections={sections}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,eAAe;AAErC,SAASC,gBAAgB,QAAQ,aAAa;AAM9C,OAAO,MAAMC,iBAAiB,GAAGC,IAAA,IAEI;EAAA,IAFH;IAChCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,KAAK;IACLC,UAAU;IACVC,OAAO;IACPC,UAAU;IACVC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZC;EACF,CAAC,GAAGjB,gBAAgB,CAACG,aAAa,CAAC;EAEnC,oBACEL,KAAA,CAAAoB,aAAA,CAACnB,KAAK;IACJoB,QAAQ,EAAC,qBAAqB;IAC9BZ,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbJ,KAAK,EAAEA,KAAM;IACbC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BK,UAAU,EAAEA,UAAW;IACvBD,OAAO,EAAEA,OAAQ;IACjBD,UAAU,EAAEA,UAAW;IACvBG,iBAAiB,EAAEA,iBAAkB;IACrCC,UAAU,EAAEA,UAAW;IACvBO,gBAAgB;IAChBN,aAAa,EAAEA,aAAc;IAC7BC,qBAAqB,EAAEA,qBAAsB;IAC7CC,YAAY,EAAEA,YAAa;IAC3BC,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Table","useTableFeatures","AutoPatternsTable","_ref","configuration","state","columns","customColumns","search","title","emptyState","filters","actionCell","bulkActionToolbar","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","sections","dragAndDropProps","dataExtension","createElement","_extends","dataHook","horizontalScroll"],"sources":["../../../../src/components/AutoPatternsTable/AutoPatternsTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Table } from '@wix/patterns';\nimport { TableConfig } from '../../types';\nimport { useTableFeatures } from '../../hooks';\n\nexport interface AutoPatternsTableContentProps {\n configuration: TableConfig;\n}\n\nexport const AutoPatternsTable = ({\n configuration,\n}: AutoPatternsTableContentProps) => {\n const {\n state,\n columns,\n customColumns,\n search,\n title,\n emptyState,\n filters,\n actionCell,\n bulkActionToolbar,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n sections,\n dragAndDropProps,\n dataExtension,\n } = useTableFeatures(configuration);\n\n return (\n <Table\n dataHook=\"auto-patterns-table\"\n search={search}\n title={title}\n state={state}\n columns={columns}\n dataExtension={dataExtension}\n customColumns={customColumns}\n {...dragAndDropProps}\n actionCell={actionCell}\n filters={filters}\n emptyState={emptyState}\n bulkActionToolbar={bulkActionToolbar}\n onRowClick={onRowClick}\n horizontalScroll\n stickyColumns={stickyColumns}\n stickySelectionColumn={stickySelectionColumn}\n showTitleBar={showTitleBar}\n sections={sections}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,eAAe;AAErC,SAASC,gBAAgB,QAAQ,aAAa;AAM9C,OAAO,MAAMC,iBAAiB,GAAGC,IAAA,IAEI;EAAA,IAFH;IAChCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,KAAK;IACLC,UAAU;IACVC,OAAO;IACPC,UAAU;IACVC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZC,QAAQ;IACRC,gBAAgB;IAChBC;EACF,CAAC,GAAGnB,gBAAgB,CAACG,aAAa,CAAC;EAEnC,oBACEL,KAAA,CAAAsB,aAAA,CAACrB,KAAK,EAAAsB,QAAA;IACJC,QAAQ,EAAC,qBAAqB;IAC9Bf,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbJ,KAAK,EAAEA,KAAM;IACbC,OAAO,EAAEA,OAAQ;IACjBc,aAAa,EAAEA,aAAc;IAC7Bb,aAAa,EAAEA;EAAc,GACzBY,gBAAgB;IACpBP,UAAU,EAAEA,UAAW;IACvBD,OAAO,EAAEA,OAAQ;IACjBD,UAAU,EAAEA,UAAW;IACvBG,iBAAiB,EAAEA,iBAAkB;IACrCC,UAAU,EAAEA,UAAW;IACvBU,gBAAgB;IAChBT,aAAa,EAAEA,aAAc;IAC7BC,qBAAqB,EAAEA,qBAAsB;IAC7CC,YAAY,EAAEA,YAAa;IAC3BC,QAAQ,EAAEA;EAAS,EACpB,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
- import { Box, CustomModalLayout, Modal, Text } from '@wix/design-system';
2
- import React from 'react';
1
+ import React, { useMemo } from 'react';
2
+ import { Box, MessageModalLayout, Modal, Text } from '@wix/design-system';
3
+ import { useAutoPatternsOverridesContext } from '../../../providers';
3
4
  export const BulkDeleteModal = _ref => {
4
- var _modalParams$title, _modalParams$actions, _modalParams$actions2, _modalParams$descript;
5
+ var _modalParams$actions, _modalParams$actions2, _modalParams$descript;
5
6
  let {
6
7
  sdk,
7
8
  modalParams,
@@ -13,14 +14,30 @@ export const BulkDeleteModal = _ref => {
13
14
  closeModal
14
15
  } = sdk;
15
16
  const optimisticActions = getOptimisticActions(collectionId);
17
+ const overrides = useAutoPatternsOverridesContext();
18
+ const resolvedTitle = useMemo(() => {
19
+ var _modalParams$title, _modalParams$title2;
20
+ if ((_modalParams$title = modalParams.title) != null && _modalParams$title.id && overrides != null && overrides.bulkDeleteModalTitle) {
21
+ const titleResolver = overrides.bulkDeleteModalTitle[modalParams.title.id];
22
+ if (titleResolver) {
23
+ const result = titleResolver({
24
+ selectedCount: actionParams.selectedValues.length,
25
+ selectedValues: actionParams.selectedValues
26
+ });
27
+ return result.text;
28
+ }
29
+ }
30
+ return ((_modalParams$title2 = modalParams.title) == null ? void 0 : _modalParams$title2.text) || 'Delete item?';
31
+ }, [modalParams.title, actionParams.selectedValues, overrides]);
16
32
  return /*#__PURE__*/React.createElement(Modal, {
17
33
  isOpen: true,
18
34
  onRequestClose: closeModal
19
- }, /*#__PURE__*/React.createElement(CustomModalLayout, {
20
- title: ((_modalParams$title = modalParams.title) == null ? void 0 : _modalParams$title.text) || 'Delete item?',
21
- theme: "destructive",
22
- onCloseButtonClick: () => {
23
- closeModal();
35
+ }, /*#__PURE__*/React.createElement(MessageModalLayout, {
36
+ dataHook: "bulk-delete-modal",
37
+ title: resolvedTitle,
38
+ skin: "destructive",
39
+ closeButtonProps: {
40
+ onClick: () => closeModal()
24
41
  },
25
42
  primaryButtonOnClick: () => {
26
43
  var _modalParams$feedback;
@@ -1 +1 @@
1
- {"version":3,"names":["Box","CustomModalLayout","Modal","Text","React","BulkDeleteModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","_modalParams$descript","sdk","modalParams","actionParams","getOptimisticActions","collectionId","closeModal","optimisticActions","createElement","isOpen","onRequestClose","title","text","theme","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","Error","selectedIds","selectedValues","map","value","idField","deleteMany","successToast","feedback","errorToast","_modalParams$feedback2","submit","result","actions","bulkDelete","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","gap","paddingTop","paddingBottom","description"],"sources":["../../../../../src/components/modals/actions/BulkDeleteModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Modal, Text } from '@wix/design-system';\nimport React from 'react';\nimport { BulkActionsActionParams, BulkDeleteActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface BulkDeleteModalProps extends ActionModalProps {\n modalParams: BulkDeleteActionModal;\n actionParams: BulkActionsActionParams;\n}\n\nexport const BulkDeleteModal = ({\n sdk,\n modalParams,\n actionParams,\n}: BulkDeleteModalProps) => {\n const { getOptimisticActions, collectionId, closeModal } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Delete item?'}\n theme=\"destructive\"\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n const selectedIds = actionParams.selectedValues.map(\n (value) => value[schema.idField],\n );\n optimisticActions?.deleteMany(actionParams.selectedValues, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Items deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text ||\n 'Failed to delete items',\n submit: async () => {\n const result = await schema.actions.bulkDelete(selectedIds);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n <Box>\n <Text>\n {modalParams.description?.text || 'This items will be deleted'}\n </Text>\n </Box>\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Box","MessageModalLayout","Modal","Text","useAutoPatternsOverridesContext","BulkDeleteModal","_ref","_modalParams$actions","_modalParams$actions2","_modalParams$descript","sdk","modalParams","actionParams","getOptimisticActions","collectionId","closeModal","optimisticActions","overrides","resolvedTitle","_modalParams$title","_modalParams$title2","title","id","bulkDeleteModalTitle","titleResolver","result","selectedCount","selectedValues","length","text","createElement","isOpen","onRequestClose","dataHook","skin","closeButtonProps","onClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","Error","selectedIds","map","value","idField","deleteMany","successToast","feedback","errorToast","_modalParams$feedback2","submit","actions","bulkDelete","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","gap","paddingTop","paddingBottom","description"],"sources":["../../../../../src/components/modals/actions/BulkDeleteModal.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { Box, MessageModalLayout, Modal, Text } from '@wix/design-system';\nimport { BulkActionsActionParams, BulkDeleteActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\nimport { useAutoPatternsOverridesContext } from '../../../providers';\n\nexport interface BulkDeleteModalProps extends ActionModalProps {\n modalParams: BulkDeleteActionModal;\n actionParams: BulkActionsActionParams;\n}\n\nexport const BulkDeleteModal = ({\n sdk,\n modalParams,\n actionParams,\n}: BulkDeleteModalProps) => {\n const { getOptimisticActions, collectionId, closeModal } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n const overrides = useAutoPatternsOverridesContext();\n\n const resolvedTitle = useMemo(() => {\n if (modalParams.title?.id && overrides?.bulkDeleteModalTitle) {\n const titleResolver =\n overrides.bulkDeleteModalTitle[modalParams.title.id];\n if (titleResolver) {\n const result = titleResolver({\n selectedCount: actionParams.selectedValues.length,\n selectedValues: actionParams.selectedValues,\n });\n return result.text;\n }\n }\n\n return modalParams.title?.text || 'Delete item?';\n }, [modalParams.title, actionParams.selectedValues, overrides]);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <MessageModalLayout\n dataHook=\"bulk-delete-modal\"\n title={resolvedTitle}\n skin=\"destructive\"\n closeButtonProps={{ onClick: () => closeModal() }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n const selectedIds = actionParams.selectedValues.map(\n (value) => value[schema.idField],\n );\n optimisticActions?.deleteMany(actionParams.selectedValues, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Items deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text ||\n 'Failed to delete items',\n submit: async () => {\n const result = await schema.actions.bulkDelete(selectedIds);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n <Box>\n <Text>\n {modalParams.description?.text || 'This items will be deleted'}\n </Text>\n </Box>\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,GAAG,EAAEC,kBAAkB,EAAEC,KAAK,EAAEC,IAAI,QAAQ,oBAAoB;AAGzE,SAASC,+BAA+B,QAAQ,oBAAoB;AAOpE,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAIH;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EAAA,IAJI;IAC9BC,GAAG;IACHC,WAAW;IACXC;EACoB,CAAC,GAAAN,IAAA;EACrB,MAAM;IAAEO,oBAAoB;IAAEC,YAAY;IAAEC;EAAW,CAAC,GAAGL,GAAG;EAC9D,MAAMM,iBAAiB,GAAGH,oBAAoB,CAACC,YAAY,CAAC;EAC5D,MAAMG,SAAS,GAAGb,+BAA+B,CAAC,CAAC;EAEnD,MAAMc,aAAa,GAAGnB,OAAO,CAAC,MAAM;IAAA,IAAAoB,kBAAA,EAAAC,mBAAA;IAClC,IAAI,CAAAD,kBAAA,GAAAR,WAAW,CAACU,KAAK,aAAjBF,kBAAA,CAAmBG,EAAE,IAAIL,SAAS,YAATA,SAAS,CAAEM,oBAAoB,EAAE;MAC5D,MAAMC,aAAa,GACjBP,SAAS,CAACM,oBAAoB,CAACZ,WAAW,CAACU,KAAK,CAACC,EAAE,CAAC;MACtD,IAAIE,aAAa,EAAE;QACjB,MAAMC,MAAM,GAAGD,aAAa,CAAC;UAC3BE,aAAa,EAAEd,YAAY,CAACe,cAAc,CAACC,MAAM;UACjDD,cAAc,EAAEf,YAAY,CAACe;QAC/B,CAAC,CAAC;QACF,OAAOF,MAAM,CAACI,IAAI;MACpB;IACF;IAEA,OAAO,EAAAT,mBAAA,GAAAT,WAAW,CAACU,KAAK,qBAAjBD,mBAAA,CAAmBS,IAAI,KAAI,cAAc;EAClD,CAAC,EAAE,CAAClB,WAAW,CAACU,KAAK,EAAET,YAAY,CAACe,cAAc,EAAEV,SAAS,CAAC,CAAC;EAE/D,oBACEnB,KAAA,CAAAgC,aAAA,CAAC5B,KAAK;IAAC6B,MAAM;IAACC,cAAc,EAAEjB;EAAW,gBACvCjB,KAAA,CAAAgC,aAAA,CAAC7B,kBAAkB;IACjBgC,QAAQ,EAAC,mBAAmB;IAC5BZ,KAAK,EAAEH,aAAc;IACrBgB,IAAI,EAAC,aAAa;IAClBC,gBAAgB,EAAE;MAAEC,OAAO,EAAEA,CAAA,KAAMrB,UAAU,CAAC;IAAE,CAAE;IAClDsB,oBAAoB,EAAEA,CAAA,KAAM;MAAA,IAAAC,qBAAA;MAC1B,MAAMC,MAAM,GAAG7B,GAAG,CAAC8B,SAAS,CAAC9B,GAAG,CAACI,YAAY,CAAC;MAC9C,IAAI,CAACyB,MAAM,EAAE;QACX,MAAM,IAAIE,KAAK,CAAC,kBAAkB,CAAC;MACrC;MACA,MAAMC,WAAW,GAAG9B,YAAY,CAACe,cAAc,CAACgB,GAAG,CAChDC,KAAK,IAAKA,KAAK,CAACL,MAAM,CAACM,OAAO,CACjC,CAAC;MACD7B,iBAAiB,YAAjBA,iBAAiB,CAAE8B,UAAU,CAAClC,YAAY,CAACe,cAAc,EAAE;QACzDoB,YAAY,EACV,EAAAT,qBAAA,GAAA3B,WAAW,CAACqC,QAAQ,cAAAV,qBAAA,GAApBA,qBAAA,CAAsBS,YAAY,qBAAlCT,qBAAA,CAAoCT,IAAI,KACxC,4BAA4B;QAC9BoB,UAAU,EAAEA,CAAA;UAAA,IAAAC,sBAAA;UAAA,OACV,EAAAA,sBAAA,GAAAvC,WAAW,CAACqC,QAAQ,cAAAE,sBAAA,GAApBA,sBAAA,CAAsBD,UAAU,qBAAhCC,sBAAA,CAAkCrB,IAAI,KACtC,wBAAwB;QAAA;QAC1BsB,MAAM,EAAE,MAAAA,CAAA,KAAY;UAClB,MAAM1B,MAAM,GAAG,MAAMc,MAAM,CAACa,OAAO,CAACC,UAAU,CAACX,WAAW,CAAC;UAC3D,OAAO,CAACjB,MAAM,CAAC;QACjB;MACF,CAAC,CAAC;MACFV,UAAU,CAAC,CAAC;IACd,CAAE;IACFuC,sBAAsB,EAAEA,CAAA,KAAM;MAC5BvC,UAAU,CAAC,CAAC;IACd,CAAE;IACFwC,iBAAiB,EAAE,EAAAhD,oBAAA,GAAAI,WAAW,CAACyC,OAAO,cAAA7C,oBAAA,GAAnBA,oBAAA,CAAqB4C,MAAM,qBAA3B5C,oBAAA,CAA6BsB,IAAI,KAAI,MAAO;IAC/D2B,mBAAmB,EAAE,EAAAhD,qBAAA,GAAAG,WAAW,CAACyC,OAAO,cAAA5C,qBAAA,GAAnBA,qBAAA,CAAqBiD,MAAM,qBAA3BjD,qBAAA,CAA6BqB,IAAI,KAAI,QAAS;IACnE6B,OAAO,eACL5D,KAAA,CAAAgC,aAAA,CAAC9B,GAAG;MACF2D,SAAS,EAAC,UAAU;MACpBC,GAAG,EAAC,KAAK;MACTC,UAAU,EAAC,KAAK;MAChBC,aAAa,EAAC;IAAK,gBAEnBhE,KAAA,CAAAgC,aAAA,CAAC9B,GAAG,qBACFF,KAAA,CAAAgC,aAAA,CAAC3B,IAAI,QACF,EAAAM,qBAAA,GAAAE,WAAW,CAACoD,WAAW,qBAAvBtD,qBAAA,CAAyBoB,IAAI,KAAI,4BAC9B,CACH,CACF;EACN,CACF,CACI,CAAC;AAEZ,CAAC","ignoreList":[]}
@@ -14,6 +14,7 @@ function getOperatorForFilter(prop) {
14
14
  return undefined;
15
15
  }
16
16
  const isSupportedOperator = (fields, filterProp, filterKey) => {
17
+ var _field$capabilities;
17
18
  const field = fields[filterKey];
18
19
  if (!field) {
19
20
  return false;
@@ -22,8 +23,8 @@ const isSupportedOperator = (fields, filterProp, filterKey) => {
22
23
  return false;
23
24
  }
24
25
  const operator = FilterPropToOperator[filterProp];
25
- const supportedOperators = field.capabilities.supportedQueryOperators;
26
- return supportedOperators.includes(operator);
26
+ const supportedOperators = (_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.supportedQueryOperators;
27
+ return supportedOperators == null ? void 0 : supportedOperators.includes(operator);
27
28
  };
28
29
  export function addFiltersToDataQuery(_ref) {
29
30
  let {
@@ -1 +1 @@
1
- {"version":3,"names":["items","BooleanFilters","FilterPropToOperator","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","field","operator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","_ref","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","_fields$fieldId","filterArray","type","some","item","id","checked","eq","falseFilter","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","_ref2","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { Query, SchemaConfig } from '../../types';\n\nexport type CmsOperatorMethod = 'ge' | 'le';\n\nconst FilterPropToMethod: Record<FilterProp, CmsOperatorMethod> = {\n from: 'ge',\n to: 'le',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities.supportedQueryOperators;\n return supportedOperators.includes(operator);\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n const filterObj = filter as Record<string, any>;\n\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["items","BooleanFilters","FilterPropToOperator","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","_field$capabilities","field","operator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","_ref","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","_fields$fieldId","filterArray","type","some","item","id","checked","eq","falseFilter","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","_ref2","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { Query, SchemaConfig } from '../../types';\n\nexport type CmsOperatorMethod = 'ge' | 'le';\n\nconst FilterPropToMethod: Record<FilterProp, CmsOperatorMethod> = {\n from: 'ge',\n to: 'le',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities?.supportedQueryOperators;\n return supportedOperators?.includes(operator);\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n const filterObj = filter as Record<string, any>;\n\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,8 +14,9 @@ export function addSortToDataQuery(_ref) {
14
14
  order
15
15
  } = sortField;
16
16
  if (fieldName && order) {
17
+ var _fieldDefinition$capa;
17
18
  const fieldDefinition = fields[fieldName];
18
- if (fieldDefinition != null && fieldDefinition.capabilities.sortable) {
19
+ if (fieldDefinition != null && (_fieldDefinition$capa = fieldDefinition.capabilities) != null && _fieldDefinition$capa.sortable) {
19
20
  if (order === 'asc') {
20
21
  dataQueryWithSort = dataQueryWithSort.ascending(fieldName);
21
22
  } else if (order === 'desc') {
@@ -1 +1 @@
1
- {"version":3,"names":["addSortToDataQuery","_ref","dataQuery","query","fields","dataQueryWithSort","sort","forEach","sortField","fieldName","order","fieldDefinition","capabilities","sortable","ascending","descending"],"sources":["../../../../src/dataSourceAdapters/cms/sortUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { Query, SchemaConfig } from '../../types';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n fields,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n}) {\n let dataQueryWithSort = dataQuery;\n const { sort } = query;\n sort?.forEach((sortField) => {\n const { fieldName, order } = sortField;\n if (fieldName && order) {\n const fieldDefinition = fields[fieldName];\n if (fieldDefinition?.capabilities.sortable) {\n if (order === 'asc') {\n dataQueryWithSort = dataQueryWithSort.ascending(fieldName);\n } else if (order === 'desc') {\n dataQueryWithSort = dataQueryWithSort.descending(fieldName);\n }\n }\n }\n });\n\n return dataQueryWithSort;\n}\n"],"mappings":"AAGA,OAAO,SAASA,kBAAkBA,CAAAC,IAAA,EAQ/B;EAAA,IARgC;IACjCC,SAAS;IACTC,KAAK;IACLC;EAKF,CAAC,GAAAH,IAAA;EACC,IAAII,iBAAiB,GAAGH,SAAS;EACjC,MAAM;IAAEI;EAAK,CAAC,GAAGH,KAAK;EACtBG,IAAI,YAAJA,IAAI,CAAEC,OAAO,CAAEC,SAAS,IAAK;IAC3B,MAAM;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGF,SAAS;IACtC,IAAIC,SAAS,IAAIC,KAAK,EAAE;MACtB,MAAMC,eAAe,GAAGP,MAAM,CAACK,SAAS,CAAC;MACzC,IAAIE,eAAe,YAAfA,eAAe,CAAEC,YAAY,CAACC,QAAQ,EAAE;QAC1C,IAAIH,KAAK,KAAK,KAAK,EAAE;UACnBL,iBAAiB,GAAGA,iBAAiB,CAACS,SAAS,CAACL,SAAS,CAAC;QAC5D,CAAC,MAAM,IAAIC,KAAK,KAAK,MAAM,EAAE;UAC3BL,iBAAiB,GAAGA,iBAAiB,CAACU,UAAU,CAACN,SAAS,CAAC;QAC7D;MACF;IACF;EACF,CAAC,CAAC;EAEF,OAAOJ,iBAAiB;AAC1B","ignoreList":[]}
1
+ {"version":3,"names":["addSortToDataQuery","_ref","dataQuery","query","fields","dataQueryWithSort","sort","forEach","sortField","fieldName","order","_fieldDefinition$capa","fieldDefinition","capabilities","sortable","ascending","descending"],"sources":["../../../../src/dataSourceAdapters/cms/sortUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { Query, SchemaConfig } from '../../types';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n fields,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n}) {\n let dataQueryWithSort = dataQuery;\n const { sort } = query;\n sort?.forEach((sortField) => {\n const { fieldName, order } = sortField;\n if (fieldName && order) {\n const fieldDefinition = fields[fieldName];\n if (fieldDefinition?.capabilities?.sortable) {\n if (order === 'asc') {\n dataQueryWithSort = dataQueryWithSort.ascending(fieldName);\n } else if (order === 'desc') {\n dataQueryWithSort = dataQueryWithSort.descending(fieldName);\n }\n }\n }\n });\n\n return dataQueryWithSort;\n}\n"],"mappings":"AAGA,OAAO,SAASA,kBAAkBA,CAAAC,IAAA,EAQ/B;EAAA,IARgC;IACjCC,SAAS;IACTC,KAAK;IACLC;EAKF,CAAC,GAAAH,IAAA;EACC,IAAII,iBAAiB,GAAGH,SAAS;EACjC,MAAM;IAAEI;EAAK,CAAC,GAAGH,KAAK;EACtBG,IAAI,YAAJA,IAAI,CAAEC,OAAO,CAAEC,SAAS,IAAK;IAC3B,MAAM;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGF,SAAS;IACtC,IAAIC,SAAS,IAAIC,KAAK,EAAE;MAAA,IAAAC,qBAAA;MACtB,MAAMC,eAAe,GAAGR,MAAM,CAACK,SAAS,CAAC;MACzC,IAAIG,eAAe,aAAAD,qBAAA,GAAfC,eAAe,CAAEC,YAAY,aAA7BF,qBAAA,CAA+BG,QAAQ,EAAE;QAC3C,IAAIJ,KAAK,KAAK,KAAK,EAAE;UACnBL,iBAAiB,GAAGA,iBAAiB,CAACU,SAAS,CAACN,SAAS,CAAC;QAC5D,CAAC,MAAM,IAAIC,KAAK,KAAK,MAAM,EAAE;UAC3BL,iBAAiB,GAAGA,iBAAiB,CAACW,UAAU,CAACP,SAAS,CAAC;QAC7D;MACF;IACF;EACF,CAAC,CAAC;EAEF,OAAOJ,iBAAiB;AAC1B","ignoreList":[]}
@@ -3,6 +3,7 @@ import { useColumns } from './useColumns';
3
3
  import { CustomColumns } from '@wix/patterns';
4
4
  import { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';
5
5
  import { useNavigation } from './useNavigationUtils';
6
+ import { useDataExtensionProps } from './useDataExtensionProps';
6
7
  export const useBaseTableFeatures = configuration => {
7
8
  var _configuration$custom;
8
9
  const {
@@ -22,6 +23,7 @@ export const useBaseTableFeatures = configuration => {
22
23
  const stickyColumns = configuration.stickyColumns;
23
24
  const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number
24
25
  const showTitleBar = configuration.showTitleBar ?? true;
26
+ const dataExtensionProps = useDataExtensionProps(configuration);
25
27
  return {
26
28
  columns,
27
29
  visibleFieldIds,
@@ -29,7 +31,8 @@ export const useBaseTableFeatures = configuration => {
29
31
  customColumns: (_configuration$custom = configuration.customColumns) != null && _configuration$custom.enabled ? /*#__PURE__*/React.createElement(CustomColumns, null) : undefined,
30
32
  stickyColumns,
31
33
  stickySelectionColumn,
32
- showTitleBar
34
+ showTitleBar,
35
+ ...dataExtensionProps
33
36
  };
34
37
  };
35
38
  //# sourceMappingURL=useBaseTableFeatures.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useBaseTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { CustomColumns } from '@wix/patterns';\nimport { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';\nimport { useNavigation } from './useNavigationUtils';\n\nexport const useBaseTableFeatures = (configuration: TableConfig) => {\n const { navigateToEntityPage } = useNavigation();\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const entityPageId = configuration.entityPageId;\n\n const onRowClickOverride = useCollectionPageOnRowClickActions({\n collectionPageOnRowClickActions: configuration.onRowClick,\n collectionId: configuration.collection.collectionId,\n });\n\n const onRowClick = configuration.onRowClick\n ? onRowClickOverride\n : (item: any) =>\n navigateToEntityPage({\n item,\n entityPageId,\n });\n\n const stickyColumns = configuration.stickyColumns;\n const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number\n const showTitleBar = configuration.showTitleBar ?? true;\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,kCAAkC,QAAQ,sCAAsC;AACzF,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGJ,aAAa,CAAC,CAAC;EAChD,MAAMK,OAAO,GAAGR,UAAU,CAACK,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGV,OAAO,CAC7B,MAAMM,aAAa,CAACG,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAACP,aAAa,CAChB,CAAC;EAED,MAAMQ,YAAY,GAAGR,aAAa,CAACQ,YAAY;EAE/C,MAAMC,kBAAkB,GAAGZ,kCAAkC,CAAC;IAC5Da,+BAA+B,EAAEV,aAAa,CAACW,UAAU;IACzDC,YAAY,EAAEZ,aAAa,CAACa,UAAU,CAACD;EACzC,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,aAAa,CAACW,UAAU,GACvCF,kBAAkB,GACjBK,IAAS,IACRZ,oBAAoB,CAAC;IACnBY,IAAI;IACJN;EACF,CAAC,CAAC;EAER,MAAMO,aAAa,GAAGf,aAAa,CAACe,aAAa;EACjD,MAAMC,qBAAqB,GAAG,CAAC,CAACD,aAAa,CAAC,CAAC;EAC/C,MAAME,YAAY,GAAGjB,aAAa,CAACiB,YAAY,IAAI,IAAI;EAEvD,OAAO;IACLd,OAAO;IACPC,eAAe;IACfO,UAAU;IACVO,aAAa,EAAE,CAAAjB,qBAAA,GAAAD,aAAa,CAACkB,aAAa,aAA3BjB,qBAAA,CAA6BkB,OAAO,gBACjD1B,KAAA,CAAA2B,aAAA,CAACxB,aAAa,MAAE,CAAC,GACfyB,SAAS;IACbN,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useDataExtensionProps","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","dataExtensionProps","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useBaseTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { CustomColumns } from '@wix/patterns';\nimport { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';\nimport { useNavigation } from './useNavigationUtils';\nimport { useDataExtensionProps } from './useDataExtensionProps';\n\nexport const useBaseTableFeatures = (configuration: TableConfig) => {\n const { navigateToEntityPage } = useNavigation();\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const entityPageId = configuration.entityPageId;\n\n const onRowClickOverride = useCollectionPageOnRowClickActions({\n collectionPageOnRowClickActions: configuration.onRowClick,\n collectionId: configuration.collection.collectionId,\n });\n\n const onRowClick = configuration.onRowClick\n ? onRowClickOverride\n : (item: any) =>\n navigateToEntityPage({\n item,\n entityPageId,\n });\n\n const stickyColumns = configuration.stickyColumns;\n const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number\n const showTitleBar = configuration.showTitleBar ?? true;\n const dataExtensionProps = useDataExtensionProps(configuration);\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n ...dataExtensionProps,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,kCAAkC,QAAQ,sCAAsC;AACzF,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGL,aAAa,CAAC,CAAC;EAChD,MAAMM,OAAO,GAAGT,UAAU,CAACM,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGX,OAAO,CAC7B,MAAMO,aAAa,CAACG,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAACP,aAAa,CAChB,CAAC;EAED,MAAMQ,YAAY,GAAGR,aAAa,CAACQ,YAAY;EAE/C,MAAMC,kBAAkB,GAAGb,kCAAkC,CAAC;IAC5Dc,+BAA+B,EAAEV,aAAa,CAACW,UAAU;IACzDC,YAAY,EAAEZ,aAAa,CAACa,UAAU,CAACD;EACzC,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,aAAa,CAACW,UAAU,GACvCF,kBAAkB,GACjBK,IAAS,IACRZ,oBAAoB,CAAC;IACnBY,IAAI;IACJN;EACF,CAAC,CAAC;EAER,MAAMO,aAAa,GAAGf,aAAa,CAACe,aAAa;EACjD,MAAMC,qBAAqB,GAAG,CAAC,CAACD,aAAa,CAAC,CAAC;EAC/C,MAAME,YAAY,GAAGjB,aAAa,CAACiB,YAAY,IAAI,IAAI;EACvD,MAAMC,kBAAkB,GAAGpB,qBAAqB,CAACE,aAAa,CAAC;EAE/D,OAAO;IACLG,OAAO;IACPC,eAAe;IACfO,UAAU;IACVQ,aAAa,EAAE,CAAAlB,qBAAA,GAAAD,aAAa,CAACmB,aAAa,aAA3BlB,qBAAA,CAA6BmB,OAAO,gBACjD5B,KAAA,CAAA6B,aAAA,CAAC1B,aAAa,MAAE,CAAC,GACf2B,SAAS;IACbP,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZ,GAAGC;EACL,CAAC;AACH,CAAC","ignoreList":[]}
@@ -98,6 +98,11 @@ export const useColumns = columns => {
98
98
  width: column.width,
99
99
  ...createSortConfiguration(column, sortable),
100
100
  ...createCustomColumnConfiguration(column),
101
+ ...(column.tooltipContent && {
102
+ infoTooltipProps: {
103
+ content: column.tooltipContent
104
+ }
105
+ }),
101
106
  render: row => {
102
107
  var _overrides$columns3;
103
108
  const itemValue = get(row, column.id);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Avatar","Box","Image","getImageUrl","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","_Object$values$find","imageFieldId","Object","values","find","field","imageUrl","createElement","gap","verticalAlign","size","name","imgProps","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","value","Boolean","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n const imageFieldId = Object.values(fields).find(\n (field) => field?.type === 'IMAGE',\n )?.id;\n imageValue = imageFieldId && itemValue[imageFieldId];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition?.displayName,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Avatar","Box","Image","getImageUrl","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","_Object$values$find","imageFieldId","Object","values","find","field","imageUrl","createElement","gap","verticalAlign","size","name","imgProps","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","tooltipContent","infoTooltipProps","content","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","value","Boolean","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n const imageFieldId = Object.values(fields).find(\n (field) => field?.type === 'IMAGE',\n )?.id;\n imageValue = imageFieldId && itemValue[imageFieldId];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition?.displayName,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n ...(column.tooltipContent && {\n infoTooltipProps: {\n content: column.tooltipContent,\n },\n }),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { DataExtension } from '@wix/patterns';
2
+ import React from 'react';
3
+ import { useSchema } from '../providers';
4
+ export function useDataExtensionProps(tableConfig) {
5
+ var _schema$extensible;
6
+ const config = tableConfig.dataExtension;
7
+ const schema = useSchema();
8
+ if (!schema.extensible || (config == null ? void 0 : config.enabled) === false) {
9
+ return {};
10
+ }
11
+ return {
12
+ dataExtension: /*#__PURE__*/React.createElement(DataExtension, {
13
+ filterable: (_schema$extensible = schema.extensible) == null ? void 0 : _schema$extensible.filterable,
14
+ containsPii: schema.containsPii
15
+ })
16
+ };
17
+ }
18
+ //# sourceMappingURL=useDataExtensionProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DataExtension","React","useSchema","useDataExtensionProps","tableConfig","_schema$extensible","config","dataExtension","schema","extensible","enabled","createElement","filterable","containsPii"],"sources":["../../../src/hooks/useDataExtensionProps.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { DataExtension } from '@wix/patterns';\nimport React from 'react';\nimport { useSchema } from '../providers';\n\nexport function useDataExtensionProps(tableConfig: TableConfig) {\n const config = tableConfig.dataExtension;\n const schema = useSchema();\n\n if (!schema.extensible || config?.enabled === false) {\n return {};\n }\n\n return {\n dataExtension: (\n <DataExtension\n filterable={schema.extensible?.filterable}\n containsPii={schema.containsPii}\n />\n ),\n };\n}\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,eAAe;AAC7C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,cAAc;AAExC,OAAO,SAASC,qBAAqBA,CAACC,WAAwB,EAAE;EAAA,IAAAC,kBAAA;EAC9D,MAAMC,MAAM,GAAGF,WAAW,CAACG,aAAa;EACxC,MAAMC,MAAM,GAAGN,SAAS,CAAC,CAAC;EAE1B,IAAI,CAACM,MAAM,CAACC,UAAU,IAAI,CAAAH,MAAM,oBAANA,MAAM,CAAEI,OAAO,MAAK,KAAK,EAAE;IACnD,OAAO,CAAC,CAAC;EACX;EAEA,OAAO;IACLH,aAAa,eACXN,KAAA,CAAAU,aAAA,CAACX,aAAa;MACZY,UAAU,GAAAP,kBAAA,GAAEG,MAAM,CAACC,UAAU,qBAAjBJ,kBAAA,CAAmBO,UAAW;MAC1CC,WAAW,EAAEL,MAAM,CAACK;IAAY,CACjC;EAEL,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import { useSchema } from '../providers';
2
+ export function useDragAndDropBaseProps(config) {
3
+ var _config$dragAndDrop;
4
+ const schema = useSchema();
5
+ if (!((_config$dragAndDrop = config.dragAndDrop) != null && _config$dragAndDrop.enabled)) {
6
+ return null;
7
+ }
8
+ if (schema.actions.move == null) {
9
+ if (process.env.NODE_ENV === 'development') {
10
+ console.warn('Drag and drop is enabled, but the schema does not support moving items. Please provide a "move" action in the schema. Current schema:', schema);
11
+ }
12
+ return null;
13
+ }
14
+ return {
15
+ dragAndDropSubmit: async _ref => {
16
+ let {
17
+ from,
18
+ after
19
+ } = _ref;
20
+ await (schema.actions.move == null ? void 0 : schema.actions.move(from.id, {
21
+ moveAfterId: after == null ? void 0 : after.id
22
+ }));
23
+ },
24
+ dragAndDropCategories: [[]]
25
+ };
26
+ }
27
+ //# sourceMappingURL=useDragAndDropBaseProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSchema","useDragAndDropBaseProps","config","_config$dragAndDrop","schema","dragAndDrop","enabled","actions","move","process","env","NODE_ENV","console","warn","dragAndDropSubmit","_ref","from","after","id","moveAfterId","dragAndDropCategories"],"sources":["../../../src/hooks/useDragAndDropBaseProps.ts"],"sourcesContent":["import { useSchema } from '../providers';\nimport { TableProps } from '@wix/patterns';\nimport { BaseCollectionComponentConfig } from '../types';\n\nexport function useDragAndDropBaseProps(\n config: BaseCollectionComponentConfig,\n): Pick<\n TableProps<any, {}>,\n 'dragAndDropSubmit' | 'dragAndDropCategories' | 'dragAndDropCancel'\n> | null {\n const schema = useSchema();\n\n if (!config.dragAndDrop?.enabled) {\n return null;\n }\n\n if (schema.actions.move == null) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n 'Drag and drop is enabled, but the schema does not support moving items. Please provide a \"move\" action in the schema. Current schema:',\n schema,\n );\n }\n return null;\n }\n\n return {\n dragAndDropSubmit: async ({ from, after }) => {\n await schema.actions.move?.(from.id, {\n moveAfterId: after?.id,\n });\n },\n dragAndDropCategories: [[]],\n };\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AAIxC,OAAO,SAASC,uBAAuBA,CACrCC,MAAqC,EAI9B;EAAA,IAAAC,mBAAA;EACP,MAAMC,MAAM,GAAGJ,SAAS,CAAC,CAAC;EAE1B,IAAI,GAAAG,mBAAA,GAACD,MAAM,CAACG,WAAW,aAAlBF,mBAAA,CAAoBG,OAAO,GAAE;IAChC,OAAO,IAAI;EACb;EAEA,IAAIF,MAAM,CAACG,OAAO,CAACC,IAAI,IAAI,IAAI,EAAE;IAC/B,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;MAC1CC,OAAO,CAACC,IAAI,CACV,uIAAuI,EACvIT,MACF,CAAC;IACH;IACA,OAAO,IAAI;EACb;EAEA,OAAO;IACLU,iBAAiB,EAAE,MAAAC,IAAA,IAA2B;MAAA,IAApB;QAAEC,IAAI;QAAEC;MAAM,CAAC,GAAAF,IAAA;MACvC,OAAMX,MAAM,CAACG,OAAO,CAACC,IAAI,oBAAnBJ,MAAM,CAACG,OAAO,CAACC,IAAI,CAAGQ,IAAI,CAACE,EAAE,EAAE;QACnCC,WAAW,EAAEF,KAAK,oBAALA,KAAK,CAAEC;MACtB,CAAC,CAAC;IACJ,CAAC;IACDE,qBAAqB,EAAE,CAAC,EAAE;EAC5B,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { GridDragAndDrop } from '@wix/patterns';
2
+ import { useDragAndDropBaseProps } from './useDragAndDropBaseProps';
3
+ export function useGridDragAndDrop(config) {
4
+ const dragAndDropBaseProps = useDragAndDropBaseProps(config);
5
+ if (dragAndDropBaseProps == null) {
6
+ return null;
7
+ }
8
+ return {
9
+ ...dragAndDropBaseProps,
10
+ dragAndDrop: GridDragAndDrop
11
+ };
12
+ }
13
+ //# sourceMappingURL=useGridDragAndDrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GridDragAndDrop","useDragAndDropBaseProps","useGridDragAndDrop","config","dragAndDropBaseProps","dragAndDrop"],"sources":["../../../src/hooks/useGridDragAndDrop.ts"],"sourcesContent":["import { GridDragAndDrop } from '@wix/patterns';\nimport { GridConfig } from '../types';\nimport { useDragAndDropBaseProps } from './useDragAndDropBaseProps';\n\nexport function useGridDragAndDrop(config: GridConfig) {\n const dragAndDropBaseProps = useDragAndDropBaseProps(config);\n\n if (dragAndDropBaseProps == null) {\n return null;\n }\n\n return {\n ...dragAndDropBaseProps,\n dragAndDrop: GridDragAndDrop,\n };\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,eAAe;AAE/C,SAASC,uBAAuB,QAAQ,2BAA2B;AAEnE,OAAO,SAASC,kBAAkBA,CAACC,MAAkB,EAAE;EACrD,MAAMC,oBAAoB,GAAGH,uBAAuB,CAACE,MAAM,CAAC;EAE5D,IAAIC,oBAAoB,IAAI,IAAI,EAAE;IAChC,OAAO,IAAI;EACb;EAEA,OAAO;IACL,GAAGA,oBAAoB;IACvBC,WAAW,EAAEL;EACf,CAAC;AACH","ignoreList":[]}
@@ -6,6 +6,7 @@ import { useBaseGridFeatures } from './useBaseGridFeatures';
6
6
  import { useBaseCollectionParams } from './useBaseCollectionParams';
7
7
  import { useAppContextSync } from './useAppContextSync';
8
8
  import { useCallback } from 'react';
9
+ import { useGridDragAndDrop } from './useGridDragAndDrop';
9
10
  export const useGridFeatures = configuration => {
10
11
  const {
11
12
  renderItem,
@@ -29,6 +30,7 @@ export const useGridFeatures = configuration => {
29
30
  fetchData,
30
31
  filters: filtersObject
31
32
  });
33
+ const dragAndDropProps = useGridDragAndDrop(configuration);
32
34
  const state = useGridCollection(params);
33
35
  const items = useSelector(() => state.collection.result.items);
34
36
  const refreshCollection = useCallback(() => {
@@ -49,7 +51,8 @@ export const useGridFeatures = configuration => {
49
51
  imagePlacement,
50
52
  preset,
51
53
  renderItem,
52
- filters: filterComponent
54
+ filters: filterComponent,
55
+ dragAndDropProps
53
56
  };
54
57
  };
55
58
  //# sourceMappingURL=useGridFeatures.js.map