@blaze-cms/plugin-data-ui 0.146.0-node18-tooltips.44 → 0.146.0-node18-tooltips.48
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/CHANGELOG.md +11 -0
- package/README.md +9 -2
- package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +1 -0
- package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +1 -1
- package/lib/components/EntityManager/Entity/Entity.js +5 -5
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +1 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js +5 -5
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
- package/lib/components/EntityManager/EntityManager.js +3 -3
- package/lib/components/EntityManager/EntityManager.js.map +1 -1
- package/lib/components/EntityManager/utils/entity.js +1 -1
- package/lib/components/EntityManager/utils/entity.js.map +1 -1
- package/lib/components/EntityManager/utils/entityAvailableActions.js +2 -2
- package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
- package/lib/components/InfoBoxes/InfoBoxes.js +1 -0
- package/lib/components/InfoBoxes/InfoBoxes.js.map +1 -1
- package/lib/components/InfoBoxes/container/InfoBoxContainer.js +1 -1
- package/lib/components/InfoBoxes/container/InfoBoxContainer.js.map +1 -1
- package/lib/components/InfoBoxes/helpers/build-dynamic-query.js +1 -0
- package/lib/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -1
- package/lib/components/ListingTable/ListingTable.js +7 -7
- package/lib/components/ListingTable/ListingTable.js.map +1 -1
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +1 -1
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib/components/ListingTable/SearchFilter/SearchContainer.js +6 -6
- package/lib/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
- package/lib/components/ListingTable/SearchFilter/SearchFilter.js +1 -1
- package/lib/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/ListingTable/SearchFilter/helpers.js +1 -0
- package/lib/components/ListingTable/SearchFilter/helpers.js.map +1 -1
- package/lib/components/ListingTable/TableActions/TableActions.js.map +1 -1
- package/lib/components/ListingTable/service/index.js +2 -1
- package/lib/components/ListingTable/service/index.js.map +1 -1
- package/lib/components/Tabs/index.js +1 -1
- package/lib/components/Tabs/index.js.map +1 -1
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/utils/add-content-menu-items.js +1 -1
- package/lib/utils/add-content-menu-items.js.map +1 -1
- package/lib/utils/get-default-query-params.js +17 -5
- package/lib/utils/get-default-query-params.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
- package/lib-es/components/EntityManager/EntityManager.js.map +1 -1
- package/lib-es/components/EntityManager/utils/entity.js.map +1 -1
- package/lib-es/components/EntityManager/utils/query.js.map +1 -1
- package/lib-es/components/InfoBoxes/InfoBoxTooltip.js.map +1 -1
- package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -1
- package/lib-es/components/InfoBoxes/hooks/useData.js.map +1 -1
- package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +1 -1
- package/lib-es/components/InfoBoxes/presentational/InfoBoxLabel.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
- package/lib-es/components/ListingTable/SearchFilter/helpers.js.map +1 -1
- package/lib-es/components/ListingTable/SearchFilter/querys.js.map +1 -1
- package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -1
- package/lib-es/components/ListingTable/service/index.js.map +1 -1
- package/lib-es/index.js +2 -2
- package/lib-es/index.js.map +1 -1
- package/lib-es/utils/add-content-menu-items.js.map +1 -1
- package/lib-es/utils/build-create-entity-mutation.js.map +1 -1
- package/lib-es/utils/build-delete-entity-mutation.js.map +1 -1
- package/lib-es/utils/build-listing-query.js.map +1 -1
- package/lib-es/utils/build-update-data-query.js.map +1 -1
- package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -1
- package/lib-es/utils/get-default-query-params.js +17 -5
- package/lib-es/utils/get-default-query-params.js.map +1 -1
- package/package.json +2 -2
- package/src/components/ListingTable/SearchFilter/helpers.js +2 -3
- package/src/utils/get-default-query-params.js +21 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","names":["has","DEBUG_PARAM","ENTITY_PUBLISHED","KEY_TO_CHECK","SELECT_DEFAULT_VALUE","canViewPage","formData","entity","schema","entityIsPublished","id","validateSideBarRelations","updatedFormValues","requiredChildField","parentEntityField","find","parentIdField","parentEntityFieldHasValue","value","parentIdFieldHasValue","onViewUrlClick","getFullUrl","fullUrl","delimiter","includes","debugParam","process","env","BLAZE_DISABLE_URL_DEBUG_PARAM","window","open","getUpdatedFormValues","formValues","slice","fieldIndex","findIndex","_id","_objectSpread","push","requiredChildFieldIndex","checkFulfilConditions","args","every","param"],"sources":["../../../../src/components/EntityManager/utils/entity.js"],"sourcesContent":["import has from 'lodash.has';\nimport {\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n SELECT_DEFAULT_VALUE\n} from '../../../constants';\n\nfunction canViewPage(formData, entity, schema, entityIsPublished) {\n return (\n has(formData, KEY_TO_CHECK) &&\n entity &&\n entity.id &&\n schema &&\n schema.id &&\n entityIsPublished === ENTITY_PUBLISHED\n );\n}\n\nfunction validateSideBarRelations(updatedFormValues, requiredChildField) {\n if (!requiredChildField) return true;\n const parentEntityField = updatedFormValues.find(({ id }) => id === 'parentEntity');\n const parentIdField = updatedFormValues.find(({ id }) => id === 'parentId');\n\n const parentEntityFieldHasValue =\n parentEntityField &&\n parentEntityField.value &&\n parentEntityField.value !== SELECT_DEFAULT_VALUE;\n const parentIdFieldHasValue = parentIdField && parentIdField.value;\n\n return !!(!parentEntityFieldHasValue || (parentEntityFieldHasValue && parentIdFieldHasValue));\n}\n\nasync function onViewUrlClick(getFullUrl) {\n const fullUrl = await getFullUrl();\n if (fullUrl) {\n const delimiter = fullUrl.includes('?') ? '&' : '?';\n const debugParam = process.env.BLAZE_DISABLE_URL_DEBUG_PARAM\n ? ''\n : `${delimiter}${DEBUG_PARAM}`;\n window.open(`${fullUrl}${debugParam}`, '_blank');\n }\n}\n\nfunction getUpdatedFormValues({ id, value, requiredChildField, formValues }) {\n const updatedFormValues = formValues ? formValues.slice() : [];\n const fieldIndex = updatedFormValues.findIndex(({ id: _id }) => _id === id);\n\n if (fieldIndex > -1) {\n updatedFormValues[fieldIndex] = { ...updatedFormValues[fieldIndex], value };\n } else {\n updatedFormValues.push({ id, value });\n }\n\n if (requiredChildField && requiredChildField.id) {\n const requiredChildFieldIndex = updatedFormValues.findIndex(\n ({ id: _id }) => _id === requiredChildField.id\n );\n if (requiredChildFieldIndex > -1) {\n updatedFormValues[requiredChildFieldIndex] = {\n ...updatedFormValues[requiredChildFieldIndex],\n value: requiredChildField.value\n };\n } else {\n updatedFormValues.push({\n id: requiredChildField.id,\n value: requiredChildField.value\n });\n }\n }\n\n return updatedFormValues;\n}\n\nfunction checkFulfilConditions(...args) {\n return args.every(param => param);\n}\n\nexport {\n canViewPage,\n validateSideBarRelations,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n};\n"],"mappings":";;;AAAA,OAAOA,GAAG,MAAM,YAAY;AAC5B,SACEC,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZC,oBAAoB,QACf,oBAAoB;AAE3B,SAASC,WAAWA,CAACC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,iBAAiB,EAAE;EAChE,OACET,GAAG,CAACM,QAAQ,EAAEH,YAAY,CAAC,IAC3BI,MAAM,IACNA,MAAM,CAACG,EAAE,IACTF,MAAM,IACNA,MAAM,CAACE,EAAE,IACTD,iBAAiB,KAAKP,gBAAgB;AAE1C;AAEA,SAASS,wBAAwBA,CAACC,iBAAiB,EAAEC,kBAAkB,EAAE;EACvE,IAAI,CAACA,kBAAkB,EAAE,OAAO,IAAI;EACpC,MAAMC,iBAAiB,GAAGF,iBAAiB,CAACG,IAAI,CAAC,CAAC;IAAEL;EAAG,CAAC,KAAKA,EAAE,KAAK,cAAc,CAAC;EACnF,MAAMM,aAAa,GAAGJ,iBAAiB,CAACG,IAAI,CAAC,CAAC;IAAEL;EAAG,CAAC,KAAKA,EAAE,KAAK,UAAU,CAAC;EAE3E,MAAMO,yBAAyB,GAC7BH,iBAAiB,IACjBA,iBAAiB,CAACI,KAAK,IACvBJ,iBAAiB,CAACI,KAAK,KAAKd,oBAAoB;EAClD,MAAMe,qBAAqB,GAAGH,aAAa,IAAIA,aAAa,CAACE,KAAK;EAElE,OAAO,CAAC,EAAE,CAACD,yBAAyB,IAAKA,yBAAyB,IAAIE,qBAAsB,CAAC;AAC/F;AAEA,eAAeC,cAAcA,CAACC,UAAU,EAAE;EACxC,MAAMC,OAAO,GAAG,MAAMD,UAAU,CAAC,CAAC;EAClC,IAAIC,OAAO,EAAE;IACX,MAAMC,SAAS,GAAGD,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;IACnD,MAAMC,UAAU,GAAGC,OAAO,CAACC,GAAG,CAACC,6BAA6B,GACxD,EAAE,
|
|
1
|
+
{"version":3,"file":"entity.js","names":["has","DEBUG_PARAM","ENTITY_PUBLISHED","KEY_TO_CHECK","SELECT_DEFAULT_VALUE","canViewPage","formData","entity","schema","entityIsPublished","id","validateSideBarRelations","updatedFormValues","requiredChildField","parentEntityField","find","parentIdField","parentEntityFieldHasValue","value","parentIdFieldHasValue","onViewUrlClick","getFullUrl","fullUrl","delimiter","includes","debugParam","process","env","BLAZE_DISABLE_URL_DEBUG_PARAM","window","open","getUpdatedFormValues","formValues","slice","fieldIndex","findIndex","_id","_objectSpread","push","requiredChildFieldIndex","checkFulfilConditions","args","every","param"],"sources":["../../../../src/components/EntityManager/utils/entity.js"],"sourcesContent":["import has from 'lodash.has';\nimport {\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n SELECT_DEFAULT_VALUE\n} from '../../../constants';\n\nfunction canViewPage(formData, entity, schema, entityIsPublished) {\n return (\n has(formData, KEY_TO_CHECK) &&\n entity &&\n entity.id &&\n schema &&\n schema.id &&\n entityIsPublished === ENTITY_PUBLISHED\n );\n}\n\nfunction validateSideBarRelations(updatedFormValues, requiredChildField) {\n if (!requiredChildField) return true;\n const parentEntityField = updatedFormValues.find(({ id }) => id === 'parentEntity');\n const parentIdField = updatedFormValues.find(({ id }) => id === 'parentId');\n\n const parentEntityFieldHasValue =\n parentEntityField &&\n parentEntityField.value &&\n parentEntityField.value !== SELECT_DEFAULT_VALUE;\n const parentIdFieldHasValue = parentIdField && parentIdField.value;\n\n return !!(!parentEntityFieldHasValue || (parentEntityFieldHasValue && parentIdFieldHasValue));\n}\n\nasync function onViewUrlClick(getFullUrl) {\n const fullUrl = await getFullUrl();\n if (fullUrl) {\n const delimiter = fullUrl.includes('?') ? '&' : '?';\n const debugParam = process.env.BLAZE_DISABLE_URL_DEBUG_PARAM\n ? ''\n : `${delimiter}${DEBUG_PARAM}`;\n window.open(`${fullUrl}${debugParam}`, '_blank');\n }\n}\n\nfunction getUpdatedFormValues({ id, value, requiredChildField, formValues }) {\n const updatedFormValues = formValues ? formValues.slice() : [];\n const fieldIndex = updatedFormValues.findIndex(({ id: _id }) => _id === id);\n\n if (fieldIndex > -1) {\n updatedFormValues[fieldIndex] = { ...updatedFormValues[fieldIndex], value };\n } else {\n updatedFormValues.push({ id, value });\n }\n\n if (requiredChildField && requiredChildField.id) {\n const requiredChildFieldIndex = updatedFormValues.findIndex(\n ({ id: _id }) => _id === requiredChildField.id\n );\n if (requiredChildFieldIndex > -1) {\n updatedFormValues[requiredChildFieldIndex] = {\n ...updatedFormValues[requiredChildFieldIndex],\n value: requiredChildField.value\n };\n } else {\n updatedFormValues.push({\n id: requiredChildField.id,\n value: requiredChildField.value\n });\n }\n }\n\n return updatedFormValues;\n}\n\nfunction checkFulfilConditions(...args) {\n return args.every(param => param);\n}\n\nexport {\n canViewPage,\n validateSideBarRelations,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","names":["gql","upperFirst","generateQuery","action","props","getAction","query"],"sources":["../../../../src/components/EntityManager/utils/query.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nexport { getAction };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,UAAU,MAAM,mBAAmB;AAE1C,MAAMC,aAAa,GAAGA,CAACC,MAAM,EAAEC,KAAK,
|
|
1
|
+
{"version":3,"file":"query.js","names":["gql","upperFirst","generateQuery","action","props","getAction","query"],"sources":["../../../../src/components/EntityManager/utils/query.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nexport { getAction };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,UAAU,MAAM,mBAAmB;AAE1C,MAAMC,aAAa,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;AACzC;AACA;AACA;AACA;AACA,cAAcH,UAAU,CAACE,MAAM,CAAC;AAChC,MAAMA,MAAM;AACZ,QAAQC,KAAK;AACb;AACA;AACA,GAAG;;AAEH;AACA,MAAMC,SAAS,GAAGA,CAACF,MAAM,EAAEC,KAAK,KAAK;EACnC,MAAME,KAAK,GAAGJ,aAAa,CAACC,MAAM,EAAEC,KAAK,CAAC;EAC1C,OAAOJ,GAAG;AACZ,MAAMM,KAAK;AACX,GAAG;AACH,CAAC;AAED,SAASD,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoBoxTooltip.js","names":["React","PropTypes","Tooltip","InfoBoxTooltip","_ref","info","tooltipProps","_objectWithoutProperties","_excluded","tooltipContent","tooltipIcon","renderTooltipIcon","icon","createElement","className","_extends","trigger","propTypes","shape","node","string","isRequired"],"sources":["../../../src/components/InfoBoxes/InfoBoxTooltip.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@blaze-react/tooltip';\n\nconst InfoBoxTooltip = ({ info, ...tooltipProps }) => {\n const { tooltipContent, tooltipIcon } = info;\n if (!tooltipContent) return null;\n\n const renderTooltipIcon = icon => {\n if (!icon) return null;\n return <i className={`${icon} info-box--icon`} />;\n };\n\n return (\n <Tooltip\n tooltipContent={tooltipContent}\n trigger=\"click\"\n className=\"info-box--tooltip\"\n {...tooltipProps}>\n {renderTooltipIcon(tooltipIcon)}\n </Tooltip>\n );\n};\n\nInfoBoxTooltip.propTypes = {\n info: PropTypes.shape({\n tooltipContent: PropTypes.node,\n tooltipIcon: PropTypes.string\n }).isRequired\n};\n\nexport default InfoBoxTooltip;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,sBAAsB;AAE1C,MAAMC,cAAc,GAAGC,IAAA,IAA+B;EAAA,IAA9B;MAAEC;IAAsB,CAAC,GAAAD,IAAA;IAAdE,YAAY,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAC7C,MAAM;IAAEC,cAAc;IAAEC;EAAY,CAAC,GAAGL,IAAI;EAC5C,IAAI,CAACI,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,iBAAiB,GAAGC,IAAI,IAAI;IAChC,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;IACtB,oBAAOZ,KAAA,CAAAa,aAAA;MAAGC,SAAS,
|
|
1
|
+
{"version":3,"file":"InfoBoxTooltip.js","names":["React","PropTypes","Tooltip","InfoBoxTooltip","_ref","info","tooltipProps","_objectWithoutProperties","_excluded","tooltipContent","tooltipIcon","renderTooltipIcon","icon","createElement","className","_extends","trigger","propTypes","shape","node","string","isRequired"],"sources":["../../../src/components/InfoBoxes/InfoBoxTooltip.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@blaze-react/tooltip';\n\nconst InfoBoxTooltip = ({ info, ...tooltipProps }) => {\n const { tooltipContent, tooltipIcon } = info;\n if (!tooltipContent) return null;\n\n const renderTooltipIcon = icon => {\n if (!icon) return null;\n return <i className={`${icon} info-box--icon`} />;\n };\n\n return (\n <Tooltip\n tooltipContent={tooltipContent}\n trigger=\"click\"\n className=\"info-box--tooltip\"\n {...tooltipProps}>\n {renderTooltipIcon(tooltipIcon)}\n </Tooltip>\n );\n};\n\nInfoBoxTooltip.propTypes = {\n info: PropTypes.shape({\n tooltipContent: PropTypes.node,\n tooltipIcon: PropTypes.string\n }).isRequired\n};\n\nexport default InfoBoxTooltip;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,sBAAsB;AAE1C,MAAMC,cAAc,GAAGC,IAAA,IAA+B;EAAA,IAA9B;MAAEC;IAAsB,CAAC,GAAAD,IAAA;IAAdE,YAAY,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAC7C,MAAM;IAAEC,cAAc;IAAEC;EAAY,CAAC,GAAGL,IAAI;EAC5C,IAAI,CAACI,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,iBAAiB,GAAGC,IAAI,IAAI;IAChC,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;IACtB,oBAAOZ,KAAA,CAAAa,aAAA;MAAGC,SAAS,EAAE,GAAGF,IAAI;IAAkB,CAAE,CAAC;EACnD,CAAC;EAED,oBACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAa,QAAA;IACNN,cAAc,EAAEA,cAAe;IAC/BO,OAAO,EAAC,OAAO;IACfF,SAAS,EAAC;EAAmB,GACzBR,YAAY,GACfK,iBAAiB,CAACD,WAAW,CACvB,CAAC;AAEd,CAAC;AAEDP,cAAc,CAACc,SAAS,GAAG;EACzBZ,IAAI,EAAEJ,SAAS,CAACiB,KAAK,CAAC;IACpBT,cAAc,EAAER,SAAS,CAACkB,IAAI;IAC9BT,WAAW,EAAET,SAAS,CAACmB;EACzB,CAAC,CAAC,CAACC;AACL,CAAC;AAED,eAAelB,cAAc","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-dynamic-query.js","names":["gql","BlazeError","buildDynamicQuery","id","schema","properties","actions","get","fields","map","infoProperty","field"],"sources":["../../../../src/components/InfoBoxes/helpers/build-dynamic-query.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\n\nexport default function buildDynamicQuery({ id, schema, properties }) {\n if (!id) return null;\n\n if (!schema || !schema.actions || !schema.actions.get || !schema.properties) {\n throw new BlazeError(\n 'DataEntity query requires get action, properties and fields from entity schema'\n );\n }\n\n const fields = properties.map(\n infoProperty =>\n `${infoProperty} {\n label\n value\n showLabel\n url\n tooltipIcon\n tooltipContent\n }`\n );\n\n return gql`query getInfoBoxData($id: String!){\n ${schema.actions.get}( id: $id ) {\n id\n ${fields.map(field => field)}\n __typename\n }\n }`;\n}\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,eAAe,SAASC,iBAAiBA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAW,CAAC,EAAE;EACpE,IAAI,CAACF,EAAE,EAAE,OAAO,IAAI;EAEpB,IAAI,CAACC,MAAM,IAAI,CAACA,MAAM,CAACE,OAAO,IAAI,CAACF,MAAM,CAACE,OAAO,CAACC,GAAG,IAAI,CAACH,MAAM,CAACC,UAAU,EAAE;IAC3E,MAAM,IAAIJ,UAAU,CAClB,gFACF,CAAC;EACH;EAEA,MAAMO,MAAM,GAAGH,UAAU,CAACI,GAAG,CAC3BC,YAAY,
|
|
1
|
+
{"version":3,"file":"build-dynamic-query.js","names":["gql","BlazeError","buildDynamicQuery","id","schema","properties","actions","get","fields","map","infoProperty","field"],"sources":["../../../../src/components/InfoBoxes/helpers/build-dynamic-query.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\n\nexport default function buildDynamicQuery({ id, schema, properties }) {\n if (!id) return null;\n\n if (!schema || !schema.actions || !schema.actions.get || !schema.properties) {\n throw new BlazeError(\n 'DataEntity query requires get action, properties and fields from entity schema'\n );\n }\n\n const fields = properties.map(\n infoProperty =>\n `${infoProperty} {\n label\n value\n showLabel\n url\n tooltipIcon\n tooltipContent\n }`\n );\n\n return gql`query getInfoBoxData($id: String!){\n ${schema.actions.get}( id: $id ) {\n id\n ${fields.map(field => field)}\n __typename\n }\n }`;\n}\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,eAAe,SAASC,iBAAiBA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAW,CAAC,EAAE;EACpE,IAAI,CAACF,EAAE,EAAE,OAAO,IAAI;EAEpB,IAAI,CAACC,MAAM,IAAI,CAACA,MAAM,CAACE,OAAO,IAAI,CAACF,MAAM,CAACE,OAAO,CAACC,GAAG,IAAI,CAACH,MAAM,CAACC,UAAU,EAAE;IAC3E,MAAM,IAAIJ,UAAU,CAClB,gFACF,CAAC;EACH;EAEA,MAAMO,MAAM,GAAGH,UAAU,CAACI,GAAG,CAC3BC,YAAY,IACV,GAAGA,YAAY;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,MACE,CAAC;EAED,OAAOV,GAAG;AACZ,MAAMI,MAAM,CAACE,OAAO,CAACC,GAAG;AACxB;AACA,QAAQC,MAAM,CAACC,GAAG,CAACE,KAAK,IAAIA,KAAK,CAAC;AAClC;AACA;AACA,IAAI;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useData.js","names":["useQuery","gql","useInfoBoxData","useData","id","schema","infoBox","query","infoBoxQuery","data","loading","error","refetch","variables","skip","__typename"],"sources":["../../../../src/components/InfoBoxes/hooks/useData.js"],"sourcesContent":["import { useQuery, gql } from '@apollo/client';\nimport useInfoBoxData from './useInfoBox';\n\nfunction useData({ id, schema, infoBox }) {\n const { query } = useInfoBoxData({ id, schema, infoBox });\n\n const infoBoxQuery =\n query ||\n gql`\n query {\n __typename\n }\n `;\n\n const {\n data = {},\n loading,\n error,\n refetch\n } = useQuery(infoBoxQuery, {\n variables: { id },\n skip: !query\n });\n\n return { data: data.__typename !== 'Query' ? data : null, loading, error, refetch };\n}\n\nexport default useData;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,GAAG,QAAQ,gBAAgB;AAC9C,OAAOC,cAAc,MAAM,cAAc;AAEzC,SAASC,OAAOA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAE;EACxC,MAAM;IAAEC;EAAM,CAAC,GAAGL,cAAc,CAAC;IAAEE,EAAE;IAAEC,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAEzD,MAAME,YAAY,GAChBD,KAAK,IACLN,
|
|
1
|
+
{"version":3,"file":"useData.js","names":["useQuery","gql","useInfoBoxData","useData","id","schema","infoBox","query","infoBoxQuery","data","loading","error","refetch","variables","skip","__typename"],"sources":["../../../../src/components/InfoBoxes/hooks/useData.js"],"sourcesContent":["import { useQuery, gql } from '@apollo/client';\nimport useInfoBoxData from './useInfoBox';\n\nfunction useData({ id, schema, infoBox }) {\n const { query } = useInfoBoxData({ id, schema, infoBox });\n\n const infoBoxQuery =\n query ||\n gql`\n query {\n __typename\n }\n `;\n\n const {\n data = {},\n loading,\n error,\n refetch\n } = useQuery(infoBoxQuery, {\n variables: { id },\n skip: !query\n });\n\n return { data: data.__typename !== 'Query' ? data : null, loading, error, refetch };\n}\n\nexport default useData;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,GAAG,QAAQ,gBAAgB;AAC9C,OAAOC,cAAc,MAAM,cAAc;AAEzC,SAASC,OAAOA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAE;EACxC,MAAM;IAAEC;EAAM,CAAC,GAAGL,cAAc,CAAC;IAAEE,EAAE;IAAEC,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAEzD,MAAME,YAAY,GAChBD,KAAK,IACLN,GAAG;AACP;AACA;AACA;AACA,KAAK;EAEH,MAAM;IACJQ,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO;IACPC,KAAK;IACLC;EACF,CAAC,GAAGZ,QAAQ,CAACQ,YAAY,EAAE;IACzBK,SAAS,EAAE;MAAET;IAAG,CAAC;IACjBU,IAAI,EAAE,CAACP;EACT,CAAC,CAAC;EAEF,OAAO;IAAEE,IAAI,EAAEA,IAAI,CAACM,UAAU,KAAK,OAAO,GAAGN,IAAI,GAAG,IAAI;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAQ,CAAC;AACrF;AAEA,eAAeT,OAAO","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoBox.js","names":["PropTypes","React","InfoBoxValue","InfoBoxLabel","InfoBoxTooltip","InfoBox","items","infoBoxKey","infoBoxItems","map","item","Object","values","info","label","value","createElement","className","key","toLowerCase","filter","Boolean","propTypes","string","isRequired","array"],"sources":["../../../../src/components/InfoBoxes/presentational/InfoBox.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport InfoBoxValue from './InfoBoxValue';\nimport InfoBoxLabel from './InfoBoxLabel';\nimport InfoBoxTooltip from '../InfoBoxTooltip';\n\nconst InfoBox = ({ items, infoBoxKey }) => {\n if (!items) return null;\n\n const infoBoxItems = items.map(item =>\n Object.values(item)\n .map(info => {\n if (!info.label || !info.value) return null;\n\n return (\n <div className=\"info-box--item\" key={`${infoBoxKey}-${info.label.toLowerCase()}`}>\n <div className=\"info-box--label\">\n <InfoBoxLabel item={info} />\n </div>\n <div className=\"info-box--value\">\n <InfoBoxValue item={info} />\n <InfoBoxTooltip info={info} />\n </div>\n </div>\n );\n })\n .filter(Boolean)\n );\n\n return (\n <div className=\"info-box\" key={infoBoxKey}>\n <div className=\"info-box--container\">{infoBoxItems}</div>\n </div>\n );\n};\n\nInfoBox.propTypes = {\n infoBoxKey: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired\n};\n\nexport default InfoBox;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,cAAc,MAAM,mBAAmB;AAE9C,MAAMC,OAAO,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAW,CAAC,KAAK;EACzC,IAAI,CAACD,KAAK,EAAE,OAAO,IAAI;EAEvB,MAAME,YAAY,GAAGF,KAAK,CAACG,GAAG,CAACC,IAAI,IACjCC,MAAM,CAACC,MAAM,CAACF,IAAI,CAAC,CAChBD,GAAG,CAACI,IAAI,IAAI;IACX,IAAI,CAACA,IAAI,CAACC,KAAK,IAAI,CAACD,IAAI,CAACE,KAAK,EAAE,OAAO,IAAI;IAE3C,oBACEd,KAAA,CAAAe,aAAA;MAAKC,SAAS,EAAC,gBAAgB;MAACC,GAAG,
|
|
1
|
+
{"version":3,"file":"InfoBox.js","names":["PropTypes","React","InfoBoxValue","InfoBoxLabel","InfoBoxTooltip","InfoBox","items","infoBoxKey","infoBoxItems","map","item","Object","values","info","label","value","createElement","className","key","toLowerCase","filter","Boolean","propTypes","string","isRequired","array"],"sources":["../../../../src/components/InfoBoxes/presentational/InfoBox.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport InfoBoxValue from './InfoBoxValue';\nimport InfoBoxLabel from './InfoBoxLabel';\nimport InfoBoxTooltip from '../InfoBoxTooltip';\n\nconst InfoBox = ({ items, infoBoxKey }) => {\n if (!items) return null;\n\n const infoBoxItems = items.map(item =>\n Object.values(item)\n .map(info => {\n if (!info.label || !info.value) return null;\n\n return (\n <div className=\"info-box--item\" key={`${infoBoxKey}-${info.label.toLowerCase()}`}>\n <div className=\"info-box--label\">\n <InfoBoxLabel item={info} />\n </div>\n <div className=\"info-box--value\">\n <InfoBoxValue item={info} />\n <InfoBoxTooltip info={info} />\n </div>\n </div>\n );\n })\n .filter(Boolean)\n );\n\n return (\n <div className=\"info-box\" key={infoBoxKey}>\n <div className=\"info-box--container\">{infoBoxItems}</div>\n </div>\n );\n};\n\nInfoBox.propTypes = {\n infoBoxKey: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired\n};\n\nexport default InfoBox;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,cAAc,MAAM,mBAAmB;AAE9C,MAAMC,OAAO,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAW,CAAC,KAAK;EACzC,IAAI,CAACD,KAAK,EAAE,OAAO,IAAI;EAEvB,MAAME,YAAY,GAAGF,KAAK,CAACG,GAAG,CAACC,IAAI,IACjCC,MAAM,CAACC,MAAM,CAACF,IAAI,CAAC,CAChBD,GAAG,CAACI,IAAI,IAAI;IACX,IAAI,CAACA,IAAI,CAACC,KAAK,IAAI,CAACD,IAAI,CAACE,KAAK,EAAE,OAAO,IAAI;IAE3C,oBACEd,KAAA,CAAAe,aAAA;MAAKC,SAAS,EAAC,gBAAgB;MAACC,GAAG,EAAE,GAAGX,UAAU,IAAIM,IAAI,CAACC,KAAK,CAACK,WAAW,CAAC,CAAC;IAAG,gBAC/ElB,KAAA,CAAAe,aAAA;MAAKC,SAAS,EAAC;IAAiB,gBAC9BhB,KAAA,CAAAe,aAAA,CAACb,YAAY;MAACO,IAAI,EAAEG;IAAK,CAAE,CACxB,CAAC,eACNZ,KAAA,CAAAe,aAAA;MAAKC,SAAS,EAAC;IAAiB,gBAC9BhB,KAAA,CAAAe,aAAA,CAACd,YAAY;MAACQ,IAAI,EAAEG;IAAK,CAAE,CAAC,eAC5BZ,KAAA,CAAAe,aAAA,CAACZ,cAAc;MAACS,IAAI,EAAEA;IAAK,CAAE,CAC1B,CACF,CAAC;EAEV,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CACnB,CAAC;EAED,oBACEpB,KAAA,CAAAe,aAAA;IAAKC,SAAS,EAAC,UAAU;IAACC,GAAG,EAAEX;EAAW,gBACxCN,KAAA,CAAAe,aAAA;IAAKC,SAAS,EAAC;EAAqB,GAAET,YAAkB,CACrD,CAAC;AAEV,CAAC;AAEDH,OAAO,CAACiB,SAAS,GAAG;EAClBf,UAAU,EAAEP,SAAS,CAACuB,MAAM,CAACC,UAAU;EACvClB,KAAK,EAAEN,SAAS,CAACyB,KAAK,CAACD;AACzB,CAAC;AAED,eAAenB,OAAO","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoBoxLabel.js","names":["InfoBoxLabel","item","suffix","label","showLabel"],"sources":["../../../../src/components/InfoBoxes/presentational/InfoBoxLabel.js"],"sourcesContent":["const InfoBoxLabel = ({ item, suffix = ' ' }) => {\n const { label, showLabel = true } = item;\n return showLabel ? `${label}:${suffix}` : null;\n};\n\nexport default InfoBoxLabel;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,MAAM,GAAG;AAAI,CAAC,KAAK;EAC/C,MAAM;IAAEC,KAAK;IAAEC,SAAS,GAAG;EAAK,CAAC,GAAGH,IAAI;EACxC,OAAOG,SAAS,
|
|
1
|
+
{"version":3,"file":"InfoBoxLabel.js","names":["InfoBoxLabel","item","suffix","label","showLabel"],"sources":["../../../../src/components/InfoBoxes/presentational/InfoBoxLabel.js"],"sourcesContent":["const InfoBoxLabel = ({ item, suffix = ' ' }) => {\n const { label, showLabel = true } = item;\n return showLabel ? `${label}:${suffix}` : null;\n};\n\nexport default InfoBoxLabel;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,MAAM,GAAG;AAAI,CAAC,KAAK;EAC/C,MAAM;IAAEC,KAAK;IAAEC,SAAS,GAAG;EAAK,CAAC,GAAGH,IAAI;EACxC,OAAOG,SAAS,GAAG,GAAGD,KAAK,IAAID,MAAM,EAAE,GAAG,IAAI;AAChD,CAAC;AAED,eAAeF,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","ListingTableContent","SearchFilter","availableActions","fetchData","populateRows","formatRows","getParsedRowData","getDefaultQueryParams","ListingTable","match","entitySchema","history","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","totalItems","setTotalItems","queryParamsDefault","queryParams","setQueryParams","listFilters","setListFilters","client","addToast","location","searchParams","URLSearchParams","search","currentPage","Number","get","updatedQueryParams","_objectSpread","offset","limit","doQuery","url","filters","params","listingData","totalRecords","querySettings","populatedTable","toggleModal","rows","handleOnPageChange","pageNumber","_offset","push","document","getElementsByClassName","scrollTo","updateListingFilters","onCloseCardPrompt","item","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","isEnquiry","firstColumn","appliedSort","displayProperties","adminCrudActions","create","createAction","active","_deleteAction","showAddButton","length","createElement","className","onClose","itemName","name","title","displayName","subtitle","to","hookKey","schema","onSort","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport SearchFilter from './SearchFilter/SearchFilter';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows, getParsedRowData } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst ListingTable = ({ match, entitySchema, history }) => {\n const [tableData, setTableData] = useState({});\n const [modalStatus, setModalStatus] = useState(false);\n const [itemToDelete, setItemToDelete] = useState({});\n const [previousSchema, setPreviousSchema] = useState({ id: null });\n const [totalItems, setTotalItems] = useState(0);\n const queryParamsDefault = getDefaultQueryParams(entitySchema);\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const [listFilters, setListFilters] = useState([]);\n const client = useApolloClient();\n const { addToast } = useToasts();\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const currentPage = Number(searchParams.get('page')) || 1;\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\n setPreviousSchema({ id: entitySchema.id });\n }\n })();\n },\n [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const doQuery = async (filters = listFilters, params = queryParamsDefault) => {\n const { listingData, totalRecords } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: params\n },\n listFilters: filters\n });\n\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: listingData\n });\n\n setTableData(populatedTable);\n setTotalItems(totalRecords);\n };\n\n const handleOnPageChange = async ({ pageNumber, offset: _offset }) => {\n const updatedQueryParams = {\n ...queryParams,\n offset: _offset\n };\n\n await doQuery(listFilters, updatedQueryParams);\n\n history.push(`?page=${pageNumber}`);\n document.getElementsByClassName('page')[0].scrollTo(0, 0);\n };\n\n const updateListingFilters = async filters => {\n await doQuery(filters);\n setListFilters(filters);\n };\n\n const onCloseCardPrompt = () => null;\n\n const toggleModal = item => {\n setModalStatus(!!item);\n setItemToDelete(item || {});\n };\n\n const deleteAction = async () => {\n await availableActions.delete.submit(\n {\n entitySchema,\n parsedFormValues: { id: itemToDelete.id },\n client\n },\n addToast\n );\n\n toggleModal();\n\n const updatedTableData = {\n ...tableData,\n rows: tableData.rows.filter(({ id }) => id !== itemToDelete.id)\n };\n\n setTableData(updatedTableData);\n };\n\n const handleSort = async event => {\n const [[property, direction]] = Object.entries(event);\n const sortQueryParams = {\n ...queryParamsDefault,\n sort: [{ property, direction }]\n };\n setQueryParams(sortQueryParams);\n\n const { listingData } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n },\n listFilters\n });\n const { columns, isEnquiry } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({\n rows: getParsedRowData(listingData),\n url: match.url,\n toggleModal,\n firstColumn,\n isEnquiry,\n entitySchema\n })\n });\n history.push('?page=1');\n };\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <Link data-testid=\"addEntity\" className=\"button button--small\" to={`${match.url}/create`}>\n Add\n </Link>\n )}\n </PageHeader>\n {showAddButton ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <ListingTableContent\n totalItems={totalItems}\n currentPage={currentPage}\n onSort={handleSort}\n handleOnPageChange={handleOnPageChange}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n </>\n )}\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","ListingTableContent","SearchFilter","availableActions","fetchData","populateRows","formatRows","getParsedRowData","getDefaultQueryParams","ListingTable","match","entitySchema","history","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","totalItems","setTotalItems","queryParamsDefault","queryParams","setQueryParams","listFilters","setListFilters","client","addToast","location","searchParams","URLSearchParams","search","currentPage","Number","get","updatedQueryParams","_objectSpread","offset","limit","doQuery","url","filters","params","listingData","totalRecords","querySettings","populatedTable","toggleModal","rows","handleOnPageChange","pageNumber","_offset","push","document","getElementsByClassName","scrollTo","updateListingFilters","onCloseCardPrompt","item","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","isEnquiry","firstColumn","appliedSort","displayProperties","adminCrudActions","create","createAction","active","_deleteAction","showAddButton","length","createElement","className","onClose","itemName","name","title","displayName","subtitle","to","hookKey","schema","onSort","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport SearchFilter from './SearchFilter/SearchFilter';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows, getParsedRowData } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst ListingTable = ({ match, entitySchema, history }) => {\n const [tableData, setTableData] = useState({});\n const [modalStatus, setModalStatus] = useState(false);\n const [itemToDelete, setItemToDelete] = useState({});\n const [previousSchema, setPreviousSchema] = useState({ id: null });\n const [totalItems, setTotalItems] = useState(0);\n const queryParamsDefault = getDefaultQueryParams(entitySchema);\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const [listFilters, setListFilters] = useState([]);\n const client = useApolloClient();\n const { addToast } = useToasts();\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const currentPage = Number(searchParams.get('page')) || 1;\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\n setPreviousSchema({ id: entitySchema.id });\n }\n })();\n },\n [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const doQuery = async (filters = listFilters, params = queryParamsDefault) => {\n const { listingData, totalRecords } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: params\n },\n listFilters: filters\n });\n\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: listingData\n });\n\n setTableData(populatedTable);\n setTotalItems(totalRecords);\n };\n\n const handleOnPageChange = async ({ pageNumber, offset: _offset }) => {\n const updatedQueryParams = {\n ...queryParams,\n offset: _offset\n };\n\n await doQuery(listFilters, updatedQueryParams);\n\n history.push(`?page=${pageNumber}`);\n document.getElementsByClassName('page')[0].scrollTo(0, 0);\n };\n\n const updateListingFilters = async filters => {\n await doQuery(filters);\n setListFilters(filters);\n };\n\n const onCloseCardPrompt = () => null;\n\n const toggleModal = item => {\n setModalStatus(!!item);\n setItemToDelete(item || {});\n };\n\n const deleteAction = async () => {\n await availableActions.delete.submit(\n {\n entitySchema,\n parsedFormValues: { id: itemToDelete.id },\n client\n },\n addToast\n );\n\n toggleModal();\n\n const updatedTableData = {\n ...tableData,\n rows: tableData.rows.filter(({ id }) => id !== itemToDelete.id)\n };\n\n setTableData(updatedTableData);\n };\n\n const handleSort = async event => {\n const [[property, direction]] = Object.entries(event);\n const sortQueryParams = {\n ...queryParamsDefault,\n sort: [{ property, direction }]\n };\n setQueryParams(sortQueryParams);\n\n const { listingData } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n },\n listFilters\n });\n const { columns, isEnquiry } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({\n rows: getParsedRowData(listingData),\n url: match.url,\n toggleModal,\n firstColumn,\n isEnquiry,\n entitySchema\n })\n });\n history.push('?page=1');\n };\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <Link data-testid=\"addEntity\" className=\"button button--small\" to={`${match.url}/create`}>\n Add\n </Link>\n )}\n </PageHeader>\n {showAddButton ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <ListingTableContent\n totalItems={totalItems}\n currentPage={currentPage}\n onSort={handleSort}\n handleOnPageChange={handleOnPageChange}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n </>\n )}\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingTableContent.js","names":["React","useEffect","useRef","Table","Pagination","PropTypes","withRouter","ListingTableContent","tableData","handleSelect","onSort","handleOnPageChange","currentPage","totalItems","ref","displayTable","rows","length","isEnquiry","className","current","tableHeadCells","querySelectorAll","firstRowCells","forEach","element","i","styles","window","getComputedStyle","style","flex","createElement","data","onSelect","visiblePages","onPageChange","propTypes","object","isRequired","match","shape","url","string","func","number","defaultProps"],"sources":["../../../../src/components/ListingTable/ListingTableContent/ListingTableContent.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport Table from '@blaze-react/table';\nimport Pagination from '@blaze-react/pagination';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nconst ListingTableContent = ({\n tableData,\n handleSelect,\n onSort,\n handleOnPageChange,\n currentPage,\n totalItems\n}) => {\n const ref = useRef(null);\n const displayTable = tableData && tableData.rows && !!tableData.rows.length;\n const { isEnquiry } = tableData;\n const className = `page__content${isEnquiry ? ' array-table' : ''}`;\n\n useEffect(() => {\n // set table head to match body column widths to handle dynamic content\n if (ref.current && displayTable) {\n const tableHeadCells = ref.current.querySelectorAll('.table-head .table-cell');\n const firstRowCells = ref.current.querySelectorAll(\n '.table-body .table-row:first-child .table-cell'\n );\n\n firstRowCells.forEach((element, i) => {\n const styles = window.getComputedStyle(element);\n\n if (tableHeadCells[i]) {\n tableHeadCells[i].style.flex = styles.flex;\n tableHeadCells[i].style['justify-content'] = styles['justify-content'];\n }\n });\n }\n }, [tableData, displayTable]);\n\n if (displayTable) {\n return (\n <div ref={ref} className={className}>\n <Table\n onSort={onSort}\n data={tableData}\n onSelect={handleSelect}\n data-testid=\"listing-table-content\"\n />\n <Pagination\n visiblePages={10}\n totalItems={totalItems}\n currentPage={currentPage}\n onPageChange={handleOnPageChange}\n />\n </div>\n );\n }\n\n return (\n <span className=\"table-no-results\" data-testid=\"no-results\">\n No results\n </span>\n );\n};\n\nListingTableContent.propTypes = {\n tableData: PropTypes.object.isRequired,\n match: PropTypes.shape({\n url: PropTypes.string\n }).isRequired,\n handleSelect: PropTypes.func,\n onSort: PropTypes.func,\n handleOnPageChange: PropTypes.func,\n currentPage: PropTypes.number.isRequired,\n totalItems: PropTypes.number.isRequired\n};\n\nListingTableContent.defaultProps = {\n handleSelect: () => {},\n onSort: () => {},\n handleOnPageChange: () => {}\n};\n\nexport default withRouter(ListingTableContent);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,SAAS;EACTC,YAAY;EACZC,MAAM;EACNC,kBAAkB;EAClBC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,GAAG,GAAGZ,MAAM,CAAC,IAAI,CAAC;EACxB,MAAMa,YAAY,GAAGP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAI,CAAC,CAACR,SAAS,CAACQ,IAAI,CAACC,MAAM;EAC3E,MAAM;IAAEC;EAAU,CAAC,GAAGV,SAAS;EAC/B,MAAMW,SAAS,
|
|
1
|
+
{"version":3,"file":"ListingTableContent.js","names":["React","useEffect","useRef","Table","Pagination","PropTypes","withRouter","ListingTableContent","tableData","handleSelect","onSort","handleOnPageChange","currentPage","totalItems","ref","displayTable","rows","length","isEnquiry","className","current","tableHeadCells","querySelectorAll","firstRowCells","forEach","element","i","styles","window","getComputedStyle","style","flex","createElement","data","onSelect","visiblePages","onPageChange","propTypes","object","isRequired","match","shape","url","string","func","number","defaultProps"],"sources":["../../../../src/components/ListingTable/ListingTableContent/ListingTableContent.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport Table from '@blaze-react/table';\nimport Pagination from '@blaze-react/pagination';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nconst ListingTableContent = ({\n tableData,\n handleSelect,\n onSort,\n handleOnPageChange,\n currentPage,\n totalItems\n}) => {\n const ref = useRef(null);\n const displayTable = tableData && tableData.rows && !!tableData.rows.length;\n const { isEnquiry } = tableData;\n const className = `page__content${isEnquiry ? ' array-table' : ''}`;\n\n useEffect(() => {\n // set table head to match body column widths to handle dynamic content\n if (ref.current && displayTable) {\n const tableHeadCells = ref.current.querySelectorAll('.table-head .table-cell');\n const firstRowCells = ref.current.querySelectorAll(\n '.table-body .table-row:first-child .table-cell'\n );\n\n firstRowCells.forEach((element, i) => {\n const styles = window.getComputedStyle(element);\n\n if (tableHeadCells[i]) {\n tableHeadCells[i].style.flex = styles.flex;\n tableHeadCells[i].style['justify-content'] = styles['justify-content'];\n }\n });\n }\n }, [tableData, displayTable]);\n\n if (displayTable) {\n return (\n <div ref={ref} className={className}>\n <Table\n onSort={onSort}\n data={tableData}\n onSelect={handleSelect}\n data-testid=\"listing-table-content\"\n />\n <Pagination\n visiblePages={10}\n totalItems={totalItems}\n currentPage={currentPage}\n onPageChange={handleOnPageChange}\n />\n </div>\n );\n }\n\n return (\n <span className=\"table-no-results\" data-testid=\"no-results\">\n No results\n </span>\n );\n};\n\nListingTableContent.propTypes = {\n tableData: PropTypes.object.isRequired,\n match: PropTypes.shape({\n url: PropTypes.string\n }).isRequired,\n handleSelect: PropTypes.func,\n onSort: PropTypes.func,\n handleOnPageChange: PropTypes.func,\n currentPage: PropTypes.number.isRequired,\n totalItems: PropTypes.number.isRequired\n};\n\nListingTableContent.defaultProps = {\n handleSelect: () => {},\n onSort: () => {},\n handleOnPageChange: () => {}\n};\n\nexport default withRouter(ListingTableContent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContainer.js","names":["React","useState","useMemo","useEffect","useCallback","PropTypes","Select","MultiSelect","debounce","unionBy","useQuery","useApolloClient","getDynamicQuery","getQuery","fetchFilterByDataFromElastic","fetchAllEntities","getStringTypeProps","BsArrowCounterclockwise","BsSearch","updateListFilters","buildQueryFields","getTidyLabel","NOOP_QUERY","ENTER_KEY","DEFAULT_FILTER_OPTION_LABEL","SearchContainer","setListFilters","keywordFiltersToUse","selectFiltersToDisplay","multiSelectFiltersToDisplay","schema","index","values","client","searchTerm","setSearchTerm","selectedFilters","setSelectedFilters","selectOptions","setSelectOptions","multiSelectOptions","setMultiSelectOptions","allEntitySchemas","setAllEntitySchemas","displaySearchFilter","length","displaySelectFilters","displayMultiSelectFilters","displayAggregations","all","error","multiSelectPropertySet","Set","map","property","keywordSearchProperties","keywordSearchLabels","labels","properties","forEach","label","push","gqlFields","rawQuery","id","action","data","skip","variables","where","limit","fetchPolicy","buildRelationsIndex","schemaObj","items","Object","entries","propName","definition","relation","localField","relationLocalField","entityIdentifier","Array","isArray","relations","byKey","Map","item","key","has","set","from","relationsIndex","stringTypeProps","aggregationsData","searchResults","rawResults","aggregations","processed","buckets","bucket","filter","Boolean","findFilterConfig","_selectFiltersToDispl","_multiSelectFiltersTo","find","prop","results","Promise","ids","config","adminListingOptions","tidyLabel","baseOptions","value","type","options","selected","schemaQuery","getEntitySchemas","relationSchema","query","identifier","result","_in","sort","direction","catch","console","name","valid","option","updateFilters","term","filters","debouncedUpdateFilters","cancel","handleSearch","handleSearchChange","target","handleEnterKey","handleReset","prev","keys","reduce","acc","handleSelect","next","_objectSpread","handleMultiSelect","findRelationByLocalField","resolveAggProp","includes","resolveEntityIdentifier","undefined","split","addEntitySuffixIfNeeded","aggProp","makeOnSearchChange","event","currentOffset","_config$relation","_aggregations$key","_multiSelectOptions$f","matchingRelation","filterByEntry","currentValues","entity","filterByProperty","names","existingItems","opt","placeholderText","join","createElement","className","placeholder","onChange","onKeyDown","role","onClick","defaultTextValue","selectedIds","multiSelectData","filterBy","identification","keyValue","itemId","description","checked","show","getSelected","required","checkedPreviewCount","formatMoreLabel","n","propTypes","func","isRequired","array","object","string","defaultProps"],"sources":["../../../../src/components/ListingTable/SearchFilter/SearchContainer.js"],"sourcesContent":["import React, { useState, useMemo, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport MultiSelect from '@blaze-react/multiselect';\nimport debounce from 'lodash.debounce';\nimport unionBy from 'lodash.unionby';\n\nimport { useQuery, useApolloClient } from '@apollo/client';\nimport {\n getDynamicQuery,\n getQuery,\n fetchFilterByDataFromElastic,\n fetchAllEntities\n} from '@blaze-cms/admin-ui-utils';\nimport { getStringTypeProps } from '@blaze-cms/utils';\n\nimport { BsArrowCounterclockwise, BsSearch } from 'react-icons/bs';\nimport { updateListFilters, buildQueryFields, getTidyLabel } from './helpers';\nimport { NOOP_QUERY } from './querys';\nimport { ENTER_KEY, DEFAULT_FILTER_OPTION_LABEL } from '../../../constants';\n\nconst SearchContainer = ({\n setListFilters,\n keywordFiltersToUse = [],\n selectFiltersToDisplay = [],\n multiSelectFiltersToDisplay = [],\n schema,\n index,\n values\n}) => {\n const client = useApolloClient();\n\n const [searchTerm, setSearchTerm] = useState('');\n const [selectedFilters, setSelectedFilters] = useState({});\n const [selectOptions, setSelectOptions] = useState([]);\n const [multiSelectOptions, setMultiSelectOptions] = useState([]);\n const [allEntitySchemas, setAllEntitySchemas] = useState([]);\n\n const displaySearchFilter = keywordFiltersToUse.length > 0;\n const displaySelectFilters = selectFiltersToDisplay.length > 0;\n const displayMultiSelectFilters = multiSelectFiltersToDisplay.length > 0;\n const displayAggregations = displaySelectFilters || displayMultiSelectFilters;\n\n useEffect(() => {\n (async () => {\n try {\n const all = await fetchAllEntities({ client });\n setAllEntitySchemas(all || []);\n } catch (error) {\n setAllEntitySchemas([]);\n }\n })();\n }, [client]);\n\n const multiSelectPropertySet = useMemo(\n () => new Set(multiSelectFiltersToDisplay.map(([property]) => property)),\n [multiSelectFiltersToDisplay]\n );\n\n const { keywordSearchProperties, keywordSearchLabels } = useMemo(() => {\n const labels = [];\n const properties = [];\n\n keywordFiltersToUse.forEach(([property, { label }]) => {\n if (label) labels.push(label);\n properties.push(property);\n });\n\n return { keywordSearchProperties: properties, keywordSearchLabels: labels };\n }, [keywordFiltersToUse]);\n\n const { gqlFields, rawQuery } = useMemo(\n () => buildQueryFields([...selectFiltersToDisplay, ...multiSelectFiltersToDisplay], schema.id),\n [selectFiltersToDisplay, multiSelectFiltersToDisplay, schema.id]\n );\n\n const action = displayAggregations\n ? getDynamicQuery('ADMIN_SEARCH')([schema], gqlFields, false, index)\n : NOOP_QUERY;\n\n const { data } = useQuery(action, {\n skip: !displayAggregations,\n variables: { where: rawQuery, limit: 0 },\n fetchPolicy: 'cache-and-network'\n });\n\n const buildRelationsIndex = useCallback(schemaObj => {\n const items = [];\n\n if (schemaObj.properties) {\n Object.entries(schemaObj.properties).forEach(([propName, definition]) => {\n const { relation } = definition || {};\n if (!relation) return;\n\n const { localField: relationLocalField, entityIdentifier } = relation;\n\n const localField = relationLocalField || propName;\n\n if (localField) items.push({ localField, entityIdentifier });\n });\n }\n\n if (Array.isArray(schemaObj.relations)) {\n schemaObj.relations.forEach(relation => {\n if (!relation.localField) return;\n\n const { localField, entityIdentifier } = relation;\n\n items.push({ localField, entityIdentifier });\n });\n }\n\n const byKey = new Map();\n items.forEach(item => {\n const key = `${item.localField}|${item.entityIdentifier || ''}`;\n if (!byKey.has(key)) byKey.set(key, item);\n });\n\n return Array.from(byKey.values());\n }, []);\n\n const relationsIndex = useMemo(() => buildRelationsIndex(schema), [schema, buildRelationsIndex]);\n\n const stringTypeProps = useMemo(\n () => getStringTypeProps(schema.id, relationsIndex, allEntitySchemas),\n [schema.id, relationsIndex, allEntitySchemas]\n );\n\n const aggregationsData = useMemo(() => {\n const { searchResults: { rawResults: { aggregations = {} } = {} } = {} } = data || {};\n const processed = [];\n Object.entries(aggregations).forEach(([key, { buckets }]) => {\n processed.push(\n Array.isArray(buckets) ? [key, buckets.map(bucket => bucket.key).filter(Boolean)] : []\n );\n });\n return processed;\n }, [data]);\n\n const findFilterConfig = useCallback(\n property =>\n selectFiltersToDisplay.find(([prop]) => prop === property)?.[1] ||\n multiSelectFiltersToDisplay.find(([prop]) => prop === property)?.[1],\n [selectFiltersToDisplay, multiSelectFiltersToDisplay]\n );\n\n useEffect(() => {\n if (!aggregationsData.length) {\n setSelectOptions([]);\n setMultiSelectOptions([]);\n return;\n }\n\n (async () => {\n const results = await Promise.all(\n aggregationsData.map(async ([property, ids]) => {\n try {\n if (!ids || !ids.length) return null;\n\n const config = findFilterConfig(property);\n if (!config) return null;\n\n const { adminListingOptions: { tidyLabel } = {} } = config;\n\n if (!config.relation) {\n const baseOptions = ids.map(value => [value, getTidyLabel(value, tidyLabel)]);\n return {\n property,\n label: config.label,\n type: multiSelectPropertySet.has(property) ? 'multi' : 'single',\n options: baseOptions,\n selected: values && values[property]\n };\n }\n\n const schemaQuery = getQuery('GET_ENTITY_SCHEMA');\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: schemaQuery,\n variables: { identifier: config.relation.entityIdentifier }\n });\n\n const {\n data: { result: selected = [] }\n } = await client\n .query({\n query: getDynamicQuery('GET_ALL_ENTITIES')(relationSchema),\n variables: {\n where: { id: { _in: ids } },\n sort: [{ property: 'name', direction: 'asc' }]\n }\n })\n // eslint-disable-next-line no-console\n .catch(error => console.error(error));\n\n const baseOptions = selected.map(item => [item.id, getTidyLabel(item.name, tidyLabel)]);\n\n return {\n property,\n label: config.label || config.relation.label,\n type: multiSelectPropertySet.has(property) ? 'multi' : 'single',\n options: baseOptions,\n selected: values && values[property]\n };\n } catch {\n return null;\n }\n })\n );\n\n const valid = results.filter(Boolean);\n\n setSelectOptions(\n valid\n .filter(option => option.type === 'single')\n .map(({ property, label, options, selected }) => ({\n id: property,\n label,\n options,\n selected\n }))\n );\n\n setMultiSelectOptions(\n valid\n .filter(option => option.type === 'multi')\n .map(({ property, label, options, selected }) => ({\n id: property,\n label,\n items: options.map(([id, name]) => ({ id, name })),\n selected\n }))\n );\n })();\n }, [client, aggregationsData, findFilterConfig, multiSelectPropertySet, values]);\n\n const updateFilters = useCallback(\n (term, filters) => updateListFilters(term, filters, setListFilters, keywordSearchProperties),\n [setListFilters, keywordSearchProperties]\n );\n\n const debouncedUpdateFilters = useMemo(\n () => debounce((term, filters) => updateFilters(term, filters), 300),\n [updateFilters]\n );\n\n useEffect(() => () => debouncedUpdateFilters.cancel(), [debouncedUpdateFilters]);\n\n const handleSearch = useCallback(\n () => updateFilters(searchTerm, selectedFilters),\n [searchTerm, selectedFilters, updateFilters]\n );\n\n const handleSearchChange = useCallback(({ target: { value } }) => setSearchTerm(value), []);\n\n const handleEnterKey = useCallback(\n ({ key }) => {\n if (key === ENTER_KEY) handleSearch();\n },\n [handleSearch]\n );\n\n const handleReset = useCallback(() => {\n setSearchTerm('');\n debouncedUpdateFilters.cancel();\n setSelectedFilters(prev =>\n Object.keys(prev).reduce((acc, key) => {\n acc[key] = multiSelectPropertySet.has(key) ? [] : DEFAULT_FILTER_OPTION_LABEL;\n return acc;\n }, {})\n );\n updateFilters('', {});\n }, [multiSelectPropertySet, updateFilters, debouncedUpdateFilters]);\n\n const handleSelect = useCallback(\n (property, { value }) => {\n const next = { ...selectedFilters, [property]: value };\n setSelectedFilters(next);\n debouncedUpdateFilters(searchTerm, next);\n },\n [searchTerm, selectedFilters, debouncedUpdateFilters]\n );\n\n const handleMultiSelect = useCallback(\n (property, ids) => {\n const next = { ...selectedFilters, [property]: ids };\n setSelectedFilters(next);\n debouncedUpdateFilters(searchTerm, next);\n },\n [searchTerm, selectedFilters, debouncedUpdateFilters]\n );\n\n const findRelationByLocalField = useCallback(\n localField => relationsIndex.find(relation => relation.localField === localField),\n [relationsIndex]\n );\n\n const resolveAggProp = useCallback((property, config) => {\n if (!config.relation) return property;\n if (property.includes('.')) return property;\n const localField = config.relation.localField || property;\n return `${localField}.name`;\n }, []);\n\n const resolveEntityIdentifier = useCallback(\n (property, config) => {\n if (!config.relation) return undefined;\n if (config.relation.entityIdentifier) return config.relation.entityIdentifier;\n\n const localField = property.includes('.')\n ? property.split('.')[0]\n : config.relation.localField || property;\n\n return findRelationByLocalField(localField).entityIdentifier;\n },\n [findRelationByLocalField]\n );\n\n const addEntitySuffixIfNeeded = useCallback((aggProp, entityIdentifier, config) => {\n if (!config.relation || !entityIdentifier) return aggProp;\n return `${aggProp}/${entityIdentifier}`;\n }, []);\n\n const makeOnSearchChange = useCallback(\n property =>\n async ({ event: { value }, currentOffset }) => {\n try {\n if (!value || currentOffset) return [];\n\n const config = findFilterConfig(property);\n if (!config) return [];\n\n let aggProp = resolveAggProp(property, config);\n\n if (config.relation && !config.relation.localField && !property.includes('.')) {\n const matchingRelation = findRelationByLocalField(property);\n if (matchingRelation.localField) aggProp = `${matchingRelation.localField}.name`;\n }\n\n const entityIdentifier =\n resolveEntityIdentifier(property, config) || config.relation?.entityIdentifier;\n\n const filterByEntry = addEntitySuffixIfNeeded(aggProp, entityIdentifier, config);\n\n const currentValues = {\n entity: schema.id,\n filterByProperty: [filterByEntry]\n };\n\n const aggregations = await fetchFilterByDataFromElastic(\n client,\n currentValues,\n relationsIndex,\n stringTypeProps,\n value\n );\n\n const key = aggProp;\n const buckets = aggregations?.[key]?.buckets || [];\n\n let items = [];\n if (config.relation) {\n const names = buckets.map(bucket => bucket.key).filter(Boolean);\n if (names.length) {\n const schemaQuery = getQuery('GET_ENTITY_SCHEMA');\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: schemaQuery,\n variables: { identifier: entityIdentifier }\n });\n\n const {\n data: { result: selected = [] }\n } = await client\n .query({\n query: getDynamicQuery('GET_ALL_ENTITIES')(relationSchema),\n variables: {\n where: { name: { _in: names } },\n sort: [{ property: 'name', direction: 'asc' }]\n }\n })\n // eslint-disable-next-line no-console\n .catch(error => console.error(error));\n\n items = selected.map(item => ({ id: item.id, name: item.name }));\n }\n } else {\n items = buckets\n .map(bucket => ({ id: bucket.key, name: bucket.key }))\n .filter(option => option.id != null);\n }\n\n const existingItems = multiSelectOptions.find(opt => opt.id === property)?.items || [];\n return unionBy(items, existingItems, 'id');\n } catch (error) {\n return [];\n }\n },\n [\n client,\n schema.id,\n relationsIndex,\n stringTypeProps,\n multiSelectOptions,\n findFilterConfig,\n resolveAggProp,\n resolveEntityIdentifier,\n addEntitySuffixIfNeeded,\n findRelationByLocalField\n ]\n );\n\n const placeholderText = `Search ${keywordSearchLabels.join(', ')}`;\n\n return (\n <div className=\"search-container ms-filter\">\n {displaySearchFilter && (\n <div className=\"search-container__search-input-container\">\n <input\n type=\"search\"\n className=\"search-container__search-input-container__search-input\"\n placeholder={placeholderText}\n value={searchTerm}\n onChange={handleSearchChange}\n onKeyDown={handleEnterKey}\n />\n <i role=\"button\" onClick={handleSearch}>\n <BsSearch />\n </i>\n </div>\n )}\n\n {displaySelectFilters &&\n selectOptions.map(({ id, options, label, selected }) =>\n options && options.length ? (\n <div className=\"search-container__select-wrapper\" key={`select-${id}`}>\n <Select\n label={label}\n id={id}\n name={id}\n onChange={({ value }) => handleSelect(id, { value })}\n options={options}\n value={selectedFilters[id] !== undefined ? selectedFilters[id] : selected}\n defaultTextValue={DEFAULT_FILTER_OPTION_LABEL}\n />\n </div>\n ) : null\n )}\n\n {displayMultiSelectFilters &&\n multiSelectOptions.map(({ id, label, items }) => {\n const selectedIds = selectedFilters[id] ? selectedFilters[id] : [];\n const multiSelectData = {\n filterBy: ['name'],\n identification: 'id',\n keyValue: 'name',\n data: items.map(({ id: itemId, name }) => ({\n id: itemId,\n name,\n description: '',\n checked: selectedIds.includes(itemId),\n show: true\n }))\n };\n\n return (\n <div className=\"search-container__select-wrapper\" key={`multiselect-${id}`}>\n <MultiSelect\n onChange={({ value, currentOffset }) =>\n makeOnSearchChange(id)({ event: { value }, currentOffset })\n }\n name={id}\n label={label}\n data={multiSelectData}\n limit={10}\n getSelected={({\n event: {\n target: { value }\n }\n }) => handleMultiSelect(id, value)}\n required={false}\n checkedPreviewCount={1}\n formatMoreLabel={n => `${n} more`}\n />\n </div>\n );\n })}\n\n <div className=\"search-container__reset-button\">\n <span role=\"button\" onClick={handleReset}>\n <BsArrowCounterclockwise />\n </span>\n </div>\n </div>\n );\n};\n\nSearchContainer.propTypes = {\n setListFilters: PropTypes.func.isRequired,\n keywordFiltersToUse: PropTypes.array,\n selectFiltersToDisplay: PropTypes.array,\n multiSelectFiltersToDisplay: PropTypes.array,\n schema: PropTypes.object.isRequired,\n index: PropTypes.string\n};\n\nSearchContainer.defaultProps = {\n keywordFiltersToUse: [],\n selectFiltersToDisplay: [],\n multiSelectFiltersToDisplay: [],\n index: 'admin'\n};\n\nexport default SearchContainer;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchContainer.js","names":["React","useState","useMemo","useEffect","useCallback","PropTypes","Select","MultiSelect","debounce","unionBy","useQuery","useApolloClient","getDynamicQuery","getQuery","fetchFilterByDataFromElastic","fetchAllEntities","getStringTypeProps","BsArrowCounterclockwise","BsSearch","updateListFilters","buildQueryFields","getTidyLabel","NOOP_QUERY","ENTER_KEY","DEFAULT_FILTER_OPTION_LABEL","SearchContainer","setListFilters","keywordFiltersToUse","selectFiltersToDisplay","multiSelectFiltersToDisplay","schema","index","values","client","searchTerm","setSearchTerm","selectedFilters","setSelectedFilters","selectOptions","setSelectOptions","multiSelectOptions","setMultiSelectOptions","allEntitySchemas","setAllEntitySchemas","displaySearchFilter","length","displaySelectFilters","displayMultiSelectFilters","displayAggregations","all","error","multiSelectPropertySet","Set","map","property","keywordSearchProperties","keywordSearchLabels","labels","properties","forEach","label","push","gqlFields","rawQuery","id","action","data","skip","variables","where","limit","fetchPolicy","buildRelationsIndex","schemaObj","items","Object","entries","propName","definition","relation","localField","relationLocalField","entityIdentifier","Array","isArray","relations","byKey","Map","item","key","has","set","from","relationsIndex","stringTypeProps","aggregationsData","searchResults","rawResults","aggregations","processed","buckets","bucket","filter","Boolean","findFilterConfig","_selectFiltersToDispl","_multiSelectFiltersTo","find","prop","results","Promise","ids","config","adminListingOptions","tidyLabel","baseOptions","value","type","options","selected","schemaQuery","getEntitySchemas","relationSchema","query","identifier","result","_in","sort","direction","catch","console","name","valid","option","updateFilters","term","filters","debouncedUpdateFilters","cancel","handleSearch","handleSearchChange","target","handleEnterKey","handleReset","prev","keys","reduce","acc","handleSelect","next","_objectSpread","handleMultiSelect","findRelationByLocalField","resolveAggProp","includes","resolveEntityIdentifier","undefined","split","addEntitySuffixIfNeeded","aggProp","makeOnSearchChange","event","currentOffset","_config$relation","_aggregations$key","_multiSelectOptions$f","matchingRelation","filterByEntry","currentValues","entity","filterByProperty","names","existingItems","opt","placeholderText","join","createElement","className","placeholder","onChange","onKeyDown","role","onClick","defaultTextValue","selectedIds","multiSelectData","filterBy","identification","keyValue","itemId","description","checked","show","getSelected","required","checkedPreviewCount","formatMoreLabel","n","propTypes","func","isRequired","array","object","string","defaultProps"],"sources":["../../../../src/components/ListingTable/SearchFilter/SearchContainer.js"],"sourcesContent":["import React, { useState, useMemo, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport MultiSelect from '@blaze-react/multiselect';\nimport debounce from 'lodash.debounce';\nimport unionBy from 'lodash.unionby';\n\nimport { useQuery, useApolloClient } from '@apollo/client';\nimport {\n getDynamicQuery,\n getQuery,\n fetchFilterByDataFromElastic,\n fetchAllEntities\n} from '@blaze-cms/admin-ui-utils';\nimport { getStringTypeProps } from '@blaze-cms/utils';\n\nimport { BsArrowCounterclockwise, BsSearch } from 'react-icons/bs';\nimport { updateListFilters, buildQueryFields, getTidyLabel } from './helpers';\nimport { NOOP_QUERY } from './querys';\nimport { ENTER_KEY, DEFAULT_FILTER_OPTION_LABEL } from '../../../constants';\n\nconst SearchContainer = ({\n setListFilters,\n keywordFiltersToUse = [],\n selectFiltersToDisplay = [],\n multiSelectFiltersToDisplay = [],\n schema,\n index,\n values\n}) => {\n const client = useApolloClient();\n\n const [searchTerm, setSearchTerm] = useState('');\n const [selectedFilters, setSelectedFilters] = useState({});\n const [selectOptions, setSelectOptions] = useState([]);\n const [multiSelectOptions, setMultiSelectOptions] = useState([]);\n const [allEntitySchemas, setAllEntitySchemas] = useState([]);\n\n const displaySearchFilter = keywordFiltersToUse.length > 0;\n const displaySelectFilters = selectFiltersToDisplay.length > 0;\n const displayMultiSelectFilters = multiSelectFiltersToDisplay.length > 0;\n const displayAggregations = displaySelectFilters || displayMultiSelectFilters;\n\n useEffect(() => {\n (async () => {\n try {\n const all = await fetchAllEntities({ client });\n setAllEntitySchemas(all || []);\n } catch (error) {\n setAllEntitySchemas([]);\n }\n })();\n }, [client]);\n\n const multiSelectPropertySet = useMemo(\n () => new Set(multiSelectFiltersToDisplay.map(([property]) => property)),\n [multiSelectFiltersToDisplay]\n );\n\n const { keywordSearchProperties, keywordSearchLabels } = useMemo(() => {\n const labels = [];\n const properties = [];\n\n keywordFiltersToUse.forEach(([property, { label }]) => {\n if (label) labels.push(label);\n properties.push(property);\n });\n\n return { keywordSearchProperties: properties, keywordSearchLabels: labels };\n }, [keywordFiltersToUse]);\n\n const { gqlFields, rawQuery } = useMemo(\n () => buildQueryFields([...selectFiltersToDisplay, ...multiSelectFiltersToDisplay], schema.id),\n [selectFiltersToDisplay, multiSelectFiltersToDisplay, schema.id]\n );\n\n const action = displayAggregations\n ? getDynamicQuery('ADMIN_SEARCH')([schema], gqlFields, false, index)\n : NOOP_QUERY;\n\n const { data } = useQuery(action, {\n skip: !displayAggregations,\n variables: { where: rawQuery, limit: 0 },\n fetchPolicy: 'cache-and-network'\n });\n\n const buildRelationsIndex = useCallback(schemaObj => {\n const items = [];\n\n if (schemaObj.properties) {\n Object.entries(schemaObj.properties).forEach(([propName, definition]) => {\n const { relation } = definition || {};\n if (!relation) return;\n\n const { localField: relationLocalField, entityIdentifier } = relation;\n\n const localField = relationLocalField || propName;\n\n if (localField) items.push({ localField, entityIdentifier });\n });\n }\n\n if (Array.isArray(schemaObj.relations)) {\n schemaObj.relations.forEach(relation => {\n if (!relation.localField) return;\n\n const { localField, entityIdentifier } = relation;\n\n items.push({ localField, entityIdentifier });\n });\n }\n\n const byKey = new Map();\n items.forEach(item => {\n const key = `${item.localField}|${item.entityIdentifier || ''}`;\n if (!byKey.has(key)) byKey.set(key, item);\n });\n\n return Array.from(byKey.values());\n }, []);\n\n const relationsIndex = useMemo(() => buildRelationsIndex(schema), [schema, buildRelationsIndex]);\n\n const stringTypeProps = useMemo(\n () => getStringTypeProps(schema.id, relationsIndex, allEntitySchemas),\n [schema.id, relationsIndex, allEntitySchemas]\n );\n\n const aggregationsData = useMemo(() => {\n const { searchResults: { rawResults: { aggregations = {} } = {} } = {} } = data || {};\n const processed = [];\n Object.entries(aggregations).forEach(([key, { buckets }]) => {\n processed.push(\n Array.isArray(buckets) ? [key, buckets.map(bucket => bucket.key).filter(Boolean)] : []\n );\n });\n return processed;\n }, [data]);\n\n const findFilterConfig = useCallback(\n property =>\n selectFiltersToDisplay.find(([prop]) => prop === property)?.[1] ||\n multiSelectFiltersToDisplay.find(([prop]) => prop === property)?.[1],\n [selectFiltersToDisplay, multiSelectFiltersToDisplay]\n );\n\n useEffect(() => {\n if (!aggregationsData.length) {\n setSelectOptions([]);\n setMultiSelectOptions([]);\n return;\n }\n\n (async () => {\n const results = await Promise.all(\n aggregationsData.map(async ([property, ids]) => {\n try {\n if (!ids || !ids.length) return null;\n\n const config = findFilterConfig(property);\n if (!config) return null;\n\n const { adminListingOptions: { tidyLabel } = {} } = config;\n\n if (!config.relation) {\n const baseOptions = ids.map(value => [value, getTidyLabel(value, tidyLabel)]);\n return {\n property,\n label: config.label,\n type: multiSelectPropertySet.has(property) ? 'multi' : 'single',\n options: baseOptions,\n selected: values && values[property]\n };\n }\n\n const schemaQuery = getQuery('GET_ENTITY_SCHEMA');\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: schemaQuery,\n variables: { identifier: config.relation.entityIdentifier }\n });\n\n const {\n data: { result: selected = [] }\n } = await client\n .query({\n query: getDynamicQuery('GET_ALL_ENTITIES')(relationSchema),\n variables: {\n where: { id: { _in: ids } },\n sort: [{ property: 'name', direction: 'asc' }]\n }\n })\n // eslint-disable-next-line no-console\n .catch(error => console.error(error));\n\n const baseOptions = selected.map(item => [item.id, getTidyLabel(item.name, tidyLabel)]);\n\n return {\n property,\n label: config.label || config.relation.label,\n type: multiSelectPropertySet.has(property) ? 'multi' : 'single',\n options: baseOptions,\n selected: values && values[property]\n };\n } catch {\n return null;\n }\n })\n );\n\n const valid = results.filter(Boolean);\n\n setSelectOptions(\n valid\n .filter(option => option.type === 'single')\n .map(({ property, label, options, selected }) => ({\n id: property,\n label,\n options,\n selected\n }))\n );\n\n setMultiSelectOptions(\n valid\n .filter(option => option.type === 'multi')\n .map(({ property, label, options, selected }) => ({\n id: property,\n label,\n items: options.map(([id, name]) => ({ id, name })),\n selected\n }))\n );\n })();\n }, [client, aggregationsData, findFilterConfig, multiSelectPropertySet, values]);\n\n const updateFilters = useCallback(\n (term, filters) => updateListFilters(term, filters, setListFilters, keywordSearchProperties),\n [setListFilters, keywordSearchProperties]\n );\n\n const debouncedUpdateFilters = useMemo(\n () => debounce((term, filters) => updateFilters(term, filters), 300),\n [updateFilters]\n );\n\n useEffect(() => () => debouncedUpdateFilters.cancel(), [debouncedUpdateFilters]);\n\n const handleSearch = useCallback(\n () => updateFilters(searchTerm, selectedFilters),\n [searchTerm, selectedFilters, updateFilters]\n );\n\n const handleSearchChange = useCallback(({ target: { value } }) => setSearchTerm(value), []);\n\n const handleEnterKey = useCallback(\n ({ key }) => {\n if (key === ENTER_KEY) handleSearch();\n },\n [handleSearch]\n );\n\n const handleReset = useCallback(() => {\n setSearchTerm('');\n debouncedUpdateFilters.cancel();\n setSelectedFilters(prev =>\n Object.keys(prev).reduce((acc, key) => {\n acc[key] = multiSelectPropertySet.has(key) ? [] : DEFAULT_FILTER_OPTION_LABEL;\n return acc;\n }, {})\n );\n updateFilters('', {});\n }, [multiSelectPropertySet, updateFilters, debouncedUpdateFilters]);\n\n const handleSelect = useCallback(\n (property, { value }) => {\n const next = { ...selectedFilters, [property]: value };\n setSelectedFilters(next);\n debouncedUpdateFilters(searchTerm, next);\n },\n [searchTerm, selectedFilters, debouncedUpdateFilters]\n );\n\n const handleMultiSelect = useCallback(\n (property, ids) => {\n const next = { ...selectedFilters, [property]: ids };\n setSelectedFilters(next);\n debouncedUpdateFilters(searchTerm, next);\n },\n [searchTerm, selectedFilters, debouncedUpdateFilters]\n );\n\n const findRelationByLocalField = useCallback(\n localField => relationsIndex.find(relation => relation.localField === localField),\n [relationsIndex]\n );\n\n const resolveAggProp = useCallback((property, config) => {\n if (!config.relation) return property;\n if (property.includes('.')) return property;\n const localField = config.relation.localField || property;\n return `${localField}.name`;\n }, []);\n\n const resolveEntityIdentifier = useCallback(\n (property, config) => {\n if (!config.relation) return undefined;\n if (config.relation.entityIdentifier) return config.relation.entityIdentifier;\n\n const localField = property.includes('.')\n ? property.split('.')[0]\n : config.relation.localField || property;\n\n return findRelationByLocalField(localField).entityIdentifier;\n },\n [findRelationByLocalField]\n );\n\n const addEntitySuffixIfNeeded = useCallback((aggProp, entityIdentifier, config) => {\n if (!config.relation || !entityIdentifier) return aggProp;\n return `${aggProp}/${entityIdentifier}`;\n }, []);\n\n const makeOnSearchChange = useCallback(\n property =>\n async ({ event: { value }, currentOffset }) => {\n try {\n if (!value || currentOffset) return [];\n\n const config = findFilterConfig(property);\n if (!config) return [];\n\n let aggProp = resolveAggProp(property, config);\n\n if (config.relation && !config.relation.localField && !property.includes('.')) {\n const matchingRelation = findRelationByLocalField(property);\n if (matchingRelation.localField) aggProp = `${matchingRelation.localField}.name`;\n }\n\n const entityIdentifier =\n resolveEntityIdentifier(property, config) || config.relation?.entityIdentifier;\n\n const filterByEntry = addEntitySuffixIfNeeded(aggProp, entityIdentifier, config);\n\n const currentValues = {\n entity: schema.id,\n filterByProperty: [filterByEntry]\n };\n\n const aggregations = await fetchFilterByDataFromElastic(\n client,\n currentValues,\n relationsIndex,\n stringTypeProps,\n value\n );\n\n const key = aggProp;\n const buckets = aggregations?.[key]?.buckets || [];\n\n let items = [];\n if (config.relation) {\n const names = buckets.map(bucket => bucket.key).filter(Boolean);\n if (names.length) {\n const schemaQuery = getQuery('GET_ENTITY_SCHEMA');\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: schemaQuery,\n variables: { identifier: entityIdentifier }\n });\n\n const {\n data: { result: selected = [] }\n } = await client\n .query({\n query: getDynamicQuery('GET_ALL_ENTITIES')(relationSchema),\n variables: {\n where: { name: { _in: names } },\n sort: [{ property: 'name', direction: 'asc' }]\n }\n })\n // eslint-disable-next-line no-console\n .catch(error => console.error(error));\n\n items = selected.map(item => ({ id: item.id, name: item.name }));\n }\n } else {\n items = buckets\n .map(bucket => ({ id: bucket.key, name: bucket.key }))\n .filter(option => option.id != null);\n }\n\n const existingItems = multiSelectOptions.find(opt => opt.id === property)?.items || [];\n return unionBy(items, existingItems, 'id');\n } catch (error) {\n return [];\n }\n },\n [\n client,\n schema.id,\n relationsIndex,\n stringTypeProps,\n multiSelectOptions,\n findFilterConfig,\n resolveAggProp,\n resolveEntityIdentifier,\n addEntitySuffixIfNeeded,\n findRelationByLocalField\n ]\n );\n\n const placeholderText = `Search ${keywordSearchLabels.join(', ')}`;\n\n return (\n <div className=\"search-container ms-filter\">\n {displaySearchFilter && (\n <div className=\"search-container__search-input-container\">\n <input\n type=\"search\"\n className=\"search-container__search-input-container__search-input\"\n placeholder={placeholderText}\n value={searchTerm}\n onChange={handleSearchChange}\n onKeyDown={handleEnterKey}\n />\n <i role=\"button\" onClick={handleSearch}>\n <BsSearch />\n </i>\n </div>\n )}\n\n {displaySelectFilters &&\n selectOptions.map(({ id, options, label, selected }) =>\n options && options.length ? (\n <div className=\"search-container__select-wrapper\" key={`select-${id}`}>\n <Select\n label={label}\n id={id}\n name={id}\n onChange={({ value }) => handleSelect(id, { value })}\n options={options}\n value={selectedFilters[id] !== undefined ? selectedFilters[id] : selected}\n defaultTextValue={DEFAULT_FILTER_OPTION_LABEL}\n />\n </div>\n ) : null\n )}\n\n {displayMultiSelectFilters &&\n multiSelectOptions.map(({ id, label, items }) => {\n const selectedIds = selectedFilters[id] ? selectedFilters[id] : [];\n const multiSelectData = {\n filterBy: ['name'],\n identification: 'id',\n keyValue: 'name',\n data: items.map(({ id: itemId, name }) => ({\n id: itemId,\n name,\n description: '',\n checked: selectedIds.includes(itemId),\n show: true\n }))\n };\n\n return (\n <div className=\"search-container__select-wrapper\" key={`multiselect-${id}`}>\n <MultiSelect\n onChange={({ value, currentOffset }) =>\n makeOnSearchChange(id)({ event: { value }, currentOffset })\n }\n name={id}\n label={label}\n data={multiSelectData}\n limit={10}\n getSelected={({\n event: {\n target: { value }\n }\n }) => handleMultiSelect(id, value)}\n required={false}\n checkedPreviewCount={1}\n formatMoreLabel={n => `${n} more`}\n />\n </div>\n );\n })}\n\n <div className=\"search-container__reset-button\">\n <span role=\"button\" onClick={handleReset}>\n <BsArrowCounterclockwise />\n </span>\n </div>\n </div>\n );\n};\n\nSearchContainer.propTypes = {\n setListFilters: PropTypes.func.isRequired,\n keywordFiltersToUse: PropTypes.array,\n selectFiltersToDisplay: PropTypes.array,\n multiSelectFiltersToDisplay: PropTypes.array,\n schema: PropTypes.object.isRequired,\n index: PropTypes.string\n};\n\nSearchContainer.defaultProps = {\n keywordFiltersToUse: [],\n selectFiltersToDisplay: [],\n multiSelectFiltersToDisplay: [],\n index: 'admin'\n};\n\nexport default SearchContainer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["DEFAULT_FILTER_OPTION_LABEL","updateListFilters","searchTerm","selectedFilters","setListFilters","fields","filters","push","simple_query_string","query","default_operator","map","field","Object","entries","forEach","filterKey","filterValue","isEmptyArray","Array","isArray","length","terms","term","getKeywordSearchFilters","schema","properties","dynamicProperties","propertyKeyword","filter","isFilterKeywordItem","dynamicPropertyKeywords","item","adminListingOptions","includeInKeywordSeach","findSelectFilters","propertySelects","isFilterSelectItem","dynamicPropertySelects","findMultiSelectFilters","propertyMultiSelect","isFilterMultiSelectItems","dynamicPropertyMultiSelect","filterType","buildQueryFields","selectFilters","entityId","gqlFields","rawQuery","aggs","property","details","size","order","_key","docType","rawQueryObject","bool","must","match","JSON","stringify","getTidyLabel","value","tidy","split","word","charAt","toUpperCase","slice","join"],"sources":["../../../../src/components/ListingTable/SearchFilter/helpers.js"],"sourcesContent":["import { DEFAULT_FILTER_OPTION_LABEL } from '../../../constants';\n\nconst updateListFilters = (searchTerm, selectedFilters, setListFilters, fields = []) => {\n const filters = [];\n\n if (searchTerm) {\n filters.push({\n simple_query_string: {\n query: `${searchTerm}`,\n default_operator: 'AND',\n fields: fields.map(field => field)\n }\n });\n }\n\n Object.entries(selectedFilters).forEach(([filterKey, filterValue]) => {\n const isEmptyArray = Array.isArray(filterValue) && filterValue.length === 0;\n if (\n filterValue == null ||\n filterValue === '' ||\n filterValue === DEFAULT_FILTER_OPTION_LABEL ||\n isEmptyArray\n )\n return;\n\n const field = `${filterKey}.keyword`;\n\n if (Array.isArray(filterValue)) {\n if (filterValue.length > 1) {\n filters.push({\n terms: { [field]: filterValue }\n });\n } else {\n filters.push({\n term: { [field]: filterValue[0] }\n });\n }\n } else {\n filters.push({\n term: { [field]: filterValue }\n });\n }\n });\n\n setListFilters(filters);\n};\n\nconst getKeywordSearchFilters = schema => {\n if (!schema || !schema.properties) return [];\n\n const { properties = {}, dynamicProperties = {} } = schema;\n\n const propertyKeyword = Object.entries(properties).filter(isFilterKeywordItem);\n const dynamicPropertyKeywords = Object.entries(dynamicProperties).filter(isFilterKeywordItem);\n\n return [...propertyKeyword, ...dynamicPropertyKeywords];\n};\n\nconst isFilterKeywordItem = ([, item]) =>\n item.adminListingOptions && item.adminListingOptions.includeInKeywordSeach === true;\n\nconst findSelectFilters = schema => {\n if (!schema || !schema.properties) return [];\n\n const { properties = {}, dynamicProperties = {} } = schema;\n\n const propertySelects = Object.entries(properties).filter(isFilterSelectItem);\n const dynamicPropertySelects = Object.entries(dynamicProperties).filter(isFilterSelectItem);\n\n return [...propertySelects, ...dynamicPropertySelects];\n};\n\nconst findMultiSelectFilters = schema => {\n if (!schema || !schema.properties) return [];\n\n const { properties = {}, dynamicProperties = {} } = schema;\n const propertyMultiSelect = Object.entries(properties).filter(isFilterMultiSelectItems);\n const dynamicPropertyMultiSelect
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["DEFAULT_FILTER_OPTION_LABEL","updateListFilters","searchTerm","selectedFilters","setListFilters","fields","filters","push","simple_query_string","query","default_operator","map","field","Object","entries","forEach","filterKey","filterValue","isEmptyArray","Array","isArray","length","terms","term","getKeywordSearchFilters","schema","properties","dynamicProperties","propertyKeyword","filter","isFilterKeywordItem","dynamicPropertyKeywords","item","adminListingOptions","includeInKeywordSeach","findSelectFilters","propertySelects","isFilterSelectItem","dynamicPropertySelects","findMultiSelectFilters","propertyMultiSelect","isFilterMultiSelectItems","dynamicPropertyMultiSelect","filterType","buildQueryFields","selectFilters","entityId","gqlFields","rawQuery","aggs","property","details","size","order","_key","docType","rawQueryObject","bool","must","match","JSON","stringify","getTidyLabel","value","tidy","split","word","charAt","toUpperCase","slice","join"],"sources":["../../../../src/components/ListingTable/SearchFilter/helpers.js"],"sourcesContent":["import { DEFAULT_FILTER_OPTION_LABEL } from '../../../constants';\n\nconst updateListFilters = (searchTerm, selectedFilters, setListFilters, fields = []) => {\n const filters = [];\n\n if (searchTerm) {\n filters.push({\n simple_query_string: {\n query: `${searchTerm}`,\n default_operator: 'AND',\n fields: fields.map(field => field)\n }\n });\n }\n\n Object.entries(selectedFilters).forEach(([filterKey, filterValue]) => {\n const isEmptyArray = Array.isArray(filterValue) && filterValue.length === 0;\n if (\n filterValue == null ||\n filterValue === '' ||\n filterValue === DEFAULT_FILTER_OPTION_LABEL ||\n isEmptyArray\n )\n return;\n\n const field = `${filterKey}.keyword`;\n\n if (Array.isArray(filterValue)) {\n if (filterValue.length > 1) {\n filters.push({\n terms: { [field]: filterValue }\n });\n } else {\n filters.push({\n term: { [field]: filterValue[0] }\n });\n }\n } else {\n filters.push({\n term: { [field]: filterValue }\n });\n }\n });\n\n setListFilters(filters);\n};\n\nconst getKeywordSearchFilters = schema => {\n if (!schema || !schema.properties) return [];\n\n const { properties = {}, dynamicProperties = {} } = schema;\n\n const propertyKeyword = Object.entries(properties).filter(isFilterKeywordItem);\n const dynamicPropertyKeywords = Object.entries(dynamicProperties).filter(isFilterKeywordItem);\n\n return [...propertyKeyword, ...dynamicPropertyKeywords];\n};\n\nconst isFilterKeywordItem = ([, item]) =>\n item.adminListingOptions && item.adminListingOptions.includeInKeywordSeach === true;\n\nconst findSelectFilters = schema => {\n if (!schema || !schema.properties) return [];\n\n const { properties = {}, dynamicProperties = {} } = schema;\n\n const propertySelects = Object.entries(properties).filter(isFilterSelectItem);\n const dynamicPropertySelects = Object.entries(dynamicProperties).filter(isFilterSelectItem);\n\n return [...propertySelects, ...dynamicPropertySelects];\n};\n\nconst findMultiSelectFilters = schema => {\n if (!schema || !schema.properties) return [];\n\n const { properties = {}, dynamicProperties = {} } = schema;\n const propertyMultiSelect = Object.entries(properties).filter(isFilterMultiSelectItems);\n const dynamicPropertyMultiSelect =\n Object.entries(dynamicProperties).filter(isFilterMultiSelectItems);\n return [...propertyMultiSelect, ...dynamicPropertyMultiSelect];\n};\n\nconst isFilterSelectItem = ([, item]) =>\n item.adminListingOptions && item.adminListingOptions.filterType === 'select';\n\nconst isFilterMultiSelectItems = ([, item]) =>\n item.adminListingOptions && item.adminListingOptions.filterType === 'multiSelect';\n\nconst buildQueryFields = (selectFilters, entityId) => {\n if (!Array.isArray(selectFilters) || selectFilters.length === 0) {\n return { gqlFields: '', rawQuery: '{}' };\n }\n\n const aggs = {};\n selectFilters.forEach(([property, details]) => {\n aggs[property] = {\n terms: {\n field: `${property}.keyword`, // todo: handle different field types\n size: 1000, // todo: customise size\n order: {\n _key: 'asc'\n }\n }\n };\n });\n\n const docType = entityId;\n const rawQueryObject = {\n size: 0,\n query: {\n bool: {\n filter: {\n bool: {\n must: [{ match: { docType } }]\n }\n }\n }\n },\n aggs\n };\n const rawQuery = JSON.stringify(rawQueryObject);\n\n const gqlFields = `\n rawResults\n `;\n\n return { gqlFields, rawQuery };\n};\n\nconst getTidyLabel = (value, tidy) => {\n if (!tidy) return value;\n\n return value\n .split(/[\\s_-]+/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n};\n\nexport {\n buildQueryFields,\n updateListFilters,\n getKeywordSearchFilters,\n findSelectFilters,\n findMultiSelectFilters,\n getTidyLabel\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querys.js","names":["gql","NOOP_QUERY"],"sources":["../../../../src/components/ListingTable/SearchFilter/querys.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst NOOP_QUERY = gql`\n query NoOp {\n __typename\n }\n`;\n\nexport { NOOP_QUERY };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,UAAU,GAAGD,
|
|
1
|
+
{"version":3,"file":"querys.js","names":["gql","NOOP_QUERY"],"sources":["../../../../src/components/ListingTable/SearchFilter/querys.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst NOOP_QUERY = gql`\n query NoOp {\n __typename\n }\n`;\n\nexport { NOOP_QUERY };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,UAAU,GAAGD,GAAG;AACtB;AACA;AACA;AACA,CAAC;AAED,SAASC,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate-rows.js","names":["React","Link","RenderHook","TableActions","ACTIONS","InfoBoxValue","InfoBoxLabel","InfoBoxTooltip","formatRows","rows","url","toggleModal","label","firstColumn","isEnquiry","entitySchema","map","data","editUrl","id","rowProps","_objectSpread","createElement","Fragment","to","role","hookKey","schema","value","column","actions","showDeleteModal","getSanitizedColumnLabel","columnProp","sanitizedChar","index","length","toUpperCase","toLowerCase","buildArrayRowContent","rowData","className","rowGroup","item","info","buildArrayRowData","groupSize","Math","ceil","group1","slice","group2","group3","dataGroups","getParsedRowData","Object","keys","reduce","acc","key","parsedData","Array","isArray","getColumnsAndLabels","listingProperties","allProperties","columns","labels","forEach","listingProperty","propKey","includes","split","push","parsedRowData","populateRows","schemaId","properties","dynamicProperties","formProperties","columnOptions","identification","sort","orderBy"],"sources":["../../../../src/components/ListingTable/mappers/populate-rows.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport TableActions from '../TableActions';\nimport { ACTIONS } from '../../../constants';\nimport InfoBoxValue from '../../InfoBoxes/presentational/InfoBoxValue';\nimport InfoBoxLabel from '../../InfoBoxes/presentational/InfoBoxLabel';\nimport InfoBoxTooltip from '../../InfoBoxes/InfoBoxTooltip';\n\nconst formatRows = ({\n rows,\n url,\n toggleModal,\n label,\n firstColumn = 'name',\n isEnquiry,\n entitySchema\n}) =>\n rows.map(data => {\n const editUrl = `${url}/update/${data.id}`;\n\n const rowProps = {\n ...data,\n [firstColumn]: (\n <>\n <Link to={editUrl} role=\"button\">\n {data[firstColumn]}\n </Link>\n <RenderHook\n hookKey=\"entity:listing:table:row:column:after\"\n schema={entitySchema}\n data={data}\n value={data[firstColumn]}\n column={firstColumn}\n />\n </>\n )\n };\n if (!isEnquiry)\n rowProps.actions = (\n <TableActions editUrl={editUrl} data={data} showDeleteModal={toggleModal} />\n );\n return rowProps;\n });\n\nconst getSanitizedColumnLabel = columnProp => {\n let sanitizedChar = '';\n\n for (let index = 0; index < columnProp.length; index += 1) {\n if (index && columnProp[index] === columnProp[index].toUpperCase())\n sanitizedChar = `${sanitizedChar} ${columnProp[index].toLowerCase()}`;\n else sanitizedChar += columnProp[index];\n }\n return sanitizedChar;\n};\n\nconst buildArrayRowContent = rowData => (\n <div className=\"table-row-list\">\n {rowData.map(rowGroup => {\n if (!rowGroup.length) return null;\n return (\n <div className=\"table-row-list__group\">\n {rowGroup.map(item => (\n <div className=\"table-row-list__group__item\">\n <span className=\"table-row-list__group__item__label\">\n <InfoBoxLabel item={item} />\n </span>\n <span className=\"table-row-list__group__item__value\">\n <InfoBoxValue item={item} />\n <InfoBoxTooltip info={item} />\n </span>\n </div>\n ))}\n </div>\n );\n })}\n </div>\n);\n\nconst buildArrayRowData = rowData => {\n const groupSize = Math.ceil(rowData.length / 3);\n const group1 = rowData.slice(0, groupSize);\n const group2 = rowData.slice(groupSize, groupSize * 2);\n const group3 = rowData.slice(groupSize * 2);\n const dataGroups = [group1, group2, group3];\n\n return buildArrayRowContent(dataGroups);\n};\n\nconst getParsedRowData = rows =>\n rows.map(rowData =>\n Object.keys(rowData).reduce((acc, key) => {\n const parsedData = Array.isArray(rowData[key])\n ? buildArrayRowData(rowData[key])\n : rowData[key];\n return { ...acc, [key]: parsedData };\n }, {})\n );\n\nconst getColumnsAndLabels = (listingProperties, allProperties, rows) => {\n const columns = [];\n const labels = {};\n\n listingProperties.forEach(listingProperty => {\n const propKey = listingProperty.includes(' ') ? listingProperty.split(' ')[0] : listingProperty;\n const { label } = allProperties[propKey] || {};\n columns.push(propKey);\n labels[propKey] = label || getSanitizedColumnLabel(propKey);\n });\n const parsedRowData = getParsedRowData(rows);\n\n return { columns, labels, parsedRowData };\n};\n\nconst populateRows = ({ toggleModal, url, entitySchema, rows }) => {\n const {\n id: schemaId,\n listingProperties,\n properties,\n dynamicProperties = {},\n formProperties\n } = entitySchema;\n\n const isEnquiry = schemaId === 'enquiry';\n const columnOptions = !isEnquiry ? [...listingProperties, ACTIONS] : [...listingProperties];\n\n const allProperties = { ...properties, ...dynamicProperties };\n const { columns, labels, parsedRowData } = getColumnsAndLabels(\n columnOptions,\n allProperties,\n rows\n );\n const [firstColumn] = columns;\n\n return {\n identification: 'id',\n sort: null,\n columns,\n labels,\n orderBy: [...formProperties],\n rows: formatRows({\n firstColumn,\n rows: parsedRowData,\n url,\n toggleModal,\n isEnquiry,\n entitySchema\n }),\n isEnquiry\n };\n};\n\nexport { populateRows, formatRows, getParsedRowData };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"populate-rows.js","names":["React","Link","RenderHook","TableActions","ACTIONS","InfoBoxValue","InfoBoxLabel","InfoBoxTooltip","formatRows","rows","url","toggleModal","label","firstColumn","isEnquiry","entitySchema","map","data","editUrl","id","rowProps","_objectSpread","createElement","Fragment","to","role","hookKey","schema","value","column","actions","showDeleteModal","getSanitizedColumnLabel","columnProp","sanitizedChar","index","length","toUpperCase","toLowerCase","buildArrayRowContent","rowData","className","rowGroup","item","info","buildArrayRowData","groupSize","Math","ceil","group1","slice","group2","group3","dataGroups","getParsedRowData","Object","keys","reduce","acc","key","parsedData","Array","isArray","getColumnsAndLabels","listingProperties","allProperties","columns","labels","forEach","listingProperty","propKey","includes","split","push","parsedRowData","populateRows","schemaId","properties","dynamicProperties","formProperties","columnOptions","identification","sort","orderBy"],"sources":["../../../../src/components/ListingTable/mappers/populate-rows.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport TableActions from '../TableActions';\nimport { ACTIONS } from '../../../constants';\nimport InfoBoxValue from '../../InfoBoxes/presentational/InfoBoxValue';\nimport InfoBoxLabel from '../../InfoBoxes/presentational/InfoBoxLabel';\nimport InfoBoxTooltip from '../../InfoBoxes/InfoBoxTooltip';\n\nconst formatRows = ({\n rows,\n url,\n toggleModal,\n label,\n firstColumn = 'name',\n isEnquiry,\n entitySchema\n}) =>\n rows.map(data => {\n const editUrl = `${url}/update/${data.id}`;\n\n const rowProps = {\n ...data,\n [firstColumn]: (\n <>\n <Link to={editUrl} role=\"button\">\n {data[firstColumn]}\n </Link>\n <RenderHook\n hookKey=\"entity:listing:table:row:column:after\"\n schema={entitySchema}\n data={data}\n value={data[firstColumn]}\n column={firstColumn}\n />\n </>\n )\n };\n if (!isEnquiry)\n rowProps.actions = (\n <TableActions editUrl={editUrl} data={data} showDeleteModal={toggleModal} />\n );\n return rowProps;\n });\n\nconst getSanitizedColumnLabel = columnProp => {\n let sanitizedChar = '';\n\n for (let index = 0; index < columnProp.length; index += 1) {\n if (index && columnProp[index] === columnProp[index].toUpperCase())\n sanitizedChar = `${sanitizedChar} ${columnProp[index].toLowerCase()}`;\n else sanitizedChar += columnProp[index];\n }\n return sanitizedChar;\n};\n\nconst buildArrayRowContent = rowData => (\n <div className=\"table-row-list\">\n {rowData.map(rowGroup => {\n if (!rowGroup.length) return null;\n return (\n <div className=\"table-row-list__group\">\n {rowGroup.map(item => (\n <div className=\"table-row-list__group__item\">\n <span className=\"table-row-list__group__item__label\">\n <InfoBoxLabel item={item} />\n </span>\n <span className=\"table-row-list__group__item__value\">\n <InfoBoxValue item={item} />\n <InfoBoxTooltip info={item} />\n </span>\n </div>\n ))}\n </div>\n );\n })}\n </div>\n);\n\nconst buildArrayRowData = rowData => {\n const groupSize = Math.ceil(rowData.length / 3);\n const group1 = rowData.slice(0, groupSize);\n const group2 = rowData.slice(groupSize, groupSize * 2);\n const group3 = rowData.slice(groupSize * 2);\n const dataGroups = [group1, group2, group3];\n\n return buildArrayRowContent(dataGroups);\n};\n\nconst getParsedRowData = rows =>\n rows.map(rowData =>\n Object.keys(rowData).reduce((acc, key) => {\n const parsedData = Array.isArray(rowData[key])\n ? buildArrayRowData(rowData[key])\n : rowData[key];\n return { ...acc, [key]: parsedData };\n }, {})\n );\n\nconst getColumnsAndLabels = (listingProperties, allProperties, rows) => {\n const columns = [];\n const labels = {};\n\n listingProperties.forEach(listingProperty => {\n const propKey = listingProperty.includes(' ') ? listingProperty.split(' ')[0] : listingProperty;\n const { label } = allProperties[propKey] || {};\n columns.push(propKey);\n labels[propKey] = label || getSanitizedColumnLabel(propKey);\n });\n const parsedRowData = getParsedRowData(rows);\n\n return { columns, labels, parsedRowData };\n};\n\nconst populateRows = ({ toggleModal, url, entitySchema, rows }) => {\n const {\n id: schemaId,\n listingProperties,\n properties,\n dynamicProperties = {},\n formProperties\n } = entitySchema;\n\n const isEnquiry = schemaId === 'enquiry';\n const columnOptions = !isEnquiry ? [...listingProperties, ACTIONS] : [...listingProperties];\n\n const allProperties = { ...properties, ...dynamicProperties };\n const { columns, labels, parsedRowData } = getColumnsAndLabels(\n columnOptions,\n allProperties,\n rows\n );\n const [firstColumn] = columns;\n\n return {\n identification: 'id',\n sort: null,\n columns,\n labels,\n orderBy: [...formProperties],\n rows: formatRows({\n firstColumn,\n rows: parsedRowData,\n url,\n toggleModal,\n isEnquiry,\n entitySchema\n }),\n isEnquiry\n };\n};\n\nexport { populateRows, formatRows, getParsedRowData };\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAOC,YAAY,MAAM,6CAA6C;AACtE,OAAOC,YAAY,MAAM,6CAA6C;AACtE,OAAOC,cAAc,MAAM,gCAAgC;AAE3D,MAAMC,UAAU,GAAGA,CAAC;EAClBC,IAAI;EACJC,GAAG;EACHC,WAAW;EACXC,KAAK;EACLC,WAAW,GAAG,MAAM;EACpBC,SAAS;EACTC;AACF,CAAC,KACCN,IAAI,CAACO,GAAG,CAACC,IAAI,IAAI;EACf,MAAMC,OAAO,GAAG,GAAGR,GAAG,WAAWO,IAAI,CAACE,EAAE,EAAE;EAE1C,MAAMC,QAAQ,GAAAC,aAAA,CAAAA,aAAA,KACTJ,IAAI;IACP,CAACJ,WAAW,gBACVb,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,qBACEvB,KAAA,CAAAsB,aAAA,CAACrB,IAAI;MAACuB,EAAE,EAAEN,OAAQ;MAACO,IAAI,EAAC;IAAQ,GAC7BR,IAAI,CAACJ,WAAW,CACb,CAAC,eACPb,KAAA,CAAAsB,aAAA,CAACpB,UAAU;MACTwB,OAAO,EAAC,uCAAuC;MAC/CC,MAAM,EAAEZ,YAAa;MACrBE,IAAI,EAAEA,IAAK;MACXW,KAAK,EAAEX,IAAI,CAACJ,WAAW,CAAE;MACzBgB,MAAM,EAAEhB;IAAY,CACrB,CACD;EACH,EACF;EACD,IAAI,CAACC,SAAS,EACZM,QAAQ,CAACU,OAAO,gBACd9B,KAAA,CAAAsB,aAAA,CAACnB,YAAY;IAACe,OAAO,EAAEA,OAAQ;IAACD,IAAI,EAAEA,IAAK;IAACc,eAAe,EAAEpB;EAAY,CAAE,CAC5E;EACH,OAAOS,QAAQ;AACjB,CAAC,CAAC;AAEJ,MAAMY,uBAAuB,GAAGC,UAAU,IAAI;EAC5C,IAAIC,aAAa,GAAG,EAAE;EAEtB,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,UAAU,CAACG,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;IACzD,IAAIA,KAAK,IAAIF,UAAU,CAACE,KAAK,CAAC,KAAKF,UAAU,CAACE,KAAK,CAAC,CAACE,WAAW,CAAC,CAAC,EAChEH,aAAa,GAAG,GAAGA,aAAa,IAAID,UAAU,CAACE,KAAK,CAAC,CAACG,WAAW,CAAC,CAAC,EAAE,CAAC,KACnEJ,aAAa,IAAID,UAAU,CAACE,KAAK,CAAC;EACzC;EACA,OAAOD,aAAa;AACtB,CAAC;AAED,MAAMK,oBAAoB,GAAGC,OAAO,iBAClCxC,KAAA,CAAAsB,aAAA;EAAKmB,SAAS,EAAC;AAAgB,GAC5BD,OAAO,CAACxB,GAAG,CAAC0B,QAAQ,IAAI;EACvB,IAAI,CAACA,QAAQ,CAACN,MAAM,EAAE,OAAO,IAAI;EACjC,oBACEpC,KAAA,CAAAsB,aAAA;IAAKmB,SAAS,EAAC;EAAuB,GACnCC,QAAQ,CAAC1B,GAAG,CAAC2B,IAAI,iBAChB3C,KAAA,CAAAsB,aAAA;IAAKmB,SAAS,EAAC;EAA6B,gBAC1CzC,KAAA,CAAAsB,aAAA;IAAMmB,SAAS,EAAC;EAAoC,gBAClDzC,KAAA,CAAAsB,aAAA,CAAChB,YAAY;IAACqC,IAAI,EAAEA;EAAK,CAAE,CACvB,CAAC,eACP3C,KAAA,CAAAsB,aAAA;IAAMmB,SAAS,EAAC;EAAoC,gBAClDzC,KAAA,CAAAsB,aAAA,CAACjB,YAAY;IAACsC,IAAI,EAAEA;EAAK,CAAE,CAAC,eAC5B3C,KAAA,CAAAsB,aAAA,CAACf,cAAc;IAACqC,IAAI,EAAED;EAAK,CAAE,CACzB,CACH,CACN,CACE,CAAC;AAEV,CAAC,CACE,CACN;AAED,MAAME,iBAAiB,GAAGL,OAAO,IAAI;EACnC,MAAMM,SAAS,GAAGC,IAAI,CAACC,IAAI,CAACR,OAAO,CAACJ,MAAM,GAAG,CAAC,CAAC;EAC/C,MAAMa,MAAM,GAAGT,OAAO,CAACU,KAAK,CAAC,CAAC,EAAEJ,SAAS,CAAC;EAC1C,MAAMK,MAAM,GAAGX,OAAO,CAACU,KAAK,CAACJ,SAAS,EAAEA,SAAS,GAAG,CAAC,CAAC;EACtD,MAAMM,MAAM,GAAGZ,OAAO,CAACU,KAAK,CAACJ,SAAS,GAAG,CAAC,CAAC;EAC3C,MAAMO,UAAU,GAAG,CAACJ,MAAM,EAAEE,MAAM,EAAEC,MAAM,CAAC;EAE3C,OAAOb,oBAAoB,CAACc,UAAU,CAAC;AACzC,CAAC;AAED,MAAMC,gBAAgB,GAAG7C,IAAI,IAC3BA,IAAI,CAACO,GAAG,CAACwB,OAAO,IACde,MAAM,CAACC,IAAI,CAAChB,OAAO,CAAC,CAACiB,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;EACxC,MAAMC,UAAU,GAAGC,KAAK,CAACC,OAAO,CAACtB,OAAO,CAACmB,GAAG,CAAC,CAAC,GAC1Cd,iBAAiB,CAACL,OAAO,CAACmB,GAAG,CAAC,CAAC,GAC/BnB,OAAO,CAACmB,GAAG,CAAC;EAChB,OAAAtC,aAAA,CAAAA,aAAA,KAAYqC,GAAG;IAAE,CAACC,GAAG,GAAGC;EAAU;AACpC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;AAEH,MAAMG,mBAAmB,GAAGA,CAACC,iBAAiB,EAAEC,aAAa,EAAExD,IAAI,KAAK;EACtE,MAAMyD,OAAO,GAAG,EAAE;EAClB,MAAMC,MAAM,GAAG,CAAC,CAAC;EAEjBH,iBAAiB,CAACI,OAAO,CAACC,eAAe,IAAI;IAC3C,MAAMC,OAAO,GAAGD,eAAe,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGF,eAAe,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAGH,eAAe;IAC/F,MAAM;MAAEzD;IAAM,CAAC,GAAGqD,aAAa,CAACK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9CJ,OAAO,CAACO,IAAI,CAACH,OAAO,CAAC;IACrBH,MAAM,CAACG,OAAO,CAAC,GAAG1D,KAAK,IAAIoB,uBAAuB,CAACsC,OAAO,CAAC;EAC7D,CAAC,CAAC;EACF,MAAMI,aAAa,GAAGpB,gBAAgB,CAAC7C,IAAI,CAAC;EAE5C,OAAO;IAAEyD,OAAO;IAAEC,MAAM;IAAEO;EAAc,CAAC;AAC3C,CAAC;AAED,MAAMC,YAAY,GAAGA,CAAC;EAAEhE,WAAW;EAAED,GAAG;EAAEK,YAAY;EAAEN;AAAK,CAAC,KAAK;EACjE,MAAM;IACJU,EAAE,EAAEyD,QAAQ;IACZZ,iBAAiB;IACjBa,UAAU;IACVC,iBAAiB,GAAG,CAAC,CAAC;IACtBC;EACF,CAAC,GAAGhE,YAAY;EAEhB,MAAMD,SAAS,GAAG8D,QAAQ,KAAK,SAAS;EACxC,MAAMI,aAAa,GAAG,CAAClE,SAAS,GAAG,CAAC,GAAGkD,iBAAiB,EAAE5D,OAAO,CAAC,GAAG,CAAC,GAAG4D,iBAAiB,CAAC;EAE3F,MAAMC,aAAa,GAAA5C,aAAA,CAAAA,aAAA,KAAQwD,UAAU,GAAKC,iBAAiB,CAAE;EAC7D,MAAM;IAAEZ,OAAO;IAAEC,MAAM;IAAEO;EAAc,CAAC,GAAGX,mBAAmB,CAC5DiB,aAAa,EACbf,aAAa,EACbxD,IACF,CAAC;EACD,MAAM,CAACI,WAAW,CAAC,GAAGqD,OAAO;EAE7B,OAAO;IACLe,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE,IAAI;IACVhB,OAAO;IACPC,MAAM;IACNgB,OAAO,EAAE,CAAC,GAAGJ,cAAc,CAAC;IAC5BtE,IAAI,EAAED,UAAU,CAAC;MACfK,WAAW;MACXJ,IAAI,EAAEiE,aAAa;MACnBhE,GAAG;MACHC,WAAW;MACXG,SAAS;MACTC;IACF,CAAC,CAAC;IACFD;EACF,CAAC;AACH,CAAC;AAED,SAAS6D,YAAY,EAAEnE,UAAU,EAAE8C,gBAAgB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildListingQuery","buildVariables","entitySchema","isSearchQuery","listFilters","queryParams","identifier","sort","offset","limit","where","property","direction","parsedOffset","_objectSpread","Array","isArray","rawQuery","bool","must","filter","term","entityIdentifier","JSON","stringify","fetchData","client","querySettings","displayProperties","adminListings","dataSource","source","index","query","variables","data","fetchPolicy","searchResults","listingData","results","totalRecords","total"],"sources":["../../../../src/components/ListingTable/service/index.js"],"sourcesContent":["import buildListingQuery from '../../../utils/build-listing-query';\n\nfunction buildVariables({ entitySchema, isSearchQuery, listFilters = [], queryParams = {} }) {\n const { identifier } = entitySchema;\n const { sort, offset, limit, where } = queryParams;\n const [{ property, direction }] = sort;\n const parsedOffset = `${property}:${direction}`;\n\n if (!isSearchQuery)\n return {\n ...queryParams,\n where: !Array.isArray(listFilters) ? listFilters : where\n };\n\n const rawQuery = {\n bool: {\n must: listFilters || [],\n filter: [\n {\n term: {\n entityIdentifier: identifier\n }\n }\n ]\n }\n };\n\n return {\n limit,\n offset,\n sort: parsedOffset,\n where: JSON.stringify(rawQuery)\n };\n}\n\nconst fetchData = async ({ client, querySettings: { entitySchema, queryParams }, listFilters }) => {\n const { displayProperties: { adminListings: { dataSource: { source, index } = {} } = {} } = {} } =\n entitySchema;\n\n const isSearchQuery = source === 'search';\n const query = buildListingQuery(entitySchema, index, isSearchQuery);\n const variables = buildVariables({ entitySchema, listFilters, queryParams, isSearchQuery });\n\n const { data = {} } = await client.query({\n query,\n variables,\n fetchPolicy: 'network-only'\n });\n\n if (data.searchResults) {\n return {\n listingData: data.searchResults.results,\n totalRecords: data.searchResults.total\n };\n }\n return data;\n};\n\nexport { fetchData };\n"],"mappings":";;;AAAA,OAAOA,iBAAiB,MAAM,oCAAoC;AAElE,SAASC,cAAcA,CAAC;EAAEC,YAAY;EAAEC,aAAa;EAAEC,WAAW,GAAG,EAAE;EAAEC,WAAW,GAAG,CAAC;AAAE,CAAC,EAAE;EAC3F,MAAM;IAAEC;EAAW,CAAC,GAAGJ,YAAY;EACnC,MAAM;IAAEK,IAAI;IAAEC,MAAM;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGL,WAAW;EAClD,MAAM,CAAC;IAAEM,QAAQ;IAAEC;EAAU,CAAC,CAAC,GAAGL,IAAI;EACtC,MAAMM,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildListingQuery","buildVariables","entitySchema","isSearchQuery","listFilters","queryParams","identifier","sort","offset","limit","where","property","direction","parsedOffset","_objectSpread","Array","isArray","rawQuery","bool","must","filter","term","entityIdentifier","JSON","stringify","fetchData","client","querySettings","displayProperties","adminListings","dataSource","source","index","query","variables","data","fetchPolicy","searchResults","listingData","results","totalRecords","total"],"sources":["../../../../src/components/ListingTable/service/index.js"],"sourcesContent":["import buildListingQuery from '../../../utils/build-listing-query';\n\nfunction buildVariables({ entitySchema, isSearchQuery, listFilters = [], queryParams = {} }) {\n const { identifier } = entitySchema;\n const { sort, offset, limit, where } = queryParams;\n const [{ property, direction }] = sort;\n const parsedOffset = `${property}:${direction}`;\n\n if (!isSearchQuery)\n return {\n ...queryParams,\n where: !Array.isArray(listFilters) ? listFilters : where\n };\n\n const rawQuery = {\n bool: {\n must: listFilters || [],\n filter: [\n {\n term: {\n entityIdentifier: identifier\n }\n }\n ]\n }\n };\n\n return {\n limit,\n offset,\n sort: parsedOffset,\n where: JSON.stringify(rawQuery)\n };\n}\n\nconst fetchData = async ({ client, querySettings: { entitySchema, queryParams }, listFilters }) => {\n const { displayProperties: { adminListings: { dataSource: { source, index } = {} } = {} } = {} } =\n entitySchema;\n\n const isSearchQuery = source === 'search';\n const query = buildListingQuery(entitySchema, index, isSearchQuery);\n const variables = buildVariables({ entitySchema, listFilters, queryParams, isSearchQuery });\n\n const { data = {} } = await client.query({\n query,\n variables,\n fetchPolicy: 'network-only'\n });\n\n if (data.searchResults) {\n return {\n listingData: data.searchResults.results,\n totalRecords: data.searchResults.total\n };\n }\n return data;\n};\n\nexport { fetchData };\n"],"mappings":";;;AAAA,OAAOA,iBAAiB,MAAM,oCAAoC;AAElE,SAASC,cAAcA,CAAC;EAAEC,YAAY;EAAEC,aAAa;EAAEC,WAAW,GAAG,EAAE;EAAEC,WAAW,GAAG,CAAC;AAAE,CAAC,EAAE;EAC3F,MAAM;IAAEC;EAAW,CAAC,GAAGJ,YAAY;EACnC,MAAM;IAAEK,IAAI;IAAEC,MAAM;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGL,WAAW;EAClD,MAAM,CAAC;IAAEM,QAAQ;IAAEC;EAAU,CAAC,CAAC,GAAGL,IAAI;EACtC,MAAMM,YAAY,GAAG,GAAGF,QAAQ,IAAIC,SAAS,EAAE;EAE/C,IAAI,CAACT,aAAa,EAChB,OAAAW,aAAA,CAAAA,aAAA,KACKT,WAAW;IACdK,KAAK,EAAE,CAACK,KAAK,CAACC,OAAO,CAACZ,WAAW,CAAC,GAAGA,WAAW,GAAGM;EAAK;EAG5D,MAAMO,QAAQ,GAAG;IACfC,IAAI,EAAE;MACJC,IAAI,EAAEf,WAAW,IAAI,EAAE;MACvBgB,MAAM,EAAE,CACN;QACEC,IAAI,EAAE;UACJC,gBAAgB,EAAEhB;QACpB;MACF,CAAC;IAEL;EACF,CAAC;EAED,OAAO;IACLG,KAAK;IACLD,MAAM;IACND,IAAI,EAAEM,YAAY;IAClBH,KAAK,EAAEa,IAAI,CAACC,SAAS,CAACP,QAAQ;EAChC,CAAC;AACH;AAEA,MAAMQ,SAAS,GAAG,MAAAA,CAAO;EAAEC,MAAM;EAAEC,aAAa,EAAE;IAAEzB,YAAY;IAAEG;EAAY,CAAC;EAAED;AAAY,CAAC,KAAK;EACjG,MAAM;IAAEwB,iBAAiB,EAAE;MAAEC,aAAa,EAAE;QAAEC,UAAU,EAAE;UAAEC,MAAM;UAAEC;QAAM,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAC9F9B,YAAY;EAEd,MAAMC,aAAa,GAAG4B,MAAM,KAAK,QAAQ;EACzC,MAAME,KAAK,GAAGjC,iBAAiB,CAACE,YAAY,EAAE8B,KAAK,EAAE7B,aAAa,CAAC;EACnE,MAAM+B,SAAS,GAAGjC,cAAc,CAAC;IAAEC,YAAY;IAAEE,WAAW;IAAEC,WAAW;IAAEF;EAAc,CAAC,CAAC;EAE3F,MAAM;IAAEgC,IAAI,GAAG,CAAC;EAAE,CAAC,GAAG,MAAMT,MAAM,CAACO,KAAK,CAAC;IACvCA,KAAK;IACLC,SAAS;IACTE,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,IAAID,IAAI,CAACE,aAAa,EAAE;IACtB,OAAO;MACLC,WAAW,EAAEH,IAAI,CAACE,aAAa,CAACE,OAAO;MACvCC,YAAY,EAAEL,IAAI,CAACE,aAAa,CAACI;IACnC,CAAC;EACH;EACA,OAAON,IAAI;AACb,CAAC;AAED,SAASV,SAAS","ignoreList":[]}
|
package/lib-es/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import pkg from '../package.json';
|
|
|
4
4
|
import { DATA_LISTING_PREFIX, PLUGIN_NAME } from './constants';
|
|
5
5
|
import getAddContentMenuItems from './utils/add-content-menu-items';
|
|
6
6
|
import { UserIcon, TaxonomyIcon, ContentIcon, SettingsIcon } from './icons';
|
|
7
|
-
const EntityDataListing = React.lazy(() => import(
|
|
8
|
-
const EntityManager = React.lazy(() => import(
|
|
7
|
+
const EntityDataListing = React.lazy(() => import(/* webpackChunkName: 'EntityDataListing' */'./components/EntityDataListing'));
|
|
8
|
+
const EntityManager = React.lazy(() => import(/* webpackChunkName: 'EntityManager' */'./components/EntityManager'));
|
|
9
9
|
export { default as SearchFilter } from './components/ListingTable/SearchFilter/SearchFilter';
|
|
10
10
|
export default async function load(app) {
|
|
11
11
|
app.events.once('admin:menu:config:load', getAddContentMenuItems(app));
|