@webiny/app-tenancy 5.32.0 → 5.33.0-beta.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/Tenancy.js CHANGED
@@ -28,12 +28,6 @@ var TenancyProviderHOC = function TenancyProviderHOC(Component) {
28
28
 
29
29
  var TenancyExtension = function TenancyExtension() {
30
30
  _plugins.plugins.register(_installation.default);
31
- /**
32
- * TODO @ts-refactor
33
- * Expects ComponentType
34
- */
35
- // @ts-ignore
36
-
37
31
 
38
32
  return /*#__PURE__*/_react.default.createElement(_appAdmin.Provider, {
39
33
  hoc: TenancyProviderHOC
package/Tenancy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["TenancyProviderHOC","Component","TenancyProvider","children","TenancyExtension","plugins","register","installation","Tenancy","memo"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Provider } from \"@webiny/app-admin\";\nimport installation from \"./plugins/installation\";\nimport { TenancyProvider as ContextProvider } from \"./contexts/Tenancy\";\n\nconst TenancyProviderHOC = (Component: React.FC): React.FC => {\n return function TenancyProvider({ children }) {\n return (\n <ContextProvider>\n <Component>{children}</Component>\n </ContextProvider>\n );\n };\n};\n\nexport const TenancyExtension: React.FC = () => {\n plugins.register(installation);\n\n /**\n * TODO @ts-refactor\n * Expects ComponentType\n */\n // @ts-ignore\n return <Provider hoc={TenancyProviderHOC} />;\n};\n\nexport const Tenancy = memo(TenancyExtension);\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAAmC;EAC1D,OAAO,SAASC,eAAT,OAAuC;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAC1C,oBACI,6BAAC,wBAAD,qBACI,6BAAC,SAAD,QAAYA,QAAZ,CADJ,CADJ;EAKH,CAND;AAOH,CARD;;AAUO,IAAMC,gBAA0B,GAAG,SAA7BA,gBAA6B,GAAM;EAC5CC,gBAAA,CAAQC,QAAR,CAAiBC,qBAAjB;EAEA;AACJ;AACA;AACA;EACI;;;EACA,oBAAO,6BAAC,kBAAD;IAAU,GAAG,EAAEP;EAAf,EAAP;AACH,CATM;;;AAWA,IAAMQ,OAAO,gBAAG,IAAAC,WAAA,EAAKL,gBAAL,CAAhB"}
1
+ {"version":3,"names":["TenancyProviderHOC","Component","TenancyProvider","children","TenancyExtension","plugins","register","installation","Tenancy","memo"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Provider } from \"@webiny/app-admin\";\nimport installation from \"./plugins/installation\";\nimport { TenancyProvider as ContextProvider } from \"./contexts/Tenancy\";\n\nconst TenancyProviderHOC = (Component: React.FC): React.FC => {\n return function TenancyProvider({ children }) {\n return (\n <ContextProvider>\n <Component>{children}</Component>\n </ContextProvider>\n );\n };\n};\n\nexport const TenancyExtension: React.FC = () => {\n plugins.register(installation);\n\n return <Provider hoc={TenancyProviderHOC} />;\n};\n\nexport const Tenancy = memo(TenancyExtension);\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAAmC;EAC1D,OAAO,SAASC,eAAT,OAAuC;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAC1C,oBACI,6BAAC,wBAAD,qBACI,6BAAC,SAAD,QAAYA,QAAZ,CADJ,CADJ;EAKH,CAND;AAOH,CARD;;AAUO,IAAMC,gBAA0B,GAAG,SAA7BA,gBAA6B,GAAM;EAC5CC,gBAAA,CAAQC,QAAR,CAAiBC,qBAAjB;;EAEA,oBAAO,6BAAC,kBAAD;IAAU,GAAG,EAAEP;EAAf,EAAP;AACH,CAJM;;;AAMA,IAAMQ,OAAO,gBAAG,IAAAC,WAAA,EAAKL,gBAAL,CAAhB"}
@@ -41,9 +41,17 @@ function storeState(state) {
41
41
  }
42
42
 
43
43
  var getInitialTenant = function getInitialTenant() {
44
- var currentTenant = loadState();
44
+ // Check if `tenantId` query parameter is set. If it is, it takes precedence over any other source.
45
+ var searchParams = new URLSearchParams(location.search);
46
+ var tenantId = searchParams.get("tenantId");
45
47
 
46
- _plugins.plugins.register(new _TenantHeaderLinkPlugin.TenantHeaderLinkPlugin(currentTenant || "root"));
48
+ if (tenantId) {
49
+ storeState(tenantId);
50
+ }
51
+
52
+ var currentTenant = loadState() || "root";
53
+
54
+ _plugins.plugins.register(new _TenantHeaderLinkPlugin.TenantHeaderLinkPlugin(currentTenant));
47
55
 
48
56
  return currentTenant;
49
57
  };
@@ -1 +1 @@
1
- {"version":3,"names":["TenancyContext","React","createContext","tenant","setTenant","isMultiTenant","LOCAL_STORAGE_KEY","loadState","localStorage","get","storeState","state","set","getInitialTenant","currentTenant","plugins","register","TenantHeaderLinkPlugin","TenancyProvider","props","useState","useWcp","canUseFeature","changeTenant","useCallback","remove","window","location","pathname","value","useMemo","children"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { useMemo, useCallback, Fragment, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { plugins } from \"@webiny/plugins\";\nimport { TenantHeaderLinkPlugin } from \"@webiny/app/plugins/TenantHeaderLinkPlugin\";\nimport { useWcp } from \"@webiny/app-admin\";\n\nexport interface Tenant {\n id: string;\n name: string;\n}\n\nexport interface TenancyContextValue {\n tenant: string | null;\n setTenant(tenant: string | null): void;\n isMultiTenant: boolean;\n}\n\nexport const TenancyContext = React.createContext<TenancyContextValue>({\n tenant: null,\n setTenant: () => {\n return void 0;\n },\n isMultiTenant: false\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_tenant\";\n\nfunction loadState(): string | null {\n return localStorage.get(LOCAL_STORAGE_KEY) || null;\n}\n\nfunction storeState(state: string) {\n localStorage.set(LOCAL_STORAGE_KEY, state);\n}\n\nconst getInitialTenant = (): string | null => {\n const currentTenant = loadState();\n plugins.register(new TenantHeaderLinkPlugin(currentTenant || \"root\"));\n return currentTenant;\n};\n\nexport const TenancyProvider: React.FC = props => {\n const [currentTenant, setTenant] = useState(getInitialTenant);\n const { canUseFeature } = useWcp();\n\n const changeTenant = useCallback(\n (tenant: string): void => {\n if (!tenant) {\n localStorage.remove(LOCAL_STORAGE_KEY);\n\n window.location.pathname = \"/\";\n }\n\n if (!currentTenant) {\n plugins.register(new TenantHeaderLinkPlugin(tenant));\n setTenant(tenant);\n storeState(tenant);\n return;\n }\n\n storeState(tenant);\n window.location.pathname = \"/\";\n },\n [currentTenant]\n );\n\n const value = useMemo<TenancyContextValue>(\n () => ({\n tenant: currentTenant,\n setTenant: changeTenant,\n isMultiTenant: canUseFeature(\"multiTenancy\")\n }),\n [currentTenant]\n );\n\n return (\n <TenancyContext.Provider value={value}>\n <Fragment>{props.children}</Fragment>\n </TenancyContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAaO,IAAMA,cAAc,gBAAGC,cAAA,CAAMC,aAAN,CAAyC;EACnEC,MAAM,EAAE,IAD2D;EAEnEC,SAAS,EAAE,qBAAM;IACb,OAAO,KAAK,CAAZ;EACH,CAJkE;EAKnEC,aAAa,EAAE;AALoD,CAAzC,CAAvB;;;AAQP,IAAMC,iBAAiB,GAAG,eAA1B;;AAEA,SAASC,SAAT,GAAoC;EAChC,OAAOC,cAAA,CAAaC,GAAb,CAAiBH,iBAAjB,KAAuC,IAA9C;AACH;;AAED,SAASI,UAAT,CAAoBC,KAApB,EAAmC;EAC/BH,cAAA,CAAaI,GAAb,CAAiBN,iBAAjB,EAAoCK,KAApC;AACH;;AAED,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAqB;EAC1C,IAAMC,aAAa,GAAGP,SAAS,EAA/B;;EACAQ,gBAAA,CAAQC,QAAR,CAAiB,IAAIC,8CAAJ,CAA2BH,aAAa,IAAI,MAA5C,CAAjB;;EACA,OAAOA,aAAP;AACH,CAJD;;AAMO,IAAMI,eAAyB,GAAG,SAA5BA,eAA4B,CAAAC,KAAK,EAAI;EAC9C,gBAAmC,IAAAC,eAAA,EAASP,gBAAT,CAAnC;EAAA;EAAA,IAAOC,aAAP;EAAA,IAAsBV,SAAtB;;EACA,cAA0B,IAAAiB,gBAAA,GAA1B;EAAA,IAAQC,aAAR,WAAQA,aAAR;;EAEA,IAAMC,YAAY,GAAG,IAAAC,kBAAA,EACjB,UAACrB,MAAD,EAA0B;IACtB,IAAI,CAACA,MAAL,EAAa;MACTK,cAAA,CAAaiB,MAAb,CAAoBnB,iBAApB;;MAEAoB,MAAM,CAACC,QAAP,CAAgBC,QAAhB,GAA2B,GAA3B;IACH;;IAED,IAAI,CAACd,aAAL,EAAoB;MAChBC,gBAAA,CAAQC,QAAR,CAAiB,IAAIC,8CAAJ,CAA2Bd,MAA3B,CAAjB;;MACAC,SAAS,CAACD,MAAD,CAAT;MACAO,UAAU,CAACP,MAAD,CAAV;MACA;IACH;;IAEDO,UAAU,CAACP,MAAD,CAAV;IACAuB,MAAM,CAACC,QAAP,CAAgBC,QAAhB,GAA2B,GAA3B;EACH,CAjBgB,EAkBjB,CAACd,aAAD,CAlBiB,CAArB;EAqBA,IAAMe,KAAK,GAAG,IAAAC,cAAA,EACV;IAAA,OAAO;MACH3B,MAAM,EAAEW,aADL;MAEHV,SAAS,EAAEmB,YAFR;MAGHlB,aAAa,EAAEiB,aAAa,CAAC,cAAD;IAHzB,CAAP;EAAA,CADU,EAMV,CAACR,aAAD,CANU,CAAd;EASA,oBACI,6BAAC,cAAD,CAAgB,QAAhB;IAAyB,KAAK,EAAEe;EAAhC,gBACI,6BAAC,eAAD,QAAWV,KAAK,CAACY,QAAjB,CADJ,CADJ;AAKH,CAvCM"}
1
+ {"version":3,"names":["TenancyContext","React","createContext","tenant","setTenant","isMultiTenant","LOCAL_STORAGE_KEY","loadState","localStorage","get","storeState","state","set","getInitialTenant","searchParams","URLSearchParams","location","search","tenantId","currentTenant","plugins","register","TenantHeaderLinkPlugin","TenancyProvider","props","useState","useWcp","canUseFeature","changeTenant","useCallback","remove","window","pathname","value","useMemo","children"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { useMemo, useCallback, Fragment, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { plugins } from \"@webiny/plugins\";\nimport { TenantHeaderLinkPlugin } from \"@webiny/app/plugins/TenantHeaderLinkPlugin\";\nimport { useWcp } from \"@webiny/app-admin\";\n\nexport interface Tenant {\n id: string;\n name: string;\n}\n\nexport interface TenancyContextValue {\n tenant: string | null;\n setTenant(tenant: string | null): void;\n isMultiTenant: boolean;\n}\n\nexport const TenancyContext = React.createContext<TenancyContextValue>({\n tenant: null,\n setTenant: () => {\n return void 0;\n },\n isMultiTenant: false\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_tenant\";\n\nfunction loadState(): string | null {\n return localStorage.get(LOCAL_STORAGE_KEY) || null;\n}\n\nfunction storeState(state: string) {\n localStorage.set(LOCAL_STORAGE_KEY, state);\n}\n\nconst getInitialTenant = (): string | null => {\n // Check if `tenantId` query parameter is set. If it is, it takes precedence over any other source.\n const searchParams = new URLSearchParams(location.search);\n const tenantId = searchParams.get(\"tenantId\");\n if (tenantId) {\n storeState(tenantId);\n }\n\n const currentTenant = loadState() || \"root\";\n plugins.register(new TenantHeaderLinkPlugin(currentTenant));\n return currentTenant;\n};\n\nexport const TenancyProvider: React.FC = props => {\n const [currentTenant, setTenant] = useState(getInitialTenant);\n const { canUseFeature } = useWcp();\n\n const changeTenant = useCallback(\n (tenant: string): void => {\n if (!tenant) {\n localStorage.remove(LOCAL_STORAGE_KEY);\n\n window.location.pathname = \"/\";\n }\n\n if (!currentTenant) {\n plugins.register(new TenantHeaderLinkPlugin(tenant));\n setTenant(tenant);\n storeState(tenant);\n return;\n }\n\n storeState(tenant);\n window.location.pathname = \"/\";\n },\n [currentTenant]\n );\n\n const value = useMemo<TenancyContextValue>(\n () => ({\n tenant: currentTenant,\n setTenant: changeTenant,\n isMultiTenant: canUseFeature(\"multiTenancy\")\n }),\n [currentTenant]\n );\n\n return (\n <TenancyContext.Provider value={value}>\n <Fragment>{props.children}</Fragment>\n </TenancyContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAaO,IAAMA,cAAc,gBAAGC,cAAA,CAAMC,aAAN,CAAyC;EACnEC,MAAM,EAAE,IAD2D;EAEnEC,SAAS,EAAE,qBAAM;IACb,OAAO,KAAK,CAAZ;EACH,CAJkE;EAKnEC,aAAa,EAAE;AALoD,CAAzC,CAAvB;;;AAQP,IAAMC,iBAAiB,GAAG,eAA1B;;AAEA,SAASC,SAAT,GAAoC;EAChC,OAAOC,cAAA,CAAaC,GAAb,CAAiBH,iBAAjB,KAAuC,IAA9C;AACH;;AAED,SAASI,UAAT,CAAoBC,KAApB,EAAmC;EAC/BH,cAAA,CAAaI,GAAb,CAAiBN,iBAAjB,EAAoCK,KAApC;AACH;;AAED,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAqB;EAC1C;EACA,IAAMC,YAAY,GAAG,IAAIC,eAAJ,CAAoBC,QAAQ,CAACC,MAA7B,CAArB;EACA,IAAMC,QAAQ,GAAGJ,YAAY,CAACL,GAAb,CAAiB,UAAjB,CAAjB;;EACA,IAAIS,QAAJ,EAAc;IACVR,UAAU,CAACQ,QAAD,CAAV;EACH;;EAED,IAAMC,aAAa,GAAGZ,SAAS,MAAM,MAArC;;EACAa,gBAAA,CAAQC,QAAR,CAAiB,IAAIC,8CAAJ,CAA2BH,aAA3B,CAAjB;;EACA,OAAOA,aAAP;AACH,CAXD;;AAaO,IAAMI,eAAyB,GAAG,SAA5BA,eAA4B,CAAAC,KAAK,EAAI;EAC9C,gBAAmC,IAAAC,eAAA,EAASZ,gBAAT,CAAnC;EAAA;EAAA,IAAOM,aAAP;EAAA,IAAsBf,SAAtB;;EACA,cAA0B,IAAAsB,gBAAA,GAA1B;EAAA,IAAQC,aAAR,WAAQA,aAAR;;EAEA,IAAMC,YAAY,GAAG,IAAAC,kBAAA,EACjB,UAAC1B,MAAD,EAA0B;IACtB,IAAI,CAACA,MAAL,EAAa;MACTK,cAAA,CAAasB,MAAb,CAAoBxB,iBAApB;;MAEAyB,MAAM,CAACf,QAAP,CAAgBgB,QAAhB,GAA2B,GAA3B;IACH;;IAED,IAAI,CAACb,aAAL,EAAoB;MAChBC,gBAAA,CAAQC,QAAR,CAAiB,IAAIC,8CAAJ,CAA2BnB,MAA3B,CAAjB;;MACAC,SAAS,CAACD,MAAD,CAAT;MACAO,UAAU,CAACP,MAAD,CAAV;MACA;IACH;;IAEDO,UAAU,CAACP,MAAD,CAAV;IACA4B,MAAM,CAACf,QAAP,CAAgBgB,QAAhB,GAA2B,GAA3B;EACH,CAjBgB,EAkBjB,CAACb,aAAD,CAlBiB,CAArB;EAqBA,IAAMc,KAAK,GAAG,IAAAC,cAAA,EACV;IAAA,OAAO;MACH/B,MAAM,EAAEgB,aADL;MAEHf,SAAS,EAAEwB,YAFR;MAGHvB,aAAa,EAAEsB,aAAa,CAAC,cAAD;IAHzB,CAAP;EAAA,CADU,EAMV,CAACR,aAAD,CANU,CAAd;EASA,oBACI,6BAAC,cAAD,CAAgB,QAAhB;IAAyB,KAAK,EAAEc;EAAhC,gBACI,6BAAC,eAAD,QAAWT,KAAK,CAACW,QAAjB,CADJ,CADJ;AAKH,CAvCM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-tenancy",
3
- "version": "5.32.0",
3
+ "version": "5.33.0-beta.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,10 +17,10 @@
17
17
  "@babel/runtime": "7.18.9",
18
18
  "@emotion/styled": "10.3.0",
19
19
  "@types/react": "17.0.39",
20
- "@webiny/app": "5.32.0",
21
- "@webiny/app-admin": "5.32.0",
22
- "@webiny/plugins": "5.32.0",
23
- "@webiny/ui": "5.32.0",
20
+ "@webiny/app": "5.33.0-beta.0",
21
+ "@webiny/app-admin": "5.33.0-beta.0",
22
+ "@webiny/plugins": "5.33.0-beta.0",
23
+ "@webiny/ui": "5.33.0-beta.0",
24
24
  "apollo-client": "2.6.10",
25
25
  "graphql-tag": "2.12.6",
26
26
  "react": "17.0.2",
@@ -34,8 +34,8 @@
34
34
  "@babel/preset-env": "^7.16.4",
35
35
  "@babel/preset-react": "^7.16.0",
36
36
  "@babel/preset-typescript": "^7.16.0",
37
- "@webiny/cli": "^5.32.0",
38
- "@webiny/project-utils": "^5.32.0",
37
+ "@webiny/cli": "^5.33.0-beta.0",
38
+ "@webiny/project-utils": "^5.33.0-beta.0",
39
39
  "babel-plugin-emotion": "^9.2.8",
40
40
  "babel-plugin-lodash": "^3.3.4",
41
41
  "rimraf": "^3.0.2",
@@ -50,5 +50,5 @@
50
50
  "build": "yarn webiny run build",
51
51
  "watch": "yarn webiny run watch"
52
52
  },
53
- "gitHead": "1227aa53c68afa4ccd518c8a4344195a2b8e354b"
53
+ "gitHead": "8809a70796e5117e92416d6859c1f5dcae2a8c98"
54
54
  }