@andrey4emk/npm-app-front-b24 0.1.13 → 0.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.
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createElementBlock as
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
for (const [
|
|
5
|
-
c
|
|
6
|
-
return
|
|
7
|
-
},
|
|
1
|
+
import { createElementBlock as o, openBlock as r, createElementVNode as e, createCommentVNode as f, withDirectives as g, vModelCheckbox as I, createTextVNode as p, toDisplayString as u, Fragment as D, renderList as T, normalizeClass as S } from "vue";
|
|
2
|
+
const m = (l, t) => {
|
|
3
|
+
const E = l.__vccOpts || l;
|
|
4
|
+
for (const [c, n] of t)
|
|
5
|
+
E[c] = n;
|
|
6
|
+
return E;
|
|
7
|
+
}, N = {
|
|
8
8
|
name: "Subscriptions",
|
|
9
9
|
// props: {
|
|
10
10
|
// b24: { type: Object, default: null },
|
|
@@ -81,8 +81,8 @@ const N = (l, t) => {
|
|
|
81
81
|
auth_connector: this.auth_connector
|
|
82
82
|
// clear: 0,
|
|
83
83
|
},
|
|
84
|
-
(
|
|
85
|
-
console.log(`Загрузка: ${
|
|
84
|
+
(E) => {
|
|
85
|
+
console.log(`Загрузка: ${E.toFixed(0)}%`, "debug");
|
|
86
86
|
}
|
|
87
87
|
);
|
|
88
88
|
this.entities.list = t.getData(), this.entities.total = t.getData().length;
|
|
@@ -100,27 +100,32 @@ const N = (l, t) => {
|
|
|
100
100
|
return;
|
|
101
101
|
let l = this.entities.total / 50 + 1;
|
|
102
102
|
console.log("Всего страниц для удаления:", l);
|
|
103
|
-
for (let
|
|
104
|
-
let
|
|
103
|
+
for (let t = 1; t <= l; t++) {
|
|
104
|
+
let c = (await $b24.callMethod("event.offline.list", {
|
|
105
105
|
start: 0
|
|
106
|
-
})).getData().result.map((
|
|
107
|
-
console.log("PROCESS_ID для удаления:",
|
|
106
|
+
})).getData().result.map((s) => s.PROCESS_ID).filter((s) => s);
|
|
107
|
+
console.log("PROCESS_ID для удаления:", c);
|
|
108
108
|
let n = {};
|
|
109
|
-
|
|
109
|
+
c.forEach((s, b) => {
|
|
110
110
|
n[`clear_${b}`] = {
|
|
111
111
|
method: "event.offline.clear",
|
|
112
112
|
params: {
|
|
113
|
-
process_id:
|
|
113
|
+
process_id: s
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
116
|
}), console.log("batchCommands:", n);
|
|
117
|
-
let
|
|
118
|
-
console.log("Результат batch удаления сущностей:",
|
|
117
|
+
let i = await $b24.callBatch(n);
|
|
118
|
+
console.log("Результат batch удаления сущностей:", i.getData());
|
|
119
119
|
}
|
|
120
|
-
|
|
120
|
+
await this.pause(500), await this.loadOfflineEntitiesList();
|
|
121
|
+
},
|
|
122
|
+
async deleteOfflineEntitiesAllEmpty() {
|
|
123
|
+
if (!confirm("Вы уверены, что хотите удалить все пустые НЕ обработанные сущности? Это действие необратимо!"))
|
|
124
|
+
return;
|
|
125
|
+
let l = await $b24.callMethod("event.offline.clear", {
|
|
121
126
|
process_id: ""
|
|
122
127
|
});
|
|
123
|
-
console.log("Результат
|
|
128
|
+
console.log("Результат удаления сущностей с пустым PROCESS_ID:", l.getData());
|
|
124
129
|
},
|
|
125
130
|
isSubscribed(l) {
|
|
126
131
|
return this.subscribedEvents.some((t) => t.event == l);
|
|
@@ -131,38 +136,38 @@ const N = (l, t) => {
|
|
|
131
136
|
}, 3e3);
|
|
132
137
|
},
|
|
133
138
|
async entityUpdate(l) {
|
|
134
|
-
var
|
|
139
|
+
var E, c, n, i, s, b, h;
|
|
135
140
|
let t = !1;
|
|
136
|
-
console.log("Запущена функция entityUpdate для изменения сущности с ID:", (
|
|
141
|
+
console.log("Запущена функция entityUpdate для изменения сущности с ID:", (E = l.EVENT_DATA.FIELDS) == null ? void 0 : E.ID);
|
|
137
142
|
try {
|
|
138
|
-
if ((
|
|
143
|
+
if ((c = l.EVENT_DATA.FIELDS) != null && c.ENTITY_TYPE_ID && ((n = l.EVENT_DATA.FIELDS) == null ? void 0 : n.ENTITY_TYPE_ID) > 0) {
|
|
139
144
|
let a = await $b24.callMethod("crm.item.get", {
|
|
140
145
|
entityTypeId: l.EVENT_DATA.FIELDS.ENTITY_TYPE_ID,
|
|
141
146
|
id: l.EVENT_DATA.FIELDS.ID
|
|
142
147
|
});
|
|
143
|
-
if (a = a.getData().result.item, console.log("Данные смарт процесса до изменения:", a), a.id == ((
|
|
144
|
-
let
|
|
148
|
+
if (a = a.getData().result.item, console.log("Данные смарт процесса до изменения:", a), a.id == ((i = l.EVENT_DATA.FIELDS) == null ? void 0 : i.ID)) {
|
|
149
|
+
let d = await $b24.callMethod("crm.item.update", {
|
|
145
150
|
entityTypeId: l.EVENT_DATA.FIELDS.ENTITY_TYPE_ID,
|
|
146
151
|
id: l.EVENT_DATA.FIELDS.ID,
|
|
147
152
|
fields: {
|
|
148
153
|
title: a.title + "123"
|
|
149
154
|
}
|
|
150
155
|
});
|
|
151
|
-
console.log("Результат обновления смарт процесса:",
|
|
156
|
+
console.log("Результат обновления смарт процесса:", d.getData()), d.id === a.id ? (console.log("Сущность успешно обновлена."), t = !0) : (console.error("Ошибка при обновлении сущности."), t = !0);
|
|
152
157
|
} else
|
|
153
158
|
t = !0;
|
|
154
159
|
} else {
|
|
155
160
|
let a = await $b24.callMethod("crm.deal.get", {
|
|
156
161
|
id: (s = l.EVENT_DATA.FIELDS) == null ? void 0 : s.ID
|
|
157
162
|
});
|
|
158
|
-
if (a = a.getData().result, console.log("Данные сделки до изменения:", a), a.ID == ((
|
|
159
|
-
let
|
|
160
|
-
id: (
|
|
163
|
+
if (a = a.getData().result, console.log("Данные сделки до изменения:", a), a.ID == ((b = l.EVENT_DATA.FIELDS) == null ? void 0 : b.ID)) {
|
|
164
|
+
let d = await $b24.callMethod("crm.deal.update", {
|
|
165
|
+
id: (h = l.EVENT_DATA.FIELDS) == null ? void 0 : h.ID,
|
|
161
166
|
fields: {
|
|
162
167
|
TITLE: a.TITLE
|
|
163
168
|
}
|
|
164
169
|
});
|
|
165
|
-
console.log("Результат обновления сделки:",
|
|
170
|
+
console.log("Результат обновления сделки:", d.getData()), d = d.getData().result, d === !0 ? console.log("Сущность успешно обновлена.") : (console.error("Ошибка при обновлении сущности."), t = !0);
|
|
166
171
|
} else
|
|
167
172
|
t = !0;
|
|
168
173
|
}
|
|
@@ -176,61 +181,64 @@ const N = (l, t) => {
|
|
|
176
181
|
mounted() {
|
|
177
182
|
this.getSubscribedEvents(), this.eventsList(), this.loadOfflineEntitiesList(), this.autoRefreshEntities();
|
|
178
183
|
}
|
|
179
|
-
},
|
|
184
|
+
}, k = { class: "Subscriptions" }, v = { key: 0 }, L = ["disabled"], C = {
|
|
180
185
|
class: "switch tooltipParent",
|
|
181
186
|
style: { top: "12px" }
|
|
182
|
-
},
|
|
187
|
+
}, O = { key: 0 }, w = {
|
|
183
188
|
key: 0,
|
|
184
189
|
class: "main"
|
|
185
|
-
},
|
|
190
|
+
}, V = ["onClick"], y = ["onClick"], M = ["href"], R = {
|
|
186
191
|
class: "tooltipParent",
|
|
187
192
|
style: {}
|
|
188
193
|
}, P = { class: "tooltip" }, F = { key: 1 }, Y = { key: 1 }, U = {
|
|
189
194
|
key: 0,
|
|
190
195
|
class: "main"
|
|
191
|
-
},
|
|
196
|
+
}, x = ["onClick"], B = { key: 1 }, $ = {
|
|
192
197
|
key: 0,
|
|
193
198
|
class: "main"
|
|
194
199
|
}, z = ["onClick", "disabled"], j = { key: 1 }, q = { key: 2 };
|
|
195
|
-
function G(l, t,
|
|
196
|
-
return
|
|
197
|
-
t[
|
|
200
|
+
function G(l, t, E, c, n, i) {
|
|
201
|
+
return r(), o("div", k, [
|
|
202
|
+
t[15] || (t[15] = e("h1", null, "Страница подписок", -1)),
|
|
198
203
|
e("button", {
|
|
199
204
|
onClick: t[0] || (t[0] = (s) => l.selectTab("tab1"))
|
|
200
205
|
}, "Сущности"),
|
|
201
206
|
e("button", {
|
|
202
207
|
onClick: t[1] || (t[1] = (s) => l.selectTab("tab2"))
|
|
203
208
|
}, "События"),
|
|
204
|
-
t[15] || (t[15] = e("br", null, null, -1)),
|
|
205
209
|
t[16] || (t[16] = e("br", null, null, -1)),
|
|
206
210
|
t[17] || (t[17] = e("br", null, null, -1)),
|
|
207
|
-
|
|
211
|
+
t[18] || (t[18] = e("br", null, null, -1)),
|
|
212
|
+
l.tabs.tab1 ? (r(), o("div", v, [
|
|
208
213
|
e("div", null, [
|
|
209
214
|
e("button", {
|
|
210
|
-
onClick: t[2] || (t[2] = (...s) =>
|
|
215
|
+
onClick: t[2] || (t[2] = (...s) => i.loadOfflineEntitiesList && i.loadOfflineEntitiesList(...s)),
|
|
211
216
|
disabled: l.loading
|
|
212
217
|
}, "Обновить", 8, L),
|
|
213
218
|
e("label", C, [
|
|
214
|
-
|
|
219
|
+
g(e("input", {
|
|
215
220
|
type: "checkbox",
|
|
216
|
-
"onUpdate:modelValue": t[3] || (t[3] = (s) =>
|
|
217
|
-
onChange: t[4] || (t[4] = (...s) =>
|
|
221
|
+
"onUpdate:modelValue": t[3] || (t[3] = (s) => n.autoRefresh = s),
|
|
222
|
+
onChange: t[4] || (t[4] = (...s) => i.autoRefreshEntities && i.autoRefreshEntities(...s))
|
|
218
223
|
}, null, 544), [
|
|
219
|
-
[
|
|
224
|
+
[I, n.autoRefresh]
|
|
220
225
|
]),
|
|
221
|
-
t[
|
|
222
|
-
t[
|
|
226
|
+
t[7] || (t[7] = e("span", { class: "slider" }, null, -1)),
|
|
227
|
+
t[8] || (t[8] = e("span", { class: "tooltip" }, "Автообновление каждые 3 секунды", -1))
|
|
223
228
|
])
|
|
224
229
|
]),
|
|
225
|
-
|
|
230
|
+
n.entities.list.length > 0 ? (r(), o("div", O, [
|
|
226
231
|
e("p", null, [
|
|
227
232
|
e("button", {
|
|
228
|
-
onClick: t[5] || (t[5] = (...s) =>
|
|
233
|
+
onClick: t[5] || (t[5] = (...s) => i.deleteOfflineEntitiesAll && i.deleteOfflineEntitiesAll(...s))
|
|
229
234
|
}, "Удалить все"),
|
|
230
|
-
|
|
235
|
+
e("button", {
|
|
236
|
+
onClick: t[6] || (t[6] = (...s) => i.deleteOfflineEntitiesAllEmpty && i.deleteOfflineEntitiesAllEmpty(...s))
|
|
237
|
+
}, "Удалить все пустые"),
|
|
238
|
+
p(" Всего измененных сущностей " + u(n.entities.total), 1)
|
|
231
239
|
]),
|
|
232
|
-
|
|
233
|
-
t[
|
|
240
|
+
n.entities.list.length ? (r(), o("table", w, [
|
|
241
|
+
t[10] || (t[10] = e("thead", null, [
|
|
234
242
|
e("tr", null, [
|
|
235
243
|
e("th", null, "#"),
|
|
236
244
|
e("th", null, "Удалить"),
|
|
@@ -244,50 +252,50 @@ function G(l, t, c, h, r, n) {
|
|
|
244
252
|
])
|
|
245
253
|
], -1)),
|
|
246
254
|
e("tbody", null, [
|
|
247
|
-
(
|
|
248
|
-
var
|
|
249
|
-
return
|
|
255
|
+
(r(!0), o(D, null, T(n.entities.list, (s, b) => {
|
|
256
|
+
var h, a, d, _;
|
|
257
|
+
return r(), o("tr", {
|
|
250
258
|
key: s.PROCESS_ID + "-" + s.ID
|
|
251
259
|
}, [
|
|
252
|
-
e("td", null,
|
|
260
|
+
e("td", null, u(b + 1), 1),
|
|
253
261
|
e("td", null, [
|
|
254
262
|
e("button", {
|
|
255
|
-
onClick: (
|
|
256
|
-
}, "Удалить", 8,
|
|
263
|
+
onClick: (A) => i.deleteOfflineEntities(s)
|
|
264
|
+
}, "Удалить", 8, V)
|
|
257
265
|
]),
|
|
258
266
|
e("td", null, [
|
|
259
|
-
(
|
|
267
|
+
(h = s.EVENT_DATA.FIELDS) != null && h.ID && (s.EVENT_NAME == "ONCRMDEALUPDATE" || s.EVENT_NAME.includes("ONCRMDYNAMICITEMUPDATE_")) ? (r(), o("button", {
|
|
260
268
|
key: 0,
|
|
261
|
-
onClick: (
|
|
262
|
-
}, "Изменить", 8,
|
|
269
|
+
onClick: (A) => i.entityUpdate(s)
|
|
270
|
+
}, "Изменить", 8, y)) : f("", !0)
|
|
263
271
|
]),
|
|
264
|
-
e("td", null,
|
|
265
|
-
e("td", null,
|
|
272
|
+
e("td", null, u(s.PROCESS_ID), 1),
|
|
273
|
+
e("td", null, u(s.EVENT_NAME), 1),
|
|
266
274
|
e("td", null, [
|
|
267
|
-
(a = s.EVENT_DATA.FIELDS) != null && a.ID && s.EVENT_NAME == "ONCRMDEALUPDATE" ? (
|
|
275
|
+
(a = s.EVENT_DATA.FIELDS) != null && a.ID && s.EVENT_NAME == "ONCRMDEALUPDATE" ? (r(), o("a", {
|
|
268
276
|
key: 0,
|
|
269
|
-
href: "https://repacheb.bitrix24.ru/crm/deal/details/" + ((
|
|
277
|
+
href: "https://repacheb.bitrix24.ru/crm/deal/details/" + ((d = s.EVENT_DATA.FIELDS) == null ? void 0 : d.ID) + "/",
|
|
270
278
|
target: "_blank",
|
|
271
279
|
rel: "noopener noreferrer"
|
|
272
|
-
},
|
|
280
|
+
}, u((_ = s.EVENT_DATA.FIELDS) == null ? void 0 : _.ID), 9, M)) : f("", !0)
|
|
273
281
|
]),
|
|
274
|
-
e("td", null,
|
|
275
|
-
e("td", null,
|
|
276
|
-
e("td",
|
|
277
|
-
t[
|
|
278
|
-
e("span", P,
|
|
282
|
+
e("td", null, u(s.EVENT_DATA), 1),
|
|
283
|
+
e("td", null, u(s.EVENT_ADDITIONAL.user_id), 1),
|
|
284
|
+
e("td", R, [
|
|
285
|
+
t[9] || (t[9] = e("span", null, "Подробней", -1)),
|
|
286
|
+
e("span", P, u(s), 1)
|
|
279
287
|
])
|
|
280
288
|
]);
|
|
281
289
|
}), 128))
|
|
282
290
|
])
|
|
283
291
|
])) : f("", !0)
|
|
284
|
-
])) : (
|
|
292
|
+
])) : (r(), o("div", F, "Список сущностей пуст."))
|
|
285
293
|
])) : f("", !0),
|
|
286
|
-
l.tabs.tab2 ? (
|
|
294
|
+
l.tabs.tab2 ? (r(), o("div", Y, [
|
|
287
295
|
e("div", null, [
|
|
288
|
-
t[
|
|
289
|
-
|
|
290
|
-
t[
|
|
296
|
+
t[12] || (t[12] = e("h3", null, "Подписаны на события:", -1)),
|
|
297
|
+
n.subscribedEvents.length ? (r(), o("table", U, [
|
|
298
|
+
t[11] || (t[11] = e("thead", null, [
|
|
291
299
|
e("tr", null, [
|
|
292
300
|
e("th", null, "Событие"),
|
|
293
301
|
e("th", null, "connector_id"),
|
|
@@ -296,49 +304,49 @@ function G(l, t, c, h, r, n) {
|
|
|
296
304
|
])
|
|
297
305
|
], -1)),
|
|
298
306
|
e("tbody", null, [
|
|
299
|
-
(
|
|
307
|
+
(r(!0), o(D, null, T(n.subscribedEvents, (s) => (r(), o("tr", {
|
|
300
308
|
key: s.id
|
|
301
309
|
}, [
|
|
302
|
-
e("td", null,
|
|
303
|
-
e("td", null,
|
|
304
|
-
e("td", null,
|
|
310
|
+
e("td", null, u(s.event), 1),
|
|
311
|
+
e("td", null, u(s.connector_id), 1),
|
|
312
|
+
e("td", null, u(s.offline), 1),
|
|
305
313
|
e("td", null, [
|
|
306
314
|
e("button", {
|
|
307
|
-
onClick: (
|
|
308
|
-
}, "Отписаться от событий", 8,
|
|
315
|
+
onClick: (b) => i.unbindSubscribedEvents(s)
|
|
316
|
+
}, "Отписаться от событий", 8, x)
|
|
309
317
|
])
|
|
310
318
|
]))), 128))
|
|
311
319
|
])
|
|
312
|
-
])) : (
|
|
320
|
+
])) : (r(), o("p", B, "Подписок на события нет."))
|
|
313
321
|
]),
|
|
314
322
|
e("div", null, [
|
|
315
|
-
t[
|
|
316
|
-
|
|
317
|
-
t[
|
|
323
|
+
t[14] || (t[14] = e("h3", null, "На какие события можно подписаться:", -1)),
|
|
324
|
+
n.events.length ? (r(), o("table", $, [
|
|
325
|
+
t[13] || (t[13] = e("thead", null, [
|
|
318
326
|
e("tr", null, [
|
|
319
327
|
e("th", null, "Событие"),
|
|
320
328
|
e("th", null, "Подписаться")
|
|
321
329
|
])
|
|
322
330
|
], -1)),
|
|
323
331
|
e("tbody", null, [
|
|
324
|
-
(
|
|
325
|
-
e("td", null,
|
|
332
|
+
(r(!0), o(D, null, T(n.events, (s) => (r(), o("tr", { key: s }, [
|
|
333
|
+
e("td", null, u(s), 1),
|
|
326
334
|
e("td", null, [
|
|
327
335
|
e("button", {
|
|
328
|
-
onClick: (
|
|
329
|
-
disabled:
|
|
330
|
-
class: S({ "disabled-button":
|
|
336
|
+
onClick: (b) => i.subscribeToEvents(s),
|
|
337
|
+
disabled: i.isSubscribed(s),
|
|
338
|
+
class: S({ "disabled-button": i.isSubscribed(s) })
|
|
331
339
|
}, "Подписаться", 10, z)
|
|
332
340
|
])
|
|
333
341
|
]))), 128))
|
|
334
342
|
])
|
|
335
|
-
])) : (
|
|
343
|
+
])) : (r(), o("p", j, "Список событий пуст."))
|
|
336
344
|
])
|
|
337
345
|
])) : f("", !0),
|
|
338
|
-
l.tabs.tab3 ? (
|
|
346
|
+
l.tabs.tab3 ? (r(), o("div", q)) : f("", !0)
|
|
339
347
|
]);
|
|
340
348
|
}
|
|
341
|
-
const H = /* @__PURE__ */ N
|
|
349
|
+
const H = /* @__PURE__ */ m(N, [["render", G]]), K = {
|
|
342
350
|
install(l, t = {}) {
|
|
343
351
|
l.component("Subscriptions", H), t.b24 && (l.config.globalProperties.$b24 = t.b24);
|
|
344
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.NpmAppFrontB24={},d.Vue))})(this,function(d,e){"use strict";const f=(l,t)=>{const a=l.__vccOpts||l;for(const[m,s]of t)a[m]=s;return a},V={name:"Subscriptions",data(){return{events:[],subscribedEvents:[],entities:{list:[],total:0},autoRefresh:!0,auth_connector:""}},computed:{},methods:{pause(l){return new Promise(t=>setTimeout(t,l))},async eventsList(){console.log("Запускаем eventsList");try{let l=await $b24.callMethod("events",{});this.events=l.getData().result}catch(l){console.error("Ошибка при получении списка событий:",l)}},async subscribeToEvents(l){try{await $b24.callMethod("event.bind",{event:l,event_type:"offline",auth_connector:this.auth_connector}),console.log(`Подписались на событие ${l}.`)}catch(t){console.error("Ошибка при подписке на события:",t)}await this.pause(1e3),await this.getSubscribedEvents()},async getSubscribedEvents(){try{let l=await $b24.callMethod("event.get",{});this.subscribedEvents=l.getData().result,console.log("Подписанные события:",this.subscribedEvents)}catch(l){console.error("Ошибка при получении подписанных событий:",l)}},async unbindSubscribedEvents(l){try{await $b24.callMethod("event.unbind",{event:l.event,event_type:l.offline==1?"offline":"online",auth_connector:l.connector_id}),await this.pause(1e3),await this.getSubscribedEvents()}catch(t){console.error("Ошибка при отписке от событий:",t)}},async loadOfflineEntitiesList(){console.log("Запустили loadOfflineEntitiesList");let t=await $b24.callListMethod("event.offline.list",{start:0,auth_connector:this.auth_connector},a=>{console.log(`Загрузка: ${a.toFixed(0)}%`,"debug")});this.entities.list=t.getData(),this.entities.total=t.getData().length},async deleteOfflineEntities(l){let t=await $b24.callMethod("event.offline.clear",{process_id:l.PROCESS_ID,id:[l.ID],auth_connector:this.auth_connector});console.log("Удалили сущности из оффлан событий:",t.getData()),await this.pause(1e3),await this.loadOfflineEntitiesList()},async deleteOfflineEntitiesAll(){if(!confirm("Вы уверены, что хотите удалить все НЕ обработанные сущности? Это действие необратимо!"))return;let l=this.entities.total/50+1;console.log("Всего страниц для удаления:",l);for(let a=1;a<=l;a++){let s=(await $b24.callMethod("event.offline.list",{start:0})).getData().result.map(i=>i.PROCESS_ID).filter(i=>i);console.log("PROCESS_ID для удаления:",s);let n={};s.forEach((i,E)=>{n[`clear_${E}`]={method:"event.offline.clear",params:{process_id:i}}}),console.log("batchCommands:",n);let o=await $b24.callBatch(n);console.log("Результат batch удаления сущностей:",o.getData())}let t=await $b24.callMethod("event.offline.clear",{process_id:""});console.log("Результат финального удаления сущностей с пустым PROCESS_ID:",t.getData()),await this.pause(500),await this.loadOfflineEntitiesList()},isSubscribed(l){return this.subscribedEvents.some(t=>t.event==l)},autoRefreshEntities(){this.autoRefresh&&setTimeout(async()=>{await this.loadOfflineEntitiesList(),this.autoRefreshEntities()},3e3)},async entityUpdate(l){var a,m,s,n,o,i,E;let t=!1;console.log("Запущена функция entityUpdate для изменения сущности с ID:",(a=l.EVENT_DATA.FIELDS)==null?void 0:a.ID);try{if((m=l.EVENT_DATA.FIELDS)!=null&&m.ENTITY_TYPE_ID&&((s=l.EVENT_DATA.FIELDS)==null?void 0:s.ENTITY_TYPE_ID)>0){let r=await $b24.callMethod("crm.item.get",{entityTypeId:l.EVENT_DATA.FIELDS.ENTITY_TYPE_ID,id:l.EVENT_DATA.FIELDS.ID});if(r=r.getData().result.item,console.log("Данные смарт процесса до изменения:",r),r.id==((n=l.EVENT_DATA.FIELDS)==null?void 0:n.ID)){let c=await $b24.callMethod("crm.item.update",{entityTypeId:l.EVENT_DATA.FIELDS.ENTITY_TYPE_ID,id:l.EVENT_DATA.FIELDS.ID,fields:{title:r.title+"123"}});console.log("Результат обновления смарт процесса:",c.getData()),c.id===r.id?(console.log("Сущность успешно обновлена."),t=!0):(console.error("Ошибка при обновлении сущности."),t=!0)}else t=!0}else{let r=await $b24.callMethod("crm.deal.get",{id:(o=l.EVENT_DATA.FIELDS)==null?void 0:o.ID});if(r=r.getData().result,console.log("Данные сделки до изменения:",r),r.ID==((i=l.EVENT_DATA.FIELDS)==null?void 0:i.ID)){let c=await $b24.callMethod("crm.deal.update",{id:(E=l.EVENT_DATA.FIELDS)==null?void 0:E.ID,fields:{TITLE:r.TITLE}});console.log("Результат обновления сделки:",c.getData()),c=c.getData().result,c===!0?console.log("Сущность успешно обновлена."):(console.error("Ошибка при обновлении сущности."),t=!0)}else t=!0}}catch(r){console.error("Ошибка при обновлении сущности:",r),r=!0}t||await this.deleteOfflineEntities(l)}},watch:{},mounted(){this.getSubscribedEvents(),this.eventsList(),this.loadOfflineEntitiesList(),this.autoRefreshEntities()}},h={class:"Subscriptions"},D={key:0},p=["disabled"],T={class:"switch tooltipParent",style:{top:"12px"}},k={key:0},_={key:0,class:"main"},g=["onClick"],u=["onClick"],S=["href"],A={class:"tooltipParent",style:{}},I={class:"tooltip"},B={key:1},y={key:1},L={key:0,class:"main"},C=["onClick"],w={key:1},O={key:0,class:"main"},M=["onClick","disabled"],R={key:1},F={key:2};function P(l,t,a,m,s,n){return e.openBlock(),e.createElementBlock("div",h,[t[14]||(t[14]=e.createElementVNode("h1",null,"Страница подписок",-1)),e.createElementVNode("button",{onClick:t[0]||(t[0]=o=>l.selectTab("tab1"))},"Сущности"),e.createElementVNode("button",{onClick:t[1]||(t[1]=o=>l.selectTab("tab2"))},"События"),t[15]||(t[15]=e.createElementVNode("br",null,null,-1)),t[16]||(t[16]=e.createElementVNode("br",null,null,-1)),t[17]||(t[17]=e.createElementVNode("br",null,null,-1)),l.tabs.tab1?(e.openBlock(),e.createElementBlock("div",D,[e.createElementVNode("div",null,[e.createElementVNode("button",{onClick:t[2]||(t[2]=(...o)=>n.loadOfflineEntitiesList&&n.loadOfflineEntitiesList(...o)),disabled:l.loading},"Обновить",8,p),e.createElementVNode("label",T,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>s.autoRefresh=o),onChange:t[4]||(t[4]=(...o)=>n.autoRefreshEntities&&n.autoRefreshEntities(...o))},null,544),[[e.vModelCheckbox,s.autoRefresh]]),t[6]||(t[6]=e.createElementVNode("span",{class:"slider"},null,-1)),t[7]||(t[7]=e.createElementVNode("span",{class:"tooltip"},"Автообновление каждые 3 секунды",-1))])]),s.entities.list.length>0?(e.openBlock(),e.createElementBlock("div",k,[e.createElementVNode("p",null,[e.createElementVNode("button",{onClick:t[5]||(t[5]=(...o)=>n.deleteOfflineEntitiesAll&&n.deleteOfflineEntitiesAll(...o))},"Удалить все"),e.createTextVNode(" Всего измененных сущностей "+e.toDisplayString(s.entities.total),1)]),s.entities.list.length?(e.openBlock(),e.createElementBlock("table",_,[t[9]||(t[9]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"#"),e.createElementVNode("th",null,"Удалить"),e.createElementVNode("th",null,"Обновить"),e.createElementVNode("th",null,"PROCESS_ID"),e.createElementVNode("th",null,"EVENT_NAME"),e.createElementVNode("th",null,"Ссылка"),e.createElementVNode("th",null,"EVENT_DATA"),e.createElementVNode("th",null,"who_update"),e.createElementVNode("th",null,"entity")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.entities.list,(o,i)=>{var E,r,c,b;return e.openBlock(),e.createElementBlock("tr",{key:o.PROCESS_ID+"-"+o.ID},[e.createElementVNode("td",null,e.toDisplayString(i+1),1),e.createElementVNode("td",null,[e.createElementVNode("button",{onClick:U=>n.deleteOfflineEntities(o)},"Удалить",8,g)]),e.createElementVNode("td",null,[(E=o.EVENT_DATA.FIELDS)!=null&&E.ID&&(o.EVENT_NAME=="ONCRMDEALUPDATE"||o.EVENT_NAME.includes("ONCRMDYNAMICITEMUPDATE_"))?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:U=>n.entityUpdate(o)},"Изменить",8,u)):e.createCommentVNode("",!0)]),e.createElementVNode("td",null,e.toDisplayString(o.PROCESS_ID),1),e.createElementVNode("td",null,e.toDisplayString(o.EVENT_NAME),1),e.createElementVNode("td",null,[(r=o.EVENT_DATA.FIELDS)!=null&&r.ID&&o.EVENT_NAME=="ONCRMDEALUPDATE"?(e.openBlock(),e.createElementBlock("a",{key:0,href:"https://repacheb.bitrix24.ru/crm/deal/details/"+((c=o.EVENT_DATA.FIELDS)==null?void 0:c.ID)+"/",target:"_blank",rel:"noopener noreferrer"},e.toDisplayString((b=o.EVENT_DATA.FIELDS)==null?void 0:b.ID),9,S)):e.createCommentVNode("",!0)]),e.createElementVNode("td",null,e.toDisplayString(o.EVENT_DATA),1),e.createElementVNode("td",null,e.toDisplayString(o.EVENT_ADDITIONAL.user_id),1),e.createElementVNode("td",A,[t[8]||(t[8]=e.createElementVNode("span",null,"Подробней",-1)),e.createElementVNode("span",I,e.toDisplayString(o),1)])])}),128))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",B,"Список сущностей пуст."))])):e.createCommentVNode("",!0),l.tabs.tab2?(e.openBlock(),e.createElementBlock("div",y,[e.createElementVNode("div",null,[t[11]||(t[11]=e.createElementVNode("h3",null,"Подписаны на события:",-1)),s.subscribedEvents.length?(e.openBlock(),e.createElementBlock("table",L,[t[10]||(t[10]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"Событие"),e.createElementVNode("th",null,"connector_id"),e.createElementVNode("th",null,"offline"),e.createElementVNode("th",null,"Отписаться")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.subscribedEvents,o=>(e.openBlock(),e.createElementBlock("tr",{key:o.id},[e.createElementVNode("td",null,e.toDisplayString(o.event),1),e.createElementVNode("td",null,e.toDisplayString(o.connector_id),1),e.createElementVNode("td",null,e.toDisplayString(o.offline),1),e.createElementVNode("td",null,[e.createElementVNode("button",{onClick:i=>n.unbindSubscribedEvents(o)},"Отписаться от событий",8,C)])]))),128))])])):(e.openBlock(),e.createElementBlock("p",w,"Подписок на события нет."))]),e.createElementVNode("div",null,[t[13]||(t[13]=e.createElementVNode("h3",null,"На какие события можно подписаться:",-1)),s.events.length?(e.openBlock(),e.createElementBlock("table",O,[t[12]||(t[12]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"Событие"),e.createElementVNode("th",null,"Подписаться")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.events,o=>(e.openBlock(),e.createElementBlock("tr",{key:o},[e.createElementVNode("td",null,e.toDisplayString(o),1),e.createElementVNode("td",null,[e.createElementVNode("button",{onClick:i=>n.subscribeToEvents(o),disabled:n.isSubscribed(o),class:e.normalizeClass({"disabled-button":n.isSubscribed(o)})},"Подписаться",10,M)])]))),128))])])):(e.openBlock(),e.createElementBlock("p",R,"Список событий пуст."))])])):e.createCommentVNode("",!0),l.tabs.tab3?(e.openBlock(),e.createElementBlock("div",F)):e.createCommentVNode("",!0)])}const N=f(V,[["render",P]]),Y={install(l,t={}){l.component("Subscriptions",N),t.b24&&(l.config.globalProperties.$b24=t.b24)}};d.Subscriptions=N,d.default=Y,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.NpmAppFrontB24={},c.Vue))})(this,function(c,e){"use strict";const f=(l,t)=>{const a=l.__vccOpts||l;for(const[d,o]of t)a[d]=o;return a},V={name:"Subscriptions",data(){return{events:[],subscribedEvents:[],entities:{list:[],total:0},autoRefresh:!0,auth_connector:""}},computed:{},methods:{pause(l){return new Promise(t=>setTimeout(t,l))},async eventsList(){console.log("Запускаем eventsList");try{let l=await $b24.callMethod("events",{});this.events=l.getData().result}catch(l){console.error("Ошибка при получении списка событий:",l)}},async subscribeToEvents(l){try{await $b24.callMethod("event.bind",{event:l,event_type:"offline",auth_connector:this.auth_connector}),console.log(`Подписались на событие ${l}.`)}catch(t){console.error("Ошибка при подписке на события:",t)}await this.pause(1e3),await this.getSubscribedEvents()},async getSubscribedEvents(){try{let l=await $b24.callMethod("event.get",{});this.subscribedEvents=l.getData().result,console.log("Подписанные события:",this.subscribedEvents)}catch(l){console.error("Ошибка при получении подписанных событий:",l)}},async unbindSubscribedEvents(l){try{await $b24.callMethod("event.unbind",{event:l.event,event_type:l.offline==1?"offline":"online",auth_connector:l.connector_id}),await this.pause(1e3),await this.getSubscribedEvents()}catch(t){console.error("Ошибка при отписке от событий:",t)}},async loadOfflineEntitiesList(){console.log("Запустили loadOfflineEntitiesList");let t=await $b24.callListMethod("event.offline.list",{start:0,auth_connector:this.auth_connector},a=>{console.log(`Загрузка: ${a.toFixed(0)}%`,"debug")});this.entities.list=t.getData(),this.entities.total=t.getData().length},async deleteOfflineEntities(l){let t=await $b24.callMethod("event.offline.clear",{process_id:l.PROCESS_ID,id:[l.ID],auth_connector:this.auth_connector});console.log("Удалили сущности из оффлан событий:",t.getData()),await this.pause(1e3),await this.loadOfflineEntitiesList()},async deleteOfflineEntitiesAll(){if(!confirm("Вы уверены, что хотите удалить все НЕ обработанные сущности? Это действие необратимо!"))return;let l=this.entities.total/50+1;console.log("Всего страниц для удаления:",l);for(let t=1;t<=l;t++){let d=(await $b24.callMethod("event.offline.list",{start:0})).getData().result.map(n=>n.PROCESS_ID).filter(n=>n);console.log("PROCESS_ID для удаления:",d);let o={};d.forEach((n,E)=>{o[`clear_${E}`]={method:"event.offline.clear",params:{process_id:n}}}),console.log("batchCommands:",o);let s=await $b24.callBatch(o);console.log("Результат batch удаления сущностей:",s.getData())}await this.pause(500),await this.loadOfflineEntitiesList()},async deleteOfflineEntitiesAllEmpty(){if(!confirm("Вы уверены, что хотите удалить все пустые НЕ обработанные сущности? Это действие необратимо!"))return;let l=await $b24.callMethod("event.offline.clear",{process_id:""});console.log("Результат удаления сущностей с пустым PROCESS_ID:",l.getData())},isSubscribed(l){return this.subscribedEvents.some(t=>t.event==l)},autoRefreshEntities(){this.autoRefresh&&setTimeout(async()=>{await this.loadOfflineEntitiesList(),this.autoRefreshEntities()},3e3)},async entityUpdate(l){var a,d,o,s,n,E,m;let t=!1;console.log("Запущена функция entityUpdate для изменения сущности с ID:",(a=l.EVENT_DATA.FIELDS)==null?void 0:a.ID);try{if((d=l.EVENT_DATA.FIELDS)!=null&&d.ENTITY_TYPE_ID&&((o=l.EVENT_DATA.FIELDS)==null?void 0:o.ENTITY_TYPE_ID)>0){let r=await $b24.callMethod("crm.item.get",{entityTypeId:l.EVENT_DATA.FIELDS.ENTITY_TYPE_ID,id:l.EVENT_DATA.FIELDS.ID});if(r=r.getData().result.item,console.log("Данные смарт процесса до изменения:",r),r.id==((s=l.EVENT_DATA.FIELDS)==null?void 0:s.ID)){let i=await $b24.callMethod("crm.item.update",{entityTypeId:l.EVENT_DATA.FIELDS.ENTITY_TYPE_ID,id:l.EVENT_DATA.FIELDS.ID,fields:{title:r.title+"123"}});console.log("Результат обновления смарт процесса:",i.getData()),i.id===r.id?(console.log("Сущность успешно обновлена."),t=!0):(console.error("Ошибка при обновлении сущности."),t=!0)}else t=!0}else{let r=await $b24.callMethod("crm.deal.get",{id:(n=l.EVENT_DATA.FIELDS)==null?void 0:n.ID});if(r=r.getData().result,console.log("Данные сделки до изменения:",r),r.ID==((E=l.EVENT_DATA.FIELDS)==null?void 0:E.ID)){let i=await $b24.callMethod("crm.deal.update",{id:(m=l.EVENT_DATA.FIELDS)==null?void 0:m.ID,fields:{TITLE:r.TITLE}});console.log("Результат обновления сделки:",i.getData()),i=i.getData().result,i===!0?console.log("Сущность успешно обновлена."):(console.error("Ошибка при обновлении сущности."),t=!0)}else t=!0}}catch(r){console.error("Ошибка при обновлении сущности:",r),r=!0}t||await this.deleteOfflineEntities(l)}},watch:{},mounted(){this.getSubscribedEvents(),this.eventsList(),this.loadOfflineEntitiesList(),this.autoRefreshEntities()}},D={class:"Subscriptions"},h={key:0},p=["disabled"],T={class:"switch tooltipParent",style:{top:"12px"}},k={key:0},g={key:0,class:"main"},_=["onClick"],u=["onClick"],A=["href"],S={class:"tooltipParent",style:{}},I={class:"tooltip"},y={key:1},B={key:1},C={key:0,class:"main"},L=["onClick"],O={key:1},w={key:0,class:"main"},M=["onClick","disabled"],R={key:1},F={key:2};function P(l,t,a,d,o,s){return e.openBlock(),e.createElementBlock("div",D,[t[15]||(t[15]=e.createElementVNode("h1",null,"Страница подписок",-1)),e.createElementVNode("button",{onClick:t[0]||(t[0]=n=>l.selectTab("tab1"))},"Сущности"),e.createElementVNode("button",{onClick:t[1]||(t[1]=n=>l.selectTab("tab2"))},"События"),t[16]||(t[16]=e.createElementVNode("br",null,null,-1)),t[17]||(t[17]=e.createElementVNode("br",null,null,-1)),t[18]||(t[18]=e.createElementVNode("br",null,null,-1)),l.tabs.tab1?(e.openBlock(),e.createElementBlock("div",h,[e.createElementVNode("div",null,[e.createElementVNode("button",{onClick:t[2]||(t[2]=(...n)=>s.loadOfflineEntitiesList&&s.loadOfflineEntitiesList(...n)),disabled:l.loading},"Обновить",8,p),e.createElementVNode("label",T,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=n=>o.autoRefresh=n),onChange:t[4]||(t[4]=(...n)=>s.autoRefreshEntities&&s.autoRefreshEntities(...n))},null,544),[[e.vModelCheckbox,o.autoRefresh]]),t[7]||(t[7]=e.createElementVNode("span",{class:"slider"},null,-1)),t[8]||(t[8]=e.createElementVNode("span",{class:"tooltip"},"Автообновление каждые 3 секунды",-1))])]),o.entities.list.length>0?(e.openBlock(),e.createElementBlock("div",k,[e.createElementVNode("p",null,[e.createElementVNode("button",{onClick:t[5]||(t[5]=(...n)=>s.deleteOfflineEntitiesAll&&s.deleteOfflineEntitiesAll(...n))},"Удалить все"),e.createElementVNode("button",{onClick:t[6]||(t[6]=(...n)=>s.deleteOfflineEntitiesAllEmpty&&s.deleteOfflineEntitiesAllEmpty(...n))},"Удалить все пустые"),e.createTextVNode(" Всего измененных сущностей "+e.toDisplayString(o.entities.total),1)]),o.entities.list.length?(e.openBlock(),e.createElementBlock("table",g,[t[10]||(t[10]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"#"),e.createElementVNode("th",null,"Удалить"),e.createElementVNode("th",null,"Обновить"),e.createElementVNode("th",null,"PROCESS_ID"),e.createElementVNode("th",null,"EVENT_NAME"),e.createElementVNode("th",null,"Ссылка"),e.createElementVNode("th",null,"EVENT_DATA"),e.createElementVNode("th",null,"who_update"),e.createElementVNode("th",null,"entity")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.entities.list,(n,E)=>{var m,r,i,b;return e.openBlock(),e.createElementBlock("tr",{key:n.PROCESS_ID+"-"+n.ID},[e.createElementVNode("td",null,e.toDisplayString(E+1),1),e.createElementVNode("td",null,[e.createElementVNode("button",{onClick:U=>s.deleteOfflineEntities(n)},"Удалить",8,_)]),e.createElementVNode("td",null,[(m=n.EVENT_DATA.FIELDS)!=null&&m.ID&&(n.EVENT_NAME=="ONCRMDEALUPDATE"||n.EVENT_NAME.includes("ONCRMDYNAMICITEMUPDATE_"))?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:U=>s.entityUpdate(n)},"Изменить",8,u)):e.createCommentVNode("",!0)]),e.createElementVNode("td",null,e.toDisplayString(n.PROCESS_ID),1),e.createElementVNode("td",null,e.toDisplayString(n.EVENT_NAME),1),e.createElementVNode("td",null,[(r=n.EVENT_DATA.FIELDS)!=null&&r.ID&&n.EVENT_NAME=="ONCRMDEALUPDATE"?(e.openBlock(),e.createElementBlock("a",{key:0,href:"https://repacheb.bitrix24.ru/crm/deal/details/"+((i=n.EVENT_DATA.FIELDS)==null?void 0:i.ID)+"/",target:"_blank",rel:"noopener noreferrer"},e.toDisplayString((b=n.EVENT_DATA.FIELDS)==null?void 0:b.ID),9,A)):e.createCommentVNode("",!0)]),e.createElementVNode("td",null,e.toDisplayString(n.EVENT_DATA),1),e.createElementVNode("td",null,e.toDisplayString(n.EVENT_ADDITIONAL.user_id),1),e.createElementVNode("td",S,[t[9]||(t[9]=e.createElementVNode("span",null,"Подробней",-1)),e.createElementVNode("span",I,e.toDisplayString(n),1)])])}),128))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",y,"Список сущностей пуст."))])):e.createCommentVNode("",!0),l.tabs.tab2?(e.openBlock(),e.createElementBlock("div",B,[e.createElementVNode("div",null,[t[12]||(t[12]=e.createElementVNode("h3",null,"Подписаны на события:",-1)),o.subscribedEvents.length?(e.openBlock(),e.createElementBlock("table",C,[t[11]||(t[11]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"Событие"),e.createElementVNode("th",null,"connector_id"),e.createElementVNode("th",null,"offline"),e.createElementVNode("th",null,"Отписаться")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.subscribedEvents,n=>(e.openBlock(),e.createElementBlock("tr",{key:n.id},[e.createElementVNode("td",null,e.toDisplayString(n.event),1),e.createElementVNode("td",null,e.toDisplayString(n.connector_id),1),e.createElementVNode("td",null,e.toDisplayString(n.offline),1),e.createElementVNode("td",null,[e.createElementVNode("button",{onClick:E=>s.unbindSubscribedEvents(n)},"Отписаться от событий",8,L)])]))),128))])])):(e.openBlock(),e.createElementBlock("p",O,"Подписок на события нет."))]),e.createElementVNode("div",null,[t[14]||(t[14]=e.createElementVNode("h3",null,"На какие события можно подписаться:",-1)),o.events.length?(e.openBlock(),e.createElementBlock("table",w,[t[13]||(t[13]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"Событие"),e.createElementVNode("th",null,"Подписаться")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.events,n=>(e.openBlock(),e.createElementBlock("tr",{key:n},[e.createElementVNode("td",null,e.toDisplayString(n),1),e.createElementVNode("td",null,[e.createElementVNode("button",{onClick:E=>s.subscribeToEvents(n),disabled:s.isSubscribed(n),class:e.normalizeClass({"disabled-button":s.isSubscribed(n)})},"Подписаться",10,M)])]))),128))])])):(e.openBlock(),e.createElementBlock("p",R,"Список событий пуст."))])])):e.createCommentVNode("",!0),l.tabs.tab3?(e.openBlock(),e.createElementBlock("div",F)):e.createCommentVNode("",!0)])}const N=f(V,[["render",P]]),Y={install(l,t={}){l.component("Subscriptions",N),t.b24&&(l.config.globalProperties.$b24=t.b24)}};c.Subscriptions=N,c.default=Y,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED