@corva/ui 3.76.0-14 → 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-14";
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-14",
3
+ "version": "3.76.0-16",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "repository": {
@@ -180,17 +180,3 @@ $AppContainer-ContainerName: CorvaUI-AppContainer-root;
180
180
  transform: translate(-50%, -50%) rotate(-45deg);
181
181
  }
182
182
  }
183
-
184
- // The attachment strip's scroll arrows are centred on their host's border (12px overhang, see
185
- // AttachmentPreview.scss). Every clipping ancestor between the strip and that border must allow
186
- // the overhang: `clip` keeps rounded-corner/max-height clipping while clip-margin adds the
187
- // slack. Browsers without clip-margin (Safari) clip at the border; the arrows fall back to a
188
- // flush-inside placement there. The margin applies on all four sides — nothing else may rely
189
- // on painting into that band.
190
- $attachment-arrow-overhang: 12px;
191
-
192
- @mixin clip-with-arrow-room {
193
- overflow: hidden;
194
- overflow: clip;
195
- overflow-clip-margin: $attachment-arrow-overhang;
196
- }
@@ -65,17 +65,3 @@
65
65
  transform: translate(-50%, -50%) rotate(-45deg);
66
66
  }
67
67
  }
68
-
69
- // The attachment strip's scroll arrows are centred on their host's border (12px overhang, see
70
- // AttachmentPreview.scss). Every clipping ancestor between the strip and that border must allow
71
- // the overhang: `clip` keeps rounded-corner/max-height clipping while clip-margin adds the
72
- // slack. Browsers without clip-margin (Safari) clip at the border; the arrows fall back to a
73
- // flush-inside placement there. The margin applies on all four sides — nothing else may rely
74
- // on painting into that band.
75
- $attachment-arrow-overhang: 12px;
76
-
77
- @mixin clip-with-arrow-room {
78
- overflow: hidden;
79
- overflow: clip;
80
- overflow-clip-margin: $attachment-arrow-overhang;
81
- }