@servicetitan/standalone-root 1.2.0 → 1.4.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 +24 -0
- package/dist/components/standalone-root-provider/standalone-root-provider.d.ts +4 -2
- package/dist/components/standalone-root-provider/standalone-root-provider.d.ts.map +1 -1
- package/dist/components/standalone-root-provider/standalone-root-provider.js +9 -12
- package/dist/components/standalone-root-provider/standalone-root-provider.js.map +1 -1
- package/dist/enums/index.d.ts +2 -0
- package/dist/enums/index.d.ts.map +1 -0
- package/dist/enums/index.js +2 -0
- package/dist/enums/index.js.map +1 -0
- package/dist/enums/root-section.d.ts +4 -0
- package/dist/enums/root-section.d.ts.map +1 -0
- package/dist/enums/root-section.js +5 -0
- package/dist/enums/root-section.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/stores/standalone-root.store.d.ts +14 -6
- package/dist/stores/standalone-root.store.d.ts.map +1 -1
- package/dist/stores/standalone-root.store.js +63 -10
- package/dist/stores/standalone-root.store.js.map +1 -1
- package/dist/utils/symbols.d.ts +1 -1
- package/dist/utils/symbols.d.ts.map +1 -1
- package/dist/utils/symbols.js +2 -1
- package/dist/utils/symbols.js.map +1 -1
- package/dist/utils/tokens.d.ts +3 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +3 -0
- package/dist/utils/tokens.js.map +1 -0
- package/package.json +2 -2
- package/src/components/standalone-root-provider/standalone-root-provider.tsx +13 -15
- package/src/enums/index.ts +1 -0
- package/src/enums/root-section.ts +3 -0
- package/src/index.ts +1 -0
- package/src/stores/standalone-root.store.ts +50 -14
- package/src/utils/symbols.ts +2 -1
- package/src/utils/tokens.ts +7 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# v1.4.0 (Wed Aug 06 2025)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- [standalone-root]: remove registered changes after initialization [#75](https://github.com/servicetitan/standalone-fe/pull/75) ([@dkhachatryan-st](https://github.com/dkhachatryan-st))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- David Khachatryan ([@dkhachatryan-st](https://github.com/dkhachatryan-st))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v1.3.0 (Wed Aug 06 2025)
|
|
14
|
+
|
|
15
|
+
#### 🚀 Enhancement
|
|
16
|
+
|
|
17
|
+
- Possible data changes inside Standalone Root Provider [#74](https://github.com/servicetitan/standalone-fe/pull/74) ([@dkhachatryan-st](https://github.com/dkhachatryan-st))
|
|
18
|
+
|
|
19
|
+
#### Authors: 1
|
|
20
|
+
|
|
21
|
+
- David Khachatryan ([@dkhachatryan-st](https://github.com/dkhachatryan-st))
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
1
25
|
# v1.2.0 (Thu Jul 31 2025)
|
|
2
26
|
|
|
3
27
|
#### 🚀 Enhancement
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { FC, PropsWithChildren } from 'react';
|
|
1
|
+
import { FC, PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
import { ModifiableRootSection } from '../../enums';
|
|
2
3
|
interface StandaloneRootProviderProps extends PropsWithChildren {
|
|
3
4
|
forceRefreshOnMount?: boolean;
|
|
4
|
-
|
|
5
|
+
possibleChangesInside?: ModifiableRootSection[];
|
|
5
6
|
baseUrl?: string;
|
|
7
|
+
loadingFallback?: ReactNode;
|
|
6
8
|
}
|
|
7
9
|
export declare const StandaloneRootProvider: FC<StandaloneRootProviderProps>;
|
|
8
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-root-provider.d.ts","sourceRoot":"","sources":["../../../src/components/standalone-root-provider/standalone-root-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"standalone-root-provider.d.ts","sourceRoot":"","sources":["../../../src/components/standalone-root-provider/standalone-root-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AA0BpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,UAAU,2BAA4B,SAAQ,iBAAiB;IAC3D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,CAAC;CAC/B;AAqCD,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAiBlE,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { CultureProvider } from '@servicetitan/culture';
|
|
|
10
10
|
import { CenteredSpinner, LoadStatus } from '@servicetitan/standalone-ui';
|
|
11
11
|
import { BASE_URL_TOKEN_OnboardingApi, OnboardingApi, } from '@servicetitan/marketing-services-api/settings';
|
|
12
12
|
import { BASE_URL_TOKEN_CurrentUserClientApi, BASE_URL_TOKEN_PartitionsClientApi, } from '@servicetitan/marketing-services-api/dist/identity/partition.api';
|
|
13
|
+
import { POSSIBLE_CHANGES_TOKEN } from '../../utils/tokens';
|
|
13
14
|
const StandaloneRootProviderUnwrapped = provide({
|
|
14
15
|
singletons: [
|
|
15
16
|
TenantManagementApi,
|
|
@@ -19,21 +20,16 @@ const StandaloneRootProviderUnwrapped = provide({
|
|
|
19
20
|
StandaloneRootStore,
|
|
20
21
|
OnboardingApi,
|
|
21
22
|
],
|
|
22
|
-
})(observer(({ children, forceRefreshOnMount,
|
|
23
|
-
const [{ initialize, loadStatus, locale,
|
|
23
|
+
})(observer(({ children, forceRefreshOnMount, loadingFallback }) => {
|
|
24
|
+
const [{ initialize, loadStatus, locale, dispose }] = useDependencies(StandaloneRootStore);
|
|
24
25
|
useEffect(() => {
|
|
25
|
-
initialize(!!forceRefreshOnMount
|
|
26
|
+
initialize(!!forceRefreshOnMount);
|
|
26
27
|
return () => {
|
|
27
|
-
|
|
28
|
+
dispose();
|
|
28
29
|
};
|
|
29
|
-
}, [
|
|
30
|
-
initialize,
|
|
31
|
-
forceRefreshOnMount,
|
|
32
|
-
refreshOnboardingOnMount,
|
|
33
|
-
unregisterGlobalSyncListener,
|
|
34
|
-
]);
|
|
30
|
+
}, [initialize, forceRefreshOnMount, dispose]);
|
|
35
31
|
if (loadStatus === LoadStatus.Loading) {
|
|
36
|
-
return _jsx(CenteredSpinner, { inFrame: true });
|
|
32
|
+
return loadingFallback !== null && loadingFallback !== void 0 ? loadingFallback : _jsx(CenteredSpinner, { inFrame: true });
|
|
37
33
|
}
|
|
38
34
|
if (loadStatus === LoadStatus.Ok) {
|
|
39
35
|
const culture = { Name: locale };
|
|
@@ -42,13 +38,14 @@ const StandaloneRootProviderUnwrapped = provide({
|
|
|
42
38
|
return null;
|
|
43
39
|
}));
|
|
44
40
|
export const StandaloneRootProvider = props => {
|
|
45
|
-
const { baseUrl } = props;
|
|
41
|
+
const { baseUrl, possibleChangesInside } = props;
|
|
46
42
|
return (_jsx(Provider, { singletons: [
|
|
47
43
|
{ provide: BASE_URL_TOKEN_TenantManagementApi, useValue: baseUrl },
|
|
48
44
|
{ provide: BASE_URL_TOKEN_OnboardingApi, useValue: baseUrl },
|
|
49
45
|
{ provide: BASE_URL_TOKEN_AppConfigApi, useValue: baseUrl },
|
|
50
46
|
{ provide: BASE_URL_TOKEN_CurrentUserClientApi, useValue: baseUrl },
|
|
51
47
|
{ provide: BASE_URL_TOKEN_PartitionsClientApi, useValue: baseUrl },
|
|
48
|
+
{ provide: POSSIBLE_CHANGES_TOKEN, useValue: possibleChangesInside },
|
|
52
49
|
], children: _jsx(StandaloneRootProviderUnwrapped, { ...props }) }));
|
|
53
50
|
};
|
|
54
51
|
//# sourceMappingURL=standalone-root-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-root-provider.js","sourceRoot":"","sources":["../../../src/components/standalone-root-provider/standalone-root-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"standalone-root-provider.js","sourceRoot":"","sources":["../../../src/components/standalone-root-provider/standalone-root-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoC,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACH,kCAAkC,EAClC,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACH,YAAY,EACZ,2BAA2B,GAC9B,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EACH,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAW,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EACH,4BAA4B,EAC5B,aAAa,GAChB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACH,mCAAmC,EACnC,kCAAkC,GACrC,MAAM,kEAAkE,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAS5D,MAAM,+BAA+B,GAAoC,OAAO,CAAC;IAC7E,UAAU,EAAE;QACR,mBAAmB;QACnB,YAAY;QACZ,oBAAoB;QACpB,mBAAmB;QACnB,mBAAmB;QACnB,aAAa;KAChB;CACJ,CAAC,CACE,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,EAAE,EAAE;IAC5D,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAE3F,SAAS,CAAC,GAAG,EAAE;QACX,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAElC,OAAO,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,KAAC,eAAe,IAAC,OAAO,SAAG,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAa,CAAC;QAE5C,OAAO,KAAC,eAAe,IAAC,KAAK,EAAE,OAAO,YAAG,QAAQ,GAAmB,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAoC,KAAK,CAAC,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAEjD,OAAO,CACH,KAAC,QAAQ,IACL,UAAU,EAAE;YACR,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE;YAClE,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC5D,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC3D,EAAE,OAAO,EAAE,mCAAmC,EAAE,QAAQ,EAAE,OAAO,EAAE;YACnE,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE;YAClE,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;SACvE,YAED,KAAC,+BAA+B,OAAK,KAAK,GAAI,GACvC,CACd,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-section.d.ts","sourceRoot":"","sources":["../../src/enums/root-section.ts"],"names":[],"mappings":"AAAA,oBAAY,qBAAqB;IAC7B,UAAU,IAAI;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-section.js","sourceRoot":"","sources":["../../src/enums/root-section.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC7B,6EAAc,CAAA;AAClB,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,QAEhC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { CurrentUserClientApi, PartitionInfo, PartitionsClientApi, UserDetails } from '@servicetitan/marketing-services-api/identity';
|
|
2
|
-
import { LoadStatus } from '@servicetitan/standalone-ui';
|
|
2
|
+
import { LoadStatus, SymbolTokenDataType } from '@servicetitan/standalone-ui';
|
|
3
3
|
import { AppConfigApi, AppSettings } from '@servicetitan/marketing-services-api/dist/common/app-config.mrk.api';
|
|
4
4
|
import { TenantManagementApi, TenantModel } from '@servicetitan/standalone-tm-api';
|
|
5
5
|
import { OnboardingApi, OnboardingResponse } from '@servicetitan/marketing-services-api/settings';
|
|
6
|
+
import { POSSIBLE_CHANGES_TOKEN } from '../utils/tokens';
|
|
6
7
|
export declare class StandaloneRootStore {
|
|
7
8
|
private readonly tenantManagementApi;
|
|
8
9
|
private readonly appConfigApi;
|
|
9
10
|
private readonly currentUserClientApi;
|
|
10
11
|
private readonly onboardingApi;
|
|
11
|
-
private partitionsApi;
|
|
12
|
+
private readonly partitionsApi;
|
|
13
|
+
private readonly possibleChanges;
|
|
12
14
|
loadStatus: LoadStatus;
|
|
13
15
|
tenant: TenantModel;
|
|
14
16
|
tenantConfigs: {
|
|
@@ -21,8 +23,9 @@ export declare class StandaloneRootStore {
|
|
|
21
23
|
timezone: string;
|
|
22
24
|
locale: string;
|
|
23
25
|
private eventEmitter;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
private currentInstanceSymbol;
|
|
27
|
+
constructor(tenantManagementApi: TenantManagementApi, appConfigApi: AppConfigApi, currentUserClientApi: CurrentUserClientApi, onboardingApi: OnboardingApi, partitionsApi: PartitionsClientApi, possibleChanges: SymbolTokenDataType<typeof POSSIBLE_CHANGES_TOKEN>);
|
|
28
|
+
initialize: (forceRefresh: boolean) => Promise<void>;
|
|
26
29
|
refreshTenant: () => Promise<void>;
|
|
27
30
|
refreshTenantConfigs: () => Promise<void>;
|
|
28
31
|
refreshUser: () => Promise<void>;
|
|
@@ -36,19 +39,24 @@ export declare class StandaloneRootStore {
|
|
|
36
39
|
currentPartitionId: string | undefined;
|
|
37
40
|
featureFlagClientId: string;
|
|
38
41
|
};
|
|
39
|
-
|
|
42
|
+
dispose: () => void;
|
|
43
|
+
private registerPossibleChanges;
|
|
44
|
+
private removeRegisteredChanges;
|
|
45
|
+
private unregisterGlobalSyncListener;
|
|
40
46
|
private initializeEventEmitter;
|
|
41
47
|
private registerGlobalSyncListener;
|
|
42
48
|
private listenGlobalSync;
|
|
43
49
|
private emitGlobalSync;
|
|
44
50
|
private syncFromStorage;
|
|
45
51
|
private setIsInitialized;
|
|
46
|
-
private get isInitialized();
|
|
47
52
|
private fetchTenant;
|
|
48
53
|
private fetchTenantConfigs;
|
|
49
54
|
private fetchUser;
|
|
50
55
|
private fetchAppSettings;
|
|
51
56
|
private fetchOnboarding;
|
|
52
57
|
private fetchPartitions;
|
|
58
|
+
private get isInitialized();
|
|
59
|
+
private get registeredChanges();
|
|
60
|
+
private get mapModifiableSectionToFetcher();
|
|
53
61
|
}
|
|
54
62
|
//# sourceMappingURL=standalone-root.store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-root.store.d.ts","sourceRoot":"","sources":["../../src/stores/standalone-root.store.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACd,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"standalone-root.store.d.ts","sourceRoot":"","sources":["../../src/stores/standalone-root.store.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACd,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EACH,YAAY,EACZ,WAAW,EACd,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAclG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,qBACa,mBAAmB;IAeK,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE3D,OAAO,CAAC,QAAQ,CAAC,eAAe;IApBxB,UAAU,aAAmB;IAC7B,MAAM,EAAG,WAAW,CAAC;IACrB,aAAa,EAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAG,WAAW,CAAC;IACnB,WAAW,EAAG,WAAW,CAAC;IAC1B,UAAU,EAAG,kBAAkB,CAAC;IAChC,UAAU,EAAG,aAAa,EAAE,CAAC;IAC7B,QAAQ,SAAmB;IAC3B,MAAM,SAAiB;IAEnC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,qBAAqB,CAAY;gBAGS,mBAAmB,EAAE,mBAAmB,EAC/C,YAAY,EAAE,YAAY,EAClB,oBAAoB,EAAE,oBAAoB,EACjD,aAAa,EAAE,aAAa,EACtB,aAAa,EAAE,mBAAmB,EAE/D,eAAe,EAAE,mBAAmB,CAAC,OAAO,sBAAsB,CAAC;IAMxF,UAAU,iBAAwB,OAAO,mBA6EvC;IAEF,aAAa,sBAAsD;IACnE,oBAAoB,sBAA6D;IACjF,WAAW,sBAAoD;IAC/D,kBAAkB,sBAA2D;IAC7E,iBAAiB,sBAA0D;IAC3E,iBAAiB,sBAA0D;IAE3E,IAAI,cAAc;;;;;;MAUjB;IAED,OAAO,aAGL;IAEF,OAAO,CAAC,uBAAuB,CAI7B;IAEF,OAAO,CAAC,uBAAuB,CAE7B;IAEF,OAAO,CAAC,4BAA4B,CAElC;IAEF,OAAO,CAAC,sBAAsB,CAS5B;IAEF,OAAO,CAAC,0BAA0B,CAEhC;IAEF,OAAO,CAAC,gBAAgB,CAItB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,eAAe,CA4CrB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAQjB;IAEF,OAAO,CAAC,kBAAkB,CAaxB;IAEF,OAAO,CAAC,SAAS,CAQf;IAEF,OAAO,CAAC,gBAAgB,CAQtB;IAEF,OAAO,CAAC,eAAe,CAQrB;IAEF,OAAO,CAAC,eAAe,CAUrB;IAEF,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,6BAA6B,GAIxC;CACJ"}
|
|
@@ -20,10 +20,12 @@ import { OnboardingApi } from '@servicetitan/marketing-services-api/settings';
|
|
|
20
20
|
import { Events } from '../utils/events';
|
|
21
21
|
import { EventEmitter } from '../utils/event-emitter';
|
|
22
22
|
import { storageKeyForUser, storageKeyForLocale, storageKeyForTenant, storageKeyForOnboarding, storageKeyForPartitions, storageKeyForAppSettings, storageKeyForTenantConfigs, } from '../utils/storage-keys';
|
|
23
|
+
import { ModifiableRootSection } from '../enums';
|
|
24
|
+
import { POSSIBLE_CHANGES_TOKEN } from '../utils/tokens';
|
|
23
25
|
import { cultureKeyInCoreConfigs, defaultLocale, defaultTimezone } from '../utils/constants';
|
|
24
|
-
import {
|
|
26
|
+
import { eventEmitterSymbol, isInitializedSymbol, registeredChangesSymbol } from '../utils/symbols';
|
|
25
27
|
let StandaloneRootStore = class StandaloneRootStore {
|
|
26
|
-
constructor(tenantManagementApi, appConfigApi, currentUserClientApi, onboardingApi, partitionsApi) {
|
|
28
|
+
constructor(tenantManagementApi, appConfigApi, currentUserClientApi, onboardingApi, partitionsApi, possibleChanges) {
|
|
27
29
|
Object.defineProperty(this, "tenantManagementApi", {
|
|
28
30
|
enumerable: true,
|
|
29
31
|
configurable: true,
|
|
@@ -54,6 +56,12 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
54
56
|
writable: true,
|
|
55
57
|
value: partitionsApi
|
|
56
58
|
});
|
|
59
|
+
Object.defineProperty(this, "possibleChanges", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true,
|
|
62
|
+
writable: true,
|
|
63
|
+
value: possibleChanges
|
|
64
|
+
});
|
|
57
65
|
Object.defineProperty(this, "loadStatus", {
|
|
58
66
|
enumerable: true,
|
|
59
67
|
configurable: true,
|
|
@@ -114,11 +122,18 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
114
122
|
writable: true,
|
|
115
123
|
value: void 0
|
|
116
124
|
});
|
|
125
|
+
Object.defineProperty(this, "currentInstanceSymbol", {
|
|
126
|
+
enumerable: true,
|
|
127
|
+
configurable: true,
|
|
128
|
+
writable: true,
|
|
129
|
+
value: Symbol()
|
|
130
|
+
});
|
|
117
131
|
Object.defineProperty(this, "initialize", {
|
|
118
132
|
enumerable: true,
|
|
119
133
|
configurable: true,
|
|
120
134
|
writable: true,
|
|
121
|
-
value: async (forceRefresh
|
|
135
|
+
value: async (forceRefresh) => {
|
|
136
|
+
var _a;
|
|
122
137
|
try {
|
|
123
138
|
runInAction(() => {
|
|
124
139
|
this.loadStatus = LoadStatus.Loading;
|
|
@@ -148,8 +163,8 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
148
163
|
if (this.isInitialized && !forceRefresh) {
|
|
149
164
|
const isSuccess = this.syncFromStorage();
|
|
150
165
|
if (isSuccess) {
|
|
151
|
-
if (
|
|
152
|
-
await this.
|
|
166
|
+
if ((_a = this.registeredChanges) === null || _a === void 0 ? void 0 : _a.length) {
|
|
167
|
+
await Promise.all(this.registeredChanges.map(section => this.mapModifiableSectionToFetcher[section]()));
|
|
153
168
|
}
|
|
154
169
|
}
|
|
155
170
|
else {
|
|
@@ -160,10 +175,11 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
160
175
|
await fetchAll();
|
|
161
176
|
this.setIsInitialized(true);
|
|
162
177
|
}
|
|
178
|
+
this.removeRegisteredChanges();
|
|
163
179
|
const timezoneFetched = this.tenantConfigs.TimeZone;
|
|
164
180
|
if (timezoneFetched) {
|
|
165
181
|
runInAction(() => {
|
|
166
|
-
this.timezone =
|
|
182
|
+
this.timezone = timezoneFetched;
|
|
167
183
|
});
|
|
168
184
|
}
|
|
169
185
|
runInAction(() => {
|
|
@@ -171,7 +187,7 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
171
187
|
});
|
|
172
188
|
this.registerGlobalSyncListener();
|
|
173
189
|
}
|
|
174
|
-
catch (
|
|
190
|
+
catch (_b) {
|
|
175
191
|
runInAction(() => {
|
|
176
192
|
this.loadStatus = LoadStatus.Error;
|
|
177
193
|
});
|
|
@@ -214,6 +230,34 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
214
230
|
writable: true,
|
|
215
231
|
value: () => this.fetchPartitions().then(this.emitGlobalSync)
|
|
216
232
|
});
|
|
233
|
+
Object.defineProperty(this, "dispose", {
|
|
234
|
+
enumerable: true,
|
|
235
|
+
configurable: true,
|
|
236
|
+
writable: true,
|
|
237
|
+
value: () => {
|
|
238
|
+
this.registerPossibleChanges();
|
|
239
|
+
this.unregisterGlobalSyncListener();
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
Object.defineProperty(this, "registerPossibleChanges", {
|
|
243
|
+
enumerable: true,
|
|
244
|
+
configurable: true,
|
|
245
|
+
writable: true,
|
|
246
|
+
value: () => {
|
|
247
|
+
var _a;
|
|
248
|
+
if ((_a = this.possibleChanges) === null || _a === void 0 ? void 0 : _a.length) {
|
|
249
|
+
window[registeredChangesSymbol] = this.possibleChanges;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
Object.defineProperty(this, "removeRegisteredChanges", {
|
|
254
|
+
enumerable: true,
|
|
255
|
+
configurable: true,
|
|
256
|
+
writable: true,
|
|
257
|
+
value: () => {
|
|
258
|
+
window[registeredChangesSymbol] = undefined;
|
|
259
|
+
}
|
|
260
|
+
});
|
|
217
261
|
Object.defineProperty(this, "unregisterGlobalSyncListener", {
|
|
218
262
|
enumerable: true,
|
|
219
263
|
configurable: true,
|
|
@@ -250,7 +294,7 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
250
294
|
configurable: true,
|
|
251
295
|
writable: true,
|
|
252
296
|
value: (instanceSymbol) => {
|
|
253
|
-
if (instanceSymbol !== currentInstanceSymbol) {
|
|
297
|
+
if (instanceSymbol !== this.currentInstanceSymbol) {
|
|
254
298
|
this.syncFromStorage();
|
|
255
299
|
}
|
|
256
300
|
}
|
|
@@ -260,7 +304,7 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
260
304
|
configurable: true,
|
|
261
305
|
writable: true,
|
|
262
306
|
value: () => {
|
|
263
|
-
this.eventEmitter.emit(Events.SyncFromStorage, currentInstanceSymbol);
|
|
307
|
+
this.eventEmitter.emit(Events.SyncFromStorage, this.currentInstanceSymbol);
|
|
264
308
|
}
|
|
265
309
|
});
|
|
266
310
|
Object.defineProperty(this, "syncFromStorage", {
|
|
@@ -400,6 +444,14 @@ let StandaloneRootStore = class StandaloneRootStore {
|
|
|
400
444
|
get isInitialized() {
|
|
401
445
|
return !!window[isInitializedSymbol];
|
|
402
446
|
}
|
|
447
|
+
get registeredChanges() {
|
|
448
|
+
return window[registeredChangesSymbol];
|
|
449
|
+
}
|
|
450
|
+
get mapModifiableSectionToFetcher() {
|
|
451
|
+
return {
|
|
452
|
+
[ModifiableRootSection.Onboarding]: this.fetchOnboarding,
|
|
453
|
+
};
|
|
454
|
+
}
|
|
403
455
|
};
|
|
404
456
|
__decorate([
|
|
405
457
|
observable,
|
|
@@ -444,11 +496,12 @@ StandaloneRootStore = __decorate([
|
|
|
444
496
|
__param(2, inject(CurrentUserClientApi)),
|
|
445
497
|
__param(3, inject(OnboardingApi)),
|
|
446
498
|
__param(4, inject(PartitionsClientApi)),
|
|
499
|
+
__param(5, inject(POSSIBLE_CHANGES_TOKEN)),
|
|
447
500
|
__metadata("design:paramtypes", [TenantManagementApi,
|
|
448
501
|
AppConfigApi,
|
|
449
502
|
CurrentUserClientApi,
|
|
450
503
|
OnboardingApi,
|
|
451
|
-
PartitionsClientApi])
|
|
504
|
+
PartitionsClientApi, Object])
|
|
452
505
|
], StandaloneRootStore);
|
|
453
506
|
export { StandaloneRootStore };
|
|
454
507
|
//# sourceMappingURL=standalone-root.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-root.store.js","sourceRoot":"","sources":["../../src/stores/standalone-root.store.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/D,OAAO,EACH,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,GACd,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"standalone-root.store.js","sourceRoot":"","sources":["../../src/stores/standalone-root.store.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/symbols.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const isInitializedSymbol: unique symbol;
|
|
2
2
|
export declare const eventEmitterSymbol: unique symbol;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const registeredChangesSymbol: unique symbol;
|
|
4
4
|
//# sourceMappingURL=symbols.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/utils/symbols.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/utils/symbols.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,eAA4B,CAAC;AAC7D,eAAO,MAAM,kBAAkB,eAAoC,CAAC;AACpE,eAAO,MAAM,uBAAuB,eAAyC,CAAC"}
|
package/dist/utils/symbols.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const rootSymbolKey = 'standalone-root-symbol-key';
|
|
2
2
|
const eventEmitterSymbolKey = 'standalone-root-event-emitter-symbol-key';
|
|
3
|
+
const registeredChangesSymbolKey = 'standalone-root-modifiable-changes-symbol-key';
|
|
3
4
|
export const isInitializedSymbol = Symbol.for(rootSymbolKey);
|
|
4
5
|
export const eventEmitterSymbol = Symbol.for(eventEmitterSymbolKey);
|
|
5
|
-
export const
|
|
6
|
+
export const registeredChangesSymbol = Symbol.for(registeredChangesSymbolKey);
|
|
6
7
|
//# sourceMappingURL=symbols.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/utils/symbols.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,4BAA4B,CAAC;AACnD,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/utils/symbols.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,4BAA4B,CAAC;AACnD,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;AACzE,MAAM,0BAA0B,GAAG,+CAA+C,CAAC;AAEnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,sBAAsB,oFAGlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC7C,wBAAwB,EACxB,KAAK,CACR,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/standalone-root",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Root data providers for Standalone MFEs and Hosts",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"typings": "./dist/index.d.ts",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"cli": {
|
|
34
34
|
"webpack": false
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "0669daff840cb1720a4ac7275022ea0851a53467"
|
|
37
37
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC, PropsWithChildren, useEffect } from 'react';
|
|
1
|
+
import { FC, PropsWithChildren, ReactNode, useEffect } from 'react';
|
|
2
2
|
import { provide, Provider, useDependencies } from '@servicetitan/react-ioc';
|
|
3
3
|
import {
|
|
4
4
|
BASE_URL_TOKEN_TenantManagementApi,
|
|
@@ -24,11 +24,14 @@ import {
|
|
|
24
24
|
BASE_URL_TOKEN_CurrentUserClientApi,
|
|
25
25
|
BASE_URL_TOKEN_PartitionsClientApi,
|
|
26
26
|
} from '@servicetitan/marketing-services-api/dist/identity/partition.api';
|
|
27
|
+
import { ModifiableRootSection } from '../../enums';
|
|
28
|
+
import { POSSIBLE_CHANGES_TOKEN } from '../../utils/tokens';
|
|
27
29
|
|
|
28
30
|
interface StandaloneRootProviderProps extends PropsWithChildren {
|
|
29
31
|
forceRefreshOnMount?: boolean;
|
|
30
|
-
|
|
32
|
+
possibleChangesInside?: ModifiableRootSection[];
|
|
31
33
|
baseUrl?: string;
|
|
34
|
+
loadingFallback?: ReactNode;
|
|
32
35
|
}
|
|
33
36
|
|
|
34
37
|
const StandaloneRootProviderUnwrapped: FC<StandaloneRootProviderProps> = provide({
|
|
@@ -41,25 +44,19 @@ const StandaloneRootProviderUnwrapped: FC<StandaloneRootProviderProps> = provide
|
|
|
41
44
|
OnboardingApi,
|
|
42
45
|
],
|
|
43
46
|
})(
|
|
44
|
-
observer(({ children, forceRefreshOnMount,
|
|
45
|
-
const [{ initialize, loadStatus, locale,
|
|
46
|
-
useDependencies(StandaloneRootStore);
|
|
47
|
+
observer(({ children, forceRefreshOnMount, loadingFallback }) => {
|
|
48
|
+
const [{ initialize, loadStatus, locale, dispose }] = useDependencies(StandaloneRootStore);
|
|
47
49
|
|
|
48
50
|
useEffect(() => {
|
|
49
|
-
initialize(!!forceRefreshOnMount
|
|
51
|
+
initialize(!!forceRefreshOnMount);
|
|
50
52
|
|
|
51
53
|
return () => {
|
|
52
|
-
|
|
54
|
+
dispose();
|
|
53
55
|
};
|
|
54
|
-
}, [
|
|
55
|
-
initialize,
|
|
56
|
-
forceRefreshOnMount,
|
|
57
|
-
refreshOnboardingOnMount,
|
|
58
|
-
unregisterGlobalSyncListener,
|
|
59
|
-
]);
|
|
56
|
+
}, [initialize, forceRefreshOnMount, dispose]);
|
|
60
57
|
|
|
61
58
|
if (loadStatus === LoadStatus.Loading) {
|
|
62
|
-
return <CenteredSpinner inFrame />;
|
|
59
|
+
return loadingFallback ?? <CenteredSpinner inFrame />;
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
if (loadStatus === LoadStatus.Ok) {
|
|
@@ -73,7 +70,7 @@ const StandaloneRootProviderUnwrapped: FC<StandaloneRootProviderProps> = provide
|
|
|
73
70
|
);
|
|
74
71
|
|
|
75
72
|
export const StandaloneRootProvider: FC<StandaloneRootProviderProps> = props => {
|
|
76
|
-
const { baseUrl } = props;
|
|
73
|
+
const { baseUrl, possibleChangesInside } = props;
|
|
77
74
|
|
|
78
75
|
return (
|
|
79
76
|
<Provider
|
|
@@ -83,6 +80,7 @@ export const StandaloneRootProvider: FC<StandaloneRootProviderProps> = props =>
|
|
|
83
80
|
{ provide: BASE_URL_TOKEN_AppConfigApi, useValue: baseUrl },
|
|
84
81
|
{ provide: BASE_URL_TOKEN_CurrentUserClientApi, useValue: baseUrl },
|
|
85
82
|
{ provide: BASE_URL_TOKEN_PartitionsClientApi, useValue: baseUrl },
|
|
83
|
+
{ provide: POSSIBLE_CHANGES_TOKEN, useValue: possibleChangesInside },
|
|
86
84
|
]}
|
|
87
85
|
>
|
|
88
86
|
<StandaloneRootProviderUnwrapped {...props} />
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root-section';
|
package/src/index.ts
CHANGED