woodsportal-client-sdk 4.1.2-dev.1 → 4.1.2-dev.3
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 +5 -5
- package/dist/adapters/angular/index.js.map +1 -1
- package/dist/adapters/native/index.d.ts +1 -1
- package/dist/adapters/native/index.js +4 -4
- package/dist/adapters/react/index.d.ts +9 -2
- package/dist/adapters/react/index.js +4 -4
- package/dist/adapters/vue/index.d.ts +9 -2
- package/dist/adapters/vue/index.js +5 -5
- package/dist/adapters/vue/index.js.map +1 -1
- package/dist/{chunk-R6CZONMV.js → chunk-7X7PB27Z.js} +15 -7
- package/dist/chunk-7X7PB27Z.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-T553DXBI.js → chunk-I3JF5QOY.js} +5 -4
- package/dist/chunk-I3JF5QOY.js.map +1 -0
- package/dist/chunk-P5EWTH5Q.js +16 -0
- package/dist/chunk-P5EWTH5Q.js.map +1 -0
- package/dist/{chunk-3VH52USP.js → chunk-QREX7YVN.js} +6 -5
- package/dist/chunk-QREX7YVN.js.map +1 -0
- package/dist/{chunk-X6NNUGP7.js → chunk-T4YJV6MP.js} +22 -3
- package/dist/chunk-T4YJV6MP.js.map +1 -0
- package/dist/{chunk-N4SV7IQN.js → chunk-THFXCWVY.js} +4 -4
- package/dist/{chunk-N4SV7IQN.js.map → chunk-THFXCWVY.js.map} +1 -1
- package/dist/chunk-UCBM5ZFU.js +343 -0
- package/dist/chunk-UCBM5ZFU.js.map +1 -0
- package/dist/{chunk-JCYGLNF4.js → chunk-WRHS4HT3.js} +91 -22
- package/dist/chunk-WRHS4HT3.js.map +1 -0
- package/dist/{crmCacheRefresh-VRgYlnBv.d.ts → crmCacheRefresh-B9sAQzI7.d.ts} +9 -1
- package/dist/{cross-tab-session-VJBW7BK6.js → cross-tab-session-QIUHW33Y.js} +6 -6
- package/dist/{cross-tab-session-VJBW7BK6.js.map → cross-tab-session-QIUHW33Y.js.map} +1 -1
- package/dist/entries/auth.js +4 -4
- package/dist/entries/crm.d.ts +17 -3
- package/dist/entries/crm.js +10 -9
- package/dist/entries/crm.js.map +1 -1
- package/dist/index.d.ts +17 -3
- package/dist/index.js +13 -12
- package/dist/index.js.map +1 -1
- package/dist/{use-sync-B4xio81b.d.ts → use-sync-BQfzHacf.d.ts} +6 -1
- package/package.json +1 -1
- package/dist/chunk-3VH52USP.js.map +0 -1
- package/dist/chunk-55MIERLJ.js +0 -3
- package/dist/chunk-7XZSJGCX.js +0 -16
- package/dist/chunk-7XZSJGCX.js.map +0 -1
- package/dist/chunk-JCYGLNF4.js.map +0 -1
- package/dist/chunk-R6CZONMV.js.map +0 -1
- package/dist/chunk-T553DXBI.js.map +0 -1
- package/dist/chunk-X6NNUGP7.js.map +0 -1
- package/dist/chunk-YKA26CVL.js +0 -110
- package/dist/chunk-YKA26CVL.js.map +0 -1
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { createStore, isLoadingPrependRow } from './chunk-T4YJV6MP.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-UCBM5ZFU.js.map
|
|
343
|
+
//# sourceMappingURL=chunk-UCBM5ZFU.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-UCBM5ZFU.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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getParamDetails, getRouteDetails, updateLink, getParam, decodeToBase64, generatePath, getPath, getRouteMenu, tableUiActions, ticketHubspotObjectTypeId, makePreviewParams, tableStore, actions2, userStore, isPipelineBoardObjectTypeId, tableUiStore, fileStore, actions7, emailStore, actions5, noteStore, actions4, resetAllStore, breadcrumbStage, isMessingParentLastItem, isMessingParent, generateUrl } from './chunk-
|
|
1
|
+
import { getParamDetails, getRouteDetails, updateLink, getParam, decodeToBase64, generatePath, getPath, getRouteMenu, tableUiActions, ticketHubspotObjectTypeId, makePreviewParams, tableStore, actions2, userStore, isPipelineBoardObjectTypeId, tableUiStore, fileStore, actions7, emailStore, actions5, noteStore, actions4, resetAllStore, breadcrumbStage, isMessingParentLastItem, isMessingParent, generateUrl } from './chunk-T4YJV6MP.js';
|
|
2
2
|
import { getRuntimeHttpClientApiDate, config, configureLogger, setIframeStorageMode, setRefreshBufferSeconds, setRefreshCallback, hydrateSessionRefreshState, logger, isHttpTracingEnabled, getAccessToken, sanitizeAxiosErrorData, classifyRefreshHttpError, shouldLogoutAfterRefreshFailure, setRefreshToken, storAccessToken, classifyRefreshResponseWithoutToken, storage, HUBSPOT_DATA, setRuntimeHttpClientHubContext, isServiceUnavailableError, refreshSession, ensureValidRefresh, HUB_ID, DEV_PORTAL_ID, PORTAL_ID, DEV_API_URL, isAccessTokenExpired } from './chunk-JVJMM4SZ.js';
|
|
3
3
|
import { getClientType, configureStorageKeys } from './chunk-32ERSTFY.js';
|
|
4
4
|
import { AuthErrorCode } from './chunk-COHBSTHF.js';
|
|
@@ -517,7 +517,7 @@ function initializeHttpClient(clientConfig) {
|
|
|
517
517
|
migrateLegacyStorageKeys();
|
|
518
518
|
}).catch(() => {
|
|
519
519
|
});
|
|
520
|
-
void import('./cross-tab-session-
|
|
520
|
+
void import('./cross-tab-session-QIUHW33Y.js').then(({ installCrossTabSessionListener }) => {
|
|
521
521
|
installCrossTabSessionListener();
|
|
522
522
|
}).catch(() => {
|
|
523
523
|
});
|
|
@@ -1666,6 +1666,49 @@ async function purgeEngagementCachesInternal(options) {
|
|
|
1666
1666
|
pollIntervalMs: options.pollIntervalMs
|
|
1667
1667
|
});
|
|
1668
1668
|
}
|
|
1669
|
+
async function purgeCrmAssociationCaches(options) {
|
|
1670
|
+
const parentObjectTypeId = options.parentObjectTypeId?.trim();
|
|
1671
|
+
const parentRecordId = options.parentRecordId?.trim();
|
|
1672
|
+
if (!parentObjectTypeId || !parentRecordId) {
|
|
1673
|
+
return {
|
|
1674
|
+
ok: false,
|
|
1675
|
+
errorCode: "VALIDATION",
|
|
1676
|
+
message: "parentObjectTypeId and parentRecordId are required"
|
|
1677
|
+
};
|
|
1678
|
+
}
|
|
1679
|
+
const childIds = [
|
|
1680
|
+
...options.childObjectTypeIds ?? [],
|
|
1681
|
+
...options.objectTypeId ? [options.objectTypeId] : []
|
|
1682
|
+
].map((id) => String(id).trim()).filter((id, index, all) => id.length > 0 && all.indexOf(id) === index);
|
|
1683
|
+
const parentListQuery = {
|
|
1684
|
+
...options.listQuery ?? { page: 1, limit: 10, view: "LIST" },
|
|
1685
|
+
parentObjectTypeId,
|
|
1686
|
+
parentObjectRecordId: parentRecordId
|
|
1687
|
+
};
|
|
1688
|
+
const listTargets = childIds.flatMap(
|
|
1689
|
+
(childId) => options.postCrmWrite ? buildPostWriteListPurgeTargets(childId, parentListQuery, options.recordIds) : [buildCrmListPurgeTarget(childId, parentListQuery, options.recordIds)]
|
|
1690
|
+
);
|
|
1691
|
+
const singleTarget = buildCrmSinglePurgeTarget(parentObjectTypeId, [parentRecordId], parentListQuery);
|
|
1692
|
+
const engagementViews = options.engagementViews?.filter(Boolean) ?? [];
|
|
1693
|
+
const engagementTargets = engagementViews.length > 0 ? [
|
|
1694
|
+
buildEngagementPurgeTarget(parentObjectTypeId, [parentRecordId], engagementViews, {
|
|
1695
|
+
listQuery: parentListQuery,
|
|
1696
|
+
fileIds: options.fileIds,
|
|
1697
|
+
engagementItemIds: options.engagementItemIds
|
|
1698
|
+
})
|
|
1699
|
+
] : [];
|
|
1700
|
+
if (listTargets.length === 0 && engagementTargets.length === 0) {
|
|
1701
|
+
return purgeCrmCombined({
|
|
1702
|
+
...options,
|
|
1703
|
+
targets: [singleTarget]
|
|
1704
|
+
});
|
|
1705
|
+
}
|
|
1706
|
+
return purgeCrmCombined({
|
|
1707
|
+
...options,
|
|
1708
|
+
objectTypeId: childIds[0] ?? parentObjectTypeId,
|
|
1709
|
+
targets: mergePurgeTargets(...listTargets, singleTarget, ...engagementTargets)
|
|
1710
|
+
});
|
|
1711
|
+
}
|
|
1669
1712
|
async function purgeCrmCombined(options) {
|
|
1670
1713
|
const request = buildCachePurgeRequest(options.targets, {
|
|
1671
1714
|
mode: options.mode,
|
|
@@ -1781,7 +1824,7 @@ var recordWriteContext = (paramsObject) => {
|
|
|
1781
1824
|
});
|
|
1782
1825
|
return Object.keys(context).length > 0 ? context : void 0;
|
|
1783
1826
|
};
|
|
1784
|
-
var triggerPostWriteListPurge = (props) => {
|
|
1827
|
+
var triggerPostWriteListPurge = async (props) => {
|
|
1785
1828
|
const objectTypeId = props.hubspotObjectTypeId;
|
|
1786
1829
|
if (!objectTypeId) {
|
|
1787
1830
|
return;
|
|
@@ -1790,22 +1833,40 @@ var triggerPostWriteListPurge = (props) => {
|
|
|
1790
1833
|
return;
|
|
1791
1834
|
}
|
|
1792
1835
|
const { queryParams, multiObjectsQueryParams } = tableStore.getState();
|
|
1836
|
+
const writeContext = recordWriteContext(props.paramsObject);
|
|
1793
1837
|
const listQuery = resolveCrmListPurgeQuery({
|
|
1794
1838
|
componentName: props.componentName,
|
|
1795
1839
|
hubspotObjectTypeId: objectTypeId,
|
|
1796
1840
|
tableQueryParams: queryParams,
|
|
1797
1841
|
multiObjectsQueryParams,
|
|
1798
|
-
writeContext
|
|
1842
|
+
writeContext
|
|
1799
1843
|
});
|
|
1800
1844
|
const recordIds = props.recordId ? [String(props.recordId)] : void 0;
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1845
|
+
const parentObjectTypeId = writeContext?.parentObjectTypeId;
|
|
1846
|
+
const parentRecordId = writeContext?.parentObjectRecordId;
|
|
1847
|
+
try {
|
|
1848
|
+
if (parentObjectTypeId && parentRecordId) {
|
|
1849
|
+
await purgeCrmAssociationCaches({
|
|
1850
|
+
objectTypeId: String(objectTypeId),
|
|
1851
|
+
parentObjectTypeId,
|
|
1852
|
+
parentRecordId,
|
|
1853
|
+
listQuery,
|
|
1854
|
+
recordIds,
|
|
1855
|
+
postCrmWrite: true,
|
|
1856
|
+
waitForWarm: true,
|
|
1857
|
+
pollTimeoutMs: 45e3
|
|
1858
|
+
});
|
|
1859
|
+
return;
|
|
1860
|
+
}
|
|
1861
|
+
await purgeCrmListCacheAfterCrmWrite({
|
|
1862
|
+
objectTypeId: String(objectTypeId),
|
|
1863
|
+
listQuery,
|
|
1864
|
+
recordIds,
|
|
1865
|
+
waitForWarm: true,
|
|
1866
|
+
pollTimeoutMs: 45e3
|
|
1867
|
+
});
|
|
1868
|
+
} catch {
|
|
1869
|
+
}
|
|
1809
1870
|
};
|
|
1810
1871
|
var mergeRecordWriteBody = (payload, paramsObject, options) => {
|
|
1811
1872
|
const base = { ...payload || {} };
|
|
@@ -2097,13 +2158,21 @@ var crmClient = {
|
|
|
2097
2158
|
});
|
|
2098
2159
|
const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_CREATE, params, queryParams });
|
|
2099
2160
|
const response = await HttpClient.post(apiUrl, body);
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2161
|
+
const writeParams = {
|
|
2162
|
+
...paramsObject,
|
|
2163
|
+
...props?.queryParams && typeof props.queryParams === "object" ? props.queryParams : {},
|
|
2164
|
+
...props?.params && typeof props.params === "object" ? props.params : {}
|
|
2165
|
+
};
|
|
2166
|
+
const purgeArgs = {
|
|
2167
|
+
hubspotObjectTypeId: props?.params?.hubspotObjectTypeId,
|
|
2168
|
+
componentName: props?.componentName,
|
|
2169
|
+
paramsObject: writeParams,
|
|
2170
|
+
recordId: extractHubspotRecordIdFromWriteResponse(response)
|
|
2171
|
+
};
|
|
2172
|
+
if (props?.componentName === "sidebarAssociation") {
|
|
2173
|
+
await triggerPostWriteListPurge(purgeArgs);
|
|
2174
|
+
} else {
|
|
2175
|
+
void triggerPostWriteListPurge(purgeArgs);
|
|
2107
2176
|
}
|
|
2108
2177
|
return response;
|
|
2109
2178
|
},
|
|
@@ -2662,6 +2731,6 @@ function createMutation(mutationFn, options) {
|
|
|
2662
2731
|
};
|
|
2663
2732
|
}
|
|
2664
2733
|
|
|
2665
|
-
export { API_ENDPOINTS, Client, HttpClient, applyContractApiDate, buildCachePurgeRequest, buildCrmListPurgeTarget, buildCrmSinglePurgeTarget, buildEngagementPurgeTarget, buildPortalConfigPurgeTarget, buildUserSessionPurgeTarget, createCachePurgeJob, createMutation, extractEngagementItemIdFromWriteResponse, extractHubspotRecordIdFromWriteResponse, generateApiUrl, getAuthRefreshToken, getConfiguredContractApiDate, getFieldErrors, getFormErrors, initializeHttpClient, mergePurgeTargets, navigationApi, purgeCrmCombined, purgeCrmDetailAndListAfterCrmWrite, purgeCrmListCache, purgeCrmListCacheAfterCrmWrite, purgeCrmObjectDataCache, purgeCrmRecordCache, purgeEngagementCaches, purgeEngagementCachesAfterCrmWrite, resolveCrmListPurgeQuery, resolveListTableParams, setEditorPreviewMockHandler, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler, toCachePurgeListQuery };
|
|
2666
|
-
//# sourceMappingURL=chunk-
|
|
2667
|
-
//# sourceMappingURL=chunk-
|
|
2734
|
+
export { API_ENDPOINTS, Client, HttpClient, applyContractApiDate, buildCachePurgeRequest, buildCrmListPurgeTarget, buildCrmSinglePurgeTarget, buildEngagementPurgeTarget, buildPortalConfigPurgeTarget, buildUserSessionPurgeTarget, createCachePurgeJob, createMutation, extractEngagementItemIdFromWriteResponse, extractHubspotRecordIdFromWriteResponse, generateApiUrl, getAuthRefreshToken, getConfiguredContractApiDate, getFieldErrors, getFormErrors, initializeHttpClient, mergePurgeTargets, navigationApi, purgeCrmAssociationCaches, purgeCrmCombined, purgeCrmDetailAndListAfterCrmWrite, purgeCrmListCache, purgeCrmListCacheAfterCrmWrite, purgeCrmObjectDataCache, purgeCrmRecordCache, purgeEngagementCaches, purgeEngagementCachesAfterCrmWrite, resolveCrmListPurgeQuery, resolveListTableParams, setEditorPreviewMockHandler, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler, toCachePurgeListQuery };
|
|
2735
|
+
//# sourceMappingURL=chunk-WRHS4HT3.js.map
|
|
2736
|
+
//# sourceMappingURL=chunk-WRHS4HT3.js.map
|