@blaze-cms/plugin-data-ui 0.147.0-rc-eagle.2 → 0.147.0-rc-eagle.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/lib/components/EntityManager/Entity/Entity.js +6 -7
  2. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  3. package/lib/components/ListingTable/SearchFilter/SearchContainer.js +321 -49
  4. package/lib/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
  5. package/lib/components/ListingTable/SearchFilter/SearchFilter.js +6 -2
  6. package/lib/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -1
  7. package/lib/components/ListingTable/SearchFilter/helpers.js +41 -8
  8. package/lib/components/ListingTable/SearchFilter/helpers.js.map +1 -1
  9. package/lib/index.js +7 -0
  10. package/lib/index.js.map +1 -1
  11. package/lib-es/components/EntityManager/Entity/Entity.js +6 -7
  12. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  13. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js +323 -51
  14. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
  15. package/lib-es/components/ListingTable/SearchFilter/SearchFilter.js +7 -3
  16. package/lib-es/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -1
  17. package/lib-es/components/ListingTable/SearchFilter/helpers.js +39 -8
  18. package/lib-es/components/ListingTable/SearchFilter/helpers.js.map +1 -1
  19. package/lib-es/index.js +1 -0
  20. package/lib-es/index.js.map +1 -1
  21. package/package.json +11 -11
  22. package/src/components/EntityManager/Entity/Entity.js +11 -11
  23. package/src/components/ListingTable/SearchFilter/SearchContainer.js +363 -71
  24. package/src/components/ListingTable/SearchFilter/SearchFilter.js +5 -2
  25. package/src/components/ListingTable/SearchFilter/helpers.js +56 -8
  26. package/src/index.js +2 -0
@@ -12,7 +12,8 @@ var _SearchContainer = _interopRequireDefault(require("./SearchContainer"));
12
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
13
  const SearchFilter = ({
14
14
  schema,
15
- setListFilters
15
+ setListFilters,
16
+ values
16
17
  }) => {
17
18
  const {
18
19
  displayProperties = {}
@@ -28,6 +29,7 @@ const SearchFilter = ({
28
29
  } = displayProperties;
29
30
  const keywordFiltersToUse = (0, _react.useMemo)(() => (0, _helpers.getKeywordSearchFilters)(schema), [schema]);
30
31
  const selectFiltersToDisplay = (0, _react.useMemo)(() => (0, _helpers.findSelectFilters)(schema), [schema]);
32
+ const multiSelectFiltersToDisplay = (0, _react.useMemo)(() => (0, _helpers.findMultiSelectFilters)(schema), [schema]);
31
33
  if (disableListingFilter) return null;
32
34
  const canSearch = source === 'search' && (keywordFiltersToUse.length > 0 || selectFiltersToDisplay.length > 0);
33
35
  if (!canSearch) return null;
@@ -37,7 +39,9 @@ const SearchFilter = ({
37
39
  setListFilters: setListFilters,
38
40
  keywordFiltersToUse: keywordFiltersToUse,
39
41
  selectFiltersToDisplay: selectFiltersToDisplay,
40
- schema: schema
42
+ multiSelectFiltersToDisplay: multiSelectFiltersToDisplay,
43
+ schema: schema,
44
+ values: values
41
45
  });
42
46
  };
43
47
  SearchFilter.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_helpers","_SearchContainer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SearchFilter","schema","setListFilters","displayProperties","adminListings","dataSource","source","index","disableListingFilter","keywordFiltersToUse","useMemo","getKeywordSearchFilters","selectFiltersToDisplay","findSelectFilters","canSearch","length","createElement","key","id","propTypes","PropTypes","func","isRequired","object","_default","exports"],"sources":["../../../../src/components/ListingTable/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { getKeywordSearchFilters, findSelectFilters } from './helpers';\nimport SearchContainer from './SearchContainer';\n\nconst SearchFilter = ({ schema, setListFilters }) => {\n const { displayProperties = {} } = schema || {};\n const {\n adminListings: { dataSource: { source, index } = {}, disableListingFilter = false } = {}\n } = displayProperties;\n\n const keywordFiltersToUse = useMemo(() => getKeywordSearchFilters(schema), [schema]);\n const selectFiltersToDisplay = useMemo(() => findSelectFilters(schema), [schema]);\n\n if (disableListingFilter) return null;\n\n const canSearch =\n source === 'search' && (keywordFiltersToUse.length > 0 || selectFiltersToDisplay.length > 0);\n if (!canSearch) return null;\n\n return (\n <SearchContainer\n index={index}\n key={schema.id}\n setListFilters={setListFilters}\n keywordFiltersToUse={keywordFiltersToUse}\n selectFiltersToDisplay={selectFiltersToDisplay}\n schema={schema}\n />\n );\n};\n\nSearchFilter.propTypes = {\n setListFilters: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_helpers","_SearchContainer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SearchFilter","schema","setListFilters","values","displayProperties","adminListings","dataSource","source","index","disableListingFilter","keywordFiltersToUse","useMemo","getKeywordSearchFilters","selectFiltersToDisplay","findSelectFilters","multiSelectFiltersToDisplay","findMultiSelectFilters","canSearch","length","createElement","key","id","propTypes","PropTypes","func","isRequired","object","_default","exports"],"sources":["../../../../src/components/ListingTable/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { getKeywordSearchFilters, findSelectFilters, findMultiSelectFilters } from './helpers';\nimport SearchContainer from './SearchContainer';\n\nconst SearchFilter = ({ schema, setListFilters, values }) => {\n const { displayProperties = {} } = schema || {};\n const {\n adminListings: { dataSource: { source, index } = {}, disableListingFilter = false } = {}\n } = displayProperties;\n\n const keywordFiltersToUse = useMemo(() => getKeywordSearchFilters(schema), [schema]);\n const selectFiltersToDisplay = useMemo(() => findSelectFilters(schema), [schema]);\n const multiSelectFiltersToDisplay = useMemo(() => findMultiSelectFilters(schema), [schema]);\n\n if (disableListingFilter) return null;\n\n const canSearch =\n source === 'search' && (keywordFiltersToUse.length > 0 || selectFiltersToDisplay.length > 0);\n if (!canSearch) return null;\n\n return (\n <SearchContainer\n index={index}\n key={schema.id}\n setListFilters={setListFilters}\n keywordFiltersToUse={keywordFiltersToUse}\n selectFiltersToDisplay={selectFiltersToDisplay}\n multiSelectFiltersToDisplay={multiSelectFiltersToDisplay}\n schema={schema}\n values={values}\n />\n );\n};\n\nSearchFilter.propTypes = {\n setListFilters: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAgD,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEhD,MAAMkB,YAAY,GAAGA,CAAC;EAAEC,MAAM;EAAEC,cAAc;EAAEC;AAAO,CAAC,KAAK;EAC3D,MAAM;IAAEC,iBAAiB,GAAG,CAAC;EAAE,CAAC,GAAGH,MAAM,IAAI,CAAC,CAAC;EAC/C,MAAM;IACJI,aAAa,EAAE;MAAEC,UAAU,EAAE;QAAEC,MAAM;QAAEC;MAAM,CAAC,GAAG,CAAC,CAAC;MAAEC,oBAAoB,GAAG;IAAM,CAAC,GAAG,CAAC;EACzF,CAAC,GAAGL,iBAAiB;EAErB,MAAMM,mBAAmB,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,gCAAuB,EAACX,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACpF,MAAMY,sBAAsB,GAAG,IAAAF,cAAO,EAAC,MAAM,IAAAG,0BAAiB,EAACb,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACjF,MAAMc,2BAA2B,GAAG,IAAAJ,cAAO,EAAC,MAAM,IAAAK,+BAAsB,EAACf,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAE3F,IAAIQ,oBAAoB,EAAE,OAAO,IAAI;EAErC,MAAMQ,SAAS,GACbV,MAAM,KAAK,QAAQ,KAAKG,mBAAmB,CAACQ,MAAM,GAAG,CAAC,IAAIL,sBAAsB,CAACK,MAAM,GAAG,CAAC,CAAC;EAC9F,IAAI,CAACD,SAAS,EAAE,OAAO,IAAI;EAE3B,oBACE3C,MAAA,CAAAiB,OAAA,CAAA4B,aAAA,CAACvC,gBAAA,CAAAW,OAAe;IACdiB,KAAK,EAAEA,KAAM;IACbY,GAAG,EAAEnB,MAAM,CAACoB,EAAG;IACfnB,cAAc,EAAEA,cAAe;IAC/BQ,mBAAmB,EAAEA,mBAAoB;IACzCG,sBAAsB,EAAEA,sBAAuB;IAC/CE,2BAA2B,EAAEA,2BAA4B;IACzDd,MAAM,EAAEA,MAAO;IACfE,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC;AAEDH,YAAY,CAACsB,SAAS,GAAG;EACvBpB,cAAc,EAAEqB,kBAAS,CAACC,IAAI,CAACC,UAAU;EACzCxB,MAAM,EAAEsB,kBAAS,CAACG,MAAM,CAACD;AAC3B,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAArC,OAAA,GAEaS,YAAY","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.updateListFilters = exports.getKeywordSearchFilters = exports.findSelectFilters = exports.buildQueryFields = void 0;
6
+ exports.updateListFilters = exports.getTidyLabel = exports.getKeywordSearchFilters = exports.findSelectFilters = exports.findMultiSelectFilters = exports.buildQueryFields = void 0;
7
7
  var _constants = require("../../../constants");
8
8
  const updateListFilters = (searchTerm, selectedFilters, setListFilters, fields = []) => {
9
9
  const filters = [];
@@ -17,14 +17,30 @@ const updateListFilters = (searchTerm, selectedFilters, setListFilters, fields =
17
17
  });
18
18
  }
19
19
  Object.entries(selectedFilters).forEach(([filterKey, filterValue]) => {
20
- if (!filterValue || filterValue === _constants.DEFAULT_FILTER_OPTION_LABEL) return;
21
- filters.push({
22
- match: {
23
- [`${filterKey}.keyword`]: {
24
- query: filterValue
25
- }
20
+ const isEmptyArray = Array.isArray(filterValue) && filterValue.length === 0;
21
+ if (filterValue == null || filterValue === '' || filterValue === _constants.DEFAULT_FILTER_OPTION_LABEL || isEmptyArray) return;
22
+ const field = `${filterKey}.keyword`;
23
+ if (Array.isArray(filterValue)) {
24
+ if (filterValue.length > 1) {
25
+ filters.push({
26
+ terms: {
27
+ [field]: filterValue
28
+ }
29
+ });
30
+ } else {
31
+ filters.push({
32
+ term: {
33
+ [field]: filterValue[0]
34
+ }
35
+ });
26
36
  }
27
- });
37
+ } else {
38
+ filters.push({
39
+ term: {
40
+ [field]: filterValue
41
+ }
42
+ });
43
+ }
28
44
  });
29
45
  setListFilters(filters);
30
46
  };
@@ -52,7 +68,19 @@ const findSelectFilters = schema => {
52
68
  return [...propertySelects, ...dynamicPropertySelects];
53
69
  };
54
70
  exports.findSelectFilters = findSelectFilters;
71
+ const findMultiSelectFilters = schema => {
72
+ if (!schema || !schema.properties) return [];
73
+ const {
74
+ properties = {},
75
+ dynamicProperties = {}
76
+ } = schema;
77
+ const propertyMultiSelect = Object.entries(properties).filter(isFilterMultiSelectItems);
78
+ const dynamicPropertyMultiSelect = Object.entries(dynamicProperties).filter(isFilterMultiSelectItems);
79
+ return [...propertyMultiSelect, ...dynamicPropertyMultiSelect];
80
+ };
81
+ exports.findMultiSelectFilters = findMultiSelectFilters;
55
82
  const isFilterSelectItem = ([, item]) => item.adminListingOptions && item.adminListingOptions.filterType === 'select';
83
+ const isFilterMultiSelectItems = ([, item]) => item.adminListingOptions && item.adminListingOptions.filterType === 'multiSelect';
56
84
  const buildQueryFields = (selectFilters, entityId) => {
57
85
  if (!Array.isArray(selectFilters) || selectFilters.length === 0) {
58
86
  return {
@@ -102,4 +130,9 @@ const buildQueryFields = (selectFilters, entityId) => {
102
130
  };
103
131
  };
104
132
  exports.buildQueryFields = buildQueryFields;
133
+ const getTidyLabel = (value, tidy) => {
134
+ if (!tidy) return value;
135
+ return value.split(/[\s_-]+/).map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
136
+ };
137
+ exports.getTidyLabel = getTidyLabel;
105
138
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["_constants","require","updateListFilters","searchTerm","selectedFilters","setListFilters","fields","filters","push","simple_query_string","query","default_operator","map","field","Object","entries","forEach","filterKey","filterValue","DEFAULT_FILTER_OPTION_LABEL","match","exports","getKeywordSearchFilters","schema","properties","dynamicProperties","propertyKeyword","filter","isFilterKeywordItem","dynamicPropertyKeywords","item","adminListingOptions","includeInKeywordSeach","findSelectFilters","propertySelects","isFilterSelectItem","dynamicPropertySelects","filterType","buildQueryFields","selectFilters","entityId","Array","isArray","length","gqlFields","rawQuery","aggs","property","details","terms","size","order","_key","docType","rawQueryObject","bool","must","JSON","stringify"],"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 if (!filterValue || filterValue === DEFAULT_FILTER_OPTION_LABEL) return;\n filters.push({\n match: {\n [`${filterKey}.keyword`]: {\n query: filterValue\n }\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 isFilterSelectItem = ([, item]) =>\n item.adminListingOptions && item.adminListingOptions.filterType === 'select';\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\nexport { buildQueryFields, updateListFilters, getKeywordSearchFilters, findSelectFilters };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":["_constants","require","updateListFilters","searchTerm","selectedFilters","setListFilters","fields","filters","push","simple_query_string","query","default_operator","map","field","Object","entries","forEach","filterKey","filterValue","isEmptyArray","Array","isArray","length","DEFAULT_FILTER_OPTION_LABEL","terms","term","exports","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 = Object.entries(dynamicProperties).filter(\n isFilterMultiSelectItems\n );\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":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,MAAMC,iBAAiB,GAAGA,CAACC,UAAU,EAAEC,eAAe,EAAEC,cAAc,EAAEC,MAAM,GAAG,EAAE,KAAK;EACtF,MAAMC,OAAO,GAAG,EAAE;EAElB,IAAIJ,UAAU,EAAE;IACdI,OAAO,CAACC,IAAI,CAAC;MACXC,mBAAmB,EAAE;QACnBC,KAAK,EAAE,GAAGP,UAAU,EAAE;QACtBQ,gBAAgB,EAAE,KAAK;QACvBL,MAAM,EAAEA,MAAM,CAACM,GAAG,CAACC,KAAK,IAAIA,KAAK;MACnC;IACF,CAAC,CAAC;EACJ;EAEAC,MAAM,CAACC,OAAO,CAACX,eAAe,CAAC,CAACY,OAAO,CAAC,CAAC,CAACC,SAAS,EAAEC,WAAW,CAAC,KAAK;IACpE,MAAMC,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACH,WAAW,CAAC,IAAIA,WAAW,CAACI,MAAM,KAAK,CAAC;IAC3E,IACEJ,WAAW,IAAI,IAAI,IACnBA,WAAW,KAAK,EAAE,IAClBA,WAAW,KAAKK,sCAA2B,IAC3CJ,YAAY,EAEZ;IAEF,MAAMN,KAAK,GAAG,GAAGI,SAAS,UAAU;IAEpC,IAAIG,KAAK,CAACC,OAAO,CAACH,WAAW,CAAC,EAAE;MAC9B,IAAIA,WAAW,CAACI,MAAM,GAAG,CAAC,EAAE;QAC1Bf,OAAO,CAACC,IAAI,CAAC;UACXgB,KAAK,EAAE;YAAE,CAACX,KAAK,GAAGK;UAAY;QAChC,CAAC,CAAC;MACJ,CAAC,MAAM;QACLX,OAAO,CAACC,IAAI,CAAC;UACXiB,IAAI,EAAE;YAAE,CAACZ,KAAK,GAAGK,WAAW,CAAC,CAAC;UAAE;QAClC,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACLX,OAAO,CAACC,IAAI,CAAC;QACXiB,IAAI,EAAE;UAAE,CAACZ,KAAK,GAAGK;QAAY;MAC/B,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEFb,cAAc,CAACE,OAAO,CAAC;AACzB,CAAC;AAACmB,OAAA,CAAAxB,iBAAA,GAAAA,iBAAA;AAEF,MAAMyB,uBAAuB,GAAGC,MAAM,IAAI;EACxC,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACC,UAAU,EAAE,OAAO,EAAE;EAE5C,MAAM;IAAEA,UAAU,GAAG,CAAC,CAAC;IAAEC,iBAAiB,GAAG,CAAC;EAAE,CAAC,GAAGF,MAAM;EAE1D,MAAMG,eAAe,GAAGjB,MAAM,CAACC,OAAO,CAACc,UAAU,CAAC,CAACG,MAAM,CAACC,mBAAmB,CAAC;EAC9E,MAAMC,uBAAuB,GAAGpB,MAAM,CAACC,OAAO,CAACe,iBAAiB,CAAC,CAACE,MAAM,CAACC,mBAAmB,CAAC;EAE7F,OAAO,CAAC,GAAGF,eAAe,EAAE,GAAGG,uBAAuB,CAAC;AACzD,CAAC;AAACR,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEF,MAAMM,mBAAmB,GAAGA,CAAC,GAAGE,IAAI,CAAC,KACnCA,IAAI,CAACC,mBAAmB,IAAID,IAAI,CAACC,mBAAmB,CAACC,qBAAqB,KAAK,IAAI;AAErF,MAAMC,iBAAiB,GAAGV,MAAM,IAAI;EAClC,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACC,UAAU,EAAE,OAAO,EAAE;EAE5C,MAAM;IAAEA,UAAU,GAAG,CAAC,CAAC;IAAEC,iBAAiB,GAAG,CAAC;EAAE,CAAC,GAAGF,MAAM;EAE1D,MAAMW,eAAe,GAAGzB,MAAM,CAACC,OAAO,CAACc,UAAU,CAAC,CAACG,MAAM,CAACQ,kBAAkB,CAAC;EAC7E,MAAMC,sBAAsB,GAAG3B,MAAM,CAACC,OAAO,CAACe,iBAAiB,CAAC,CAACE,MAAM,CAACQ,kBAAkB,CAAC;EAE3F,OAAO,CAAC,GAAGD,eAAe,EAAE,GAAGE,sBAAsB,CAAC;AACxD,CAAC;AAACf,OAAA,CAAAY,iBAAA,GAAAA,iBAAA;AAEF,MAAMI,sBAAsB,GAAGd,MAAM,IAAI;EACvC,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACC,UAAU,EAAE,OAAO,EAAE;EAE5C,MAAM;IAAEA,UAAU,GAAG,CAAC,CAAC;IAAEC,iBAAiB,GAAG,CAAC;EAAE,CAAC,GAAGF,MAAM;EAC1D,MAAMe,mBAAmB,GAAG7B,MAAM,CAACC,OAAO,CAACc,UAAU,CAAC,CAACG,MAAM,CAACY,wBAAwB,CAAC;EACvF,MAAMC,0BAA0B,GAAG/B,MAAM,CAACC,OAAO,CAACe,iBAAiB,CAAC,CAACE,MAAM,CACzEY,wBACF,CAAC;EACD,OAAO,CAAC,GAAGD,mBAAmB,EAAE,GAAGE,0BAA0B,CAAC;AAChE,CAAC;AAACnB,OAAA,CAAAgB,sBAAA,GAAAA,sBAAA;AAEF,MAAMF,kBAAkB,GAAGA,CAAC,GAAGL,IAAI,CAAC,KAClCA,IAAI,CAACC,mBAAmB,IAAID,IAAI,CAACC,mBAAmB,CAACU,UAAU,KAAK,QAAQ;AAE9E,MAAMF,wBAAwB,GAAGA,CAAC,GAAGT,IAAI,CAAC,KACxCA,IAAI,CAACC,mBAAmB,IAAID,IAAI,CAACC,mBAAmB,CAACU,UAAU,KAAK,aAAa;AAEnF,MAAMC,gBAAgB,GAAGA,CAACC,aAAa,EAAEC,QAAQ,KAAK;EACpD,IAAI,CAAC7B,KAAK,CAACC,OAAO,CAAC2B,aAAa,CAAC,IAAIA,aAAa,CAAC1B,MAAM,KAAK,CAAC,EAAE;IAC/D,OAAO;MAAE4B,SAAS,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAK,CAAC;EAC1C;EAEA,MAAMC,IAAI,GAAG,CAAC,CAAC;EACfJ,aAAa,CAAChC,OAAO,CAAC,CAAC,CAACqC,QAAQ,EAAEC,OAAO,CAAC,KAAK;IAC7CF,IAAI,CAACC,QAAQ,CAAC,GAAG;MACf7B,KAAK,EAAE;QACLX,KAAK,EAAE,GAAGwC,QAAQ,UAAU;QAAE;QAC9BE,IAAI,EAAE,IAAI;QAAE;QACZC,KAAK,EAAE;UACLC,IAAI,EAAE;QACR;MACF;IACF,CAAC;EACH,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGT,QAAQ;EACxB,MAAMU,cAAc,GAAG;IACrBJ,IAAI,EAAE,CAAC;IACP7C,KAAK,EAAE;MACLkD,IAAI,EAAE;QACJ5B,MAAM,EAAE;UACN4B,IAAI,EAAE;YACJC,IAAI,EAAE,CAAC;cAAEC,KAAK,EAAE;gBAAEJ;cAAQ;YAAE,CAAC;UAC/B;QACF;MACF;IACF,CAAC;IACDN;EACF,CAAC;EACD,MAAMD,QAAQ,GAAGY,IAAI,CAACC,SAAS,CAACL,cAAc,CAAC;EAE/C,MAAMT,SAAS,GAAG;AACpB;AACA,GAAG;EAED,OAAO;IAAEA,SAAS;IAAEC;EAAS,CAAC;AAChC,CAAC;AAACzB,OAAA,CAAAqB,gBAAA,GAAAA,gBAAA;AAEF,MAAMkB,YAAY,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;EACpC,IAAI,CAACA,IAAI,EAAE,OAAOD,KAAK;EAEvB,OAAOA,KAAK,CACTE,KAAK,CAAC,SAAS,CAAC,CAChBxD,GAAG,CAACyD,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CACzDC,IAAI,CAAC,GAAG,CAAC;AACd,CAAC;AAAC/C,OAAA,CAAAuC,YAAA,GAAAA,YAAA","ignoreList":[]}
package/lib/index.js CHANGED
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "SearchFilter", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _SearchFilter.default;
11
+ }
12
+ });
7
13
  exports.default = load;
8
14
  var _reactFormBuilder = require("@blaze-cms/react-form-builder");
9
15
  var _package = _interopRequireDefault(require("../package.json"));
@@ -12,6 +18,7 @@ var _addContentMenuItems = _interopRequireDefault(require("./utils/add-content-m
12
18
  var _icons = require("./icons");
13
19
  var _EntityDataListing = _interopRequireDefault(require("./components/EntityDataListing"));
14
20
  var _EntityManager = _interopRequireDefault(require("./components/EntityManager"));
21
+ var _SearchFilter = _interopRequireDefault(require("./components/ListingTable/SearchFilter/SearchFilter"));
15
22
  // todo: renable lazy loading after bundler optimisations, currently they are too slow in dev mode
16
23
  // const EntityDataListing = React.lazy(
17
24
  // () => import(/* webpackChunkName: 'EntityDataListing' */ './components/EntityDataListing')
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_reactFormBuilder","require","_package","_interopRequireDefault","_constants","_addContentMenuItems","_icons","_EntityDataListing","_EntityManager","load","app","events","once","getAddContentMenuItems","addFieldType","Object","keys","formFieldTypes","forEach","type","component","emitAsync","getFormBuilderLookup","addConfig","main","items","content","label","loadOpen","icon","ContentIcon","order","taxonomy","TaxonomyIcon","user","UserIcon","settings","SettingsIcon","entityDataListingRoute","path","DATA_LISTING_PREFIX","key","EntityDataListing","exact","editEntityRoute","EntityManager","addEntityRoute","addRoute","name","PLUGIN_NAME","version","pkg","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import { getFormBuilderLookup, formFieldTypes } from '@blaze-cms/react-form-builder';\nimport pkg from '../package.json';\nimport { DATA_LISTING_PREFIX, PLUGIN_NAME } from './constants';\nimport getAddContentMenuItems from './utils/add-content-menu-items';\nimport { UserIcon, TaxonomyIcon, ContentIcon, SettingsIcon } from './icons';\nimport EntityDataListing from './components/EntityDataListing';\nimport EntityManager from './components/EntityManager';\n\n// todo: renable lazy loading after bundler optimisations, currently they are too slow in dev mode\n// const EntityDataListing = React.lazy(\n// () => import(/* webpackChunkName: 'EntityDataListing' */ './components/EntityDataListing')\n// );\n// const EntityManager = React.lazy(\n// () => import(/* webpackChunkName: 'EntityManager' */ './components/EntityManager')\n// );\n\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', getAddContentMenuItems(app));\n\n app.events.once('load:custom:field:type', addFieldType => {\n Object.keys(formFieldTypes).forEach(type => {\n addFieldType({ type, component: formFieldTypes[type] });\n });\n });\n\n app.events.once('plugin:data-ui:load:loaded', async () => {\n await app.events.emitAsync('load:custom:field:type', getFormBuilderLookup.addFieldType);\n });\n\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n content: {\n label: 'content',\n loadOpen: true,\n items: {},\n icon: ContentIcon,\n order: 10\n },\n taxonomy: {\n label: 'Taxonomy',\n items: {},\n icon: TaxonomyIcon,\n order: 40\n },\n user: {\n label: 'User',\n items: {},\n icon: UserIcon,\n order: 90\n },\n settings: {\n label: 'Settings',\n items: {},\n icon: SettingsIcon,\n order: 100\n }\n }\n }\n });\n });\n\n const entityDataListingRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier`,\n key: 'entityDataListing',\n component: EntityDataListing,\n exact: true\n };\n\n const editEntityRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier/:action/:id`,\n key: 'editEntity',\n component: EntityManager,\n exact: true\n };\n\n const addEntityRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier/:action`,\n key: 'createEntity',\n component: EntityManager,\n exact: true\n };\n\n app.addRoute(entityDataListingRoute);\n app.addRoute(editEntityRoute);\n app.addRoute(addEntityRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_reactFormBuilder","require","_package","_interopRequireDefault","_constants","_addContentMenuItems","_icons","_EntityDataListing","_EntityManager","_SearchFilter","load","app","events","once","getAddContentMenuItems","addFieldType","Object","keys","formFieldTypes","forEach","type","component","emitAsync","getFormBuilderLookup","addConfig","main","items","content","label","loadOpen","icon","ContentIcon","order","taxonomy","TaxonomyIcon","user","UserIcon","settings","SettingsIcon","entityDataListingRoute","path","DATA_LISTING_PREFIX","key","EntityDataListing","exact","editEntityRoute","EntityManager","addEntityRoute","addRoute","name","PLUGIN_NAME","version","pkg","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import { getFormBuilderLookup, formFieldTypes } from '@blaze-cms/react-form-builder';\nimport pkg from '../package.json';\nimport { DATA_LISTING_PREFIX, PLUGIN_NAME } from './constants';\nimport getAddContentMenuItems from './utils/add-content-menu-items';\nimport { UserIcon, TaxonomyIcon, ContentIcon, SettingsIcon } from './icons';\nimport EntityDataListing from './components/EntityDataListing';\nimport EntityManager from './components/EntityManager';\n\n// todo: renable lazy loading after bundler optimisations, currently they are too slow in dev mode\n// const EntityDataListing = React.lazy(\n// () => import(/* webpackChunkName: 'EntityDataListing' */ './components/EntityDataListing')\n// );\n// const EntityManager = React.lazy(\n// () => import(/* webpackChunkName: 'EntityManager' */ './components/EntityManager')\n// );\n\nexport { default as SearchFilter } from './components/ListingTable/SearchFilter/SearchFilter';\n\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', getAddContentMenuItems(app));\n\n app.events.once('load:custom:field:type', addFieldType => {\n Object.keys(formFieldTypes).forEach(type => {\n addFieldType({ type, component: formFieldTypes[type] });\n });\n });\n\n app.events.once('plugin:data-ui:load:loaded', async () => {\n await app.events.emitAsync('load:custom:field:type', getFormBuilderLookup.addFieldType);\n });\n\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n content: {\n label: 'content',\n loadOpen: true,\n items: {},\n icon: ContentIcon,\n order: 10\n },\n taxonomy: {\n label: 'Taxonomy',\n items: {},\n icon: TaxonomyIcon,\n order: 40\n },\n user: {\n label: 'User',\n items: {},\n icon: UserIcon,\n order: 90\n },\n settings: {\n label: 'Settings',\n items: {},\n icon: SettingsIcon,\n order: 100\n }\n }\n }\n });\n });\n\n const entityDataListingRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier`,\n key: 'entityDataListing',\n component: EntityDataListing,\n exact: true\n };\n\n const editEntityRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier/:action/:id`,\n key: 'editEntity',\n component: EntityManager,\n exact: true\n };\n\n const addEntityRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier/:action`,\n key: 'createEntity',\n component: EntityManager,\n exact: true\n };\n\n app.addRoute(entityDataListingRoute);\n app.addRoute(editEntityRoute);\n app.addRoute(addEntityRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ import { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';
15
15
  import { useToasts } from '@blaze-react/toaster';
16
16
  import cloneDeep from 'lodash.clonedeep';
17
17
  import { getPageName } from '../utils/data-mappers';
18
+ import isFormEmpty from '../utils/is-form-empty';
18
19
  import availableActions from './actions-handlers';
19
20
  import SideBarRelations from './SideBarRelations';
20
21
  import useCallbackDebounce from '../../hooks/useCallbackDebounce';
@@ -54,7 +55,6 @@ const Entity = ({
54
55
  const [newUpdatedDate, setNewUpdatedDate] = useState(null);
55
56
  const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);
56
57
  const [externalUpdateTime, setExternalUpdateTime] = useState(null);
57
- const [suppressPrompt, setSuppressPrompt] = useState(false);
58
58
  const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);
59
59
  const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);
60
60
  const isCreatePage = history.location.pathname.includes('create');
@@ -216,11 +216,12 @@ const Entity = ({
216
216
  id
217
217
  }) => id === 'name');
218
218
  updatedEntity && setPageTitle(updatedEntity.value);
219
+ const isValidAndNewValueSet = isValid && isNewValueSet;
219
220
  const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;
220
221
  if (componentIsMounted.current) {
221
222
  setIsFormValid(isValid);
222
223
  }
223
- if (isValid && isNewValueSet && componentIsMounted.current) {
224
+ if (isValidAndNewValueSet && componentIsMounted.current) {
224
225
  setIsSaveButtonAvailable(true);
225
226
  setSaveButtonText(SAVE_BUTTON_TEXTS.save);
226
227
  }
@@ -234,9 +235,6 @@ const Entity = ({
234
235
  const onSubmit = event => {
235
236
  event && event.preventDefault();
236
237
  if (!isSaveButtonAvailable) return null;
237
- if (isCreatePage) {
238
- setSuppressPrompt(true);
239
- }
240
238
  const parsedFormValues = parseFormValues(formValues);
241
239
  const updatedFormValues = newUpdatedDate ? _objectSpread(_objectSpread({}, formData.values), {}, {
242
240
  update: newUpdatedDate
@@ -350,7 +348,8 @@ const Entity = ({
350
348
  const showModal = checkFulfilConditions(formData, modalStatus);
351
349
  const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished) ? () => onViewUrlClick(getFullUrl) : onViewUrl;
352
350
  const pageName = formData && formData.values && formData.values.name;
353
- const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;
351
+ const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));
352
+ const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;
354
353
  const showSideBarRelations = checkFulfilConditions(schema, formData);
355
354
  return /*#__PURE__*/React.createElement(RecordEditContextProvider, {
356
355
  value: {
@@ -392,7 +391,7 @@ const Entity = ({
392
391
  copyAction: onCopy,
393
392
  getFormData: getFormData
394
393
  }), /*#__PURE__*/React.createElement("div", {
395
- className: `page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`
394
+ className: `page__content--fixed${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`
396
395
  }, /*#__PURE__*/React.createElement("div", {
397
396
  className: "page__content"
398
397
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","availableActions","SideBarRelations","useCallbackDebounce","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","externalUpdateTime","setExternalUpdateTime","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","displayProperties","saveOnChange","onSubmit","current","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","currentItemId","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties","_excluded","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","_objectSpread","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","updated","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n const [externalUpdateTime, setExternalUpdateTime] = useState(null);\n const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(() => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id,\n currentItemId: entity ? entity.id : null\n }\n });\n }\n }, [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]);\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n entitySchema={entitySchema}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n onExternalUpdate={setExternalUpdateTime}\n mode={isNewEntity ? 'create' : 'update'}\n />\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\n />\n )}\n </div>\n </div>\n </div>\n </RecordEditContextProvider>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","useCallbackDebounce","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","externalUpdateTime","setExternalUpdateTime","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","displayProperties","saveOnChange","onSubmit","current","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","currentItemId","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties","_excluded","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","_objectSpread","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","createElement","updated","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n const [externalUpdateTime, setExternalUpdateTime] = useState(null);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(() => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id,\n currentItemId: entity ? entity.id : null\n }\n });\n }\n }, [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]);\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n entitySchema={entitySchema}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div\n className={`page__content--fixed${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''\n }`}>\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n onExternalUpdate={setExternalUpdateTime}\n mode={isNewEntity ? 'create' : 'update'}\n />\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div\n className={`column column--one-third page-sidebar page-sidebar--relations${!isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\n />\n )}\n </div>\n </div>\n </div>\n </RecordEditContextProvider>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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","ignoreList":[]}