@ryuzaki13/react-foundation-api 1.1.12 → 1.1.14
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/README.md +1 -1
- package/dist/adt/index.js +5 -3
- package/dist/adt/index.js.map +1 -1
- package/dist/async/index.js +1 -4
- package/dist/async/index.js.map +1 -1
- package/dist/chunks/{fetch-PmN9NBra.js → fetch-Cq29VQlt.js} +3 -2
- package/dist/chunks/{fetch-PmN9NBra.js.map → fetch-Cq29VQlt.js.map} +1 -1
- package/dist/chunks/{odataFetchFn-CzhXMYXj.js → odataFetchFn-BdCJe4_T.js} +13 -13
- package/dist/chunks/{odataFetchFn-CzhXMYXj.js.map → odataFetchFn-BdCJe4_T.js.map} +1 -1
- package/dist/error-report/index.js +2 -1
- package/dist/error-report/index.js.map +1 -1
- package/dist/odata/index.js +130 -125
- package/dist/odata/index.js.map +1 -1
- package/dist/odata/projectODataCollectionSort.d.ts.map +1 -1
- package/dist/persisted/index.js +1 -1
- package/dist/transport/index.js +1 -1
- package/package.json +20 -40
package/dist/odata/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from "../chunks/fetch-
|
|
2
|
-
import { S as w, _ as ee, a as te, b as ne, c as re, d as ie, f as ae, g as
|
|
1
|
+
import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from "../chunks/fetch-Cq29VQlt.js";
|
|
2
|
+
import { S as w, _ as ee, a as te, b as ne, c as re, d as ie, f as ae, g as T, h as oe, i as se, l as ce, m as le, n as ue, o as de, p as fe, r as E, s as pe, t as me, u as he, v as ge, x as D, y as _e } from "../chunks/odataFetchFn-BdCJe4_T.js";
|
|
3
3
|
import { logError as ve } from "@ryuzaki13/react-foundation-lib/utils";
|
|
4
4
|
import { parseDate as ye } from "@ryuzaki13/react-foundation-lib/formatters";
|
|
5
|
-
import { compareStrings as
|
|
6
|
-
import { useCallback as
|
|
7
|
-
import { queryOptions as
|
|
8
|
-
import { buildSeparatedArrays as
|
|
9
|
-
import { persistedQueryMeta as
|
|
10
|
-
import { buildEntityPath as
|
|
11
|
-
import { createTableColumnVisibilityFromODataMetadata as
|
|
12
|
-
import { notify as
|
|
5
|
+
import { compareStrings as be } from "@ryuzaki13/react-foundation-lib/string-comparison";
|
|
6
|
+
import { useCallback as O, useEffect as k, useMemo as A, useRef as xe, useState as j } from "react";
|
|
7
|
+
import { queryOptions as Se, useQuery as M, useQueryClient as N } from "@tanstack/react-query";
|
|
8
|
+
import { buildSeparatedArrays as Ce, useODataCollectionStore as we } from "@ryuzaki13/react-foundation-lib/odata";
|
|
9
|
+
import { persistedQueryMeta as Te } from "@ryuzaki13/react-foundation-lib/query-client";
|
|
10
|
+
import { buildEntityPath as Ee } from "@ryuzaki13/react-foundation-lib/odata-service";
|
|
11
|
+
import { createTableColumnVisibilityFromODataMetadata as De, createTableColumnsFromODataMetadata as Oe, enrichTableColumnsWithODataFormatting as ke, resolveStableColumnId as Ae } from "@ryuzaki13/react-foundation-lib/table";
|
|
12
|
+
import { notify as je } from "@ryuzaki13/react-foundation-lib/notifications";
|
|
13
13
|
//#region src/odata/createODataCollectionQueryKey.ts
|
|
14
|
-
var
|
|
15
|
-
version:
|
|
14
|
+
var Me = 2, P = () => [...w, "collection"], F = ({ service: e, target: t, limitedKeys: n, serverFilter: r }) => [...P(), {
|
|
15
|
+
version: Me,
|
|
16
16
|
service: e,
|
|
17
17
|
target: t,
|
|
18
18
|
limitedKeys: n,
|
|
@@ -20,7 +20,7 @@ var ke = 2, L = () => [...w, "collection"], R = ({ service: e, target: t, limite
|
|
|
20
20
|
}];
|
|
21
21
|
//#endregion
|
|
22
22
|
//#region src/odata/flattenODataDependentServices.ts
|
|
23
|
-
function
|
|
23
|
+
function Ne(e) {
|
|
24
24
|
let t = [];
|
|
25
25
|
for (let [n, r] of e.entries()) {
|
|
26
26
|
let e = `${r.odata.service}.${r.odata.target}`;
|
|
@@ -42,7 +42,7 @@ function Ae(e) {
|
|
|
42
42
|
}
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/odata/sortODataDependentSegmentItemsByChains.ts
|
|
45
|
-
function
|
|
45
|
+
function Pe(e, t, n) {
|
|
46
46
|
let r = /* @__PURE__ */ new Map();
|
|
47
47
|
for (let [e, n] of Object.entries(t)) r.set(e, new Map(n.map((e, t) => [e.codeKey, t])));
|
|
48
48
|
let i = [...e].map((e, t) => ({
|
|
@@ -64,7 +64,7 @@ function je(e, t, n) {
|
|
|
64
64
|
}
|
|
65
65
|
//#endregion
|
|
66
66
|
//#region src/odata/sortODataDependentServicesByChains.ts
|
|
67
|
-
function
|
|
67
|
+
function Fe(e, t) {
|
|
68
68
|
if (!t?.length) return [...e];
|
|
69
69
|
let n = /* @__PURE__ */ new Set();
|
|
70
70
|
for (let t of e) for (let e of Object.keys(t.segments)) n.add(e);
|
|
@@ -83,13 +83,13 @@ function Me(e, t) {
|
|
|
83
83
|
return (n ? o.get(n) ?? 2 ** 53 - 1 : 2 ** 53 - 1) - (r ? o.get(r) ?? 2 ** 53 - 1 : 2 ** 53 - 1);
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
|
-
function
|
|
87
|
-
return
|
|
86
|
+
function Ie(e, t, n) {
|
|
87
|
+
return Fe(e.map((e) => {
|
|
88
88
|
let n = t[`${e.odata.service}.${e.odata.target}`];
|
|
89
89
|
if (!n?.length) return e;
|
|
90
90
|
let r = new Map(n.map((e, t) => [e.codeKey, t])), i = Object.entries(e.segments).sort(([e], [t]) => {
|
|
91
91
|
let n = r.get(e), i = r.get(t);
|
|
92
|
-
return n !== void 0 && i !== void 0 ? n - i : n === void 0 ? i === void 0 ?
|
|
92
|
+
return n !== void 0 && i !== void 0 ? n - i : n === void 0 ? i === void 0 ? be(e, t) : 1 : -1;
|
|
93
93
|
});
|
|
94
94
|
return {
|
|
95
95
|
...e,
|
|
@@ -99,7 +99,7 @@ function Ne(e, t, n) {
|
|
|
99
99
|
}
|
|
100
100
|
//#endregion
|
|
101
101
|
//#region src/odata/fetchCollectionData.ts
|
|
102
|
-
async function
|
|
102
|
+
async function Le(e) {
|
|
103
103
|
let { url: t, query: n, signal: r } = e;
|
|
104
104
|
try {
|
|
105
105
|
let e = await D(t, n, { signal: r });
|
|
@@ -111,61 +111,66 @@ async function Pe(e) {
|
|
|
111
111
|
}
|
|
112
112
|
//#endregion
|
|
113
113
|
//#region src/odata/projectODataCollectionSort.ts
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
var I = /* @__PURE__ */ new WeakMap();
|
|
115
|
+
function Re(e) {
|
|
116
|
+
let t = I.get(e);
|
|
117
|
+
if (t) return t;
|
|
118
|
+
let n = !1, r = Object.fromEntries(Object.entries(e.separated).map(([t, r]) => {
|
|
119
|
+
let i = e.keyPairsMap[t];
|
|
120
|
+
return !i || r.length < 2 ? [t, r] : (n = !0, [t, [...r].sort((e, t) => be(String(e[i] ?? ""), String(t[i] ?? "")))]);
|
|
118
121
|
}));
|
|
119
|
-
|
|
122
|
+
if (!n) return e;
|
|
123
|
+
let i = {
|
|
120
124
|
...e,
|
|
121
|
-
separated:
|
|
122
|
-
}
|
|
125
|
+
separated: r
|
|
126
|
+
};
|
|
127
|
+
return I.set(e, i), i;
|
|
123
128
|
}
|
|
124
129
|
//#endregion
|
|
125
130
|
//#region src/odata/useODataCollectionUpdatesQuery.ts
|
|
126
|
-
var
|
|
131
|
+
var ze = __APP_BUILD_ID__, Be = 144e5, L = 6048e5, R = "ttl=forever;name=ref", z = "bust=forever;name=ref", B = "ttl=4h;name=ref-updates", V = () => [
|
|
127
132
|
...w,
|
|
128
133
|
"collection-updates",
|
|
129
|
-
{ buildId:
|
|
134
|
+
{ buildId: ze }
|
|
130
135
|
];
|
|
131
|
-
function
|
|
136
|
+
function Ve(e) {
|
|
132
137
|
return {
|
|
133
138
|
...e,
|
|
134
139
|
lastChangedAt: ye(e.lastChanged)
|
|
135
140
|
};
|
|
136
141
|
}
|
|
137
|
-
function
|
|
138
|
-
let n = e.map(
|
|
142
|
+
function H(e, t) {
|
|
143
|
+
let n = e.map(Ve);
|
|
139
144
|
return {
|
|
140
145
|
items: n,
|
|
141
146
|
byEntityName: n.reduce((e, t) => (t.entityName && (e[t.entityName] = t), e), {}),
|
|
142
147
|
fetchedAt: t,
|
|
143
|
-
coverageStartedAt: t -
|
|
148
|
+
coverageStartedAt: t - L
|
|
144
149
|
};
|
|
145
150
|
}
|
|
146
|
-
function
|
|
151
|
+
function U() {
|
|
147
152
|
return async ({ signal: t }) => {
|
|
148
153
|
let n = Date.now(), r = S().collectionUpdates;
|
|
149
|
-
return r ?
|
|
154
|
+
return r ? H((await D(`/${r.service}/${r.target}`, {
|
|
150
155
|
baseUrl: e(r.service, r.baseUrl),
|
|
151
|
-
swCache:
|
|
152
|
-
}, { signal: t })).data, Math.max(n, Date.now())) :
|
|
156
|
+
swCache: B
|
|
157
|
+
}, { signal: t })).data, Math.max(n, Date.now())) : H([], n);
|
|
153
158
|
};
|
|
154
159
|
}
|
|
155
|
-
var
|
|
156
|
-
queryKey:
|
|
157
|
-
queryFn:
|
|
158
|
-
meta:
|
|
159
|
-
staleTime: e.staleTime ??
|
|
160
|
+
var W = (e = {}) => Se({
|
|
161
|
+
queryKey: V(),
|
|
162
|
+
queryFn: U(),
|
|
163
|
+
meta: Te,
|
|
164
|
+
staleTime: e.staleTime ?? Be,
|
|
160
165
|
gcTime: Infinity
|
|
161
166
|
});
|
|
162
|
-
function
|
|
163
|
-
return
|
|
167
|
+
function G(e = {}) {
|
|
168
|
+
return M(W(e));
|
|
164
169
|
}
|
|
165
170
|
//#endregion
|
|
166
171
|
//#region src/odata/useODataMetadata.ts
|
|
167
172
|
function K(e) {
|
|
168
|
-
let { data: t, dataUpdatedAt: n = 0, isLoading: r, isLoadingError: i } =
|
|
173
|
+
let { data: t, dataUpdatedAt: n = 0, isLoading: r, isLoadingError: i } = ge({ service: e.service }), a = t?.entities[e.target];
|
|
169
174
|
if (!r && !a && t?.functionImports[e.target]) throw Error(`OData target '${e.target}' является FunctionImport и не может использоваться как сущность`);
|
|
170
175
|
if (i) throw Error(`Ошибка загрузки метаданных сервиса ${e.service}`);
|
|
171
176
|
return {
|
|
@@ -177,17 +182,17 @@ function K(e) {
|
|
|
177
182
|
//#endregion
|
|
178
183
|
//#region src/odata/useODataEntity.ts
|
|
179
184
|
var q = "Использование actions недопустимо до окончания загрузки metadata";
|
|
180
|
-
function
|
|
185
|
+
function J(e) {
|
|
181
186
|
let { metadata: t, metadataUpdatedAt: n, isLoading: r } = K(e);
|
|
182
187
|
return {
|
|
183
188
|
config: e,
|
|
184
189
|
metadata: t,
|
|
185
190
|
metadataUpdatedAt: n,
|
|
186
191
|
isLoading: r,
|
|
187
|
-
actions:
|
|
192
|
+
actions: A(() => ({
|
|
188
193
|
getEntityPath: (n = {}) => {
|
|
189
194
|
if (!t) throw Error(q);
|
|
190
|
-
return
|
|
195
|
+
return Ee(t, e, n);
|
|
191
196
|
},
|
|
192
197
|
getKeys: () => {
|
|
193
198
|
if (!t) throw Error(q);
|
|
@@ -211,20 +216,20 @@ function Ve(e) {
|
|
|
211
216
|
}
|
|
212
217
|
//#endregion
|
|
213
218
|
//#region src/odata/useODataCollectionQuery.ts
|
|
214
|
-
function
|
|
219
|
+
function Y(e, t) {
|
|
215
220
|
if (!t) return e;
|
|
216
221
|
let n = e.trim().toLowerCase();
|
|
217
|
-
return n === "off" || n.startsWith("bust=") ? e : n.startsWith("ttl=") ? e.replace(/^\s*ttl=/i, "bust=") :
|
|
222
|
+
return n === "off" || n.startsWith("bust=") ? e : n.startsWith("ttl=") ? e.replace(/^\s*ttl=/i, "bust=") : z;
|
|
218
223
|
}
|
|
219
|
-
function
|
|
224
|
+
function X(e) {
|
|
220
225
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
221
226
|
}
|
|
222
|
-
function
|
|
227
|
+
function He(e, t) {
|
|
223
228
|
let n = t?.cacheUpdatedAt ?? 0, r = e.update?.lastChangedAt?.getTime();
|
|
224
|
-
return !!(
|
|
229
|
+
return !!(X(r) && (!t || !n || r > n) || X(e.metadataUpdatedAt) && (!t || !n || e.metadataUpdatedAt > n) || X(e.updatesCoverageStartedAt) && (!t || !n || n < e.updatesCoverageStartedAt));
|
|
225
230
|
}
|
|
226
|
-
function
|
|
227
|
-
let { service: t, target: n, limitedKeys: r, excludeEmpty: i, sortByCode: a, serverFilter: o, clientFilter: s, swCache: c =
|
|
231
|
+
function Ue(e) {
|
|
232
|
+
let { service: t, target: n, limitedKeys: r, excludeEmpty: i, sortByCode: a, serverFilter: o, clientFilter: s, swCache: c = R } = e, l = N(), { actions: u, metadata: d, metadataUpdatedAt: f, isLoading: p } = J(e), m = G(), h = A(() => F({
|
|
228
233
|
service: t,
|
|
229
234
|
target: n,
|
|
230
235
|
limitedKeys: r,
|
|
@@ -234,19 +239,19 @@ function We(e) {
|
|
|
234
239
|
n,
|
|
235
240
|
r,
|
|
236
241
|
o
|
|
237
|
-
]), g = l.getQueryData(h), _ = m.data?.byEntityName[n], v =
|
|
242
|
+
]), g = l.getQueryData(h), _ = m.data?.byEntityName[n], v = He({
|
|
238
243
|
update: _,
|
|
239
244
|
metadataUpdatedAt: f,
|
|
240
245
|
updatesCoverageStartedAt: m.data?.coverageStartedAt
|
|
241
|
-
}, g), y =
|
|
242
|
-
return
|
|
246
|
+
}, g), y = Y(c, v), b = m.isError || m.isSuccess && !m.isFetching;
|
|
247
|
+
return k(() => {
|
|
243
248
|
!g || !v || l.invalidateQueries({ queryKey: h });
|
|
244
249
|
}, [
|
|
245
250
|
g,
|
|
246
251
|
l,
|
|
247
252
|
h,
|
|
248
253
|
v
|
|
249
|
-
]),
|
|
254
|
+
]), M({
|
|
250
255
|
queryKey: h,
|
|
251
256
|
queryFn: async ({ signal: e }) => {
|
|
252
257
|
let a = Date.now(), c = r ? [...r] : u.getKeys(), l = u.getKeyPairs(), d = u.getKeyPairsMap();
|
|
@@ -254,7 +259,7 @@ function We(e) {
|
|
|
254
259
|
let t = d[e];
|
|
255
260
|
t && !c.includes(t) && c.push(t);
|
|
256
261
|
}
|
|
257
|
-
let { items: p } = await
|
|
262
|
+
let { items: p } = await Le({
|
|
258
263
|
url: `/${t}/${n}`,
|
|
259
264
|
query: {
|
|
260
265
|
select: c,
|
|
@@ -264,7 +269,7 @@ function We(e) {
|
|
|
264
269
|
signal: e
|
|
265
270
|
}), m = p;
|
|
266
271
|
s && (m = p.filter(s));
|
|
267
|
-
let h =
|
|
272
|
+
let h = Ce(m, l, i, !0), g = l.map((e) => ({
|
|
268
273
|
codeKey: e.codeKey,
|
|
269
274
|
count: h[e.codeKey].length
|
|
270
275
|
})).sort((e, t) => e.count - t.count);
|
|
@@ -279,16 +284,16 @@ function We(e) {
|
|
|
279
284
|
};
|
|
280
285
|
},
|
|
281
286
|
enabled: !!(!p && d && t && n && b),
|
|
282
|
-
meta:
|
|
283
|
-
staleTime:
|
|
284
|
-
gcTime:
|
|
285
|
-
select: a === !1 ?
|
|
287
|
+
meta: Te,
|
|
288
|
+
staleTime: 72e5,
|
|
289
|
+
gcTime: 36e5,
|
|
290
|
+
select: a === !1 ? Re : void 0
|
|
286
291
|
});
|
|
287
292
|
}
|
|
288
293
|
//#endregion
|
|
289
294
|
//#region src/odata/useODataCollection.ts
|
|
290
|
-
function
|
|
291
|
-
let { codeKey: r, maxVisibleItems: i } = t, { data: a, isLoading: o, isError: s, refetch: c } =
|
|
295
|
+
function We({ odata: e, model: t, pageSize: n = 50 }) {
|
|
296
|
+
let { codeKey: r, maxVisibleItems: i } = t, { data: a, isLoading: o, isError: s, refetch: c } = Ue(e), l = a?.keyPairsMap[r] ?? "", u = N(), [d, f] = j(), p = xe(/* @__PURE__ */ new Map()), { itemsMap: m, separatedItems: h, orderedKeys: g } = A(() => {
|
|
292
297
|
let e = /* @__PURE__ */ new Map(), t = [], n = [];
|
|
293
298
|
if (a && a.separated[r]) {
|
|
294
299
|
n = a.separated[r];
|
|
@@ -302,7 +307,7 @@ function Ge({ odata: e, model: t, pageSize: n = 50 }) {
|
|
|
302
307
|
separatedItems: n,
|
|
303
308
|
orderedKeys: t
|
|
304
309
|
};
|
|
305
|
-
}, [a, r]), _ =
|
|
310
|
+
}, [a, r]), _ = O((e) => {
|
|
306
311
|
let t = a?.separated[r];
|
|
307
312
|
if (!t) return /* @__PURE__ */ new Map();
|
|
308
313
|
let n = /* @__PURE__ */ new Map();
|
|
@@ -314,11 +319,11 @@ function Ge({ odata: e, model: t, pageSize: n = 50 }) {
|
|
|
314
319
|
}
|
|
315
320
|
}
|
|
316
321
|
return n;
|
|
317
|
-
}, [a, r]), v =
|
|
322
|
+
}, [a, r]), v = O((e) => {
|
|
318
323
|
f(() => {
|
|
319
324
|
if (e?.length) return new Set(e.map((e) => e[r]));
|
|
320
325
|
});
|
|
321
|
-
}, [r]), y =
|
|
326
|
+
}, [r]), y = O((e, t) => {
|
|
322
327
|
if (!g.length) return [];
|
|
323
328
|
let n = i, a = /* @__PURE__ */ new Set(), o = [];
|
|
324
329
|
if (t?.length) for (let e = 0; e < t.length; e++) a.add(t[e][r]);
|
|
@@ -338,26 +343,26 @@ function Ge({ odata: e, model: t, pageSize: n = 50 }) {
|
|
|
338
343
|
m,
|
|
339
344
|
d,
|
|
340
345
|
l
|
|
341
|
-
]), b =
|
|
346
|
+
]), b = O((e) => {
|
|
342
347
|
let t = a?.separated[r] || [], i = e * n, o = i + n;
|
|
343
348
|
return t.slice(i, o);
|
|
344
349
|
}, [
|
|
345
350
|
a,
|
|
346
351
|
n,
|
|
347
352
|
r
|
|
348
|
-
]), x =
|
|
353
|
+
]), x = O((e, t) => {
|
|
349
354
|
if (!a) return [];
|
|
350
355
|
let n = new Set(t);
|
|
351
356
|
return a.items.filter((t) => n.has(t[e]));
|
|
352
|
-
}, [a]), S =
|
|
357
|
+
}, [a]), S = O((e, t, n = 200) => {
|
|
353
358
|
p.current.has(e) && clearTimeout(p.current.get(e));
|
|
354
359
|
let r = setTimeout(t, n);
|
|
355
360
|
p.current.set(e, r);
|
|
356
|
-
}, []), C =
|
|
361
|
+
}, []), C = O(() => {
|
|
357
362
|
for (let e of p.current.values()) clearTimeout(e);
|
|
358
363
|
p.current.clear();
|
|
359
364
|
}, []);
|
|
360
|
-
return
|
|
365
|
+
return A(() => () => {
|
|
361
366
|
C();
|
|
362
367
|
}, [C]), {
|
|
363
368
|
data: a,
|
|
@@ -375,20 +380,20 @@ function Ge({ odata: e, model: t, pageSize: n = 50 }) {
|
|
|
375
380
|
separatedItems: h,
|
|
376
381
|
orderedKeys: g,
|
|
377
382
|
refetch: c,
|
|
378
|
-
invalidate: () => u.invalidateQueries({ queryKey:
|
|
383
|
+
invalidate: () => u.invalidateQueries({ queryKey: F(e) }),
|
|
379
384
|
totalCount: a?.separated[r]?.length || 0,
|
|
380
385
|
pageSize: n
|
|
381
386
|
};
|
|
382
387
|
}
|
|
383
388
|
//#endregion
|
|
384
389
|
//#region src/odata/useODataCollectionChains.ts
|
|
385
|
-
function
|
|
386
|
-
let t =
|
|
387
|
-
return
|
|
390
|
+
function Ge(e) {
|
|
391
|
+
let t = N(), [n, r] = j({}), i = A(() => e.map((e) => F(e)), [e]);
|
|
392
|
+
return k(() => {
|
|
388
393
|
function n() {
|
|
389
394
|
let n = {};
|
|
390
395
|
for (let r of e) {
|
|
391
|
-
let e =
|
|
396
|
+
let e = F(r), i = t.getQueryData(e);
|
|
392
397
|
i?.chain && (n[`${r.service}.${r.target}`] = i.chain);
|
|
393
398
|
}
|
|
394
399
|
r((e) => Object.keys(e).length === Object.keys(n).length && Object.entries(n).every(([t, n]) => e[t] === n) ? e : n);
|
|
@@ -407,9 +412,9 @@ function Ke(e) {
|
|
|
407
412
|
}
|
|
408
413
|
//#endregion
|
|
409
414
|
//#region src/odata/useODataCollectionModel.ts
|
|
410
|
-
function
|
|
411
|
-
let [t] =
|
|
412
|
-
let t =
|
|
415
|
+
function Ke(e) {
|
|
416
|
+
let [t] = j(() => {
|
|
417
|
+
let t = we.getState(), { codeKey: n, maxVisibleItems: r = t.defaultMaxVisibleItems, minSearchCodeLength: i = t.defaultMinSearchCodeLength, minSearchTextLength: a = t.defaultMinSearchTextLength, searchDebounceDelay: o = t.defaultSearchDebounceDelay } = e;
|
|
413
418
|
return {
|
|
414
419
|
codeKey: n,
|
|
415
420
|
maxVisibleItems: r,
|
|
@@ -422,31 +427,31 @@ function qe(e) {
|
|
|
422
427
|
}
|
|
423
428
|
//#endregion
|
|
424
429
|
//#region src/odata/useODataTableColumns.ts
|
|
425
|
-
function
|
|
430
|
+
function qe(e, t) {
|
|
426
431
|
let n = {}, r = (e) => {
|
|
427
432
|
for (let i of e) {
|
|
428
433
|
if ("columns" in i && Array.isArray(i.columns) && i.columns.length > 0) {
|
|
429
434
|
r(i.columns);
|
|
430
435
|
continue;
|
|
431
436
|
}
|
|
432
|
-
let e =
|
|
437
|
+
let e = Ae(i);
|
|
433
438
|
!e || !(e in t) || (n[e] = t[e]);
|
|
434
439
|
}
|
|
435
440
|
};
|
|
436
441
|
return r(e), n;
|
|
437
442
|
}
|
|
438
|
-
function
|
|
443
|
+
function Je(e) {
|
|
439
444
|
let { metadata: t, isLoading: n } = K(e);
|
|
440
445
|
return {
|
|
441
|
-
columns:
|
|
446
|
+
columns: A(() => t ? e.mode === "build" ? Oe(t.columns, {
|
|
442
447
|
resolveHeader: e.resolveHeader,
|
|
443
448
|
resolveFormatting: e.resolveFormatting
|
|
444
|
-
}) :
|
|
445
|
-
defaultColumnVisibility:
|
|
449
|
+
}) : ke(e.columns, t.columns) : e.mode === "build" ? [] : [...e.columns], [e, t]),
|
|
450
|
+
defaultColumnVisibility: A(() => {
|
|
446
451
|
if (!t) return;
|
|
447
|
-
if (e.mode === "build") return
|
|
448
|
-
let n =
|
|
449
|
-
return
|
|
452
|
+
if (e.mode === "build") return De(t.columns, { resolveVisible: e.resolveVisible });
|
|
453
|
+
let n = De(t.columns);
|
|
454
|
+
return qe(e.columns, n);
|
|
450
455
|
}, [e, t]),
|
|
451
456
|
metadata: t,
|
|
452
457
|
isLoading: n
|
|
@@ -454,10 +459,10 @@ function Ye(e) {
|
|
|
454
459
|
}
|
|
455
460
|
//#endregion
|
|
456
461
|
//#region src/odata/odataFetchFnDev.ts
|
|
457
|
-
function
|
|
462
|
+
function Ye() {
|
|
458
463
|
return globalThis.console;
|
|
459
464
|
}
|
|
460
|
-
function
|
|
465
|
+
function Xe(e) {
|
|
461
466
|
let t = {};
|
|
462
467
|
return new Headers(e).forEach((e, n) => {
|
|
463
468
|
t[n] = e;
|
|
@@ -473,32 +478,32 @@ function Ze(e) {
|
|
|
473
478
|
}
|
|
474
479
|
}
|
|
475
480
|
}
|
|
476
|
-
function
|
|
481
|
+
function Qe(e) {
|
|
477
482
|
return e !== void 0 && !["GET", "HEAD"].includes(e.toUpperCase());
|
|
478
483
|
}
|
|
479
|
-
function
|
|
484
|
+
function $e(e) {
|
|
480
485
|
return (e.baseUrl ?? "odata") !== "" || e.path.startsWith("/sap/") || e.path.startsWith("/sap-dp0/");
|
|
481
486
|
}
|
|
482
|
-
function
|
|
487
|
+
function et(e, t) {
|
|
483
488
|
let n = t.toLowerCase();
|
|
484
489
|
return Object.keys(e).some((e) => e.toLowerCase() === n);
|
|
485
490
|
}
|
|
486
491
|
function Z(e, t, n) {
|
|
487
|
-
|
|
488
|
-
}
|
|
489
|
-
function et(e) {
|
|
490
|
-
let t = Y(e.init.headers), n = e.init.method, r = Qe(e);
|
|
491
|
-
return Z(t, "DataServiceVersion", "2.0"), Z(t, "MaxDataServiceVersion", "2.0"), Z(t, "Accept", "application/json"), t["sap-language"] = "ru", r && (t["sap-contextid-accept"] = "header"), X(n) && e.init.body && Z(t, "Content-Type", "application/json"), X(n) && r && Z(t, "x-csrf-token", "<получается отдельным GET перед реальным write-запросом>"), t;
|
|
492
|
+
et(e, t) || (e[t] = n);
|
|
492
493
|
}
|
|
493
494
|
function tt(e) {
|
|
494
|
-
|
|
495
|
+
let t = Xe(e.init.headers), n = e.init.method, r = $e(e);
|
|
496
|
+
return Z(t, "DataServiceVersion", "2.0"), Z(t, "MaxDataServiceVersion", "2.0"), Z(t, "Accept", "application/json"), t["sap-language"] = "ru", r && (t["sap-contextid-accept"] = "header"), Qe(n) && e.init.body && Z(t, "Content-Type", "application/json"), Qe(n) && r && Z(t, "x-csrf-token", "<получается отдельным GET перед реальным write-запросом>"), t;
|
|
497
|
+
}
|
|
498
|
+
function nt(e) {
|
|
499
|
+
return ce(e) ? "FunctionImport" : e.result ? "Parameterized Entity" : "Entity";
|
|
495
500
|
}
|
|
496
501
|
function Q(e, t) {
|
|
497
|
-
let n =
|
|
502
|
+
let n = Ye();
|
|
498
503
|
n.groupCollapsed(e), n.info(t), n.groupEnd();
|
|
499
504
|
}
|
|
500
|
-
function
|
|
501
|
-
let t =
|
|
505
|
+
function rt(e) {
|
|
506
|
+
let t = Ye(), n = Ze(e.request.init.body), r = Xe(e.request.init.headers), i = tt(e.request), a = {
|
|
502
507
|
method: e.request.init.method,
|
|
503
508
|
headers: r,
|
|
504
509
|
body: n,
|
|
@@ -508,7 +513,7 @@ function nt(e) {
|
|
|
508
513
|
helper: e.helperName,
|
|
509
514
|
operation: e.operation,
|
|
510
515
|
target: e.odata.target,
|
|
511
|
-
targetKind:
|
|
516
|
+
targetKind: nt(e.target),
|
|
512
517
|
service: e.odata.service,
|
|
513
518
|
realFetch: "не выполнялся"
|
|
514
519
|
}]), t.info("Итоговый URL:", e.request.fullUrl), t.info("Path без base URL:", e.request.path), t.info("Target path до query options:", e.targetPath), t.info("Query string:", e.request.queryString || "<пусто>"), t.info("Body:", n ?? "<пусто>"), t.info("Auto parse:", e.autoParse ?? !1), t.info("Transform:", e.hasTransform ? "передан, но не вызывается без ответа backend" : "не передан"), t.info("Dry-run result:", e.operation === "query" ? {
|
|
@@ -516,20 +521,20 @@ function nt(e) {
|
|
|
516
521
|
totalCount: 0
|
|
517
522
|
} : { data: void 0 }), Q("OData config", e.odata), Q("Target metadata", e.target), Q("Target params", e.params), Q("Query options", e.queryOptions), Q("RequestInit, переданный в transport", a), Q("Заголовки после transport defaults (без реального fetch)", i), t.groupEnd();
|
|
518
523
|
}
|
|
519
|
-
function
|
|
520
|
-
|
|
524
|
+
function it(e) {
|
|
525
|
+
je.warning(`${e}: DEV dry-run OData запроса. Реальный запрос не выполняется, payload выведен в console.`, { title: "OData DEV helper" });
|
|
521
526
|
}
|
|
522
527
|
function $(t, n, r) {
|
|
523
528
|
let { odata: i, options: a = {}, init: o = {}, autoParse: s, swCache: c } = n, l = n.params ?? {};
|
|
524
529
|
return async ({ client: u, signal: d }) => {
|
|
525
|
-
|
|
526
|
-
let f = e(i.service, a.baseUrl), p = await
|
|
530
|
+
it(r);
|
|
531
|
+
let f = e(i.service, a.baseUrl), p = await T({
|
|
527
532
|
service: i.service,
|
|
528
533
|
baseUrl: f
|
|
529
534
|
}, u);
|
|
530
535
|
if (!p) throw Error(`Не удалось загрузить metadata OData-сервиса '${i.service}'`);
|
|
531
|
-
let m =
|
|
532
|
-
|
|
536
|
+
let m = he(p, i.target);
|
|
537
|
+
fe(m, t, i);
|
|
533
538
|
let h = ie(n.body, t), g = ae(m, t), _ = re(m, i, l, t), v = c ? {
|
|
534
539
|
...a,
|
|
535
540
|
baseUrl: f,
|
|
@@ -537,19 +542,19 @@ function $(t, n, r) {
|
|
|
537
542
|
} : {
|
|
538
543
|
...a,
|
|
539
544
|
baseUrl: f
|
|
540
|
-
}, y =
|
|
545
|
+
}, y = {
|
|
541
546
|
...o,
|
|
542
547
|
method: g,
|
|
543
548
|
body: h,
|
|
544
549
|
signal: d
|
|
545
|
-
});
|
|
546
|
-
return
|
|
550
|
+
}, b = ne(_, v, y);
|
|
551
|
+
return rt({
|
|
547
552
|
helperName: r,
|
|
548
553
|
operation: t,
|
|
549
554
|
odata: i,
|
|
550
555
|
target: m,
|
|
551
556
|
targetPath: _,
|
|
552
|
-
request:
|
|
557
|
+
request: b,
|
|
553
558
|
requestMethod: g,
|
|
554
559
|
params: l,
|
|
555
560
|
queryOptions: v,
|
|
@@ -562,25 +567,25 @@ function $(t, n, r) {
|
|
|
562
567
|
} : { data: void 0 };
|
|
563
568
|
};
|
|
564
569
|
}
|
|
565
|
-
function it(e) {
|
|
566
|
-
return __DEV__ ? $("create", e, "odataCreateFnDev") : T("create", e);
|
|
567
|
-
}
|
|
568
570
|
function at(e) {
|
|
569
|
-
return __DEV__ ? $("
|
|
571
|
+
return __DEV__ ? $("create", e, "odataCreateFnDev") : E("create", e);
|
|
570
572
|
}
|
|
571
573
|
function ot(e) {
|
|
572
|
-
return __DEV__ ? $("
|
|
574
|
+
return __DEV__ ? $("update", e, "odataUpdateFnDev") : E("update", e);
|
|
573
575
|
}
|
|
574
576
|
function st(e) {
|
|
575
|
-
return __DEV__ ? $("
|
|
577
|
+
return __DEV__ ? $("delete", e, "odataDeleteFnDev") : E("delete", e);
|
|
576
578
|
}
|
|
577
579
|
function ct(e) {
|
|
578
|
-
return __DEV__ ? $("
|
|
580
|
+
return __DEV__ ? $("read", e, "odataReadFnDev") : E("read", e);
|
|
579
581
|
}
|
|
580
582
|
function lt(e) {
|
|
581
|
-
return __DEV__ ? $("
|
|
583
|
+
return __DEV__ ? $("query", e, "odataQueryFnDev") : E("query", e);
|
|
584
|
+
}
|
|
585
|
+
function ut(e) {
|
|
586
|
+
return __DEV__ ? $("fi", e, "odataFunctionImportFnDev") : E("fi", e);
|
|
582
587
|
}
|
|
583
588
|
//#endregion
|
|
584
|
-
export { h as BaseAppConfigURL, f as BaseODataDp0URL, l as BaseODataUI2URL, c as BaseODataURL, n as BaseUrlMap,
|
|
589
|
+
export { h as BaseAppConfigURL, f as BaseODataDp0URL, l as BaseODataUI2URL, c as BaseODataURL, n as BaseUrlMap, z as ODATA_COLLECTION_BUST_SW_CACHE, R as ODATA_COLLECTION_DEFAULT_SW_CACHE, L as ODATA_COLLECTION_UPDATES_LOOKBACK_MS, B as ODATA_COLLECTION_UPDATES_SW_CACHE, d as SsoRequiredError, le as applyODataMetadataVersion, i as configureODataProjectAdapter, P as createODataCollectionBaseQueryKey, F as createODataCollectionQueryKey, V as createODataCollectionUpdatesQueryKey, v as fetchBase, p as fetchDeleteFn, g as fetchJson, u as fetchJsonMutationFn, r as fetchJsonQueryFn, oe as fetchMetadata, U as fetchODataCollectionUpdates, m as fetchODataJson, _ as fetchQueryFn, Ne as flattenODataDependentServices, b as getInputUrl, T as getODataMetadataData, S as getODataProjectAdapter, a as isNoContentResponse, y as isSsoForm, t as normalizeODataServiceName, C as normalizeRelativePath, W as odataCollectionUpdatesQueryOptions, me as odataCreateFn, at as odataCreateFnDev, ue as odataDeleteFn, st as odataDeleteFnDev, D as odataFetch, se as odataFunctionImportFn, ut as odataFunctionImportFnDev, ee as odataMetadataQueryOptions, te as odataQueryFn, lt as odataQueryFnDev, de as odataReadFn, ct as odataReadFnDev, pe as odataUpdateFn, ot as odataUpdateFnDev, o as recoverSsoSession, e as resolveODataBaseUrl, Y as resolveODataCollectionSwCachePolicy, x as resolveODataSapClient, He as shouldRefreshODataCollectionCache, Pe as sortODataDependentSegmentItemsByChains, Ie as sortODataDependentServicesByChains, s as submitSsoForm, We as useODataCollection, Ge as useODataCollectionChains, Ke as useODataCollectionModel, Ue as useODataCollectionQuery, G as useODataCollectionUpdatesQuery, J as useODataEntity, K as useODataMetadata, ge as useODataMetadataQuery, _e as useODataMetadataVersionQuery, Je as useODataTableColumns };
|
|
585
590
|
|
|
586
591
|
//# sourceMappingURL=index.js.map
|