@corva/ui 3.76.0-15 → 3.76.0-16

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/asyncToGenerator"),r=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/regenerator"),i=require("react"),a=require("lodash"),u=require("../utils.js"),o=require("../Store.js"),l=require("./sharedHooks.js"),c=require("../../../../clients/jsonApi/index.js"),p=require("../../../../permissions/usePermissions.js"),f=require("../../../../permissions/constants/index.js");require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../utils/index.js");var d=require("../../../../utils/notificationToasts.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=m(e),j=m(t),v=m(r),g=m(s),O=m(n);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,s)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){v.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}exports.useInitialize=function(){var e=l.useGet("get"),t=l.useGet("set"),r=i.useState(!1),s=g.default(r,2),n=s[0],m=s[1],h=i.useState(),q=g.default(h,2),P=q[0],x=q[1],S={canPublish:f.PERMISSIONS.userCreate},w=p(S);i.useEffect((function(){var e=Object.entries(w).reduce((function(e,t){var r=g.default(t,2),s=r[0],n=r[1],i=n.loading,a=n.active;return{loaded:e.loaded&&!i,permissions:y(y({},e.permissions),{},v.default({},s,a))}}),{loaded:!0,permissions:{}}),r=e.loaded,s=e.permissions;r&&(t({permissions:s}),m(!0))}),[w,t]),i.useEffect((function(){var t=function(){var t=j.default(O.default.mark((function t(){var r,s,n;return O.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=e(),s=r.appKey,t.t0=u.dataFormatter,t.next=5,c.getAppSettingsTemplates(s,{per_page:o.perPage,fields:o.baseFields});case 5:t.t1=t.sent,n=t.t0.deserialize.call(t.t0,t.t1),x(n),t.next=14;break;case 10:t.prev=10,t.t2=t.catch(0),d.showErrorNotification("Error loading app templates"),console.error(t.t2);case 14:case"end":return t.stop()}}),t,null,[[0,10]])})));return function(){return t.apply(this,arguments)}}();t()}),[e,t]),i.useEffect((function(){var r=function(){var r=j.default(O.default.mark((function r(){var s,i,o,l,c,p,f,d,m,j,v;return O.default.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(n&&P){r.next=2;break}return r.abrupt("return");case 2:return s=e(),i=s.currentTemplateId,o=s.templateSettings,l=s.onChange,c=s.hooks.getDefaultTemplate,r.next=5,u.processLoadedTemplates(e,P);case 5:if(p=r.sent,t(p),f=u.findTemplate(e,i),!(d=(null==c?void 0:c([].concat(b.default(e().presetTemplates),b.default(e().loadedTemplates)),{currentTemplateId:i,templateSettings:o,event:"loadList"}))||f)){r.next=16;break}return r.next=12,u.ensureTemplateSettings(e,t,d);case 12:m=r.sent,j=!f&&!!d,v=!a.isEqual(m.settings,null==f?void 0:f.settings),(j||v)&&l&&(t({templateSettings:m.settings}),l(m,"initialLoad"));case 16:t({isInitialized:!0});case 17:case"end":return r.stop()}}),r)})));return function(){return r.apply(this,arguments)}}();r()}),[P,e,n,t])};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/asyncToGenerator"),r=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/regenerator"),i=require("react"),a=require("lodash"),u=require("../utils.js"),o=require("../Store.js"),l=require("./sharedHooks.js"),c=require("../../../../clients/jsonApi/index.js"),p=require("../../../../permissions/usePermissions.js"),f=require("../../../../permissions/constants/index.js");require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../utils/index.js");var d=require("../../../../utils/notificationToasts.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=m(e),j=m(t),v=m(r),g=m(s),O=m(n);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,s)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){v.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}exports.useInitialize=function(){var e=l.useGet("get"),t=l.useGet("set"),r=i.useState(!1),s=g.default(r,2),n=s[0],m=s[1],h=i.useState(),y=g.default(h,2),P=y[0],x=y[1],S={canPublish:f.PERMISSIONS.userCreate},w=p(S);i.useEffect((function(){var r=Object.entries(w).reduce((function(e,t){var r=g.default(t,2),s=r[0],n=r[1],i=n.loading,a=n.active;return{loaded:e.loaded&&!i,permissions:q(q({},e.permissions),{},v.default({},s,a))}}),{loaded:!0,permissions:{}}),s=r.loaded,n=r.permissions;s&&(a.isEqual(e().permissions,n)||t({permissions:n}),m(!0))}),[w,e,t]),i.useEffect((function(){var t=function(){var t=j.default(O.default.mark((function t(){var r,s,n;return O.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=e(),s=r.appKey,t.t0=u.dataFormatter,t.next=5,c.getAppSettingsTemplates(s,{per_page:o.perPage,fields:o.baseFields});case 5:t.t1=t.sent,n=t.t0.deserialize.call(t.t0,t.t1),x(n),t.next=14;break;case 10:t.prev=10,t.t2=t.catch(0),d.showErrorNotification("Error loading app templates"),console.error(t.t2);case 14:case"end":return t.stop()}}),t,null,[[0,10]])})));return function(){return t.apply(this,arguments)}}();t()}),[e,t]),i.useEffect((function(){var r=function(){var r=j.default(O.default.mark((function r(){var s,i,o,l,c,p,f,d,m,j,v;return O.default.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(n&&P){r.next=2;break}return r.abrupt("return");case 2:return s=e(),i=s.currentTemplateId,o=s.templateSettings,l=s.onChange,c=s.hooks.getDefaultTemplate,r.next=5,u.processLoadedTemplates(e,P);case 5:if(p=r.sent,t(p),f=u.findTemplate(e,i),!(d=(null==c?void 0:c([].concat(b.default(e().presetTemplates),b.default(e().loadedTemplates)),{currentTemplateId:i,templateSettings:o,event:"loadList"}))||f)){r.next=16;break}return r.next=12,u.ensureTemplateSettings(e,t,d);case 12:m=r.sent,j=!f&&!!d,v=!a.isEqual(m.settings,null==f?void 0:f.settings),(j||v)&&l&&(t({templateSettings:m.settings}),l(m,"initialLoad"));case 16:t({isInitialized:!0});case 17:case"end":return r.stop()}}),r)})));return function(){return r.apply(this,arguments)}}();r()}),[P,e,n,t])};
2
2
  //# sourceMappingURL=useInitialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialize.js","sources":["../../../../../../src/componentsV2/TemplatesControl/Store/hooks/useInitialize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { isEqual } from 'lodash';\n\nimport { Store, Template, TemplateData } from '../../types';\nimport {\n dataFormatter,\n ensureTemplateSettings,\n findTemplate,\n processLoadedTemplates,\n} from '../utils';\nimport { baseFields, perPage } from '../Store';\n\nimport { useGet } from './sharedHooks';\n\nimport { getAppSettingsTemplates } from '~/clients/jsonApi';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { StringifiedPermission } from '~/permissions/utils';\nimport { showErrorNotification } from '~/utils';\n\nexport const useInitialize = <T extends TemplateData>() => {\n const get = useGet<T, 'get'>('get');\n const set = useGet<T, 'set'>('set');\n\n const [permissionsLoaded, setPermissionsLoaded] = useState(false);\n const [baseLoadedTemplates, setBaseLoadedTemplates] = useState<Template<T>[]>();\n\n const permissionMap: Record<keyof Store['permissions'], StringifiedPermission> = {\n canPublish: PERMISSIONS.userCreate,\n };\n\n const permissionRecordsMap = usePermissions(permissionMap);\n\n // Permissions\n useEffect(() => {\n const { loaded, permissions } = Object.entries(permissionRecordsMap).reduce(\n (acc, [key, { loading, active }]) => ({\n loaded: acc.loaded && !loading,\n permissions: {\n ...acc.permissions,\n [key]: active,\n },\n }),\n {\n loaded: true,\n permissions: {},\n } as {\n loaded: boolean;\n permissions: Record<keyof Store['permissions'], boolean>;\n }\n );\n\n if (loaded) {\n set({ permissions });\n setPermissionsLoaded(true);\n }\n }, [permissionRecordsMap, set]);\n\n // Data load\n useEffect(() => {\n const loader = async () => {\n try {\n const { appKey } = get();\n\n const templates = dataFormatter.deserialize(\n await getAppSettingsTemplates(appKey, {\n per_page: perPage,\n fields: baseFields,\n })\n ) as Template<T>[];\n\n setBaseLoadedTemplates(templates);\n } catch (e) {\n showErrorNotification('Error loading app templates');\n console.error(e);\n }\n };\n\n loader();\n }, [get, set]);\n\n useEffect(() => {\n const onLoadedEverything = async () => {\n if (!permissionsLoaded || !baseLoadedTemplates) {\n return;\n }\n\n const {\n currentTemplateId,\n templateSettings,\n onChange,\n hooks: { getDefaultTemplate },\n } = get();\n\n const templatesData = await processLoadedTemplates(get, baseLoadedTemplates);\n set(templatesData);\n\n // Handling currently selected template\n const currentTemplate = findTemplate(get, currentTemplateId);\n\n const selectedTemplate =\n getDefaultTemplate?.([...get().presetTemplates, ...get().loadedTemplates], {\n currentTemplateId,\n templateSettings,\n event: 'loadList',\n }) || currentTemplate;\n\n // Case when data from app is outdated (other app instance)\n if (selectedTemplate) {\n const templateWithSettings = await ensureTemplateSettings(get, set, selectedTemplate);\n\n const noInitialSelectedTemplate = !currentTemplate && !!selectedTemplate;\n const isOwnOutdatedTemplate = !isEqual(\n templateWithSettings.settings,\n currentTemplate?.settings\n );\n\n if ((noInitialSelectedTemplate || isOwnOutdatedTemplate) && onChange) {\n set({ templateSettings: templateWithSettings.settings });\n onChange(templateWithSettings, 'initialLoad');\n }\n }\n\n set({ isInitialized: true });\n };\n\n onLoadedEverything();\n }, [baseLoadedTemplates, get, permissionsLoaded, set]);\n};\n"],"names":["get","useGet","set","useState","_useState2","_slicedToArray","_useState","permissionsLoaded","setPermissionsLoaded","_useState3","_useState4","baseLoadedTemplates","setBaseLoadedTemplates","permissionMap","canPublish","PERMISSIONS","userCreate","permissionRecordsMap","usePermissions","useEffect","Object","entries","reduce","acc","_ref","_ref2","key","_ref2$","loading","active","loaded","permissions","loader","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_get","appKey","templates","wrap","_context","prev","next","t0","dataFormatter","getAppSettingsTemplates","per_page","perPage","fields","baseFields","t1","sent","deserialize","call","t2","showErrorNotification","console","error","stop","apply","this","arguments","onLoadedEverything","_ref4","_callee2","_get2","currentTemplateId","templateSettings","onChange","getDefaultTemplate","templatesData","currentTemplate","selectedTemplate","templateWithSettings","noInitialSelectedTemplate","isOwnOutdatedTemplate","_context2","abrupt","hooks","processLoadedTemplates","findTemplate","concat","_toConsumableArray","presetTemplates","loadedTemplates","event","ensureTemplateSettings","isEqual","settings","isInitialized"],"mappings":"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"}
1
+ {"version":3,"file":"useInitialize.js","sources":["../../../../../../src/componentsV2/TemplatesControl/Store/hooks/useInitialize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { isEqual } from 'lodash';\n\nimport { Store, Template, TemplateData } from '../../types';\nimport {\n dataFormatter,\n ensureTemplateSettings,\n findTemplate,\n processLoadedTemplates,\n} from '../utils';\nimport { baseFields, perPage } from '../Store';\n\nimport { useGet } from './sharedHooks';\n\nimport { getAppSettingsTemplates } from '~/clients/jsonApi';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { StringifiedPermission } from '~/permissions/utils';\nimport { showErrorNotification } from '~/utils';\n\nexport const useInitialize = <T extends TemplateData>() => {\n const get = useGet<T, 'get'>('get');\n const set = useGet<T, 'set'>('set');\n\n const [permissionsLoaded, setPermissionsLoaded] = useState(false);\n const [baseLoadedTemplates, setBaseLoadedTemplates] = useState<Template<T>[]>();\n\n const permissionMap: Record<keyof Store['permissions'], StringifiedPermission> = {\n canPublish: PERMISSIONS.userCreate,\n };\n\n const permissionRecordsMap = usePermissions(permissionMap);\n\n // Permissions\n useEffect(() => {\n const { loaded, permissions } = Object.entries(permissionRecordsMap).reduce(\n (acc, [key, { loading, active }]) => ({\n loaded: acc.loaded && !loading,\n permissions: {\n ...acc.permissions,\n [key]: active,\n },\n }),\n {\n loaded: true,\n permissions: {},\n } as {\n loaded: boolean;\n permissions: Record<keyof Store['permissions'], boolean>;\n }\n );\n\n if (loaded) {\n // usePermissions returns a fresh object every render, so this effect re-runs on every\n // render; writing unconditionally notified the store's subscribers each time, which\n // re-rendered and re-ran the effect until React gave up.\n if (!isEqual(get().permissions, permissions)) {\n set({ permissions });\n }\n setPermissionsLoaded(true);\n }\n }, [permissionRecordsMap, get, set]);\n\n // Data load\n useEffect(() => {\n const loader = async () => {\n try {\n const { appKey } = get();\n\n const templates = dataFormatter.deserialize(\n await getAppSettingsTemplates(appKey, {\n per_page: perPage,\n fields: baseFields,\n })\n ) as Template<T>[];\n\n setBaseLoadedTemplates(templates);\n } catch (e) {\n showErrorNotification('Error loading app templates');\n console.error(e);\n }\n };\n\n loader();\n }, [get, set]);\n\n useEffect(() => {\n const onLoadedEverything = async () => {\n if (!permissionsLoaded || !baseLoadedTemplates) {\n return;\n }\n\n const {\n currentTemplateId,\n templateSettings,\n onChange,\n hooks: { getDefaultTemplate },\n } = get();\n\n const templatesData = await processLoadedTemplates(get, baseLoadedTemplates);\n set(templatesData);\n\n // Handling currently selected template\n const currentTemplate = findTemplate(get, currentTemplateId);\n\n const selectedTemplate =\n getDefaultTemplate?.([...get().presetTemplates, ...get().loadedTemplates], {\n currentTemplateId,\n templateSettings,\n event: 'loadList',\n }) || currentTemplate;\n\n // Case when data from app is outdated (other app instance)\n if (selectedTemplate) {\n const templateWithSettings = await ensureTemplateSettings(get, set, selectedTemplate);\n\n const noInitialSelectedTemplate = !currentTemplate && !!selectedTemplate;\n const isOwnOutdatedTemplate = !isEqual(\n templateWithSettings.settings,\n currentTemplate?.settings\n );\n\n if ((noInitialSelectedTemplate || isOwnOutdatedTemplate) && onChange) {\n set({ templateSettings: templateWithSettings.settings });\n onChange(templateWithSettings, 'initialLoad');\n }\n }\n\n set({ isInitialized: true });\n };\n\n onLoadedEverything();\n }, [baseLoadedTemplates, get, permissionsLoaded, set]);\n};\n"],"names":["get","useGet","set","useState","_useState2","_slicedToArray","_useState","permissionsLoaded","setPermissionsLoaded","_useState3","_useState4","baseLoadedTemplates","setBaseLoadedTemplates","permissionMap","canPublish","PERMISSIONS","userCreate","permissionRecordsMap","usePermissions","useEffect","Object","entries","reduce","acc","_ref","_ref2","key","_ref2$","loading","active","loaded","permissions","isEqual","loader","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_get","appKey","templates","wrap","_context","prev","next","t0","dataFormatter","getAppSettingsTemplates","per_page","perPage","fields","baseFields","t1","sent","deserialize","call","t2","showErrorNotification","console","error","stop","apply","this","arguments","onLoadedEverything","_ref4","_callee2","_get2","currentTemplateId","templateSettings","onChange","getDefaultTemplate","templatesData","currentTemplate","selectedTemplate","templateWithSettings","noInitialSelectedTemplate","isOwnOutdatedTemplate","_context2","abrupt","hooks","processLoadedTemplates","findTemplate","concat","_toConsumableArray","presetTemplates","loadedTemplates","event","ensureTemplateSettings","settings","isInitialized"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialize.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/TemplatesControl/Store/hooks/useInitialize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB5D,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,YAAY,WA4GnD,CAAC"}
1
+ {"version":3,"file":"useInitialize.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/TemplatesControl/Store/hooks/useInitialize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB5D,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,YAAY,WAiHnD,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/toConsumableArray";import r from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/slicedToArray";import s from"@babel/runtime/regenerator";import{useState as i,useEffect as o}from"react";import{isEqual as a}from"lodash";import{dataFormatter as p,findTemplate as c,ensureTemplateSettings as m,processLoadedTemplates as l}from"../utils.js";import{perPage as u,baseFields as f}from"../Store.js";import{useGet as d}from"./sharedHooks.js";import{getAppSettingsTemplates as b}from"../../../../clients/jsonApi/index.js";import j from"../../../../permissions/usePermissions.js";import{PERMISSIONS as v}from"../../../../permissions/constants/index.js";import"../../../../permissions/withPermissionsHOC.js";import"../../../../permissions/ProvidePermissions.js";import"../../../../permissions/PermissionsContext.js";import"../../../../utils/index.js";import{showErrorNotification as g}from"../../../../utils/notificationToasts.js";function h(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function O(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?h(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var y=function(){var h=d("get"),y=d("set"),P=i(!1),x=n(P,2),w=x[0],k=x[1],T=i(),S=n(T,2),C=S[0],D=S[1],A={canPublish:v.userCreate},E=j(A);o((function(){var e=Object.entries(E).reduce((function(e,r){var s=n(r,2),i=s[0],o=s[1],a=o.loading,p=o.active;return{loaded:e.loaded&&!a,permissions:O(O({},e.permissions),{},t({},i,p))}}),{loaded:!0,permissions:{}}),r=e.loaded,s=e.permissions;r&&(y({permissions:s}),k(!0))}),[E,y]),o((function(){var e=function(){var e=r(s.mark((function e(){var r,t,n;return s.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=h(),t=r.appKey,e.t0=p,e.next=5,b(t,{per_page:u,fields:f});case 5:e.t1=e.sent,n=e.t0.deserialize.call(e.t0,e.t1),D(n),e.next=14;break;case 10:e.prev=10,e.t2=e.catch(0),g("Error loading app templates"),console.error(e.t2);case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(){return e.apply(this,arguments)}}();e()}),[h,y]),o((function(){var t=function(){var t=r(s.mark((function r(){var t,n,i,o,p,u,f,d,b,j,v;return s.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(w&&C){r.next=2;break}return r.abrupt("return");case 2:return t=h(),n=t.currentTemplateId,i=t.templateSettings,o=t.onChange,p=t.hooks.getDefaultTemplate,r.next=5,l(h,C);case 5:if(u=r.sent,y(u),f=c(h,n),!(d=(null==p?void 0:p([].concat(e(h().presetTemplates),e(h().loadedTemplates)),{currentTemplateId:n,templateSettings:i,event:"loadList"}))||f)){r.next=16;break}return r.next=12,m(h,y,d);case 12:b=r.sent,j=!f&&!!d,v=!a(b.settings,null==f?void 0:f.settings),(j||v)&&o&&(y({templateSettings:b.settings}),o(b,"initialLoad"));case 16:y({isInitialized:!0});case 17:case"end":return r.stop()}}),r)})));return function(){return t.apply(this,arguments)}}();t()}),[C,h,w,y])};export{y as useInitialize};
1
+ import e from"@babel/runtime/helpers/toConsumableArray";import r from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/slicedToArray";import s from"@babel/runtime/regenerator";import{useState as i,useEffect as o}from"react";import{isEqual as a}from"lodash";import{dataFormatter as p,findTemplate as c,ensureTemplateSettings as m,processLoadedTemplates as l}from"../utils.js";import{perPage as u,baseFields as f}from"../Store.js";import{useGet as d}from"./sharedHooks.js";import{getAppSettingsTemplates as b}from"../../../../clients/jsonApi/index.js";import j from"../../../../permissions/usePermissions.js";import{PERMISSIONS as v}from"../../../../permissions/constants/index.js";import"../../../../permissions/withPermissionsHOC.js";import"../../../../permissions/ProvidePermissions.js";import"../../../../permissions/PermissionsContext.js";import"../../../../utils/index.js";import{showErrorNotification as g}from"../../../../utils/notificationToasts.js";function h(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function O(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?h(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var y=function(){var h=d("get"),y=d("set"),P=i(!1),x=n(P,2),w=x[0],k=x[1],T=i(),S=n(T,2),C=S[0],D=S[1],A={canPublish:v.userCreate},E=j(A);o((function(){var e=Object.entries(E).reduce((function(e,r){var s=n(r,2),i=s[0],o=s[1],a=o.loading,p=o.active;return{loaded:e.loaded&&!a,permissions:O(O({},e.permissions),{},t({},i,p))}}),{loaded:!0,permissions:{}}),r=e.loaded,s=e.permissions;r&&(a(h().permissions,s)||y({permissions:s}),k(!0))}),[E,h,y]),o((function(){var e=function(){var e=r(s.mark((function e(){var r,t,n;return s.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=h(),t=r.appKey,e.t0=p,e.next=5,b(t,{per_page:u,fields:f});case 5:e.t1=e.sent,n=e.t0.deserialize.call(e.t0,e.t1),D(n),e.next=14;break;case 10:e.prev=10,e.t2=e.catch(0),g("Error loading app templates"),console.error(e.t2);case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(){return e.apply(this,arguments)}}();e()}),[h,y]),o((function(){var t=function(){var t=r(s.mark((function r(){var t,n,i,o,p,u,f,d,b,j,v;return s.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(w&&C){r.next=2;break}return r.abrupt("return");case 2:return t=h(),n=t.currentTemplateId,i=t.templateSettings,o=t.onChange,p=t.hooks.getDefaultTemplate,r.next=5,l(h,C);case 5:if(u=r.sent,y(u),f=c(h,n),!(d=(null==p?void 0:p([].concat(e(h().presetTemplates),e(h().loadedTemplates)),{currentTemplateId:n,templateSettings:i,event:"loadList"}))||f)){r.next=16;break}return r.next=12,m(h,y,d);case 12:b=r.sent,j=!f&&!!d,v=!a(b.settings,null==f?void 0:f.settings),(j||v)&&o&&(y({templateSettings:b.settings}),o(b,"initialLoad"));case 16:y({isInitialized:!0});case 17:case"end":return r.stop()}}),r)})));return function(){return t.apply(this,arguments)}}();t()}),[C,h,w,y])};export{y as useInitialize};
2
2
  //# sourceMappingURL=useInitialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialize.js","sources":["../../../../../src/componentsV2/TemplatesControl/Store/hooks/useInitialize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { isEqual } from 'lodash';\n\nimport { Store, Template, TemplateData } from '../../types';\nimport {\n dataFormatter,\n ensureTemplateSettings,\n findTemplate,\n processLoadedTemplates,\n} from '../utils';\nimport { baseFields, perPage } from '../Store';\n\nimport { useGet } from './sharedHooks';\n\nimport { getAppSettingsTemplates } from '~/clients/jsonApi';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { StringifiedPermission } from '~/permissions/utils';\nimport { showErrorNotification } from '~/utils';\n\nexport const useInitialize = <T extends TemplateData>() => {\n const get = useGet<T, 'get'>('get');\n const set = useGet<T, 'set'>('set');\n\n const [permissionsLoaded, setPermissionsLoaded] = useState(false);\n const [baseLoadedTemplates, setBaseLoadedTemplates] = useState<Template<T>[]>();\n\n const permissionMap: Record<keyof Store['permissions'], StringifiedPermission> = {\n canPublish: PERMISSIONS.userCreate,\n };\n\n const permissionRecordsMap = usePermissions(permissionMap);\n\n // Permissions\n useEffect(() => {\n const { loaded, permissions } = Object.entries(permissionRecordsMap).reduce(\n (acc, [key, { loading, active }]) => ({\n loaded: acc.loaded && !loading,\n permissions: {\n ...acc.permissions,\n [key]: active,\n },\n }),\n {\n loaded: true,\n permissions: {},\n } as {\n loaded: boolean;\n permissions: Record<keyof Store['permissions'], boolean>;\n }\n );\n\n if (loaded) {\n set({ permissions });\n setPermissionsLoaded(true);\n }\n }, [permissionRecordsMap, set]);\n\n // Data load\n useEffect(() => {\n const loader = async () => {\n try {\n const { appKey } = get();\n\n const templates = dataFormatter.deserialize(\n await getAppSettingsTemplates(appKey, {\n per_page: perPage,\n fields: baseFields,\n })\n ) as Template<T>[];\n\n setBaseLoadedTemplates(templates);\n } catch (e) {\n showErrorNotification('Error loading app templates');\n console.error(e);\n }\n };\n\n loader();\n }, [get, set]);\n\n useEffect(() => {\n const onLoadedEverything = async () => {\n if (!permissionsLoaded || !baseLoadedTemplates) {\n return;\n }\n\n const {\n currentTemplateId,\n templateSettings,\n onChange,\n hooks: { getDefaultTemplate },\n } = get();\n\n const templatesData = await processLoadedTemplates(get, baseLoadedTemplates);\n set(templatesData);\n\n // Handling currently selected template\n const currentTemplate = findTemplate(get, currentTemplateId);\n\n const selectedTemplate =\n getDefaultTemplate?.([...get().presetTemplates, ...get().loadedTemplates], {\n currentTemplateId,\n templateSettings,\n event: 'loadList',\n }) || currentTemplate;\n\n // Case when data from app is outdated (other app instance)\n if (selectedTemplate) {\n const templateWithSettings = await ensureTemplateSettings(get, set, selectedTemplate);\n\n const noInitialSelectedTemplate = !currentTemplate && !!selectedTemplate;\n const isOwnOutdatedTemplate = !isEqual(\n templateWithSettings.settings,\n currentTemplate?.settings\n );\n\n if ((noInitialSelectedTemplate || isOwnOutdatedTemplate) && onChange) {\n set({ templateSettings: templateWithSettings.settings });\n onChange(templateWithSettings, 'initialLoad');\n }\n }\n\n set({ isInitialized: true });\n };\n\n onLoadedEverything();\n }, [baseLoadedTemplates, get, permissionsLoaded, set]);\n};\n"],"names":["useInitialize","get","useGet","set","useState","_useState2","_slicedToArray","_useState","permissionsLoaded","setPermissionsLoaded","_useState3","_useState4","baseLoadedTemplates","setBaseLoadedTemplates","permissionMap","canPublish","PERMISSIONS","userCreate","permissionRecordsMap","usePermissions","useEffect","Object","entries","reduce","acc","_ref","_ref2","key","_ref2$","loading","active","loaded","permissions","loader","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_get","appKey","templates","wrap","_context","prev","next","t0","dataFormatter","getAppSettingsTemplates","per_page","perPage","fields","baseFields","t1","sent","deserialize","call","t2","showErrorNotification","console","error","stop","apply","this","arguments","onLoadedEverything","_ref4","_callee2","_get2","currentTemplateId","templateSettings","onChange","getDefaultTemplate","templatesData","currentTemplate","selectedTemplate","templateWithSettings","noInitialSelectedTemplate","isOwnOutdatedTemplate","_context2","abrupt","hooks","processLoadedTemplates","findTemplate","concat","_toConsumableArray","presetTemplates","loadedTemplates","event","ensureTemplateSettings","isEqual","settings","isInitialized"],"mappings":"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"}
1
+ {"version":3,"file":"useInitialize.js","sources":["../../../../../src/componentsV2/TemplatesControl/Store/hooks/useInitialize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { isEqual } from 'lodash';\n\nimport { Store, Template, TemplateData } from '../../types';\nimport {\n dataFormatter,\n ensureTemplateSettings,\n findTemplate,\n processLoadedTemplates,\n} from '../utils';\nimport { baseFields, perPage } from '../Store';\n\nimport { useGet } from './sharedHooks';\n\nimport { getAppSettingsTemplates } from '~/clients/jsonApi';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { StringifiedPermission } from '~/permissions/utils';\nimport { showErrorNotification } from '~/utils';\n\nexport const useInitialize = <T extends TemplateData>() => {\n const get = useGet<T, 'get'>('get');\n const set = useGet<T, 'set'>('set');\n\n const [permissionsLoaded, setPermissionsLoaded] = useState(false);\n const [baseLoadedTemplates, setBaseLoadedTemplates] = useState<Template<T>[]>();\n\n const permissionMap: Record<keyof Store['permissions'], StringifiedPermission> = {\n canPublish: PERMISSIONS.userCreate,\n };\n\n const permissionRecordsMap = usePermissions(permissionMap);\n\n // Permissions\n useEffect(() => {\n const { loaded, permissions } = Object.entries(permissionRecordsMap).reduce(\n (acc, [key, { loading, active }]) => ({\n loaded: acc.loaded && !loading,\n permissions: {\n ...acc.permissions,\n [key]: active,\n },\n }),\n {\n loaded: true,\n permissions: {},\n } as {\n loaded: boolean;\n permissions: Record<keyof Store['permissions'], boolean>;\n }\n );\n\n if (loaded) {\n // usePermissions returns a fresh object every render, so this effect re-runs on every\n // render; writing unconditionally notified the store's subscribers each time, which\n // re-rendered and re-ran the effect until React gave up.\n if (!isEqual(get().permissions, permissions)) {\n set({ permissions });\n }\n setPermissionsLoaded(true);\n }\n }, [permissionRecordsMap, get, set]);\n\n // Data load\n useEffect(() => {\n const loader = async () => {\n try {\n const { appKey } = get();\n\n const templates = dataFormatter.deserialize(\n await getAppSettingsTemplates(appKey, {\n per_page: perPage,\n fields: baseFields,\n })\n ) as Template<T>[];\n\n setBaseLoadedTemplates(templates);\n } catch (e) {\n showErrorNotification('Error loading app templates');\n console.error(e);\n }\n };\n\n loader();\n }, [get, set]);\n\n useEffect(() => {\n const onLoadedEverything = async () => {\n if (!permissionsLoaded || !baseLoadedTemplates) {\n return;\n }\n\n const {\n currentTemplateId,\n templateSettings,\n onChange,\n hooks: { getDefaultTemplate },\n } = get();\n\n const templatesData = await processLoadedTemplates(get, baseLoadedTemplates);\n set(templatesData);\n\n // Handling currently selected template\n const currentTemplate = findTemplate(get, currentTemplateId);\n\n const selectedTemplate =\n getDefaultTemplate?.([...get().presetTemplates, ...get().loadedTemplates], {\n currentTemplateId,\n templateSettings,\n event: 'loadList',\n }) || currentTemplate;\n\n // Case when data from app is outdated (other app instance)\n if (selectedTemplate) {\n const templateWithSettings = await ensureTemplateSettings(get, set, selectedTemplate);\n\n const noInitialSelectedTemplate = !currentTemplate && !!selectedTemplate;\n const isOwnOutdatedTemplate = !isEqual(\n templateWithSettings.settings,\n currentTemplate?.settings\n );\n\n if ((noInitialSelectedTemplate || isOwnOutdatedTemplate) && onChange) {\n set({ templateSettings: templateWithSettings.settings });\n onChange(templateWithSettings, 'initialLoad');\n }\n }\n\n set({ isInitialized: true });\n };\n\n onLoadedEverything();\n }, [baseLoadedTemplates, get, permissionsLoaded, set]);\n};\n"],"names":["useInitialize","get","useGet","set","useState","_useState2","_slicedToArray","_useState","permissionsLoaded","setPermissionsLoaded","_useState3","_useState4","baseLoadedTemplates","setBaseLoadedTemplates","permissionMap","canPublish","PERMISSIONS","userCreate","permissionRecordsMap","usePermissions","useEffect","Object","entries","reduce","acc","_ref","_ref2","key","_ref2$","loading","active","loaded","permissions","isEqual","loader","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_get","appKey","templates","wrap","_context","prev","next","t0","dataFormatter","getAppSettingsTemplates","per_page","perPage","fields","baseFields","t1","sent","deserialize","call","t2","showErrorNotification","console","error","stop","apply","this","arguments","onLoadedEverything","_ref4","_callee2","_get2","currentTemplateId","templateSettings","onChange","getDefaultTemplate","templatesData","currentTemplate","selectedTemplate","templateWithSettings","noInitialSelectedTemplate","isOwnOutdatedTemplate","_context2","abrupt","hooks","processLoadedTemplates","findTemplate","concat","_toConsumableArray","presetTemplates","loadedTemplates","event","ensureTemplateSettings","settings","isInitialized"],"mappings":"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"}
@@ -248,7 +248,7 @@ const validateDsn = dsn => {
248
248
 
249
249
  const MCP_SERVER_VERSION = '1.5.0';
250
250
 
251
- var version = "3.76.0-15";
251
+ var version = "3.76.0-16";
252
252
 
253
253
  const CORVA_UI_VERSION = version;
254
254
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.76.0-15",
3
+ "version": "3.76.0-16",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "repository": {