@blaze-cms/plugin-data-ui 0.118.0 → 0.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/lib/components/EntityDataListing/EntityDataListing.js +2 -2
- package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
- package/lib/components/EntityManager/Entity/Entity.js +8 -5
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +2 -2
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js +2 -2
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib/components/EntityManager/EntityManager.js +2 -2
- package/lib/components/EntityManager/EntityManager.js.map +1 -1
- package/lib/components/EntityManager/utils/query.js +2 -2
- package/lib/components/EntityManager/utils/query.js.map +1 -1
- package/lib/components/ListingTable/ListingTable.js +2 -2
- package/lib/components/ListingTable/ListingTable.js.map +1 -1
- package/lib/utils/build-create-entity-mutation.js +2 -2
- package/lib/utils/build-create-entity-mutation.js.map +1 -1
- package/lib/utils/build-delete-entity-mutation.js +2 -2
- package/lib/utils/build-delete-entity-mutation.js.map +1 -1
- package/lib/utils/build-listing-query.js +2 -2
- package/lib/utils/build-listing-query.js.map +1 -1
- package/lib/utils/build-update-data-query.js +2 -2
- package/lib/utils/build-update-data-query.js.map +1 -1
- package/lib/utils/build-update-publish-unpublish-mutation.js +2 -2
- package/lib/utils/build-update-publish-unpublish-mutation.js.map +1 -1
- package/lib-es/components/EntityDataListing/EntityDataListing.js +1 -1
- package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/Entity.js +7 -4
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib-es/components/EntityManager/EntityManager.js +1 -1
- package/lib-es/components/EntityManager/EntityManager.js.map +1 -1
- package/lib-es/components/EntityManager/utils/query.js +1 -1
- package/lib-es/components/EntityManager/utils/query.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTable.js +1 -1
- package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
- package/lib-es/utils/build-create-entity-mutation.js +1 -1
- package/lib-es/utils/build-create-entity-mutation.js.map +1 -1
- package/lib-es/utils/build-delete-entity-mutation.js +1 -1
- package/lib-es/utils/build-delete-entity-mutation.js.map +1 -1
- package/lib-es/utils/build-listing-query.js +1 -1
- package/lib-es/utils/build-listing-query.js.map +1 -1
- package/lib-es/utils/build-update-data-query.js +1 -1
- package/lib-es/utils/build-update-data-query.js.map +1 -1
- package/lib-es/utils/build-update-publish-unpublish-mutation.js +1 -1
- package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -1
- package/package.json +8 -9
- package/src/components/EntityDataListing/EntityDataListing.js +1 -1
- package/src/components/EntityManager/Entity/Entity.js +7 -4
- package/src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +1 -1
- package/src/components/EntityManager/Entity/SideBarRelations/index.js +1 -1
- package/src/components/EntityManager/EntityManager.js +1 -1
- package/src/components/EntityManager/utils/query.js +1 -1
- package/src/components/ListingTable/ListingTable.js +1 -1
- package/src/utils/build-create-entity-mutation.js +1 -1
- package/src/utils/build-delete-entity-mutation.js +1 -1
- package/src/utils/build-listing-query.js +1 -1
- package/src/utils/build-update-data-query.js +1 -1
- package/src/utils/build-update-publish-unpublish-mutation.js +1 -1
|
@@ -11,7 +11,7 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _client = require("@apollo/client");
|
|
15
15
|
|
|
16
16
|
var _coreErrors = require("@blaze-cms/core-errors");
|
|
17
17
|
|
|
@@ -25,7 +25,7 @@ function buildDeleteEntity(entitySchema) {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
var actionInput = (0, _lodash["default"])("".concat(entitySchema.actions["delete"], "Input"));
|
|
28
|
-
return (0,
|
|
28
|
+
return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n mutation deleteEntity($input: ", ") {\n deleteEntity: ", "(input: $input){\n result\n }\n }\n "])), actionInput, entitySchema.actions["delete"]);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
var _default = buildDeleteEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/build-delete-entity-mutation.js"],"names":["buildDeleteEntity","entitySchema","actions","BlazeError","actionInput","gql"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;AAEA,SAASA,iBAAT,CAA2BC,YAA3B,EAAyC;AACvC,MAAI,CAACA,YAAD,IAAiB,CAACA,YAAY,CAACC,OAA/B,IAA0C,CAACD,YAAY,CAACC,OAAb,UAA/C,EAA4E;AAC1E,UAAM,IAAIC,sBAAJ,CAAe,wDAAf,CAAN;AACD;;AAED,MAAMC,WAAW,GAAG,kCAAcH,YAAY,CAACC,OAAb,UAAd,WAApB;AAEA,aAAOG,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/build-delete-entity-mutation.js"],"names":["buildDeleteEntity","entitySchema","actions","BlazeError","actionInput","gql"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;AAEA,SAASA,iBAAT,CAA2BC,YAA3B,EAAyC;AACvC,MAAI,CAACA,YAAD,IAAiB,CAACA,YAAY,CAACC,OAA/B,IAA0C,CAACD,YAAY,CAACC,OAAb,UAA/C,EAA4E;AAC1E,UAAM,IAAIC,sBAAJ,CAAe,wDAAf,CAAN;AACD;;AAED,MAAMC,WAAW,GAAG,kCAAcH,YAAY,CAACC,OAAb,UAAd,WAApB;AAEA,aAAOG,WAAP,wMACiCD,WADjC,EAEkBH,YAAY,CAACC,OAAb,UAFlB;AAOD;;eAEcF,iB","sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\nimport upperfirst from 'lodash.upperfirst';\n\nfunction buildDeleteEntity(entitySchema) {\n if (!entitySchema || !entitySchema.actions || !entitySchema.actions.delete) {\n throw new BlazeError('Delete query requires delete action from entity schema');\n }\n\n const actionInput = upperfirst(`${entitySchema.actions.delete}Input`);\n\n return gql`\n mutation deleteEntity($input: ${actionInput}) {\n deleteEntity: ${entitySchema.actions.delete}(input: $input){\n result\n }\n }\n `;\n}\n\nexport default buildDeleteEntity;\n"],"file":"build-delete-entity-mutation.js"}
|
|
@@ -13,7 +13,7 @@ require("core-js/modules/es.array.join.js");
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _client = require("@apollo/client");
|
|
17
17
|
|
|
18
18
|
var _coreErrors = require("@blaze-cms/core-errors");
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ function buildListingQuery(entitySchema) {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
var sortType = entitySchema.actions.getAll[0].toUpperCase() + entitySchema.actions.getAll.substr(1);
|
|
28
|
-
return (0,
|
|
28
|
+
return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query ", "($limit: Int, $offset:Int, $sort: [", "SortItem]) {\n listingData: ", "(limit: $limit, offset:$offset, sort:$sort){\n id,\n ", "\n }\n }\n "])), entitySchema.actions.getAll, sortType, entitySchema.actions.getAll, entitySchema.listingProperties.join(',\n'));
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
var _default = buildListingQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/build-listing-query.js"],"names":["buildListingQuery","entitySchema","actions","getAll","listingProperties","BlazeError","sortType","toUpperCase","substr","gql","join"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,SAASA,iBAAT,CAA2BC,YAA3B,EAAyC;AACvC,MAAI,CAACA,YAAY,CAACC,OAAd,IAAyB,CAACD,YAAY,CAACC,OAAb,CAAqBC,MAA/C,IAAyD,CAACF,YAAY,CAACG,iBAA3E,EAA8F;AAC5F,UAAM,IAAIC,sBAAJ,CACJ,+EADI,CAAN;AAGD;;AAED,MAAMC,QAAQ,GACZL,YAAY,CAACC,OAAb,CAAqBC,MAArB,CAA4B,CAA5B,EAA+BI,WAA/B,KAA+CN,YAAY,CAACC,OAAb,CAAqBC,MAArB,CAA4BK,MAA5B,CAAmC,CAAnC,CADjD;AAGA,aAAOC,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/build-listing-query.js"],"names":["buildListingQuery","entitySchema","actions","getAll","listingProperties","BlazeError","sortType","toUpperCase","substr","gql","join"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,SAASA,iBAAT,CAA2BC,YAA3B,EAAyC;AACvC,MAAI,CAACA,YAAY,CAACC,OAAd,IAAyB,CAACD,YAAY,CAACC,OAAb,CAAqBC,MAA/C,IAAyD,CAACF,YAAY,CAACG,iBAA3E,EAA8F;AAC5F,UAAM,IAAIC,sBAAJ,CACJ,+EADI,CAAN;AAGD;;AAED,MAAMC,QAAQ,GACZL,YAAY,CAACC,OAAb,CAAqBC,MAArB,CAA4B,CAA5B,EAA+BI,WAA/B,KAA+CN,YAAY,CAACC,OAAb,CAAqBC,MAArB,CAA4BK,MAA5B,CAAmC,CAAnC,CADjD;AAGA,aAAOC,WAAP,+QACUR,YAAY,CAACC,OAAb,CAAqBC,MAD/B,EAC2EG,QAD3E,EAEmBL,YAAY,CAACC,OAAb,CAAqBC,MAFxC,EAIQF,YAAY,CAACG,iBAAb,CAA+BM,IAA/B,CAAoC,KAApC,CAJR;AAQD;;eAEcV,iB","sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\n\nfunction buildListingQuery(entitySchema) {\n if (!entitySchema.actions || !entitySchema.actions.getAll || !entitySchema.listingProperties) {\n throw new BlazeError(\n 'Listing query requires getAll action and listingProperties from entity schema'\n );\n }\n\n const sortType =\n entitySchema.actions.getAll[0].toUpperCase() + entitySchema.actions.getAll.substr(1);\n\n return gql`\n query ${entitySchema.actions.getAll}($limit: Int, $offset:Int, $sort: [${sortType}SortItem]) {\n listingData: ${entitySchema.actions.getAll}(limit: $limit, offset:$offset, sort:$sort){\n id,\n ${entitySchema.listingProperties.join(',\\n')}\n }\n }\n `;\n}\n\nexport default buildListingQuery;\n"],"file":"build-listing-query.js"}
|
|
@@ -13,7 +13,7 @@ require("core-js/modules/es.array.join.js");
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _client = require("@apollo/client");
|
|
17
17
|
|
|
18
18
|
var _coreErrors = require("@blaze-cms/core-errors");
|
|
19
19
|
|
|
@@ -30,7 +30,7 @@ function buildUpdateDataQuery(entitySchema) {
|
|
|
30
30
|
|
|
31
31
|
var actionInput = (0, _lodash["default"])("".concat(entitySchema.actions.update, "Input"));
|
|
32
32
|
var dataProperties = (0, _adminUiUtils.getDataProperties)(entitySchema);
|
|
33
|
-
return (0,
|
|
33
|
+
return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n mutation updateEntity($input: ", ") {\n updateEntity: ", "(input: $input){\n result {\n id,\n ", ",\n updated\n }\n }\n }\n "])), actionInput, entitySchema.actions.update, dataProperties.join(',\n'));
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
var _default = buildUpdateDataQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/build-update-data-query.js"],"names":["buildUpdateDataQuery","entitySchema","actions","update","properties","BlazeError","actionInput","dataProperties","gql","join"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,oBAAT,CAA8BC,YAA9B,EAA4C;AAC1C,MAAI,CAACA,YAAY,CAACC,OAAd,IAAyB,CAACD,YAAY,CAACC,OAAb,CAAqBC,MAA/C,IAAyD,CAACF,YAAY,CAACG,UAA3E,EAAuF;AACrF,UAAM,IAAIC,sBAAJ,CACJ,+EADI,CAAN;AAGD;;AAED,MAAMC,WAAW,GAAG,kCAAcL,YAAY,CAACC,OAAb,CAAqBC,MAAnC,WAApB;AACA,MAAMI,cAAc,GAAG,qCAAkBN,YAAlB,CAAvB;AAEA,aAAOO,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/build-update-data-query.js"],"names":["buildUpdateDataQuery","entitySchema","actions","update","properties","BlazeError","actionInput","dataProperties","gql","join"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,oBAAT,CAA8BC,YAA9B,EAA4C;AAC1C,MAAI,CAACA,YAAY,CAACC,OAAd,IAAyB,CAACD,YAAY,CAACC,OAAb,CAAqBC,MAA/C,IAAyD,CAACF,YAAY,CAACG,UAA3E,EAAuF;AACrF,UAAM,IAAIC,sBAAJ,CACJ,+EADI,CAAN;AAGD;;AAED,MAAMC,WAAW,GAAG,kCAAcL,YAAY,CAACC,OAAb,CAAqBC,MAAnC,WAApB;AACA,MAAMI,cAAc,GAAG,qCAAkBN,YAAlB,CAAvB;AAEA,aAAOO,WAAP,wQACiCF,WADjC,EAEkBL,YAAY,CAACC,OAAb,CAAqBC,MAFvC,EAKUI,cAAc,CAACE,IAAf,CAAoB,KAApB,CALV;AAWD;;eAEcT,oB","sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\nimport upperfirst from 'lodash.upperfirst';\nimport { getDataProperties } from '@blaze-cms/admin-ui-utils';\n\nfunction buildUpdateDataQuery(entitySchema) {\n if (!entitySchema.actions || !entitySchema.actions.update || !entitySchema.properties) {\n throw new BlazeError(\n 'Update DataEntity query requires get action and properties from entity schema'\n );\n }\n\n const actionInput = upperfirst(`${entitySchema.actions.update}Input`);\n const dataProperties = getDataProperties(entitySchema);\n\n return gql`\n mutation updateEntity($input: ${actionInput}) {\n updateEntity: ${entitySchema.actions.update}(input: $input){\n result {\n id,\n ${dataProperties.join(',\\n')},\n updated\n }\n }\n }\n `;\n}\n\nexport default buildUpdateDataQuery;\n"],"file":"build-update-data-query.js"}
|
|
@@ -11,7 +11,7 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _client = require("@apollo/client");
|
|
15
15
|
|
|
16
16
|
var _coreErrors = require("@blaze-cms/core-errors");
|
|
17
17
|
|
|
@@ -23,7 +23,7 @@ function buildUpdatePublishUnpublishMutation(entitySchema, id, action, cache) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
var withClient = "".concat(cache ? '@client' : '');
|
|
26
|
-
return (0,
|
|
26
|
+
return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n mutation {\n response: ", " ", "(input: {\n id: \"", "\"\n }){\n result {\n id,\n status\n }\n }\n }\n "])), entitySchema.actions[action], withClient, id);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
var _default = buildUpdatePublishUnpublishMutation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/build-update-publish-unpublish-mutation.js"],"names":["buildUpdatePublishUnpublishMutation","entitySchema","id","action","cache","actions","publish","BlazeError","withClient","gql"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,SAASA,mCAAT,CAA6CC,YAA7C,EAA2DC,EAA3D,EAA+DC,MAA/D,EAAuEC,KAAvE,EAA8E;AAC5E,MAAI,CAACH,YAAD,IAAiB,CAACA,YAAY,CAACI,OAA/B,IAA0C,CAACJ,YAAY,CAACI,OAAb,CAAqBC,OAAhE,IAA2E,CAACJ,EAA5E,IAAkF,CAACC,MAAvF,EAA+F;AAC7F,UAAM,IAAII,sBAAJ,CACJ,2EADI,CAAN;AAGD;;AAED,MAAMC,UAAU,aAAMJ,KAAK,GAAG,SAAH,GAAe,EAA1B,CAAhB;AAEA,aAAOK,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/build-update-publish-unpublish-mutation.js"],"names":["buildUpdatePublishUnpublishMutation","entitySchema","id","action","cache","actions","publish","BlazeError","withClient","gql"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,SAASA,mCAAT,CAA6CC,YAA7C,EAA2DC,EAA3D,EAA+DC,MAA/D,EAAuEC,KAAvE,EAA8E;AAC5E,MAAI,CAACH,YAAD,IAAiB,CAACA,YAAY,CAACI,OAA/B,IAA0C,CAACJ,YAAY,CAACI,OAAb,CAAqBC,OAAhE,IAA2E,CAACJ,EAA5E,IAAkF,CAACC,MAAvF,EAA+F;AAC7F,UAAM,IAAII,sBAAJ,CACJ,2EADI,CAAN;AAGD;;AAED,MAAMC,UAAU,aAAMJ,KAAK,GAAG,SAAH,GAAe,EAA1B,CAAhB;AAEA,aAAOK,WAAP,+PAEgBR,YAAY,CAACI,OAAb,CAAqBF,MAArB,CAFhB,EAEgDK,UAFhD,EAGaN,EAHb;AAYD;;eAEcF,mC","sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\n\nfunction buildUpdatePublishUnpublishMutation(entitySchema, id, action, cache) {\n if (!entitySchema || !entitySchema.actions || !entitySchema.actions.publish || !id || !action) {\n throw new BlazeError(\n 'Update DataEntity query requires publish action from entity schema and id'\n );\n }\n\n const withClient = `${cache ? '@client' : ''}`;\n\n return gql`\n mutation {\n response: ${entitySchema.actions[action]} ${withClient}(input: {\n id: \"${id}\"\n }){\n result {\n id,\n status\n }\n }\n }\n `;\n}\n\nexport default buildUpdatePublishUnpublishMutation;\n"],"file":"build-update-publish-unpublish-mutation.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/EntityDataListing/EntityDataListing.js"],"names":["useQuery","React","PropTypes","getQuery","ListingTable","withContext","EntityDataListing","match","menuItems","params","entityIdentifier","identifier","selectedMenuItem","map","_","items","item","filter","uri","endsWith","length","Boolean","data","getEntitySchemas","variables","propTypes","object","isRequired","array"],"mappings":"AAAA,SAASA,QAAT,QAAyB,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/EntityDataListing/EntityDataListing.js"],"names":["useQuery","React","PropTypes","getQuery","ListingTable","withContext","EntityDataListing","match","menuItems","params","entityIdentifier","identifier","selectedMenuItem","map","_","items","item","filter","uri","endsWith","length","Boolean","data","getEntitySchemas","variables","propTypes","object","isRequired","array"],"mappings":"AAAA,SAASA,QAAT,QAAyB,gBAAzB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,QAAT,QAAyB,2BAAzB;AAEA,OAAOC,YAAP,MAAyB,8BAAzB;AACA,SAASC,WAAT,QAA4B,6BAA5B;;AAEA,MAAMC,iBAAiB,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA0B;AAClD,QAAM;AACJC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,gBAAgB,EAAEC;AAApB;AADJ,MAEFJ,KAFJ;AAIA,QAAM,CAAC,CAACK,gBAAD,CAAD,IAAuBJ,SAAS,CACnCK,GAD0B,CACtB,CAAC,CAACC,CAAD,EAAI;AAAEC,IAAAA;AAAF,GAAJ,CAAD,KAAoB;AACvB,UAAMC,IAAI,GAAGD,KAAK,CAACE,MAAN,CAAa,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAaA,GAAG,CAACC,QAAJ,CAAc,IAAGR,UAAW,EAA5B,CAA1B,CAAb;AAEA,WAAOK,IAAI,CAACI,MAAL,GAAcJ,IAAd,GAAqB,IAA5B;AACD,GAL0B,EAM1BC,MAN0B,CAMnBI,OANmB,CAA7B;AAQA,QAAM;AAAEC,IAAAA,IAAI,EAAE;AAAEC,MAAAA,gBAAgB,GAAG;AAArB,QAA4B;AAApC,MAA2CvB,QAAQ,CAACG,QAAQ,CAAC,mBAAD,CAAT,EAAgC;AACvFqB,IAAAA,SAAS,EAAE;AAAEb,MAAAA;AAAF;AAD4E,GAAhC,CAAzD;AAIA,MAAI,CAACY,gBAAgB,CAACH,MAAtB,EAA8B,OAAO,EAAP;AAE9B,sBAAO,oBAAC,YAAD;AAAc,IAAA,YAAY,EAAEG,gBAAgB,CAAC,CAAD,CAA5C;AAAiD,IAAA,gBAAgB,EAAEX;AAAnE,IAAP;AACD,CApBD;;AAsBAN,iBAAiB,CAACmB,SAAlB,GAA8B;AAC5BlB,EAAAA,KAAK,EAAEL,SAAS,CAACwB,MAAV,CAAiBC,UADI;AAE5BnB,EAAAA,SAAS,EAAEN,SAAS,CAAC0B,KAAV,CAAgBD;AAFC,CAA9B;AAKA,eAAetB,WAAW,CAACC,iBAAD,CAA1B","sourcesContent":["import { useQuery } from '@apollo/client';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\n\nimport ListingTable from '../ListingTable/ListingTable';\nimport { withContext } from '../../utils/hoc/withContext';\n\nconst EntityDataListing = ({ match, menuItems }) => {\n const {\n params: { entityIdentifier: identifier }\n } = match;\n\n const [[selectedMenuItem]] = menuItems\n .map(([_, { items }]) => {\n const item = items.filter(({ uri }) => uri.endsWith(`/${identifier}`));\n\n return item.length ? item : null;\n })\n .filter(Boolean);\n\n const { data: { getEntitySchemas = [] } = {} } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {\n variables: { identifier }\n });\n\n if (!getEntitySchemas.length) return '';\n\n return <ListingTable entitySchema={getEntitySchemas[0]} selectedMenuItem={selectedMenuItem} />;\n};\n\nEntityDataListing.propTypes = {\n match: PropTypes.object.isRequired,\n menuItems: PropTypes.array.isRequired\n};\n\nexport default withContext(EntityDataListing);\n"],"file":"EntityDataListing.js"}
|
|
@@ -9,7 +9,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
9
9
|
/* eslint-disable no-undef */
|
|
10
10
|
import React, { useEffect, useState, useRef } from 'react';
|
|
11
11
|
import { withRouter, Prompt } from 'react-router-dom';
|
|
12
|
-
import { useApolloClient } from '
|
|
12
|
+
import { useApolloClient } from '@apollo/client';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
14
14
|
import { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';
|
|
15
15
|
import { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';
|
|
@@ -85,7 +85,8 @@ const Entity = ({
|
|
|
85
85
|
|
|
86
86
|
if (formData && pageBuilderTemplateStatus) {
|
|
87
87
|
const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;
|
|
88
|
-
client.
|
|
88
|
+
client.writeQuery({
|
|
89
|
+
query: getQuery('GET_PB_TEMPLATE_STATUS'),
|
|
89
90
|
data: {
|
|
90
91
|
pageBuilderTemplateSet: isPageBuilderTemplateSet,
|
|
91
92
|
pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''
|
|
@@ -94,7 +95,8 @@ const Entity = ({
|
|
|
94
95
|
}
|
|
95
96
|
|
|
96
97
|
if (schema) {
|
|
97
|
-
client.
|
|
98
|
+
client.writeQuery({
|
|
99
|
+
query: getQuery('GET_CURRENT_ENTITY'),
|
|
98
100
|
data: {
|
|
99
101
|
currentEntity: schema.id
|
|
100
102
|
}
|
|
@@ -165,7 +167,8 @@ const Entity = ({
|
|
|
165
167
|
|
|
166
168
|
if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {
|
|
167
169
|
const pageBuilderTemplateId = fieldValue;
|
|
168
|
-
client.
|
|
170
|
+
client.writeQuery({
|
|
171
|
+
query: getQuery('GET_PB_TEMPLATE_STATUS'),
|
|
169
172
|
data: {
|
|
170
173
|
pageBuilderTemplateSet: !!pageBuilderTemplateId,
|
|
171
174
|
pageBuilderTemplateId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","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","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","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","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeData","data","pageBuilderTemplateSet","currentEntity","getFullUrl","query","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","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","showPageBuilderTabs","tabId","writeQuery","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from 'react-apollo';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } 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 Tabs from '../../Tabs';\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';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\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\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 useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\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.writeData({\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeData({\n data: {\n currentEntity: schema.id\n }\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\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.writeData({\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 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 values: { ...updatedFormValues, ...parsedFormValues }\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 setFormDataFromCopy(null);\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 const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\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 className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\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 />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\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 />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\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"],"file":"Entity.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","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","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","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","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","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","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"mappings":"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","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 { getQuery, GET_CURRENT_TAB_ID } 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 Tabs from '../../Tabs';\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';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\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\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 useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\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 }\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\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 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 values: { ...updatedFormValues, ...parsedFormValues }\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 setFormDataFromCopy(null);\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 const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\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 className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\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 />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\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 />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\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"],"file":"Entity.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import Button from '@blaze-react/button';
|
|
4
|
-
import { useMutation } from '@apollo/
|
|
4
|
+
import { useMutation } from '@apollo/client';
|
|
5
5
|
import { getMutation } from '@blaze-cms/admin-ui-utils';
|
|
6
6
|
|
|
7
7
|
const HeaderPreviewButton = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"names":["React","PropTypes","Button","useMutation","getMutation","HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","data","result","url","variables","window","open","err","propTypes","string","isRequired"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,SAASC,WAAT,QAA4B,
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"names":["React","PropTypes","Button","useMutation","getMutation","HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","data","result","url","variables","window","open","err","propTypes","string","isRequired"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASC,WAAT,QAA4B,2BAA5B;;AAEA,MAAMC,mBAAmB,GAAG,CAAC;AAAEC,EAAAA,MAAF;AAAUC,EAAAA;AAAV,CAAD,KAA4B;AACtD,QAAM,CAACC,kBAAD,IAAuBL,WAAW,CAACC,WAAW,CAAC,wBAAD,CAAZ,CAAxC;AACA,MAAIK,OAAO,CAACC,GAAR,CAAYC,qBAAhB,EAAuC,OAAO,IAAP;;AAEvC,QAAMC,aAAa,GAAG,YAAY;AAChC,QAAI;AACF,YAAM;AACJC,QAAAA,IAAI,EAAE;AACJL,UAAAA,kBAAkB,EAAE;AAClBM,YAAAA,MAAM,EAAE;AAAEC,cAAAA;AAAF;AADU;AADhB,YAIF;AALA,UAMF,MAAMP,kBAAkB,CAAC;AAC3BQ,QAAAA,SAAS,EAAE;AACTV,UAAAA,MADS;AAETC,UAAAA;AAFS;AADgB,OAAD,CAN5B;AAaA,UAAIQ,GAAJ,EAASE,MAAM,CAACC,IAAP,CAAYH,GAAZ,EAAiB,QAAjB,EAdP,CAeF;AACD,KAhBD,CAgBE,OAAOI,GAAP,EAAY,CAAE;AACjB,GAlBD;;AAoBA,sBACE,oBAAC,MAAD;AAAQ,IAAA,SAAS,EAAC,iBAAlB;AAAoC,IAAA,OAAO,EAAEP;AAA7C,eADF;AAKD,CA7BD;;AA+BAP,mBAAmB,CAACe,SAApB,GAAgC;AAC9Bd,EAAAA,MAAM,EAAEL,SAAS,CAACoB,MAAV,CAAiBC,UADK;AAE9Bf,EAAAA,UAAU,EAAEN,SAAS,CAACoB,MAAV,CAAiBC;AAFC,CAAhC;AAKA,eAAejB,mBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useMutation } from '@apollo/client';\nimport { getMutation } from '@blaze-cms/admin-ui-utils';\n\nconst HeaderPreviewButton = ({ itemId, itemEntity }) => {\n const [createPreviewToken] = useMutation(getMutation('PREVIEW_TOKEN_MUTATION'));\n if (process.env.BLAZE_DISABLE_PREVIEW) return null;\n\n const onViewPreview = async () => {\n try {\n const {\n data: {\n createPreviewToken: {\n result: { url }\n }\n } = {}\n } = await createPreviewToken({\n variables: {\n itemId,\n itemEntity\n }\n });\n\n if (url) window.open(url, '_blank');\n // eslint-disable-next-line no-empty\n } catch (err) {}\n };\n\n return (\n <Button className=\"more-menu__link\" onClick={onViewPreview}>\n Preview\n </Button>\n );\n};\n\nHeaderPreviewButton.propTypes = {\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default HeaderPreviewButton;\n"],"file":"HeaderPreviewButton.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import uuidv1 from 'uuid/v1';
|
|
4
|
-
import { useApolloClient } from '
|
|
4
|
+
import { useApolloClient } from '@apollo/client';
|
|
5
5
|
import { getQuery } from '@blaze-cms/admin-ui-utils';
|
|
6
6
|
import { formFieldTypes } from '@blaze-cms/react-form-builder';
|
|
7
7
|
import Badge from '@blaze-react/badge';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","Badge","PUBLISHED","SideBarRelations","schema","onChange","formData","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","entitySchema","propTypes","object","isRequired","func"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,SAAnB;AACA,SAASC,eAAT,QAAgC,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","Badge","PUBLISHED","SideBarRelations","schema","onChange","formData","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","entitySchema","propTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired\n};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
|
|
@@ -6,7 +6,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
6
6
|
|
|
7
7
|
import React, { useEffect, useState } from 'react';
|
|
8
8
|
import { withRouter } from 'react-router-dom';
|
|
9
|
-
import { useApolloClient } from '
|
|
9
|
+
import { useApolloClient } from '@apollo/client';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import entityAvailableActions from './utils/entityAvailableActions';
|
|
12
12
|
import Entity from './Entity';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/EntityManager/EntityManager.js"],"names":["React","useEffect","useState","withRouter","useApolloClient","PropTypes","entityAvailableActions","Entity","getAction","EntityManager","match","formData","setFormData","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","action","entityIdentifier","onViewUrl","params","entitySchema","data","requestedQuery","identifier","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","recordHasChanged","propTypes","shape","string","func","isRequired","actionName","actions","getAll","pageBuilderData","query","variables","where","fetchPolicy","length","pageBuilderTemplateId","currentEntityIdentifier"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AACA,SAASC,UAAT,QAA2B,kBAA3B;AACA,SAASC,eAAT,QAAgC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/EntityManager/EntityManager.js"],"names":["React","useEffect","useState","withRouter","useApolloClient","PropTypes","entityAvailableActions","Entity","getAction","EntityManager","match","formData","setFormData","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","action","entityIdentifier","onViewUrl","params","entitySchema","data","requestedQuery","identifier","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","recordHasChanged","propTypes","shape","string","func","isRequired","actionName","actions","getAll","pageBuilderData","query","variables","where","fetchPolicy","length","pageBuilderTemplateId","currentEntityIdentifier"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = updatedFormData => {\n setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"file":"EntityManager.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/EntityManager/utils/query.js"],"names":["gql","upperFirst","generateQuery","action","props","getAction","query"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/EntityManager/utils/query.js"],"names":["gql","upperFirst","generateQuery","action","props","getAction","query"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AACA,OAAOC,UAAP,MAAuB,mBAAvB;;AAEA,MAAMC,aAAa,GAAG,CAACC,MAAD,EAASC,KAAT,KAAoB;AAC1C;AACA;AACA;AACA;AACA,cAAcH,UAAU,CAACE,MAAD,CAAS;AACjC,MAAMA,MAAO;AACb,QAAQC,KAAM;AACd;AACA;AACA,GAVA,C,CAYA;;;AACA,MAAMC,SAAS,GAAG,CAACF,MAAD,EAASC,KAAT,KAAmB;AACnC,QAAME,KAAK,GAAGJ,aAAa,CAACC,MAAD,EAASC,KAAT,CAA3B;AACA,SAAOJ,GAAI;AACb,MAAMM,KAAM;AACZ,GAFE;AAGD,CALD;;AAOA,SAASD,SAAT","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"],"file":"query.js"}
|
|
@@ -4,7 +4,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
|
|
7
|
-
import { useApolloClient } from '
|
|
7
|
+
import { useApolloClient } from '@apollo/client';
|
|
8
8
|
import React, { useEffect, useState, Fragment } from 'react';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
10
|
import { withRouter, Link } from 'react-router-dom';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ListingTable/ListingTable.js"],"names":["useApolloClient","React","useEffect","useState","Fragment","PropTypes","withRouter","Link","More","MainContext","useMainContext","PageHeader","DeleteAction","useToasts","ListingTableContent","availableActions","fetchData","populateRows","formatRows","getDefaultQueryParams","OVER_SCAN_BUFFER","ListingTable","match","entitySchema","selectedMenuItem","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","scrollToIndex","setScrollToIndex","verifiedRanges","setVerifiedRanges","queryParamsDefault","schema","queryParams","setQueryParams","menuItems","setMenuItems","client","addToast","data","querySettings","populatedTable","toggleModal","url","rows","onCloseCardPrompt","updatedSelectedMenuItem","isDisplayedPrompt","header","items","updatedItems","map","item","name","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","firstColumn","appliedSort","handleRenderedItems","params","startIndex","rowsLength","length","loadIndex","Math","floor","includes","updatedQueryParams","offset","updatedRows","displayName","propTypes","object","isRequired"],"mappings":";;;;;;AAAA,SAASA,eAAT,QAAgC,cAAhC;AACA,OAAOC,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,EAAqCC,QAArC,QAAqD,OAArD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AACA,OAAOC,IAAP,MAAiB,mBAAjB;AACA,SAASC,WAAT,EAAsBC,cAAtB,QAA4C,2BAA5C;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,kBAAzC;AACA,SAASC,SAAT,QAA0B,sBAA1B;AACA,OAAOC,mBAAP,MAAgC,uBAAhC;AACA,OAAOC,gBAAP,MAA6B,0CAA7B;AACA,SAASC,SAAT,QAA0B,WAA1B;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,yBAAzC;AACA,SAASC,qBAAT,QAAsC,sCAAtC;AAEA,MAAMC,gBAAgB,GAAG,EAAzB;;AAEA,MAAMC,YAAY,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,YAAT;AAAuBC,EAAAA;AAAvB,CAAD,KAA+C;AAClE,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BvB,QAAQ,CAAC,EAAD,CAA1C;AACA,QAAM,CAACwB,WAAD,EAAcC,cAAd,IAAgCzB,QAAQ,CAAC,KAAD,CAA9C;AACA,QAAM,CAAC0B,YAAD,EAAeC,eAAf,IAAkC3B,QAAQ,CAAC,EAAD,CAAhD;AACA,QAAM,CAAC4B,cAAD,EAAiBC,iBAAjB,IAAsC7B,QAAQ,CAAC;AAAE8B,IAAAA,EAAE,EAAE;AAAN,GAAD,CAApD;AACA,QAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoChC,QAAQ,CAAC,CAAD,CAAlD;AACA,QAAM,CAACiC,cAAD,EAAiBC,iBAAjB,IAAsClC,QAAQ,CAAC,EAAD,CAApD;AACA,QAAMmC,kBAAkB,GAAGnB,qBAAqB,CAAC;AAAEoB,IAAAA,MAAM,EAAEhB;AAAV,GAAD,CAAhD;AACA,QAAM,CAACiB,WAAD,EAAcC,cAAd,IAAgCtC,QAAQ,CAACmC,kBAAD,CAA9C;AACA,QAAM;AAAEI,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA8BjC,cAAc,CAACD,WAAD,CAAlD;AACA,QAAMmC,MAAM,GAAG5C,eAAe,EAA9B;AACA,QAAM;AAAE6C,IAAAA;AAAF,MAAehC,SAAS,EAA9B;AAEAX,EAAAA,SAAS,CACP,MAAM;AACJ,KAAC,YAAY;AACX,UACEqB,YAAY,CAACU,EAAb,KAAoBF,cAAc,CAACE,EAAnC,IACCF,cAAc,CAACE,EAAf,KAAsB,IAAtB,IAA8BV,YAAY,CAACU,EAF9C,EAGE;AACA,cAAMa,IAAI,GAAG,MAAM9B,SAAS,CAAC;AAC3B4B,UAAAA,MAD2B;AAE3BG,UAAAA,aAAa,EAAE;AACbxB,YAAAA,YADa;AAEbiB,YAAAA,WAAW,EAAEF;AAFA;AAFY,SAAD,CAA5B;AAOA,cAAMU,cAAc,GAAG/B,YAAY,CAAC;AAClCgC,UAAAA,WADkC;AAElCC,UAAAA,GAAG,EAAE5B,KAAK,CAAC4B,GAFuB;AAGlC3B,UAAAA,YAHkC;AAIlC4B,UAAAA,IAAI,EAAEL;AAJ4B,SAAD,CAAnC;AAMApB,QAAAA,YAAY,CAACsB,cAAD,CAAZ;AACAhB,QAAAA,iBAAiB,CAAC;AAAEC,UAAAA,EAAE,EAAEV,YAAY,CAACU;AAAnB,SAAD,CAAjB;AACD;AACF,KArBD;AAsBD,GAxBM,EAyBP,CAACW,MAAD,EAASrB,YAAT,EAAuBD,KAAK,CAAC4B,GAA7B,EAAkCnB,cAAc,CAACE,EAAjD,EAAqDO,WAArD,CAzBO,CAyB2D;AAzB3D,GAAT;;AA4BA,QAAMY,iBAAiB,GAAG,MAAM;AAC9B,UAAMC,uBAAuB,mCACxB7B,gBADwB;AAE3B8B,MAAAA,iBAAiB,EAAE;AAFQ,MAA7B;;AAIA,UAAM,CAAC;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAD,IAAsBd,SAA5B;AACA,UAAMe,YAAY,GAAGD,KAAK,CAACE,GAAN,CACnBC,IAAI,IAAKA,IAAI,CAACC,IAAL,KAAcpC,gBAAgB,CAACoC,IAA/B,GAAsCP,uBAAtC,GAAgEM,IADtD,CAArB;AAGAhB,IAAAA,YAAY,CAAC,CAAC;AAAEY,MAAAA,MAAF;AAAUC,MAAAA,KAAK,EAAEC;AAAjB,KAAD,CAAD,CAAZ;AACD,GAVD;;AAYA,QAAMR,WAAW,GAAGU,IAAI,IAAI;AAC1B/B,IAAAA,cAAc,CAAC,CAAC,CAAC+B,IAAH,CAAd;AACA7B,IAAAA,eAAe,CAAC6B,IAAI,IAAI,EAAT,CAAf;AACD,GAHD;;AAKA,QAAME,YAAY,GAAG,YAAY;AAC/B,UAAM9C,gBAAgB,CAAC+C,MAAjB,CAAwBC,MAAxB,CACJ;AACExC,MAAAA,YADF;AAEEyC,MAAAA,gBAAgB,EAAE;AAAE/B,QAAAA,EAAE,EAAEJ,YAAY,CAACI;AAAnB,OAFpB;AAGEW,MAAAA;AAHF,KADI,EAMJC,QANI,CAAN;AASAI,IAAAA,WAAW;;AAEX,UAAMgB,gBAAgB,mCACjBxC,SADiB;AAEpB0B,MAAAA,IAAI,EAAE1B,SAAS,CAAC0B,IAAV,CAAee,MAAf,CAAsB,CAAC;AAAEjC,QAAAA;AAAF,OAAD,KAAYA,EAAE,KAAKJ,YAAY,CAACI,EAAtD;AAFc,MAAtB;;AAKAP,IAAAA,YAAY,CAACuC,gBAAD,CAAZ;AACD,GAlBD;;AAoBA,QAAME,UAAU,GAAG,MAAMC,KAAN,IAAe;AAChC,UAAM,CAAC,CAACC,QAAD,EAAWC,SAAX,CAAD,IAA0BC,MAAM,CAACC,OAAP,CAAeJ,KAAf,CAAhC;;AACA,UAAMK,eAAe,mCAChBnC,kBADgB;AAEnBoC,MAAAA,IAAI,EAAE,CAAC;AAAEL,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAAD;AAFa,MAArB;;AAIAnC,IAAAA,gBAAgB,CAAC,CAAD,CAAhB;AACAE,IAAAA,iBAAiB,CAAC,EAAD,CAAjB;AACAI,IAAAA,cAAc,CAACgC,eAAD,CAAd;AAEA,UAAM3B,IAAI,GAAG,MAAM9B,SAAS,CAAC;AAC3B4B,MAAAA,MAD2B;AAE3BG,MAAAA,aAAa,EAAE;AACbxB,QAAAA,YADa;AAEbiB,QAAAA,WAAW,EAAEiC;AAFA;AAFY,KAAD,CAA5B;AAOA,UAAM;AAAEE,MAAAA;AAAF,QAAclD,SAApB;AACA,UAAM,CAACmD,WAAD,IAAgBD,OAAtB;AAEAjD,IAAAA,YAAY,iCACPD,SADO;AAEVoD,MAAAA,WAAW,EAAE;AAAE,SAACR,QAAD,GAAYC;AAAd,OAFH;AAGVnB,MAAAA,IAAI,EAAEjC,UAAU,CAAC;AAAEiC,QAAAA,IAAI,EAAEL,IAAR;AAAcI,QAAAA,GAAG,EAAE5B,KAAK,CAAC4B,GAAzB;AAA8BD,QAAAA,WAA9B;AAA2C2B,QAAAA;AAA3C,OAAD;AAHN,OAAZ;AAKD,GAzBD;;AA2BA,QAAME,mBAAmB,GAAG,MAAMC,MAAN,IAAgB;AAC1C,UAAM;AAAEC,MAAAA;AAAF,QAAiBD,MAAvB;AACA,UAAME,UAAU,GAAGxD,SAAS,CAAC0B,IAAV,CAAe+B,MAAlC;AACA,UAAMC,SAAS,GAAGC,IAAI,CAACC,KAAL,CAAWJ,UAAU,GAAG,CAAxB,IAA6B7D,gBAA/C;;AACA,QAAI+D,SAAS,GAAG,CAAZ,IAAiBA,SAAS,GAAGH,UAA7B,IAA2C,CAAC5C,cAAc,CAACkD,QAAf,CAAwBH,SAAxB,CAAhD,EAAoF;AAClF,YAAMI,kBAAkB,mCACnB/C,WADmB;AAEtBgD,QAAAA,MAAM,EAAEP;AAFc,QAAxB;;AAIA,YAAMnC,IAAI,GAAG,MAAM9B,SAAS,CAAC;AAC3B4B,QAAAA,MAD2B;AAE3BG,QAAAA,aAAa,EAAE;AACbxB,UAAAA,YADa;AAEbiB,UAAAA,WAAW,EAAE+C;AAFA;AAFY,OAAD,CAA5B;AAOA,YAAME,WAAW,GAAG,CAClB,GAAGhE,SAAS,CAAC0B,IADK,EAElB,GAAGjC,UAAU,CAAC;AAAEiC,QAAAA,IAAI,EAAEL,IAAR;AAAcI,QAAAA,GAAG,EAAE5B,KAAK,CAAC4B,GAAzB;AAA8BD,QAAAA;AAA9B,OAAD,CAFK,CAApB;AAKAZ,MAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAJ,EAAoB+C,SAApB,CAAD,CAAjB;AACA1C,MAAAA,cAAc,CAAC8C,kBAAD,CAAd;AACA7D,MAAAA,YAAY,iCACPD,SADO;AAEV0B,QAAAA,IAAI,EAAEsC;AAFI,SAAZ;AAIAtD,MAAAA,gBAAgB,CAAC6C,UAAU,GAAG5D,gBAAd,CAAhB;AACD;AACF,GA7BD;;AA+BA,MAAI,CAACK,SAAD,IAAc,CAACA,SAAS,CAAC0B,IAA7B,EAAmC,OAAO,SAAP;AAEnC,sBACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGxB,WAAW,iBACV,oBAAC,YAAD;AACE,IAAA,OAAO,EAAEsB,WADX;AAEE,IAAA,YAAY,EAAEY,YAFhB;AAGE,IAAA,QAAQ,EAAEhC,YAAY,CAAC+B;AAHzB,IAFJ,eAQE,oBAAC,UAAD;AAAY,IAAA,KAAK,EAAErC,YAAY,CAACmE,WAAhC;AAA6C,IAAA,QAAQ,EAAC;AAAtD,KACG,CAAC,CAAClE,gBAAgB,CAAC8B,iBAAlB,IAAuC,CAAC,CAAC7B,SAAS,CAAC0B,IAAV,CAAe+B,MAAzD,kBACC,oBAAC,QAAD,qBACE,oBAAC,IAAD;AACE,mBAAY,WADd;AAEE,IAAA,SAAS,EAAC,sBAFZ;AAGE,IAAA,EAAE,EAAG,GAAE5D,KAAK,CAAC4B,GAAI;AAHnB,WADF,eAOE,oBAAC,UAAD,CAAY,OAAZ,qBACE,oBAAC,IAAD,qBACE,oBAAC,IAAD,CAAM,MAAN;AAAa,IAAA,UAAU;AAAvB,kBACE;AAAM,IAAA,SAAS,EAAC;AAAhB,iBADF,CADF,eAIE,oBAAC,IAAD,CAAM,OAAN;AAAc,IAAA,UAAU;AAAxB,IAJF,CADF,CAPF,CAFJ,CARF,eA4BE,oBAAC,mBAAD;AACE,IAAA,cAAc,EAAE9B,gBADlB;AAEE,IAAA,MAAM,EAAE+C,UAFV;AAGE,IAAA,aAAa,EAAEW,mBAHjB;AAIE,IAAA,SAAS,EAAErD,SAJb;AAKE,IAAA,iBAAiB,EAAE2B,iBALrB;AAME,IAAA,gBAAgB,EAAE5B,gBANpB;AAOE,IAAA,aAAa,EAAEU;AAPjB,IA5BF,CADF;AAwCD,CAlLD;;AAmLAb,YAAY,CAACsE,SAAb,GAAyB;AACvBpE,EAAAA,YAAY,EAAElB,SAAS,CAACuF,MAAV,CAAiBC,UADR;AAEvBvE,EAAAA,KAAK,EAAEjB,SAAS,CAACuF,MAAV,CAAiBC,UAFD;AAGvBrE,EAAAA,gBAAgB,EAAEnB,SAAS,CAACuF,MAAV,CAAiBC;AAHZ,CAAzB;AAMA,eAAevF,UAAU,CAACe,YAAD,CAAzB","sourcesContent":["import { useApolloClient } from 'react-apollo';\nimport React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter, Link } from 'react-router-dom';\nimport More from '@blaze-react/more';\nimport { MainContext, useMainContext } from '@blaze-cms/admin-ui-utils';\nimport { PageHeader, DeleteAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst OVER_SCAN_BUFFER = 10;\n\nconst ListingTable = ({ match, entitySchema, selectedMenuItem }) => {\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 [scrollToIndex, setScrollToIndex] = useState(0);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const queryParamsDefault = getDefaultQueryParams({ schema: entitySchema });\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const { menuItems, setMenuItems } = useMainContext(MainContext);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: queryParamsDefault\n }\n });\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: data\n });\n setTableData(populatedTable);\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 onCloseCardPrompt = () => {\n const updatedSelectedMenuItem = {\n ...selectedMenuItem,\n isDisplayedPrompt: false\n };\n const [{ header, items }] = menuItems;\n const updatedItems = items.map(\n item => (item.name === selectedMenuItem.name ? updatedSelectedMenuItem : item)\n );\n setMenuItems([{ header, items: updatedItems }]);\n };\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 setScrollToIndex(0);\n setVerifiedRanges([]);\n setQueryParams(sortQueryParams);\n\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n }\n });\n const { columns } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({ rows: data, url: match.url, toggleModal, firstColumn })\n });\n };\n\n const handleRenderedItems = async params => {\n const { startIndex } = params;\n const rowsLength = tableData.rows.length;\n const loadIndex = Math.floor(rowsLength / 3) - OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n const updatedQueryParams = {\n ...queryParams,\n offset: rowsLength\n };\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: updatedQueryParams\n }\n });\n const updatedRows = [\n ...tableData.rows,\n ...formatRows({ rows: data, url: match.url, toggleModal })\n ];\n\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setQueryParams(updatedQueryParams);\n setTableData({\n ...tableData,\n rows: updatedRows\n });\n setScrollToIndex(startIndex + OVER_SCAN_BUFFER);\n }\n };\n\n if (!tableData || !tableData.rows) return 'loading';\n\n return (\n <div className=\"page\">\n {modalStatus && (\n <DeleteAction\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {(!selectedMenuItem.isDisplayedPrompt || !!tableData.rows.length) && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n <ListingTableContent\n overScanBuffer={OVER_SCAN_BUFFER}\n onSort={handleSort}\n onRenderItems={handleRenderedItems}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n selectedMenuItem={selectedMenuItem}\n scrollToIndex={scrollToIndex}\n />\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n selectedMenuItem: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"file":"ListingTable.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ListingTable/ListingTable.js"],"names":["useApolloClient","React","useEffect","useState","Fragment","PropTypes","withRouter","Link","More","MainContext","useMainContext","PageHeader","DeleteAction","useToasts","ListingTableContent","availableActions","fetchData","populateRows","formatRows","getDefaultQueryParams","OVER_SCAN_BUFFER","ListingTable","match","entitySchema","selectedMenuItem","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","scrollToIndex","setScrollToIndex","verifiedRanges","setVerifiedRanges","queryParamsDefault","schema","queryParams","setQueryParams","menuItems","setMenuItems","client","addToast","data","querySettings","populatedTable","toggleModal","url","rows","onCloseCardPrompt","updatedSelectedMenuItem","isDisplayedPrompt","header","items","updatedItems","map","item","name","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","firstColumn","appliedSort","handleRenderedItems","params","startIndex","rowsLength","length","loadIndex","Math","floor","includes","updatedQueryParams","offset","updatedRows","displayName","propTypes","object","isRequired"],"mappings":"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","sourcesContent":["import { useApolloClient } from '@apollo/client';\nimport React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter, Link } from 'react-router-dom';\nimport More from '@blaze-react/more';\nimport { MainContext, useMainContext } from '@blaze-cms/admin-ui-utils';\nimport { PageHeader, DeleteAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst OVER_SCAN_BUFFER = 10;\n\nconst ListingTable = ({ match, entitySchema, selectedMenuItem }) => {\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 [scrollToIndex, setScrollToIndex] = useState(0);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const queryParamsDefault = getDefaultQueryParams({ schema: entitySchema });\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const { menuItems, setMenuItems } = useMainContext(MainContext);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: queryParamsDefault\n }\n });\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: data\n });\n setTableData(populatedTable);\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 onCloseCardPrompt = () => {\n const updatedSelectedMenuItem = {\n ...selectedMenuItem,\n isDisplayedPrompt: false\n };\n const [{ header, items }] = menuItems;\n const updatedItems = items.map(\n item => (item.name === selectedMenuItem.name ? updatedSelectedMenuItem : item)\n );\n setMenuItems([{ header, items: updatedItems }]);\n };\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 setScrollToIndex(0);\n setVerifiedRanges([]);\n setQueryParams(sortQueryParams);\n\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n }\n });\n const { columns } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({ rows: data, url: match.url, toggleModal, firstColumn })\n });\n };\n\n const handleRenderedItems = async params => {\n const { startIndex } = params;\n const rowsLength = tableData.rows.length;\n const loadIndex = Math.floor(rowsLength / 3) - OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n const updatedQueryParams = {\n ...queryParams,\n offset: rowsLength\n };\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: updatedQueryParams\n }\n });\n const updatedRows = [\n ...tableData.rows,\n ...formatRows({ rows: data, url: match.url, toggleModal })\n ];\n\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setQueryParams(updatedQueryParams);\n setTableData({\n ...tableData,\n rows: updatedRows\n });\n setScrollToIndex(startIndex + OVER_SCAN_BUFFER);\n }\n };\n\n if (!tableData || !tableData.rows) return 'loading';\n\n return (\n <div className=\"page\">\n {modalStatus && (\n <DeleteAction\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {(!selectedMenuItem.isDisplayedPrompt || !!tableData.rows.length) && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n <ListingTableContent\n overScanBuffer={OVER_SCAN_BUFFER}\n onSort={handleSort}\n onRenderItems={handleRenderedItems}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n selectedMenuItem={selectedMenuItem}\n scrollToIndex={scrollToIndex}\n />\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n selectedMenuItem: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"file":"ListingTable.js"}
|