woodsportal-client-sdk 1.1.4-dev.27 → 1.1.4-dev.29
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 +4 -0
- package/dist/adapters/angular/index.d.ts +3 -2
- package/dist/adapters/angular/index.js +2 -2
- package/dist/adapters/react/index.d.ts +3 -2
- package/dist/adapters/react/index.js +2 -2
- package/dist/adapters/vue/index.d.ts +3 -2
- package/dist/adapters/vue/index.js +2 -2
- package/dist/{chunk-RKJZSWUU.js → chunk-3OQK7XCZ.js} +117 -28
- package/dist/chunk-3OQK7XCZ.js.map +1 -0
- package/dist/{chunk-VBAASLL3.js → chunk-XTASFMAW.js} +4 -4
- package/dist/chunk-XTASFMAW.js.map +1 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.js +64 -4
- package/dist/index.js.map +1 -1
- package/dist/{use-sync-sxrOo5L_.d.ts → use-sync-DX4o_EEr.d.ts} +2 -0
- package/package.json +1 -1
- package/dist/chunk-RKJZSWUU.js.map +0 -1
- package/dist/chunk-VBAASLL3.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
|
+
- **`formatHubSpotActivityDateTime`**, **`formatHubSpotActivityDateTimeParts`**, **`formatGmtOffset`**, **`normalizeToTimestamp`**, and **`DEFAULT_HUBSPOT_TIMEZONE`** (`Asia/Kolkata`) for HubSpot-style activity timestamps (e.g. `May 27, 2026 at 11:31 PM GMT+5:30`).
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
12
16
|
- **`examples/smoke-consumer`**: local `file:` dependency + `npm run test:consumer` to validate `dist/` and types before publish.
|
|
13
17
|
- **`examples/smoke-consumer/smoke-live.mjs`** + **`npm run test:consumer:live`**: optional real dev login; loads **`examples/smoke-consumer/.env`** via **`dotenv`** using **`BASE_URL`**, **`USER_NAME`**, **`USER_PASSWORD`** (plus legacy `WOODSPORTAL_*` / camelCase aliases). Skips in CI when unset. **`.env.example`** and gitignore for local `.env`.
|
|
14
18
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-
|
|
1
|
+
import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-DX4o_EEr.js';
|
|
2
2
|
|
|
3
3
|
declare const useTable: () => TableState & {
|
|
4
4
|
setTableData(response: any, payload: any): void;
|
|
5
|
-
|
|
5
|
+
clearTablePrependData(): void;
|
|
6
|
+
setTablePrependData(response: any, pipelineStage?: any): Promise<void>;
|
|
6
7
|
};
|
|
7
8
|
declare const useNote: () => NoteState & {
|
|
8
9
|
setNotes(response: any, payload: any): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { bindStoreWithActions } from '../../chunk-Y5MRAAGK.js';
|
|
2
|
-
import { createAdapterHooks } from '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
2
|
+
import { createAdapterHooks } from '../../chunk-XTASFMAW.js';
|
|
3
|
+
import '../../chunk-3OQK7XCZ.js';
|
|
4
4
|
import '../../chunk-PZ5AY32C.js';
|
|
5
5
|
import { inject, DestroyRef, signal } from '@angular/core';
|
|
6
6
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-
|
|
1
|
+
import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-DX4o_EEr.js';
|
|
2
2
|
|
|
3
3
|
declare const useTable: () => TableState & {
|
|
4
4
|
setTableData(response: any, payload: any): void;
|
|
5
|
-
|
|
5
|
+
clearTablePrependData(): void;
|
|
6
|
+
setTablePrependData(response: any, pipelineStage?: any): Promise<void>;
|
|
6
7
|
};
|
|
7
8
|
declare const useNote: () => NoteState & {
|
|
8
9
|
setNotes(response: any, payload: any): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createAdapterHooks } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
import { createAdapterHooks } from '../../chunk-XTASFMAW.js';
|
|
2
|
+
import '../../chunk-3OQK7XCZ.js';
|
|
3
3
|
import '../../chunk-PZ5AY32C.js';
|
|
4
4
|
import { useSyncExternalStore } from 'react';
|
|
5
5
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-
|
|
1
|
+
import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-DX4o_EEr.js';
|
|
2
2
|
|
|
3
3
|
declare const useTable: () => TableState & {
|
|
4
4
|
setTableData(response: any, payload: any): void;
|
|
5
|
-
|
|
5
|
+
clearTablePrependData(): void;
|
|
6
|
+
setTablePrependData(response: any, pipelineStage?: any): Promise<void>;
|
|
6
7
|
};
|
|
7
8
|
declare const useNote: () => NoteState & {
|
|
8
9
|
setNotes(response: any, payload: any): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { bindStoreWithActions } from '../../chunk-Y5MRAAGK.js';
|
|
2
|
-
import { createAdapterHooks } from '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
2
|
+
import { createAdapterHooks } from '../../chunk-XTASFMAW.js';
|
|
3
|
+
import '../../chunk-3OQK7XCZ.js';
|
|
4
4
|
import '../../chunk-PZ5AY32C.js';
|
|
5
5
|
import { reactive, onScopeDispose } from 'vue';
|
|
6
6
|
|
|
@@ -26,7 +26,9 @@ function createStore(initialState) {
|
|
|
26
26
|
var tableStore = createStore({
|
|
27
27
|
tableData: [],
|
|
28
28
|
tablePrependData: [],
|
|
29
|
-
hubspotObjectTypeId: ""
|
|
29
|
+
hubspotObjectTypeId: "",
|
|
30
|
+
selectedPipeline: "",
|
|
31
|
+
viewType: ""
|
|
30
32
|
});
|
|
31
33
|
var actions = {
|
|
32
34
|
setTableData(response, payload) {
|
|
@@ -41,44 +43,131 @@ var actions = {
|
|
|
41
43
|
return !rowIds.has(String(itemId));
|
|
42
44
|
});
|
|
43
45
|
const hubspotObjectTypeId = payload?.hubspotObjectTypeId;
|
|
46
|
+
const selectedPipeline = payload?.selectedPipeline;
|
|
47
|
+
const viewType = response?.info?.viewType;
|
|
48
|
+
if (state.viewType && state.viewType != viewType) {
|
|
49
|
+
newTablePrependData = [];
|
|
50
|
+
}
|
|
44
51
|
if (state.hubspotObjectTypeId && state.hubspotObjectTypeId != hubspotObjectTypeId) {
|
|
45
52
|
newTablePrependData = [];
|
|
46
53
|
}
|
|
54
|
+
if (state.selectedPipeline && state.selectedPipeline != selectedPipeline) {
|
|
55
|
+
newTablePrependData = [];
|
|
56
|
+
}
|
|
47
57
|
tableStore.setState({
|
|
48
58
|
tableData: response,
|
|
49
59
|
tablePrependData: newTablePrependData,
|
|
50
|
-
hubspotObjectTypeId
|
|
60
|
+
hubspotObjectTypeId,
|
|
61
|
+
viewType
|
|
51
62
|
});
|
|
52
63
|
},
|
|
53
|
-
|
|
64
|
+
clearTablePrependData() {
|
|
65
|
+
tableStore.setState({
|
|
66
|
+
tablePrependData: []
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
async setTablePrependData(response, pipelineStage) {
|
|
54
70
|
const state = tableStore.getState();
|
|
55
71
|
let rows = [];
|
|
56
|
-
if (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
72
|
+
if (state.tableData?.info?.viewType == "BOARD") {
|
|
73
|
+
if (response === "loading") {
|
|
74
|
+
rows = state.tableData?.data?.results?.map(
|
|
75
|
+
({ id, data }) => {
|
|
76
|
+
const matchedPrepend = state.tablePrependData.find(
|
|
77
|
+
(item) => String(item.id) === String(id)
|
|
78
|
+
);
|
|
79
|
+
const prependRows = matchedPrepend?.data?.results?.rows ?? [];
|
|
80
|
+
const newRow = String(id) === String(pipelineStage) ? [
|
|
81
|
+
(data?.results?.columns ?? []).reduce(
|
|
82
|
+
(obj, column) => {
|
|
83
|
+
obj[column.key] = "loading";
|
|
84
|
+
return obj;
|
|
85
|
+
},
|
|
86
|
+
{}
|
|
87
|
+
)
|
|
88
|
+
] : [];
|
|
89
|
+
return {
|
|
90
|
+
id,
|
|
91
|
+
data: {
|
|
92
|
+
results: {
|
|
93
|
+
columns: data?.results?.columns ?? [],
|
|
94
|
+
// prepend loading row + prepend rows
|
|
95
|
+
rows: [
|
|
96
|
+
...newRow,
|
|
97
|
+
...prependRows
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
console.log(rows);
|
|
105
|
+
} else {
|
|
106
|
+
const data = response?.data;
|
|
107
|
+
const hs_pipeline_stage = data?.hs_pipeline_stage?.value?.value || data?.hs_pipeline_stage?.value;
|
|
108
|
+
if (!data) {
|
|
109
|
+
tableStore.setState({
|
|
110
|
+
tablePrependData: []
|
|
111
|
+
});
|
|
60
112
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
113
|
+
rows = state?.tablePrependData.map((row) => {
|
|
114
|
+
const matchedPrepend = state.tablePrependData.find(
|
|
115
|
+
(item) => String(item.id) === String(row.id)
|
|
116
|
+
);
|
|
117
|
+
const prependRows = matchedPrepend?.data?.results?.rows ?? [];
|
|
118
|
+
if (String(row.id) === String(hs_pipeline_stage)) {
|
|
119
|
+
const updatedRow = (row?.data?.results?.columns ?? []).reduce(
|
|
120
|
+
(obj, column) => {
|
|
121
|
+
const key = column.key;
|
|
122
|
+
obj[key] = data?.[key]?.value ?? data?.[key] ?? "";
|
|
123
|
+
return obj;
|
|
124
|
+
},
|
|
125
|
+
{}
|
|
126
|
+
);
|
|
127
|
+
prependRows[0] = updatedRow;
|
|
128
|
+
return {
|
|
129
|
+
...row,
|
|
130
|
+
data: {
|
|
131
|
+
...row.data,
|
|
132
|
+
results: {
|
|
133
|
+
...row.data.results,
|
|
134
|
+
rows: prependRows
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return row;
|
|
69
140
|
});
|
|
141
|
+
console.log("rows", rows);
|
|
70
142
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
rows
|
|
80
|
-
} else {
|
|
81
|
-
|
|
143
|
+
} else {
|
|
144
|
+
if (response === "loading") {
|
|
145
|
+
const row = await state.tableData?.data?.results?.columns.reduce((acc, item) => {
|
|
146
|
+
if (!item.hidden) {
|
|
147
|
+
acc[item.key] = "loading";
|
|
148
|
+
}
|
|
149
|
+
return acc;
|
|
150
|
+
}, {});
|
|
151
|
+
rows = [row, ...state.tablePrependData];
|
|
152
|
+
} else if (response?.data) {
|
|
153
|
+
const data = response?.data;
|
|
154
|
+
if (!data) {
|
|
155
|
+
tableStore.setState({
|
|
156
|
+
tablePrependData: []
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
const row = await Object.fromEntries(
|
|
160
|
+
Object.entries(data).map(([key, value]) => [
|
|
161
|
+
key,
|
|
162
|
+
value?.value ?? value
|
|
163
|
+
])
|
|
164
|
+
);
|
|
165
|
+
rows = [...state.tablePrependData];
|
|
166
|
+
if (rows.length > 0) {
|
|
167
|
+
rows[0] = row;
|
|
168
|
+
} else {
|
|
169
|
+
rows.push(row);
|
|
170
|
+
}
|
|
82
171
|
}
|
|
83
172
|
}
|
|
84
173
|
tableStore.setState({
|
|
@@ -256,5 +345,5 @@ var actions3 = {
|
|
|
256
345
|
};
|
|
257
346
|
|
|
258
347
|
export { actions, actions2, actions3, createStore, emailStore, noteStore, tableStore };
|
|
259
|
-
//# sourceMappingURL=chunk-
|
|
260
|
-
//# sourceMappingURL=chunk-
|
|
348
|
+
//# sourceMappingURL=chunk-3OQK7XCZ.js.map
|
|
349
|
+
//# sourceMappingURL=chunk-3OQK7XCZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/store2/store.ts","../src/store2/use-table.ts","../src/store2/use-note.ts","../src/store2/use-email.ts"],"names":["actions","id"],"mappings":"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","file":"chunk-3OQK7XCZ.js","sourcesContent":["type Listener<T> = (state: T) => void;\n\nexport function createStore<T>(initialState: T) {\n let state = initialState;\n\n const listeners = new Set<Listener<T>>();\n\n return {\n getState() {\n return state;\n },\n\n setState(partial: Partial<T>) {\n state = {\n ...state,\n ...partial,\n };\n\n listeners.forEach((listener) =>\n listener(state)\n );\n },\n\n subscribe(listener: Listener<T>) {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n },\n };\n}","import { createStore } from \"./store\";\n\nexport interface TableState {\n tableData: any;\n tablePrependData: any[];\n hubspotObjectTypeId: string;\n selectedPipeline: string;\n viewType: string;\n}\n\nexport const tableStore = createStore<TableState>({\n tableData: [],\n tablePrependData: [],\n hubspotObjectTypeId: \"\",\n selectedPipeline: \"\",\n viewType: \"\",\n});\n\nexport const actions = {\n\n setTableData(\n response: any,\n payload: any\n ) {\n const state = tableStore.getState();\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 newTablePrependData = state.tablePrependData.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 hubspotObjectTypeId = payload?.hubspotObjectTypeId;\n const selectedPipeline = payload?.selectedPipeline;\n const viewType = response?.info?.viewType;\n\n if(state.viewType && (state.viewType != viewType)) {\n newTablePrependData = [];\n }\n\n if(state.hubspotObjectTypeId && (state.hubspotObjectTypeId != hubspotObjectTypeId)) {\n newTablePrependData = [];\n }\n\n if(state.selectedPipeline && (state.selectedPipeline != selectedPipeline)) {\n newTablePrependData = [];\n }\n\n tableStore.setState({\n tableData: response,\n tablePrependData: newTablePrependData,\n hubspotObjectTypeId: hubspotObjectTypeId,\n viewType: viewType,\n });\n },\n\n clearTablePrependData() {\n tableStore.setState({\n tablePrependData: [],\n });\n },\n\n async setTablePrependData(\n response: any,\n pipelineStage?: any\n ) {\n const state: any = tableStore.getState();\n let rows: any = [];\n\n if(state.tableData?.info?.viewType == \"BOARD\") {\n if (response === 'loading') { // set empty loading columns\n\n rows = state.tableData?.data?.results?.map(\n ({ id, data }: any) => {\n // existing rows\n \n // match prepend data\n const matchedPrepend = state.tablePrependData.find(\n (item: any) => String(item.id) === String(id)\n );\n \n // existing prepend rows\n const prependRows = matchedPrepend?.data?.results?.rows ?? [];\n \n // create new loading row\n const newRow =\n String(id) === String(pipelineStage)\n ? [\n (data?.results?.columns ?? []).reduce(\n (obj: Record<string, string>, column: any) => {\n obj[column.key] = \"loading\";\n return obj;\n },\n {}\n ),\n ]\n : [];\n \n return {\n id,\n data: {\n results: {\n columns: data?.results?.columns ?? [],\n \n // prepend loading row + prepend rows\n rows: [\n ...newRow,\n ...prependRows\n ],\n },\n },\n };\n }\n );\n \n console.log(rows);\n } else {\n\n const data = response?.data\n const hs_pipeline_stage = data?.hs_pipeline_stage?.value?.value || data?.hs_pipeline_stage?.value\n\n if (!data) {\n tableStore.setState({\n tablePrependData: []\n });\n }\n\n rows = state?.tablePrependData.map((row: any) => {\n\n // match prepend data\n const matchedPrepend = state.tablePrependData.find(\n (item: any) => String(item.id) === String(row.id)\n );\n \n // existing prepend rows\n const prependRows = matchedPrepend?.data?.results?.rows ?? [];\n\n // match row id with hs_pipeline_stage\n if (String(row.id) === String(hs_pipeline_stage)) {\n // create object from columns\n const updatedRow = (row?.data?.results?.columns ?? []).reduce(\n (obj: any, column: any) => {\n const key = column.key;\n \n // set actual data value\n obj[key] = data?.[key]?.value ?? data?.[key] ?? \"\";\n \n return obj;\n },\n {}\n );\n\n prependRows[0] = updatedRow; // replace loading row\n \n return {\n ...row,\n data: {\n ...row.data,\n results: {\n ...row.data.results,\n rows: prependRows,\n },\n },\n };\n }\n \n return row;\n });\n \n console.log(\"rows\", rows);\n\n }\n } else {\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.tableData?.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, ...state.tablePrependData];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n tableStore.setState({\n tablePrependData: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.tablePrependData];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n }\n\n tableStore.setState({\n tablePrependData: rows\n });\n }\n}","import { createStore } from \"./store\";\n\nexport interface NoteState {\n notes: any;\n prependNotes: any[];\n id: string;\n}\n\nexport const noteStore = createStore<NoteState>({\n notes: [],\n prependNotes: [],\n id: \"\"\n});\n\nexport const actions = {\n\n setNotes(\n response: any,\n payload: any\n ) {\n const state = noteStore.getState();\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 newPrependNotes = state.prependNotes.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 id = payload?.params?.id;\n\n if(state.id && (state.id != id)) {\n newPrependNotes = [];\n }\n\n noteStore.setState({\n notes: response,\n prependNotes: newPrependNotes,\n id: id,\n });\n },\n\n async setPrependNote(\n response: any\n ) {\n const state: any = noteStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.notes?.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, ...state.prependNotes];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n noteStore.setState({\n prependNotes: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.prependNotes];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n noteStore.setState({\n prependNotes: rows\n });\n },\n\n async updatePrependNote (response: any) {\n const state: any = noteStore.getState();\n const prependNotes = state.prependNotes || [];\n\n const note = response.data || null;\n\n const notes = prependNotes.map((item: any) =>\n item?.hs_object_id === note?.hs_object_id?.value\n ? {\n ...item,\n ...Object.fromEntries(\n Object.entries(note).map(([key, value]: [string, any]) => [\n key,\n value?.value ?? value,\n ])\n ),\n }\n : item\n );\n\n noteStore.setState({\n prependNotes: notes\n });\n }\n}","import { createStore } from \"./store\";\n\nexport interface EmailState {\n emails: any;\n prependEmails: any[];\n id: string;\n}\n\nexport const emailStore = createStore<EmailState>({\n emails: [],\n prependEmails: [],\n id: \"\",\n});\n\nexport const actions = {\n\n setEmails(\n response: any,\n payload: any\n ) {\n const state = emailStore.getState();\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 newPrependEmails = state.prependEmails.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 id = payload?.params?.id;\n\n if(state.id && (state.id != id)) {\n newPrependEmails = [];\n }\n\n emailStore.setState({\n emails: response,\n prependEmails: newPrependEmails,\n id: id,\n });\n },\n\n async setPrependEmail(\n response: any\n ) {\n const state: any = emailStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.emails?.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, ...state.prependEmails];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n emailStore.setState({\n prependEmails: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.prependEmails];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n emailStore.setState({\n prependEmails: rows\n });\n },\n\n async updatePrependEmail (response: any) {\n const state: any = emailStore.getState();\n const prependEmails = state.prependEmails || [];\n\n const email = response.data || null;\n\n const emails = prependEmails.map((item: any) =>\n item?.hs_object_id === email?.hs_object_id?.value\n ? {\n ...item,\n ...Object.fromEntries(\n Object.entries(email).map(([key, value]: [string, any]) => [\n key,\n value?.value ?? value,\n ])\n ),\n }\n : item\n );\n\n emailStore.setState({\n prependEmails: emails\n });\n }\n}"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createStore, emailStore, actions3, noteStore, actions2, tableStore, actions } from './chunk-
|
|
1
|
+
import { createStore, emailStore, actions3, noteStore, actions2, tableStore, actions } from './chunk-3OQK7XCZ.js';
|
|
2
2
|
|
|
3
3
|
// src/store2/use-sync.ts
|
|
4
4
|
var syncStore = createStore({
|
|
@@ -34,7 +34,7 @@ var actions4 = {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
var resetAllStore = () => {
|
|
37
|
-
actions.
|
|
37
|
+
actions.clearTablePrependData();
|
|
38
38
|
actions2.setPrependNote([]);
|
|
39
39
|
actions3.setPrependEmail([]);
|
|
40
40
|
};
|
|
@@ -50,5 +50,5 @@ function createAdapterHooks(createComposable) {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export { createAdapterHooks };
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-XTASFMAW.js.map
|
|
54
|
+
//# sourceMappingURL=chunk-XTASFMAW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/store2/use-sync.ts","../src/adapters/shared/createAdapterHooks.ts"],"names":["actions"],"mappings":";;;AAYO,IAAM,YAAY,WAAA,CAAuB;AAAA,EAC5C,OAAA,EAAS,KAAA;AAAA,EACT,IAAA,EAAM,KAAA;AAAA,EACN,aAAA,EAAe,KAAA;AAAA,EACf,aAAA,EAAe;AACnB,CAAC,CAAA;AAEM,IAAMA,QAAAA,GAAU;AAAA,EACnB,iBAAiB,MAAA,EAAiB;AAC9B,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe,MAAA;AAAA,MACf,IAAA,EAAM;AAAA,KACT,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,QAAQ,MAAA,EAAiB;AACrB,IAAA,aAAA,EAAc;AACd,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe,MAAA;AAAA,MACf,IAAA,EAAM;AAAA,KACT,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,WAAW,MAAA,EAAiB;AACxB,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe,MAAA;AAAA,MACf,OAAA,EAAS;AAAA,KACZ,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,eAAe,MAAA,EAAiB;AAC5B,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe;AAAA,KAClB,CAAA;AAAA,EACL;AACJ,CAAA;AAEA,IAAM,gBAAgB,MAAM;AACxB,EAAA,OAAA,CAAa,qBAAA,EAAsB;AACnC,EAAAA,QAAAA,CAAY,cAAA,CAAe,EAAE,CAAA;AAC7B,EAAAA,QAAAA,CAAa,eAAA,CAAgB,EAAE,CAAA;AACnC,CAAA;;;AChCO,SAAS,mBAAmB,gBAAA,EAAqC;AACpE,EAAA,OAAO;AAAA,IACH,QAAA,EAAU,gBAAA,CAAkD,UAAA,EAAY,OAAY,CAAA;AAAA,IACpF,OAAA,EAAS,gBAAA,CAAgD,SAAA,EAAWA,QAAW,CAAA;AAAA,IAC/E,QAAA,EAAU,gBAAA,CAAkD,UAAA,EAAYA,QAAY,CAAA;AAAA,IACpF,OAAA,EAAS,gBAAA,CAAgD,SAAA,EAAWA,QAAW;AAAA,GACnF;AACJ","file":"chunk-XTASFMAW.js","sourcesContent":["import { createStore } from \"./store\";\nimport { actions as tableActions } from \"./use-table\";\nimport { actions as noteActions } from \"./use-note\";\nimport { actions as emailActions } from \"./use-email\";\n\nexport interface SyncState {\n apiSync: boolean;\n sync: boolean;\n isSyncLoading: boolean;\n isSyncDisable: boolean;\n}\n\nexport const syncStore = createStore<SyncState>({\n apiSync: false,\n sync: false,\n isSyncLoading: false,\n isSyncDisable: false,\n});\n\nexport const actions = {\n setIsSyncLoading(status: boolean) {\n syncStore.setState({\n isSyncLoading: status,\n sync: status,\n });\n },\n\n setSync(status: boolean) {\n resetAllStore()\n syncStore.setState({\n isSyncLoading: status,\n sync: status,\n });\n },\n\n setApiSync(status: boolean) {\n syncStore.setState({\n isSyncLoading: status,\n apiSync: status,\n });\n },\n\n setSyncDisable(status: boolean) {\n syncStore.setState({\n isSyncDisable: status,\n });\n },\n};\n\nconst resetAllStore = () => {\n tableActions.clearTablePrependData();\n noteActions.setPrependNote([]);\n emailActions.setPrependEmail([]);\n};","import type { SubscribableStore } from \"./bindStoreWithActions\";\nimport {\n tableStore,\n tableActions,\n type TableState,\n noteStore,\n noteActions,\n type NoteState,\n emailStore,\n emailActions,\n type EmailState,\n syncStore,\n syncActions,\n type SyncState,\n} from \"./stores\";\n\ntype ComposableFactory = <TState extends object, TActions extends object>(\n store: SubscribableStore<TState>,\n actions: TActions,\n) => () => TState & TActions;\n\nexport function createAdapterHooks(createComposable: ComposableFactory) {\n return {\n useTable: createComposable<TableState, typeof tableActions>(tableStore, tableActions),\n useNote: createComposable<NoteState, typeof noteActions>(noteStore, noteActions),\n useEmail: createComposable<EmailState, typeof emailActions>(emailStore, emailActions),\n useSync: createComposable<SyncState, typeof syncActions>(syncStore, syncActions),\n };\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -280,6 +280,19 @@ declare function isAuthenticateApp(): boolean;
|
|
|
280
280
|
|
|
281
281
|
declare function useTable(): any;
|
|
282
282
|
|
|
283
|
+
declare const DEFAULT_HUBSPOT_TIMEZONE = "Asia/Kolkata";
|
|
284
|
+
declare function getCurrentTimeZone(): string;
|
|
285
|
+
declare function normalizeToTimestamp(value: unknown): number | null;
|
|
286
|
+
declare function formatGmtOffset(timeZone?: string, date?: Date): string;
|
|
287
|
+
type HubSpotActivityDateTimeParts = {
|
|
288
|
+
date: string;
|
|
289
|
+
time: string;
|
|
290
|
+
gmtOffset: string;
|
|
291
|
+
formatted: string;
|
|
292
|
+
};
|
|
293
|
+
declare function formatHubSpotActivityDateTimeParts(timestamp: unknown, timeZone?: string): HubSpotActivityDateTimeParts | null;
|
|
294
|
+
declare function formatHubSpotActivityDateTime(timestamp: unknown, timeZone?: string): string;
|
|
295
|
+
|
|
283
296
|
declare const Client: {
|
|
284
297
|
authentication: {
|
|
285
298
|
preLogin: (data: PreLoginPayload) => Promise<unknown>;
|
|
@@ -447,4 +460,4 @@ declare const routeParam: {
|
|
|
447
460
|
};
|
|
448
461
|
};
|
|
449
462
|
|
|
450
|
-
export { type ChangePasswordPayload, type Config, type ForgetPasswordPayload, type HttpClientConfig, type LoginPayload, type MutationOptions, type PreLoginPayload, type ResetPasswordPayload, type ResetPasswordVerifyTokenPayload, type VerifyEmailPayload, api, breadcrumbsDetails, index as clint, getFieldErrors, getFormErrors, initializeHttpClient, routeParam, store, url };
|
|
463
|
+
export { type ChangePasswordPayload, type Config, DEFAULT_HUBSPOT_TIMEZONE, type ForgetPasswordPayload, type HttpClientConfig, type HubSpotActivityDateTimeParts, type LoginPayload, type MutationOptions, type PreLoginPayload, type ResetPasswordPayload, type ResetPasswordVerifyTokenPayload, type VerifyEmailPayload, api, breadcrumbsDetails, index as clint, formatGmtOffset, formatHubSpotActivityDateTime, formatHubSpotActivityDateTimeParts, getCurrentTimeZone, getFieldErrors, getFormErrors, initializeHttpClient, normalizeToTimestamp, routeParam, store, url };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { actions, actions2, actions3 } from './chunk-
|
|
1
|
+
import { actions, actions2, actions3 } from './chunk-3OQK7XCZ.js';
|
|
2
2
|
import { ensureValidRefresh, HUBSPOT_DATA, PORTAL_ID, DEV_PORTAL_ID, HUB_ID, setRefreshCallback, getAccessToken, setRefreshToken, setAccessToken, isAuthenticateApp, isExpiresAccessToken, isCookieExpired, getRefreshToken, DEV_API_URL, setPortal, setSubscriptionType, setLoggedInDetails, clearAccessToken, removeAllCookie, getCookie } from './chunk-FLWPTIGZ.js';
|
|
3
3
|
import { __export } from './chunk-PZ5AY32C.js';
|
|
4
4
|
import axios from 'axios';
|
|
@@ -1770,9 +1770,9 @@ function create(options) {
|
|
|
1770
1770
|
const { setTablePrependData } = actions;
|
|
1771
1771
|
const { mutate, isLoading } = createMutation(
|
|
1772
1772
|
async (props) => {
|
|
1773
|
-
if (props?.componentName != "association") await setTablePrependData("loading");
|
|
1773
|
+
if (props?.componentName != "association") await setTablePrependData("loading", props?.payload?.propertyPayload?.hs_pipeline_stage);
|
|
1774
1774
|
const response = await Client.object.create(props);
|
|
1775
|
-
if (props?.componentName != "association") await setTablePrependData(response);
|
|
1775
|
+
if (props?.componentName != "association") await setTablePrependData(response, props?.payload?.propertyPayload?.hs_pipeline_stage);
|
|
1776
1776
|
return response;
|
|
1777
1777
|
},
|
|
1778
1778
|
options
|
|
@@ -2262,6 +2262,66 @@ var buildChildRoute = (props, breadcrumbItems) => {
|
|
|
2262
2262
|
return generateUrl(props, breadcrumbs);
|
|
2263
2263
|
};
|
|
2264
2264
|
|
|
2265
|
+
// src/utils/datetime.ts
|
|
2266
|
+
var DEFAULT_HUBSPOT_TIMEZONE = "Asia/Kolkata";
|
|
2267
|
+
function getCurrentTimeZone() {
|
|
2268
|
+
try {
|
|
2269
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone || DEFAULT_HUBSPOT_TIMEZONE;
|
|
2270
|
+
} catch {
|
|
2271
|
+
return DEFAULT_HUBSPOT_TIMEZONE;
|
|
2272
|
+
}
|
|
2273
|
+
}
|
|
2274
|
+
function normalizeToTimestamp(value) {
|
|
2275
|
+
if (value == null || value === "") return null;
|
|
2276
|
+
if (typeof value === "number") {
|
|
2277
|
+
return value > 1e11 ? value : null;
|
|
2278
|
+
}
|
|
2279
|
+
if (typeof value === "string" && /^\d+$/.test(value)) {
|
|
2280
|
+
const n = Number(value);
|
|
2281
|
+
return n > 1e11 ? n : null;
|
|
2282
|
+
}
|
|
2283
|
+
if (typeof value === "string" || value instanceof Date) {
|
|
2284
|
+
const date = new Date(value);
|
|
2285
|
+
return Number.isNaN(date.getTime()) ? null : date.getTime();
|
|
2286
|
+
}
|
|
2287
|
+
return null;
|
|
2288
|
+
}
|
|
2289
|
+
function formatGmtOffset(timeZone = getCurrentTimeZone(), date = /* @__PURE__ */ new Date()) {
|
|
2290
|
+
const raw = new Intl.DateTimeFormat("en-US", {
|
|
2291
|
+
timeZone,
|
|
2292
|
+
timeZoneName: "longOffset"
|
|
2293
|
+
}).formatToParts(date).find((part) => part.type === "timeZoneName")?.value;
|
|
2294
|
+
if (!raw) return "";
|
|
2295
|
+
return raw.replace(/GMT([+-])0(\d)(?=:)/, "GMT$1$2");
|
|
2296
|
+
}
|
|
2297
|
+
function formatHubSpotActivityDateTimeParts(timestamp, timeZone = getCurrentTimeZone()) {
|
|
2298
|
+
const ms = normalizeToTimestamp(timestamp);
|
|
2299
|
+
if (ms == null) return null;
|
|
2300
|
+
const date = new Date(ms);
|
|
2301
|
+
const datePart = new Intl.DateTimeFormat("en-US", {
|
|
2302
|
+
timeZone,
|
|
2303
|
+
month: "long",
|
|
2304
|
+
day: "numeric",
|
|
2305
|
+
year: "numeric"
|
|
2306
|
+
}).format(date);
|
|
2307
|
+
const timePart = new Intl.DateTimeFormat("en-US", {
|
|
2308
|
+
timeZone,
|
|
2309
|
+
hour: "numeric",
|
|
2310
|
+
minute: "2-digit",
|
|
2311
|
+
hour12: true
|
|
2312
|
+
}).format(date);
|
|
2313
|
+
const gmtOffset = formatGmtOffset(timeZone, date);
|
|
2314
|
+
return {
|
|
2315
|
+
date: datePart,
|
|
2316
|
+
time: timePart,
|
|
2317
|
+
gmtOffset,
|
|
2318
|
+
formatted: `${datePart} at ${timePart} ${gmtOffset}`.trim()
|
|
2319
|
+
};
|
|
2320
|
+
}
|
|
2321
|
+
function formatHubSpotActivityDateTime(timestamp, timeZone = getCurrentTimeZone()) {
|
|
2322
|
+
return formatHubSpotActivityDateTimeParts(timestamp, timeZone)?.formatted ?? "";
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2265
2325
|
// src/index.ts
|
|
2266
2326
|
var api = {
|
|
2267
2327
|
preLogin,
|
|
@@ -2330,6 +2390,6 @@ var routeParam = {
|
|
|
2330
2390
|
getParamDetails
|
|
2331
2391
|
};
|
|
2332
2392
|
|
|
2333
|
-
export { api, breadcrumbsDetails, client_exports as clint, getFieldErrors, getFormErrors, initializeHttpClient, routeParam, store, url };
|
|
2393
|
+
export { DEFAULT_HUBSPOT_TIMEZONE, api, breadcrumbsDetails, client_exports as clint, formatGmtOffset, formatHubSpotActivityDateTime, formatHubSpotActivityDateTimeParts, getCurrentTimeZone, getFieldErrors, getFormErrors, initializeHttpClient, normalizeToTimestamp, routeParam, store, url };
|
|
2334
2394
|
//# sourceMappingURL=index.js.map
|
|
2335
2395
|
//# sourceMappingURL=index.js.map
|