woodsportal-client-sdk 4.1.2 → 5.0.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/dist/adapters/angular/index.d.ts +9 -2
- package/dist/adapters/angular/index.js +6 -6
- package/dist/adapters/angular/index.js.map +1 -1
- package/dist/adapters/native/index.d.ts +1 -1
- package/dist/adapters/native/index.js +5 -5
- package/dist/adapters/react/index.d.ts +9 -2
- package/dist/adapters/react/index.js +5 -5
- package/dist/adapters/vue/index.d.ts +9 -2
- package/dist/adapters/vue/index.js +6 -6
- package/dist/adapters/vue/index.js.map +1 -1
- package/dist/{auth-utils-P5IGNMTK.js → auth-utils-JGNW73IJ.js} +3 -3
- package/dist/{auth-utils-P5IGNMTK.js.map → auth-utils-JGNW73IJ.js.map} +1 -1
- package/dist/chunk-2OLIVT2F.js +343 -0
- package/dist/chunk-2OLIVT2F.js.map +1 -0
- package/dist/{chunk-JEQNFCQP.js → chunk-BXHEEGBF.js} +108 -28
- package/dist/chunk-BXHEEGBF.js.map +1 -0
- package/dist/chunk-CUVU6DCT.js +3 -0
- package/dist/{chunk-55MIERLJ.js.map → chunk-CUVU6DCT.js.map} +1 -1
- package/dist/{chunk-JWEA5HWX.js → chunk-D5GHE2CO.js} +6 -5
- package/dist/chunk-D5GHE2CO.js.map +1 -0
- package/dist/chunk-ITBMRGCP.js +16 -0
- package/dist/chunk-ITBMRGCP.js.map +1 -0
- package/dist/{chunk-ZZCYSW32.js → chunk-JSXP2F2H.js} +95 -73
- package/dist/chunk-JSXP2F2H.js.map +1 -0
- package/dist/{chunk-YGSPLKDC.js → chunk-MLBZ5FQA.js} +5 -5
- package/dist/{chunk-YGSPLKDC.js.map → chunk-MLBZ5FQA.js.map} +1 -1
- package/dist/{chunk-WJBWIUQM.js → chunk-OH7VT6MX.js} +6 -5
- package/dist/chunk-OH7VT6MX.js.map +1 -0
- package/dist/{chunk-JZ5BNYYH.js → chunk-VDMDWMMX.js} +15 -7
- package/dist/chunk-VDMDWMMX.js.map +1 -0
- package/dist/{chunk-JVJMM4SZ.js → chunk-XDYXEYDM.js} +35 -6
- package/dist/chunk-XDYXEYDM.js.map +1 -0
- package/dist/{cache-purge-CokkqLSk.d.ts → crmCacheRefresh-B9sAQzI7.d.ts} +31 -1
- package/dist/cross-tab-session-FCAQTXUB.js +11 -0
- package/dist/{cross-tab-session-VAOXHEZL.js.map → cross-tab-session-FCAQTXUB.js.map} +1 -1
- package/dist/entries/auth.d.ts +2 -2
- package/dist/entries/auth.js +5 -5
- package/dist/entries/auth.js.map +1 -1
- package/dist/entries/crm.d.ts +17 -3
- package/dist/entries/crm.js +11 -9
- package/dist/entries/crm.js.map +1 -1
- package/dist/index.d.ts +42 -50
- package/dist/index.js +15 -14
- package/dist/index.js.map +1 -1
- package/dist/{route-guard-contract-C6Gbvr5x.d.ts → route-guard-contract-CSJMmfDA.d.ts} +3 -1
- package/dist/{use-sync-B4xio81b.d.ts → use-sync-BQfzHacf.d.ts} +6 -1
- package/package.json +1 -1
- package/dist/chunk-55MIERLJ.js +0 -3
- package/dist/chunk-F43GSZXK.js +0 -110
- package/dist/chunk-F43GSZXK.js.map +0 -1
- package/dist/chunk-JEQNFCQP.js.map +0 -1
- package/dist/chunk-JVJMM4SZ.js.map +0 -1
- package/dist/chunk-JWEA5HWX.js.map +0 -1
- package/dist/chunk-JZ5BNYYH.js.map +0 -1
- package/dist/chunk-WJBWIUQM.js.map +0 -1
- package/dist/chunk-XQAVHI2F.js +0 -16
- package/dist/chunk-XQAVHI2F.js.map +0 -1
- package/dist/chunk-ZZCYSW32.js.map +0 -1
- package/dist/cross-tab-session-VAOXHEZL.js +0 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
|
|
2
|
-
import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-
|
|
2
|
+
import { E as EmailState, N as NoteState, O as ObjectState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-BQfzHacf.js';
|
|
3
3
|
|
|
4
4
|
declare const useTable: () => TableState & {
|
|
5
5
|
setObjectsQueryParams(params: any): void;
|
|
@@ -63,6 +63,13 @@ declare const useMultiObjectActions: () => MultiObjectTableState & {
|
|
|
63
63
|
clearLatestMultiObjectPrependData(hubspotObjectTypeId?: string): void;
|
|
64
64
|
setMultiObjectPrependData(response: any, props?: any): Promise<void>;
|
|
65
65
|
};
|
|
66
|
+
declare const useObject: () => ObjectState & {
|
|
67
|
+
setObjectData(response: any, payload?: any): void;
|
|
68
|
+
updateObjectData(response: any, payload?: any): any;
|
|
69
|
+
setObjectAssociationPrependData(response: any, props?: any): Promise<void>;
|
|
70
|
+
clearLatestObjectAssociationPrependData(props?: any): void;
|
|
71
|
+
clearObjectData(): void;
|
|
72
|
+
};
|
|
66
73
|
declare const useNote: () => NoteState & {
|
|
67
74
|
setListQueryParams(params: any): void;
|
|
68
75
|
setNotes(response: any, payload: any): void;
|
|
@@ -100,4 +107,4 @@ declare const useFile: () => FileState & {
|
|
|
100
107
|
clearFiles(): void;
|
|
101
108
|
};
|
|
102
109
|
|
|
103
|
-
export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser };
|
|
110
|
+
export { useEmail, useFile, useMultiObjectActions, useNote, useObject, useSync, useTable, useTableUi, useUploader, useUser };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { bindStoreWithActions } from '../../chunk-AYTO6ND7.js';
|
|
2
|
-
import { createAdapterHooks } from '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
2
|
+
import { createAdapterHooks } from '../../chunk-OH7VT6MX.js';
|
|
3
|
+
import '../../chunk-2OLIVT2F.js';
|
|
4
|
+
import '../../chunk-JSXP2F2H.js';
|
|
5
|
+
import '../../chunk-XDYXEYDM.js';
|
|
6
6
|
import '../../chunk-32ERSTFY.js';
|
|
7
7
|
import '../../chunk-DB6W3CJT.js';
|
|
8
8
|
import '../../chunk-KGNMN7B3.js';
|
|
@@ -32,8 +32,8 @@ function createAngularStoreComposable(store, actions) {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
// src/main/adapters/angular/index.ts
|
|
35
|
-
var { useTable, useTableUi, useMultiObjectActions, useNote, useEmail, useUser, useSync, useUploader, useFile } = createAdapterHooks(createAngularStoreComposable);
|
|
35
|
+
var { useTable, useTableUi, useMultiObjectActions, useObject, useNote, useEmail, useUser, useSync, useUploader, useFile } = createAdapterHooks(createAngularStoreComposable);
|
|
36
36
|
|
|
37
|
-
export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser };
|
|
37
|
+
export { useEmail, useFile, useMultiObjectActions, useNote, useObject, useSync, useTable, useTableUi, useUploader, useUser };
|
|
38
38
|
//# sourceMappingURL=index.js.map
|
|
39
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/main/adapters/shared/createAngularComposable.ts","../../../src/main/adapters/angular/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAGO,SAAS,4BAAA,CAA6E,OAAkC,OAAA,EAAmB;AAC9I,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,UAAA,GAAa,OAAO,UAAU,CAAA;AACpC,IAAA,MAAM,OAAA,GAAU,oBAAA,CAAqB,KAAA,EAAO,OAAO,CAAA;AACnD,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,OAAA,CAAQ,WAAA,EAAa,CAAA;AAE7C,IAAA,UAAA,CAAW,SAAA;AAAA,MACP,OAAA,CAAQ,UAAU,MAAM;AACpB,QAAA,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,WAAA,EAAa,CAAA;AAAA,MACtC,CAAC;AAAA,KACL;AAEA,IAAA,OAAO,IAAI,KAAA,CAAM,EAAC,EAAwB;AAAA,MACtC,GAAA,CAAI,SAAS,IAAA,EAAM;AACf,QAAA,MAAM,GAAA,GAAM,OAAO,IAAI,CAAA;AACvB,QAAA,IAAI,OAAO,OAAA,EAAS;AAChB,UAAA,OAAQ,QAAoC,GAAG,CAAA;AAAA,QACnD;AACA,QAAA,OAAO,QAAA,GAAW,GAAmB,CAAA;AAAA,MACzC;AAAA,KACH,CAAA;AAAA,EACL,CAAA;AACJ;;;ACtBO,IAAM,EAAE,QAAA,EAAU,UAAA,EAAY,qBAAA,EAAuB,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,WAAA,EAAa,OAAA,EAAQ,
|
|
1
|
+
{"version":3,"sources":["../../../src/main/adapters/shared/createAngularComposable.ts","../../../src/main/adapters/angular/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAGO,SAAS,4BAAA,CAA6E,OAAkC,OAAA,EAAmB;AAC9I,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,UAAA,GAAa,OAAO,UAAU,CAAA;AACpC,IAAA,MAAM,OAAA,GAAU,oBAAA,CAAqB,KAAA,EAAO,OAAO,CAAA;AACnD,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,OAAA,CAAQ,WAAA,EAAa,CAAA;AAE7C,IAAA,UAAA,CAAW,SAAA;AAAA,MACP,OAAA,CAAQ,UAAU,MAAM;AACpB,QAAA,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,WAAA,EAAa,CAAA;AAAA,MACtC,CAAC;AAAA,KACL;AAEA,IAAA,OAAO,IAAI,KAAA,CAAM,EAAC,EAAwB;AAAA,MACtC,GAAA,CAAI,SAAS,IAAA,EAAM;AACf,QAAA,MAAM,GAAA,GAAM,OAAO,IAAI,CAAA;AACvB,QAAA,IAAI,OAAO,OAAA,EAAS;AAChB,UAAA,OAAQ,QAAoC,GAAG,CAAA;AAAA,QACnD;AACA,QAAA,OAAO,QAAA,GAAW,GAAmB,CAAA;AAAA,MACzC;AAAA,KACH,CAAA;AAAA,EACL,CAAA;AACJ;;;ACtBO,IAAM,EAAE,QAAA,EAAU,UAAA,EAAY,qBAAA,EAAuB,SAAA,EAAW,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,WAAA,EAAa,OAAA,EAAQ,GAC7H,mBAAmB,4BAA4B","file":"index.js","sourcesContent":["import { DestroyRef, inject, signal } from '@angular/core'\nimport { bindStoreWithActions, type SubscribableStore } from './bindStoreWithActions'\n\nexport function createAngularStoreComposable<TState extends object, TActions extends object>(store: SubscribableStore<TState>, actions: TActions) {\n return function useStore(): TState & TActions {\n const destroyRef = inject(DestroyRef)\n const binding = bindStoreWithActions(store, actions)\n const snapshot = signal(binding.getSnapshot())\n\n destroyRef.onDestroy(\n binding.subscribe(() => {\n snapshot.set(binding.getSnapshot())\n })\n )\n\n return new Proxy({} as TState & TActions, {\n get(_target, prop) {\n const key = String(prop)\n if (key in actions) {\n return (actions as Record<string, unknown>)[key]\n }\n return snapshot()[key as keyof TState]\n }\n })\n }\n}\n","import { createAdapterHooks } from '../shared/createAdapterHooks'\nimport { createAngularStoreComposable } from '../shared/createAngularComposable'\n\nexport const { useTable, useTableUi, useMultiObjectActions, useObject, useNote, useEmail, useUser, useSync, useUploader, useFile } =\n createAdapterHooks(createAngularStoreComposable)\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { useTable, useTableUi, useUser } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
1
|
+
export { useTable, useTableUi, useUser } from '../../chunk-ITBMRGCP.js';
|
|
2
|
+
import '../../chunk-OH7VT6MX.js';
|
|
3
|
+
import '../../chunk-2OLIVT2F.js';
|
|
4
|
+
import '../../chunk-JSXP2F2H.js';
|
|
5
|
+
import '../../chunk-XDYXEYDM.js';
|
|
6
6
|
import '../../chunk-32ERSTFY.js';
|
|
7
7
|
import '../../chunk-DB6W3CJT.js';
|
|
8
8
|
import '../../chunk-KGNMN7B3.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
|
|
2
|
-
import { T as TableState, a as TableUiState, U as UserState, E as EmailState, N as NoteState, S as SyncState } from '../../use-sync-
|
|
2
|
+
import { T as TableState, a as TableUiState, U as UserState, E as EmailState, N as NoteState, O as ObjectState, S as SyncState } from '../../use-sync-BQfzHacf.js';
|
|
3
3
|
|
|
4
4
|
declare const useTable: () => TableState & {
|
|
5
5
|
setObjectsQueryParams(params: any): void;
|
|
@@ -63,6 +63,13 @@ declare const useMultiObjectActions: () => MultiObjectTableState & {
|
|
|
63
63
|
clearLatestMultiObjectPrependData(hubspotObjectTypeId?: string): void;
|
|
64
64
|
setMultiObjectPrependData(response: any, props?: any): Promise<void>;
|
|
65
65
|
};
|
|
66
|
+
declare const useObject: () => ObjectState & {
|
|
67
|
+
setObjectData(response: any, payload?: any): void;
|
|
68
|
+
updateObjectData(response: any, payload?: any): any;
|
|
69
|
+
setObjectAssociationPrependData(response: any, props?: any): Promise<void>;
|
|
70
|
+
clearLatestObjectAssociationPrependData(props?: any): void;
|
|
71
|
+
clearObjectData(): void;
|
|
72
|
+
};
|
|
66
73
|
declare const useNote: () => NoteState & {
|
|
67
74
|
setListQueryParams(params: any): void;
|
|
68
75
|
setNotes(response: any, payload: any): void;
|
|
@@ -100,4 +107,4 @@ declare const useFile: () => FileState & {
|
|
|
100
107
|
clearFiles(): void;
|
|
101
108
|
};
|
|
102
109
|
|
|
103
|
-
export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser };
|
|
110
|
+
export { useEmail, useFile, useMultiObjectActions, useNote, useObject, useSync, useTable, useTableUi, useUploader, useUser };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
1
|
+
export { useEmail, useFile, useMultiObjectActions, useNote, useObject, useSync, useTable, useTableUi, useUploader, useUser } from '../../chunk-ITBMRGCP.js';
|
|
2
|
+
import '../../chunk-OH7VT6MX.js';
|
|
3
|
+
import '../../chunk-2OLIVT2F.js';
|
|
4
|
+
import '../../chunk-JSXP2F2H.js';
|
|
5
|
+
import '../../chunk-XDYXEYDM.js';
|
|
6
6
|
import '../../chunk-32ERSTFY.js';
|
|
7
7
|
import '../../chunk-DB6W3CJT.js';
|
|
8
8
|
import '../../chunk-KGNMN7B3.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
|
|
2
|
-
import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-
|
|
2
|
+
import { E as EmailState, N as NoteState, O as ObjectState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-BQfzHacf.js';
|
|
3
3
|
|
|
4
4
|
declare const useTable: () => TableState & {
|
|
5
5
|
setObjectsQueryParams(params: any): void;
|
|
@@ -63,6 +63,13 @@ declare const useMultiObjectActions: () => MultiObjectTableState & {
|
|
|
63
63
|
clearLatestMultiObjectPrependData(hubspotObjectTypeId?: string): void;
|
|
64
64
|
setMultiObjectPrependData(response: any, props?: any): Promise<void>;
|
|
65
65
|
};
|
|
66
|
+
declare const useObject: () => ObjectState & {
|
|
67
|
+
setObjectData(response: any, payload?: any): void;
|
|
68
|
+
updateObjectData(response: any, payload?: any): any;
|
|
69
|
+
setObjectAssociationPrependData(response: any, props?: any): Promise<void>;
|
|
70
|
+
clearLatestObjectAssociationPrependData(props?: any): void;
|
|
71
|
+
clearObjectData(): void;
|
|
72
|
+
};
|
|
66
73
|
declare const useNote: () => NoteState & {
|
|
67
74
|
setListQueryParams(params: any): void;
|
|
68
75
|
setNotes(response: any, payload: any): void;
|
|
@@ -100,4 +107,4 @@ declare const useFile: () => FileState & {
|
|
|
100
107
|
clearFiles(): void;
|
|
101
108
|
};
|
|
102
109
|
|
|
103
|
-
export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser };
|
|
110
|
+
export { useEmail, useFile, useMultiObjectActions, useNote, useObject, useSync, useTable, useTableUi, useUploader, useUser };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { bindStoreWithActions } from '../../chunk-AYTO6ND7.js';
|
|
2
|
-
import { createAdapterHooks } from '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
2
|
+
import { createAdapterHooks } from '../../chunk-OH7VT6MX.js';
|
|
3
|
+
import '../../chunk-2OLIVT2F.js';
|
|
4
|
+
import '../../chunk-JSXP2F2H.js';
|
|
5
|
+
import '../../chunk-XDYXEYDM.js';
|
|
6
6
|
import '../../chunk-32ERSTFY.js';
|
|
7
7
|
import '../../chunk-DB6W3CJT.js';
|
|
8
8
|
import '../../chunk-KGNMN7B3.js';
|
|
@@ -23,8 +23,8 @@ function createVueStoreComposable(store, actions) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
// src/main/adapters/vue/index.ts
|
|
26
|
-
var { useTable, useTableUi, useMultiObjectActions, useNote, useEmail, useUser, useSync, useUploader, useFile } = createAdapterHooks(createVueStoreComposable);
|
|
26
|
+
var { useTable, useTableUi, useMultiObjectActions, useObject, useNote, useEmail, useUser, useSync, useUploader, useFile } = createAdapterHooks(createVueStoreComposable);
|
|
27
27
|
|
|
28
|
-
export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser };
|
|
28
|
+
export { useEmail, useFile, useMultiObjectActions, useNote, useObject, useSync, useTable, useTableUi, useUploader, useUser };
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
|
30
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/main/adapters/shared/createVueComposable.ts","../../../src/main/adapters/vue/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAGO,SAAS,wBAAA,CAAyE,OAAkC,OAAA,EAAmB;AAC1I,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,OAAA,GAAU,oBAAA,CAAqB,KAAA,EAAO,OAAO,CAAA;AACnD,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,OAAA,CAAQ,WAAA,EAAa,CAAA;AAE5C,IAAA,cAAA;AAAA,MACI,OAAA,CAAQ,UAAU,MAAM;AACpB,QAAA,MAAA,CAAO,MAAA,CAAO,KAAA,EAAO,OAAA,CAAQ,WAAA,EAAa,CAAA;AAAA,MAC9C,CAAC;AAAA,KACL;AAEA,IAAA,OAAO,KAAA;AAAA,EACX,CAAA;AACJ;;;ACbO,IAAM,EAAE,QAAA,EAAU,UAAA,EAAY,qBAAA,EAAuB,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,WAAA,EAAa,OAAA,EAAQ,
|
|
1
|
+
{"version":3,"sources":["../../../src/main/adapters/shared/createVueComposable.ts","../../../src/main/adapters/vue/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAGO,SAAS,wBAAA,CAAyE,OAAkC,OAAA,EAAmB;AAC1I,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,OAAA,GAAU,oBAAA,CAAqB,KAAA,EAAO,OAAO,CAAA;AACnD,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,OAAA,CAAQ,WAAA,EAAa,CAAA;AAE5C,IAAA,cAAA;AAAA,MACI,OAAA,CAAQ,UAAU,MAAM;AACpB,QAAA,MAAA,CAAO,MAAA,CAAO,KAAA,EAAO,OAAA,CAAQ,WAAA,EAAa,CAAA;AAAA,MAC9C,CAAC;AAAA,KACL;AAEA,IAAA,OAAO,KAAA;AAAA,EACX,CAAA;AACJ;;;ACbO,IAAM,EAAE,QAAA,EAAU,UAAA,EAAY,qBAAA,EAAuB,SAAA,EAAW,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,WAAA,EAAa,OAAA,EAAQ,GAC7H,mBAAmB,wBAAwB","file":"index.js","sourcesContent":["import { onScopeDispose, reactive } from 'vue'\nimport { bindStoreWithActions, type SubscribableStore } from './bindStoreWithActions'\n\nexport function createVueStoreComposable<TState extends object, TActions extends object>(store: SubscribableStore<TState>, actions: TActions) {\n return function useStore(): TState & TActions {\n const binding = bindStoreWithActions(store, actions)\n const state = reactive(binding.getSnapshot()) as TState & TActions\n\n onScopeDispose(\n binding.subscribe(() => {\n Object.assign(state, binding.getSnapshot())\n })\n )\n\n return state\n }\n}\n","import { createAdapterHooks } from '../shared/createAdapterHooks'\nimport { createVueStoreComposable } from '../shared/createVueComposable'\n\nexport const { useTable, useTableUi, useMultiObjectActions, useObject, useNote, useEmail, useUser, useSync, useUploader, useFile } =\n createAdapterHooks(createVueStoreComposable)\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { clearAdapterSessionData, clearRefreshToken, getPortal, getProfile, getRefreshToken, getSubscriptionType, setAccessToken, setLoggedInDetails, setPortal, setProfileDetails, setRefreshToken, setSubscriptionType } from './chunk-
|
|
1
|
+
export { clearAdapterSessionData, clearRefreshToken, getPortal, getProfile, getRefreshToken, getSubscriptionType, setAccessToken, setLoggedInDetails, setPortal, setProfileDetails, setRefreshToken, setSubscriptionType } from './chunk-XDYXEYDM.js';
|
|
2
2
|
import './chunk-32ERSTFY.js';
|
|
3
3
|
import './chunk-DB6W3CJT.js';
|
|
4
4
|
import './chunk-KGNMN7B3.js';
|
|
5
5
|
import './chunk-COHBSTHF.js';
|
|
6
|
-
//# sourceMappingURL=auth-utils-
|
|
7
|
-
//# sourceMappingURL=auth-utils-
|
|
6
|
+
//# sourceMappingURL=auth-utils-JGNW73IJ.js.map
|
|
7
|
+
//# sourceMappingURL=auth-utils-JGNW73IJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"auth-utils-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"auth-utils-JGNW73IJ.js"}
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { createStore, isLoadingPrependRow } from './chunk-JSXP2F2H.js';
|
|
2
|
+
|
|
3
|
+
// src/main/state/crm/use-object.ts
|
|
4
|
+
var OBJECT_DATA_META_KEYS = /* @__PURE__ */ new Set(["createdAt", "updatedAt", "id"]);
|
|
5
|
+
var objectStore = createStore({
|
|
6
|
+
object: null,
|
|
7
|
+
id: ""
|
|
8
|
+
});
|
|
9
|
+
function resolveRecordId(source, data) {
|
|
10
|
+
const fromSource = source?.params?.id ?? source?.recordId ?? source?.id;
|
|
11
|
+
if (fromSource != null && fromSource !== "") {
|
|
12
|
+
return String(fromSource);
|
|
13
|
+
}
|
|
14
|
+
const fromData = data?.id ?? data?.hs_object_id?.value ?? data?.hs_object_id;
|
|
15
|
+
if (fromData != null && fromData !== "") {
|
|
16
|
+
return String(fromData);
|
|
17
|
+
}
|
|
18
|
+
return "";
|
|
19
|
+
}
|
|
20
|
+
function isObjectField(key, value) {
|
|
21
|
+
if (OBJECT_DATA_META_KEYS.has(key) || key === "associations") {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
if (value == null || typeof value !== "object" || Array.isArray(value)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const field = value;
|
|
28
|
+
return "fieldType" in field || "isEditableField" in field || "isPrimaryDisplayProperty" in field || "value" in field;
|
|
29
|
+
}
|
|
30
|
+
function mergeObjectFields(existing, data) {
|
|
31
|
+
const next = { ...existing };
|
|
32
|
+
for (const [key, value] of Object.entries(data)) {
|
|
33
|
+
if (!isObjectField(key, value)) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const existingField = existing[key];
|
|
37
|
+
next[key] = existingField != null && typeof existingField === "object" && !Array.isArray(existingField) ? { ...existingField, ...value } : value;
|
|
38
|
+
}
|
|
39
|
+
return next;
|
|
40
|
+
}
|
|
41
|
+
function patchAssociationRecord(associations, recordId, data) {
|
|
42
|
+
for (const [key, group] of Object.entries(associations)) {
|
|
43
|
+
const rows = group?.data;
|
|
44
|
+
if (!Array.isArray(rows)) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const index = rows.findIndex((row) => resolveRecordId(row, row) === recordId);
|
|
48
|
+
if (index === -1) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const nextRows = [...rows];
|
|
52
|
+
nextRows[index] = mergeObjectFields(rows[index] ?? {}, data);
|
|
53
|
+
return {
|
|
54
|
+
...associations,
|
|
55
|
+
[key]: {
|
|
56
|
+
...group,
|
|
57
|
+
data: nextRows
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
function resolveAssociationObjectTypeId(props) {
|
|
64
|
+
const objectTypeId = props?.params?.hubspotObjectTypeId ?? props?.hubspotObjectTypeId;
|
|
65
|
+
return objectTypeId != null && objectTypeId !== "" ? String(objectTypeId) : "";
|
|
66
|
+
}
|
|
67
|
+
function findAssociationGroupKey(associations, objectTypeId) {
|
|
68
|
+
for (const [key, group] of Object.entries(associations)) {
|
|
69
|
+
if (group?.objectTypeId != null && String(group.objectTypeId) === objectTypeId) {
|
|
70
|
+
return key;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const key of Object.keys(associations)) {
|
|
74
|
+
if (key === objectTypeId || key.startsWith(`${objectTypeId}_`)) {
|
|
75
|
+
return key;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return void 0;
|
|
79
|
+
}
|
|
80
|
+
function isLoadingAssociationRow(row) {
|
|
81
|
+
if (!row || typeof row !== "object") {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
const values = Object.values(row);
|
|
85
|
+
if (values.length === 0) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
return values.every((value) => value === "loading" || value != null && typeof value === "object" && !Array.isArray(value) && value.value === "loading");
|
|
89
|
+
}
|
|
90
|
+
function toLoadingAssociationRow(template) {
|
|
91
|
+
if (template != null && typeof template === "object" && !Array.isArray(template)) {
|
|
92
|
+
return Object.fromEntries(
|
|
93
|
+
Object.entries(template).map(([key, value]) => {
|
|
94
|
+
if (value != null && typeof value === "object" && !Array.isArray(value) && "value" in value) {
|
|
95
|
+
return [key, { ...value, value: "loading" }];
|
|
96
|
+
}
|
|
97
|
+
return [key, "loading"];
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
return { name: { value: "loading" } };
|
|
102
|
+
}
|
|
103
|
+
function toAssociationRow(data) {
|
|
104
|
+
const row = {};
|
|
105
|
+
for (const [key, value] of Object.entries(data)) {
|
|
106
|
+
if (!isObjectField(key, value)) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
row[key] = value;
|
|
110
|
+
}
|
|
111
|
+
return row;
|
|
112
|
+
}
|
|
113
|
+
function setAssociationGroup(state, associations, key, group, rows, total) {
|
|
114
|
+
objectStore.setState({
|
|
115
|
+
object: {
|
|
116
|
+
...state.object,
|
|
117
|
+
data: {
|
|
118
|
+
...state.object.data,
|
|
119
|
+
associations: {
|
|
120
|
+
...associations,
|
|
121
|
+
[key]: {
|
|
122
|
+
...group,
|
|
123
|
+
data: rows,
|
|
124
|
+
...total != null ? { total } : {}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
var actions = {
|
|
132
|
+
setObjectData(response, payload) {
|
|
133
|
+
const data = response?.data;
|
|
134
|
+
const id = resolveRecordId(payload, data);
|
|
135
|
+
objectStore.setState({
|
|
136
|
+
object: response ?? null,
|
|
137
|
+
id
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
updateObjectData(response, payload) {
|
|
141
|
+
const data = response?.data;
|
|
142
|
+
const recordId = resolveRecordId(payload, data);
|
|
143
|
+
const state = objectStore.getState();
|
|
144
|
+
if (!data || !state.object) {
|
|
145
|
+
return response;
|
|
146
|
+
}
|
|
147
|
+
const existingData = state.object.data ?? {};
|
|
148
|
+
const associations = existingData.associations;
|
|
149
|
+
const isParentRecordUpdate = !state.id || !recordId || state.id === recordId;
|
|
150
|
+
if (!isParentRecordUpdate) {
|
|
151
|
+
const nextAssociations = associations && typeof associations === "object" ? patchAssociationRecord(associations, recordId, data) : null;
|
|
152
|
+
if (!nextAssociations) {
|
|
153
|
+
return response;
|
|
154
|
+
}
|
|
155
|
+
objectStore.setState({
|
|
156
|
+
object: {
|
|
157
|
+
...state.object,
|
|
158
|
+
data: {
|
|
159
|
+
...existingData,
|
|
160
|
+
associations: nextAssociations
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return response;
|
|
165
|
+
}
|
|
166
|
+
const nextData = mergeObjectFields(existingData, data);
|
|
167
|
+
objectStore.setState({
|
|
168
|
+
object: {
|
|
169
|
+
...state.object,
|
|
170
|
+
data: nextData,
|
|
171
|
+
...response?.configurations != null ? { configurations: response.configurations } : {},
|
|
172
|
+
...response?.info != null ? { info: response.info } : {}
|
|
173
|
+
},
|
|
174
|
+
id: state.id || recordId
|
|
175
|
+
});
|
|
176
|
+
return response;
|
|
177
|
+
},
|
|
178
|
+
async setObjectAssociationPrependData(response, props) {
|
|
179
|
+
const state = objectStore.getState();
|
|
180
|
+
const associations = state.object?.data?.associations;
|
|
181
|
+
const objectTypeId = resolveAssociationObjectTypeId(props);
|
|
182
|
+
if (!associations || typeof associations !== "object" || !objectTypeId) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const key = findAssociationGroupKey(associations, objectTypeId);
|
|
186
|
+
if (!key) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const group = associations[key];
|
|
190
|
+
const rows = Array.isArray(group?.data) ? [...group.data] : [];
|
|
191
|
+
if (response === "loading") {
|
|
192
|
+
rows.unshift(toLoadingAssociationRow(rows[0]));
|
|
193
|
+
setAssociationGroup(state, associations, key, group, rows);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const data = response?.data;
|
|
197
|
+
if (!data) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const hadLoading = isLoadingAssociationRow(rows[0]);
|
|
201
|
+
const row = toAssociationRow(data);
|
|
202
|
+
if (hadLoading) {
|
|
203
|
+
rows[0] = row;
|
|
204
|
+
} else {
|
|
205
|
+
rows.unshift(row);
|
|
206
|
+
}
|
|
207
|
+
const baseTotal = typeof group?.total === "number" ? group.total : Math.max((Array.isArray(group?.data) ? group.data.length : 0) - (hadLoading ? 1 : 0), 0);
|
|
208
|
+
setAssociationGroup(state, associations, key, group, rows, baseTotal + 1);
|
|
209
|
+
},
|
|
210
|
+
clearLatestObjectAssociationPrependData(props) {
|
|
211
|
+
const state = objectStore.getState();
|
|
212
|
+
const associations = state.object?.data?.associations;
|
|
213
|
+
const objectTypeId = resolveAssociationObjectTypeId(props);
|
|
214
|
+
if (!associations || typeof associations !== "object" || !objectTypeId) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
const key = findAssociationGroupKey(associations, objectTypeId);
|
|
218
|
+
if (!key) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const group = associations[key];
|
|
222
|
+
const rows = Array.isArray(group?.data) ? group.data : [];
|
|
223
|
+
if (rows.length === 0 || !isLoadingAssociationRow(rows[0])) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
setAssociationGroup(state, associations, key, group, rows.slice(1));
|
|
227
|
+
},
|
|
228
|
+
clearObjectData() {
|
|
229
|
+
objectStore.setState({
|
|
230
|
+
object: null,
|
|
231
|
+
id: ""
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
// src/main/state/crm/use-multi-object.ts
|
|
237
|
+
var multiObjectStore = createStore({
|
|
238
|
+
objects: {},
|
|
239
|
+
objectsPrependData: {},
|
|
240
|
+
meta: {}
|
|
241
|
+
});
|
|
242
|
+
function getObjectKey(payload) {
|
|
243
|
+
return String(payload?.params?.hubspotObjectTypeId ?? "");
|
|
244
|
+
}
|
|
245
|
+
var actions2 = {
|
|
246
|
+
setMultiObjectData(response, payload) {
|
|
247
|
+
const key = getObjectKey(payload);
|
|
248
|
+
const state = multiObjectStore.getState();
|
|
249
|
+
const rows = response?.data?.results?.rows ?? [];
|
|
250
|
+
const rowIds = new Set(
|
|
251
|
+
rows.map((row) => row.id ?? row.hs_object_id).filter((id) => id != null && id !== "").map((id) => String(id))
|
|
252
|
+
);
|
|
253
|
+
let newPrependForKey = (state.objectsPrependData[key] ?? []).filter((item) => {
|
|
254
|
+
const itemId = item.id ?? item.hs_object_id;
|
|
255
|
+
if (itemId == null || itemId === "") return true;
|
|
256
|
+
return !rowIds.has(String(itemId));
|
|
257
|
+
});
|
|
258
|
+
const selectedPipeline = payload?.queryParams?.selectedPipeline ?? "";
|
|
259
|
+
const viewType = response?.info?.viewType ?? "";
|
|
260
|
+
const prevMeta = state.meta[key];
|
|
261
|
+
if (response?.data?.total < 1 || payload?.queryParams?.componentName) {
|
|
262
|
+
newPrependForKey = [];
|
|
263
|
+
}
|
|
264
|
+
if (prevMeta?.viewType && prevMeta.viewType !== viewType) {
|
|
265
|
+
newPrependForKey = [];
|
|
266
|
+
}
|
|
267
|
+
if (prevMeta?.selectedPipeline && prevMeta.selectedPipeline !== selectedPipeline) {
|
|
268
|
+
newPrependForKey = [];
|
|
269
|
+
}
|
|
270
|
+
multiObjectStore.setState({
|
|
271
|
+
objects: { ...state.objects, [key]: response },
|
|
272
|
+
objectsPrependData: { ...state.objectsPrependData, [key]: newPrependForKey },
|
|
273
|
+
meta: {
|
|
274
|
+
...state.meta,
|
|
275
|
+
[key]: { selectedPipeline, viewType }
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
},
|
|
279
|
+
clearMultiObjectPrependData(hubspotObjectTypeId) {
|
|
280
|
+
const state = multiObjectStore.getState();
|
|
281
|
+
if (!hubspotObjectTypeId) {
|
|
282
|
+
multiObjectStore.setState({ objectsPrependData: {} });
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
const key = String(hubspotObjectTypeId);
|
|
286
|
+
const { [key]: _, ...rest } = state.objectsPrependData;
|
|
287
|
+
multiObjectStore.setState({ objectsPrependData: rest });
|
|
288
|
+
},
|
|
289
|
+
clearLatestMultiObjectPrependData(hubspotObjectTypeId) {
|
|
290
|
+
if (!hubspotObjectTypeId) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
const key = String(hubspotObjectTypeId);
|
|
294
|
+
const state = multiObjectStore.getState();
|
|
295
|
+
const prependRows = state.objectsPrependData[key] ?? [];
|
|
296
|
+
const latest = prependRows[0];
|
|
297
|
+
if (!latest || !isLoadingPrependRow(latest)) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
multiObjectStore.setState({
|
|
301
|
+
objectsPrependData: { ...state.objectsPrependData, [key]: prependRows.slice(1) }
|
|
302
|
+
});
|
|
303
|
+
},
|
|
304
|
+
async setMultiObjectPrependData(response, props) {
|
|
305
|
+
const key = getObjectKey(props);
|
|
306
|
+
const state = multiObjectStore.getState();
|
|
307
|
+
const tableResponse = state.objects[key];
|
|
308
|
+
let rows = state.objectsPrependData[key] ?? [];
|
|
309
|
+
if (tableResponse?.data?.total > 1) {
|
|
310
|
+
if (response === "loading") {
|
|
311
|
+
const row = tableResponse?.data?.results?.columns.reduce((acc, item) => {
|
|
312
|
+
if (!item.hidden) {
|
|
313
|
+
acc[item.key] = "loading";
|
|
314
|
+
}
|
|
315
|
+
return acc;
|
|
316
|
+
}, {});
|
|
317
|
+
rows = [row, ...rows];
|
|
318
|
+
} else if (response?.data) {
|
|
319
|
+
const data = response?.data;
|
|
320
|
+
if (!data) {
|
|
321
|
+
multiObjectStore.setState({
|
|
322
|
+
objectsPrependData: { ...state.objectsPrependData, [key]: [] }
|
|
323
|
+
});
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const row = Object.fromEntries(Object.entries(data).map(([k, value]) => [k, value?.value ?? value]));
|
|
327
|
+
rows = [...rows];
|
|
328
|
+
if (rows.length > 0) {
|
|
329
|
+
rows[0] = row;
|
|
330
|
+
} else {
|
|
331
|
+
rows.push(row);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
multiObjectStore.setState({
|
|
336
|
+
objectsPrependData: { ...state.objectsPrependData, [key]: rows }
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
export { actions2 as actions, actions as actions2, multiObjectStore, objectStore };
|
|
342
|
+
//# sourceMappingURL=chunk-2OLIVT2F.js.map
|
|
343
|
+
//# sourceMappingURL=chunk-2OLIVT2F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/main/state/crm/use-object.ts","../src/main/state/crm/use-multi-object.ts"],"names":["actions"],"mappings":"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","file":"chunk-2OLIVT2F.js","sourcesContent":["import { createStore } from './store'\n\nexport interface ObjectState {\n object: any\n id: string\n}\n\nconst OBJECT_DATA_META_KEYS = new Set(['createdAt', 'updatedAt', 'id'])\n\nexport const objectStore = createStore<ObjectState>({\n object: null,\n id: ''\n})\n\nfunction resolveRecordId(source: any, data?: any): string {\n const fromSource = source?.params?.id ?? source?.recordId ?? source?.id\n if (fromSource != null && fromSource !== '') {\n return String(fromSource)\n }\n\n const fromData = data?.id ?? data?.hs_object_id?.value ?? data?.hs_object_id\n if (fromData != null && fromData !== '') {\n return String(fromData)\n }\n\n return ''\n}\n\nfunction isObjectField(key: string, value: unknown): boolean {\n if (OBJECT_DATA_META_KEYS.has(key) || key === 'associations') {\n return false\n }\n\n if (value == null || typeof value !== 'object' || Array.isArray(value)) {\n return false\n }\n\n const field = value as Record<string, unknown>\n return 'fieldType' in field || 'isEditableField' in field || 'isPrimaryDisplayProperty' in field || 'value' in field\n}\n\nfunction mergeObjectFields(existing: Record<string, any>, data: Record<string, any>): Record<string, any> {\n const next = { ...existing }\n\n for (const [key, value] of Object.entries(data)) {\n if (!isObjectField(key, value)) {\n continue\n }\n\n const existingField = existing[key]\n next[key] =\n existingField != null && typeof existingField === 'object' && !Array.isArray(existingField)\n ? { ...existingField, ...(value as Record<string, unknown>) }\n : value\n }\n\n return next\n}\n\nfunction patchAssociationRecord(associations: Record<string, any>, recordId: string, data: Record<string, any>): Record<string, any> | null {\n for (const [key, group] of Object.entries(associations)) {\n const rows = group?.data\n if (!Array.isArray(rows)) {\n continue\n }\n\n const index = rows.findIndex((row: any) => resolveRecordId(row, row) === recordId)\n if (index === -1) {\n continue\n }\n\n const nextRows = [...rows]\n nextRows[index] = mergeObjectFields(rows[index] ?? {}, data)\n\n return {\n ...associations,\n [key]: {\n ...group,\n data: nextRows\n }\n }\n }\n\n return null\n}\n\nfunction resolveAssociationObjectTypeId(props?: any): string {\n const objectTypeId = props?.params?.hubspotObjectTypeId ?? props?.hubspotObjectTypeId\n return objectTypeId != null && objectTypeId !== '' ? String(objectTypeId) : ''\n}\n\nfunction findAssociationGroupKey(associations: Record<string, any>, objectTypeId: string): string | undefined {\n for (const [key, group] of Object.entries(associations)) {\n if (group?.objectTypeId != null && String(group.objectTypeId) === objectTypeId) {\n return key\n }\n }\n\n for (const key of Object.keys(associations)) {\n if (key === objectTypeId || key.startsWith(`${objectTypeId}_`)) {\n return key\n }\n }\n\n return undefined\n}\n\nfunction isLoadingAssociationRow(row: any): boolean {\n if (!row || typeof row !== 'object') {\n return false\n }\n\n const values = Object.values(row)\n if (values.length === 0) {\n return false\n }\n\n return values.every((value) => value === 'loading' || (value != null && typeof value === 'object' && !Array.isArray(value) && (value as any).value === 'loading'))\n}\n\nfunction toLoadingAssociationRow(template?: any): Record<string, any> {\n if (template != null && typeof template === 'object' && !Array.isArray(template)) {\n return Object.fromEntries(\n Object.entries(template).map(([key, value]) => {\n if (value != null && typeof value === 'object' && !Array.isArray(value) && 'value' in (value as object)) {\n return [key, { ...(value as Record<string, unknown>), value: 'loading' }]\n }\n\n return [key, 'loading']\n })\n )\n }\n\n return { name: { value: 'loading' } }\n}\n\nfunction toAssociationRow(data: Record<string, any>): Record<string, any> {\n const row: Record<string, any> = {}\n\n for (const [key, value] of Object.entries(data)) {\n if (!isObjectField(key, value)) {\n continue\n }\n\n row[key] = value\n }\n\n return row\n}\n\nfunction setAssociationGroup(state: ObjectState, associations: Record<string, any>, key: string, group: any, rows: any[], total?: number) {\n objectStore.setState({\n object: {\n ...state.object,\n data: {\n ...state.object.data,\n associations: {\n ...associations,\n [key]: {\n ...group,\n data: rows,\n ...(total != null ? { total } : {})\n }\n }\n }\n }\n })\n}\n\nexport const actions = {\n setObjectData(response: any, payload?: any) {\n const data = response?.data\n const id = resolveRecordId(payload, data)\n\n objectStore.setState({\n object: response ?? null,\n id\n })\n },\n\n updateObjectData(response: any, payload?: any) {\n const data = response?.data\n const recordId = resolveRecordId(payload, data)\n const state = objectStore.getState()\n\n if (!data || !state.object) {\n return response\n }\n\n const existingData = state.object.data ?? {}\n const associations = existingData.associations\n const isParentRecordUpdate = !state.id || !recordId || state.id === recordId\n\n if (!isParentRecordUpdate) {\n const nextAssociations = associations && typeof associations === 'object' ? patchAssociationRecord(associations, recordId, data) : null\n\n if (!nextAssociations) {\n return response\n }\n\n objectStore.setState({\n object: {\n ...state.object,\n data: {\n ...existingData,\n associations: nextAssociations\n }\n }\n })\n\n return response\n }\n\n const nextData = mergeObjectFields(existingData, data)\n\n objectStore.setState({\n object: {\n ...state.object,\n data: nextData,\n ...(response?.configurations != null ? { configurations: response.configurations } : {}),\n ...(response?.info != null ? { info: response.info } : {})\n },\n id: state.id || recordId\n })\n\n return response\n },\n\n async setObjectAssociationPrependData(response: any, props?: any) {\n const state = objectStore.getState()\n const associations = state.object?.data?.associations\n const objectTypeId = resolveAssociationObjectTypeId(props)\n\n if (!associations || typeof associations !== 'object' || !objectTypeId) {\n return\n }\n\n const key = findAssociationGroupKey(associations, objectTypeId)\n if (!key) {\n return\n }\n\n const group = associations[key]\n const rows = Array.isArray(group?.data) ? [...group.data] : []\n\n if (response === 'loading') {\n rows.unshift(toLoadingAssociationRow(rows[0]))\n setAssociationGroup(state, associations, key, group, rows)\n return\n }\n\n const data = response?.data\n if (!data) {\n return\n }\n\n const hadLoading = isLoadingAssociationRow(rows[0])\n const row = toAssociationRow(data)\n if (hadLoading) {\n rows[0] = row\n } else {\n rows.unshift(row)\n }\n\n const baseTotal = typeof group?.total === 'number' ? group.total : Math.max((Array.isArray(group?.data) ? group.data.length : 0) - (hadLoading ? 1 : 0), 0)\n setAssociationGroup(state, associations, key, group, rows, baseTotal + 1)\n },\n\n clearLatestObjectAssociationPrependData(props?: any) {\n const state = objectStore.getState()\n const associations = state.object?.data?.associations\n const objectTypeId = resolveAssociationObjectTypeId(props)\n\n if (!associations || typeof associations !== 'object' || !objectTypeId) {\n return\n }\n\n const key = findAssociationGroupKey(associations, objectTypeId)\n if (!key) {\n return\n }\n\n const group = associations[key]\n const rows = Array.isArray(group?.data) ? group.data : []\n if (rows.length === 0 || !isLoadingAssociationRow(rows[0])) {\n return\n }\n\n setAssociationGroup(state, associations, key, group, rows.slice(1))\n },\n\n clearObjectData() {\n objectStore.setState({\n object: null,\n id: ''\n })\n }\n}\n","import { createStore } from './store'\nimport { isLoadingPrependRow } from './prepend-row'\n\nexport interface MultiObjectTableState {\n objects: Record<string, any>\n objectsPrependData: Record<string, any[]>\n meta: Record<string, { selectedPipeline: string; viewType: string }>\n}\n\nexport const multiObjectStore = createStore<MultiObjectTableState>({\n objects: {},\n objectsPrependData: {},\n meta: {}\n})\n\nfunction getObjectKey(payload: any): string {\n return String(payload?.params?.hubspotObjectTypeId ?? '')\n}\n\nexport const actions = {\n setMultiObjectData(response: any, payload: any) {\n const key = getObjectKey(payload)\n const state = multiObjectStore.getState()\n\n const rows = response?.data?.results?.rows ?? []\n const rowIds = new Set(\n rows\n .map((row: any) => row.id ?? row.hs_object_id)\n .filter((id: unknown) => id != null && id !== '')\n .map((id: unknown) => String(id))\n )\n\n let newPrependForKey = (state.objectsPrependData[key] ?? []).filter((item: any) => {\n const itemId = item.id ?? item.hs_object_id\n if (itemId == null || itemId === '') return true\n return !rowIds.has(String(itemId))\n })\n\n const selectedPipeline = payload?.queryParams?.selectedPipeline ?? ''\n const viewType = response?.info?.viewType ?? ''\n const prevMeta = state.meta[key]\n\n if (response?.data?.total < 1 || payload?.queryParams?.componentName) {\n newPrependForKey = []\n }\n\n if (prevMeta?.viewType && prevMeta.viewType !== viewType) {\n newPrependForKey = []\n }\n\n if (prevMeta?.selectedPipeline && prevMeta.selectedPipeline !== selectedPipeline) {\n newPrependForKey = []\n }\n\n multiObjectStore.setState({\n objects: { ...state.objects, [key]: response },\n objectsPrependData: { ...state.objectsPrependData, [key]: newPrependForKey },\n meta: {\n ...state.meta,\n [key]: { selectedPipeline, viewType }\n }\n })\n },\n\n clearMultiObjectPrependData(hubspotObjectTypeId?: string) {\n const state = multiObjectStore.getState()\n\n if (!hubspotObjectTypeId) {\n multiObjectStore.setState({ objectsPrependData: {} })\n return\n }\n\n const key = String(hubspotObjectTypeId)\n const { [key]: _, ...rest } = state.objectsPrependData\n multiObjectStore.setState({ objectsPrependData: rest })\n },\n\n clearLatestMultiObjectPrependData(hubspotObjectTypeId?: string) {\n if (!hubspotObjectTypeId) {\n return\n }\n\n const key = String(hubspotObjectTypeId)\n const state = multiObjectStore.getState()\n const prependRows = state.objectsPrependData[key] ?? []\n const latest = prependRows[0]\n\n if (!latest || !isLoadingPrependRow(latest)) {\n return\n }\n\n multiObjectStore.setState({\n objectsPrependData: { ...state.objectsPrependData, [key]: prependRows.slice(1) }\n })\n },\n\n async setMultiObjectPrependData(response: any, props?: any) {\n const key = getObjectKey(props)\n const state = multiObjectStore.getState()\n const tableResponse = state.objects[key]\n let rows: any[] = state.objectsPrependData[key] ?? []\n\n if (tableResponse?.data?.total > 1) {\n if (response === 'loading') {\n const row = tableResponse?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = 'loading'\n }\n return acc\n }, {})\n rows = [row, ...rows]\n } else if (response?.data) {\n const data = response?.data\n if (!data) {\n multiObjectStore.setState({\n objectsPrependData: { ...state.objectsPrependData, [key]: [] }\n })\n return\n }\n\n const row = Object.fromEntries(Object.entries(data).map(([k, value]: any) => [k, value?.value ?? value]))\n\n rows = [...rows]\n if (rows.length > 0) {\n rows[0] = row\n } else {\n rows.push(row)\n }\n }\n }\n\n multiObjectStore.setState({\n objectsPrependData: { ...state.objectsPrependData, [key]: rows }\n })\n }\n}\n"]}
|