@deviceinsight/ng-ui-scale-lib 9.20.0 → 9.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/{AccessEditModal-ee0139fb.js → AccessEditModal-861d96a6.js} +1 -1
  2. package/dist/{BundleManagementContainer-093786e5.js → BundleManagementContainer-492e1a51.js} +1 -1
  3. package/dist/{BundlesContainer-54c9cc3a.js → BundlesContainer-56136d83.js} +2 -2
  4. package/dist/{ContextBarContext-0c28ce9d.js → ContextBarContext-8a081573.js} +12608 -12555
  5. package/dist/{DatapointImport-6d394cb5.js → DatapointImport-8fc8457e.js} +46 -46
  6. package/dist/{FileUploadInput-a23ba785.js → FileUploadInput-4459f512.js} +1 -1
  7. package/dist/{Files-4fc0415e.js → Files-d47286c7.js} +2 -2
  8. package/dist/GlobalPowerBiReports-3de00692.js +11081 -0
  9. package/dist/{Graph-2840eac2.js → Graph-b5c9417d.js} +1 -1
  10. package/dist/{JsonSettingWidget-8908d40b.js → JsonSettingWidget-c54df0d6.js} +15 -16
  11. package/dist/{LicensesEditPage-3332b87c.js → LicensesEditPage-fa4f079f.js} +1 -1
  12. package/dist/{LicensesList-6254cd37.js → LicensesList-41498d29.js} +1 -1
  13. package/dist/{PropertiesEditPage-5b148652.js → PropertiesEditPage-e4acc179.js} +14 -16
  14. package/dist/{PropertiesList-06478803.js → PropertiesList-fd78361b.js} +1 -1
  15. package/dist/{TemplateEditPage-94088888.js → TemplateEditPage-a7b34bbc.js} +23 -25
  16. package/dist/{TemplateTextInput-e8861a0f.js → TemplateTextInput-ac5506a5.js} +12 -13
  17. package/dist/{TemplatesListPage-866246c6.js → TemplatesListPage-ea78387b.js} +2 -2
  18. package/dist/{UserGroupAssignments-6feae326.js → UserGroupAssignments-4e7c6567.js} +1 -1
  19. package/dist/{UserGroupTheme-7ee8e92e.js → UserGroupTheme-16db6c5b.js} +10 -12
  20. package/dist/api.d.ts +10 -1
  21. package/dist/api.js +51 -50
  22. package/dist/{index-34a2015c.js → index-852b249c.js} +1138 -1117
  23. package/dist/index.js +239 -239
  24. package/package.json +1 -1
  25. package/dist/GlobalPowerBiReports-f9bf0765.js +0 -11079
  26. package/dist/objectWithoutPropertiesLoose-a4604547.js +0 -26
  27. package/dist/react-router-d38ecdf4.js +0 -1157
@@ -1,4 +1,4 @@
1
- import { a5 as so, a6 as ro, aw as mn } from "./ContextBarContext-0c28ce9d.js";
1
+ import { a5 as so, a6 as ro, aw as mn } from "./ContextBarContext-8a081573.js";
2
2
  import { useRef as gn, useCallback as oo, useEffect as ao } from "react";
3
3
  import { SpinnerContainer as ho } from "@deviceinsight/ng-ui-basic-components";
4
4
  import "react-router-dom";
@@ -1,6 +1,6 @@
1
- import { dc as S, dj as j, aw as a, cy as y, ag as C } from "./ContextBarContext-0c28ce9d.js";
2
- import { useState as d, useEffect as g, useCallback as v } from "react";
3
- import { C as V, j as b } from "./index-34a2015c.js";
1
+ import { dd as S, dk as j, aw as t, cy as y, ag as C } from "./ContextBarContext-8a081573.js";
2
+ import { useState as u, useEffect as g, useCallback as v } from "react";
3
+ import { C as V, j as b } from "./index-852b249c.js";
4
4
  import "react-i18next";
5
5
  import "react-router-dom";
6
6
  import "@deviceinsight/ng-ui-basic-components";
@@ -9,37 +9,36 @@ import "i18next";
9
9
  import "@deviceinsight/ng-ui-api-client";
10
10
  import "ux4iot-react";
11
11
  import "react-dom";
12
- import "./objectWithoutPropertiesLoose-a4604547.js";
13
- function T({ setting: e, ...c }) {
12
+ function R({ setting: e, ...c }) {
14
13
  const { setValue: o, setError: i, clearErrors: n, control: p } = S(), {
15
14
  field: r,
16
15
  fieldState: { error: s }
17
- } = j({ name: e.name, control: p }), [f, l] = d(""), [m, h] = d(!1);
16
+ } = j({ name: e.name, control: p }), [f, l] = u(""), [m, h] = u(!1);
18
17
  g(() => {
19
18
  if (!m && r.value) {
20
- const t = JSON.stringify(r.value, null, 2);
21
- l(t), h(!0);
19
+ const a = JSON.stringify(r.value, null, 2);
20
+ l(a), h(!0);
22
21
  }
23
22
  }, [r.value, m]);
24
23
  const x = v(
25
- (t) => {
24
+ (a) => {
26
25
  try {
27
- l(t);
28
- const u = t === "" ? void 0 : JSON.parse(t);
29
- o(e.name, u, { shouldValidate: !0, shouldDirty: !0 }), n(e.name);
26
+ l(a);
27
+ const d = a === "" ? void 0 : JSON.parse(a);
28
+ o(e.name, d, { shouldValidate: !0, shouldDirty: !0 }), n(e.name);
30
29
  } catch {
31
30
  i(e.name, { message: "Invalid JSON syntax" });
32
31
  }
33
32
  },
34
33
  [n, i, o, e.name]
35
34
  );
36
- return /* @__PURE__ */ a.jsx(a.Fragment, { children: /* @__PURE__ */ a.jsx(
35
+ return /* @__PURE__ */ t.jsx(t.Fragment, { children: /* @__PURE__ */ t.jsx(
37
36
  y,
38
37
  {
39
- label: /* @__PURE__ */ a.jsx(C, { i18nKey: `appSettings.property.${e.name}`, children: e.name }),
38
+ label: /* @__PURE__ */ t.jsx(C, { i18nKey: `appSettings.property.${e.name}`, children: e.name }),
40
39
  error: (s == null ? void 0 : s.message) ?? "",
41
40
  size: "full-width",
42
- children: /* @__PURE__ */ a.jsx(
41
+ children: /* @__PURE__ */ t.jsx(
43
42
  V,
44
43
  {
45
44
  "data-testid": c["data-testid"],
@@ -53,5 +52,5 @@ function T({ setting: e, ...c }) {
53
52
  ) });
54
53
  }
55
54
  export {
56
- T as default
55
+ R as default
57
56
  };
@@ -1,4 +1,4 @@
1
- import { ah as K, bf as C, aw as e, ag as n, bl as y, b7 as b, bR as V } from "./ContextBarContext-0c28ce9d.js";
1
+ import { ah as K, bf as C, aw as e, ag as n, bl as y, b7 as b, bR as V } from "./ContextBarContext-8a081573.js";
2
2
  import { useState as d, useEffect as v } from "react";
3
3
  import { Prompt as q, useHistory as B, useLocation as H, useParams as R } from "react-router-dom";
4
4
  import { fetchLicenses as T, fetchLicenseByName as D, updateLicense as I, createLicense as k } from "@deviceinsight/ng-ui-api-client";
@@ -1,4 +1,4 @@
1
- import { aw as s, ag as a, ah as y, d7 as b, db as g, aQ as j } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as s, ag as a, ah as y, d8 as b, dc as g, aQ as j } from "./ContextBarContext-8a081573.js";
2
2
  import { useState as c, useEffect as f } from "react";
3
3
  import { Link as u } from "react-router-dom";
4
4
  import { fetchRolesForLicense as N, fetchLicenses as C, deleteLicense as E } from "@deviceinsight/ng-ui-api-client";
@@ -1,15 +1,13 @@
1
- import { aw as e, cy as E, aN as V, dk as F, dc as L, dj as B, ag as d, ah as G, bf as D, bi as R, bl as h, b7 as w, dl as U, dh as P, dm as k, al as M, dn as H, dp as X, bR as _, aX as Y, dq as $ } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as e, cy as E, aN as V, dl as F, dd as L, dk as B, ag as d, ah as G, bf as D, bi as R, bl as h, b7 as w, dm as U, di as P, dn as k, al as M, dp as H, dq as X, bR as _, aX as Y, dr as $ } from "./ContextBarContext-8a081573.js";
2
2
  import { useState as T, useEffect as z } from "react";
3
- import { useLocation as J, useHistory as Q, useParams as W } from "react-router-dom";
4
- import { getPropertyById as Z, updateProperty as ee, createProperty as re } from "@deviceinsight/ng-ui-api-client";
5
- import { Button as v, Checkbox as A, Icon as O, ButtonRow as te, Spinner as se } from "@deviceinsight/ng-ui-basic-components";
6
- import { messageBoxError as K, ContentHeader as ae } from "@deviceinsight/ng-ui-components";
3
+ import { Prompt as J, useLocation as Q, useHistory as W, useParams as Z } from "react-router-dom";
4
+ import { getPropertyById as ee, updateProperty as re, createProperty as te } from "@deviceinsight/ng-ui-api-client";
5
+ import { Button as v, Checkbox as A, Icon as O, ButtonRow as se, Spinner as ae } from "@deviceinsight/ng-ui-basic-components";
6
+ import { messageBoxError as K, ContentHeader as ne } from "@deviceinsight/ng-ui-components";
7
7
  import "react-i18next";
8
- import { P as ne } from "./react-router-d38ecdf4.js";
9
8
  import "i18next";
10
9
  import "ux4iot-react";
11
10
  import "react-dom";
12
- import "./objectWithoutPropertiesLoose-a4604547.js";
13
11
  function le(r) {
14
12
  const { options: s, children: x, onChange: c, values: i, ...t } = r;
15
13
  function a(u) {
@@ -299,11 +297,11 @@ function ue({ editedProperty: r, isReadonly: s, onSubmit: x, onCancel: c }) {
299
297
  "* ",
300
298
  /* @__PURE__ */ e.jsx(d, { i18nKey: "form.field.required", children: "required" })
301
299
  ] }),
302
- /* @__PURE__ */ e.jsxs(te, { dividing: !0, children: [
300
+ /* @__PURE__ */ e.jsxs(se, { dividing: !0, children: [
303
301
  /* @__PURE__ */ e.jsx(v, { className: "with-spinner", primary: !0, onClick: n, disabled: g, children: /* @__PURE__ */ e.jsx(d, { i18nKey: "general.actions.save", children: "Save" }) }),
304
302
  /* @__PURE__ */ e.jsx(v, { disabled: g, onClick: c, children: /* @__PURE__ */ e.jsx(d, { i18nKey: "general.actions.cancel", children: "Cancel" }) })
305
303
  ] }),
306
- /* @__PURE__ */ e.jsx(ne, { message: "", when: y && !g })
304
+ /* @__PURE__ */ e.jsx(J, { message: "", when: y && !g })
307
305
  ] }) });
308
306
  }
309
307
  const pe = (r) => r ? {
@@ -328,11 +326,11 @@ function q(r) {
328
326
  }
329
327
  return r;
330
328
  }
331
- function Ne() {
332
- const { pathname: r } = J(), s = Q(), { propertyKey: x } = W(), [c, i] = T(void 0), [t, a] = T(!0), [u, f] = T(!1);
329
+ function Pe() {
330
+ const { pathname: r } = Q(), s = W(), { propertyKey: x } = Z(), [c, i] = T(void 0), [t, a] = T(!0), [u, f] = T(!1);
333
331
  async function b(m) {
334
332
  try {
335
- const j = await Z(m);
333
+ const j = await ee(m);
336
334
  i(j);
337
335
  } catch (j) {
338
336
  console.error(j), f(!0);
@@ -347,7 +345,7 @@ function Ne() {
347
345
  s.push(r.substring(0, r.lastIndexOf("/")));
348
346
  }
349
347
  async function y(m) {
350
- c ? await ee(q(m)) : await re(q(m)), $(me), g();
348
+ c ? await re(q(m)) : await te(q(m)), $(me), g();
351
349
  }
352
350
  function n() {
353
351
  g();
@@ -355,8 +353,8 @@ function Ne() {
355
353
  if (u)
356
354
  return /* @__PURE__ */ e.jsx(_, {});
357
355
  const p = pe(!c);
358
- return t ? /* @__PURE__ */ e.jsx(se, { center: !0 }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
359
- /* @__PURE__ */ e.jsx(ae, { title: p, parentPageLink: !0 }),
356
+ return t ? /* @__PURE__ */ e.jsx(ae, { center: !0 }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
357
+ /* @__PURE__ */ e.jsx(ne, { title: p, parentPageLink: !0 }),
360
358
  /* @__PURE__ */ e.jsx(
361
359
  ue,
362
360
  {
@@ -369,5 +367,5 @@ function Ne() {
369
367
  ] });
370
368
  }
371
369
  export {
372
- Ne as default
370
+ Pe as default
373
371
  };
@@ -1,4 +1,4 @@
1
- import { aX as c, aw as t, ag as a, bc as f, ah as y, d7 as b, db as m } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aX as c, aw as t, ag as a, bc as f, ah as y, d8 as b, dc as m } from "./ContextBarContext-8a081573.js";
2
2
  import { useContext as T, useState as h, useEffect as P } from "react";
3
3
  import { deleteProperty as A } from "@deviceinsight/ng-ui-api-client";
4
4
  import { Bubble as g, Button as x, Icon as I, withConfirm as O } from "@deviceinsight/ng-ui-basic-components";
@@ -1,16 +1,14 @@
1
- import { aw as e, ag as r, d5 as v, bN as B, dc as $, ah as R, dd as M, bl as S, de as z, b7 as q, bc as U, bf as H, bi as J, bw as Q, bR as X, ad as Y } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as e, ag as r, d6 as v, bN as B, dd as $, ah as R, de as M, bl as S, df as z, b7 as q, bc as U, bf as H, bi as J, bw as Q, bR as X, ad as Y } from "./ContextBarContext-8a081573.js";
2
2
  import Z, { useState as C, useRef as D, useContext as O, useEffect as w } from "react";
3
- import { useParams as ee, useHistory as te, useLocation as ae } from "react-router-dom";
4
- import { fetchEmailTemplateById as ne, fetchEmailTemplates as se, createEmailTemplate as ie, updateEmailTemplate as oe, deleteEmailTemplate as le } from "@deviceinsight/ng-ui-api-client";
5
- import { Modal as _, Button as k, useConfirm as re, Accordion as ce, AccordionItem as de, Icon as A, ButtonRow as ue, SpinnerContainer as me } from "@deviceinsight/ng-ui-basic-components";
6
- import { ReactableWithClientSidePagination as W, nanoid10 as fe, messageBoxError as K, ContentHeader as pe } from "@deviceinsight/ng-ui-components";
7
- import { P as he } from "./react-router-d38ecdf4.js";
3
+ import { Prompt as ee, useParams as te, useHistory as ae, useLocation as ne } from "react-router-dom";
4
+ import { fetchEmailTemplateById as se, fetchEmailTemplates as ie, createEmailTemplate as oe, updateEmailTemplate as le, deleteEmailTemplate as re } from "@deviceinsight/ng-ui-api-client";
5
+ import { Modal as _, Button as k, useConfirm as ce, Accordion as de, AccordionItem as ue, Icon as A, ButtonRow as me, SpinnerContainer as fe } from "@deviceinsight/ng-ui-basic-components";
6
+ import { ReactableWithClientSidePagination as W, nanoid10 as pe, messageBoxError as K, ContentHeader as he } from "@deviceinsight/ng-ui-components";
8
7
  import "react-i18next";
9
- import { A as xe } from "./AccessEditModal-ee0139fb.js";
8
+ import { A as xe } from "./AccessEditModal-861d96a6.js";
10
9
  import "i18next";
11
10
  import "ux4iot-react";
12
11
  import "react-dom";
13
- import "./objectWithoutPropertiesLoose-a4604547.js";
14
12
  const je = (t) => [
15
13
  {
16
14
  name: "locale",
@@ -99,9 +97,9 @@ const je = (t) => [
99
97
  width: 600
100
98
  }
101
99
  );
102
- }, G = Z.lazy(() => import("./TemplateTextInput-e8861a0f.js")), ve = (t, a) => t.locale === "default" ? -1 : a.locale === "default" ? 1 : t.locale.localeCompare(a.locale);
100
+ }, G = Z.lazy(() => import("./TemplateTextInput-ac5506a5.js")), ve = (t, a) => t.locale === "default" ? -1 : a.locale === "default" ? 1 : t.locale.localeCompare(a.locale);
103
101
  function Ce() {
104
- const t = re(), [a, n] = C(!1), [c, s] = C("message"), {
102
+ const t = ce(), [a, n] = C(!1), [c, s] = C("message"), {
105
103
  watch: m,
106
104
  control: h,
107
105
  setValue: f,
@@ -137,11 +135,11 @@ function Ce() {
137
135
  }
138
136
  return /* @__PURE__ */ e.jsxs("div", { className: "notification-content", children: [
139
137
  /* @__PURE__ */ e.jsx("h2", { children: /* @__PURE__ */ e.jsx(r, { i18nKey: "notificationTemplates.form.languages", children: "Languages" }) }),
140
- /* @__PURE__ */ e.jsx(ce, { children: [...o].sort(ve).map((x) => {
138
+ /* @__PURE__ */ e.jsx(de, { children: [...o].sort(ve).map((x) => {
141
139
  var N;
142
140
  const { locale: u } = x, y = /* @__PURE__ */ e.jsx(r, { i18nKey: "notificationTemplate.form.message", children: "Message" }), i = o.indexOf(x), p = !!((N = b.locales) != null && N[i]);
143
141
  return /* @__PURE__ */ e.jsx(
144
- de,
142
+ ue,
145
143
  {
146
144
  title: /* @__PURE__ */ e.jsxs("span", { className: "notification-locale-header", children: [
147
145
  u,
@@ -273,14 +271,14 @@ function ke() {
273
271
  ] });
274
272
  }
275
273
  function Ne({ onCancel: t, onSubmit: a, disabled: n }) {
276
- return /* @__PURE__ */ e.jsxs(ue, { dividing: !0, children: [
274
+ return /* @__PURE__ */ e.jsxs(me, { dividing: !0, children: [
277
275
  /* @__PURE__ */ e.jsx(k, { primary: !0, onClick: a, disabled: n, children: /* @__PURE__ */ e.jsx(r, { i18nKey: v.save.id, children: v.save.defaultValue }) }),
278
276
  /* @__PURE__ */ e.jsx(k, { onClick: t, children: /* @__PURE__ */ e.jsx(r, { i18nKey: v.cancel.id, children: v.cancel.defaultValue }) })
279
277
  ] });
280
278
  }
281
279
  function we() {
282
280
  return {
283
- name: `__${fe()}`,
281
+ name: `__${pe()}`,
284
282
  locales: [
285
283
  {
286
284
  locale: "default",
@@ -355,11 +353,11 @@ function Se({ onCancel: t, onSubmit: a, editedTemplateData: n }) {
355
353
  loading: b
356
354
  }
357
355
  ),
358
- /* @__PURE__ */ e.jsx(he, { message: "", when: g && !b })
356
+ /* @__PURE__ */ e.jsx(ee, { message: "", when: g && !b })
359
357
  ] }) });
360
358
  }
361
359
  function Ve() {
362
- const { templateId: t } = ee(), [a, n] = C(void 0), [c, s] = C(void 0), [m, h] = C(!0);
360
+ const { templateId: t } = te(), [a, n] = C(void 0), [c, s] = C(void 0), [m, h] = C(!0);
363
361
  return w(() => {
364
362
  if (!t || t === "create") {
365
363
  h(!1);
@@ -367,7 +365,7 @@ function Ve() {
367
365
  }
368
366
  (async () => {
369
367
  try {
370
- const f = await ne(parseInt(t)), P = (await se({
368
+ const f = await se(parseInt(t)), P = (await ie({
371
369
  name: f.name,
372
370
  page: 0,
373
371
  size: 2e3
@@ -396,13 +394,13 @@ function Ve() {
396
394
  };
397
395
  }
398
396
  function Le(t) {
399
- return t.map((a) => ie(a));
397
+ return t.map((a) => oe(a));
400
398
  }
401
399
  function Ee(t) {
402
- return t.map((a) => oe(a));
400
+ return t.map((a) => le(a));
403
401
  }
404
402
  function Ie(t) {
405
- return t.map((a) => le(a));
403
+ return t.map((a) => re(a));
406
404
  }
407
405
  function F(t, a) {
408
406
  const { name: n, displayName: c, accountGroupsWithAccess: s } = a, m = a.locales.find((b) => b.locale === t);
@@ -427,8 +425,8 @@ function Ke(t, a, n) {
427
425
  };
428
426
  }
429
427
  const Ae = (t, a) => t.subject !== a.subject || t.text !== a.text;
430
- function He() {
431
- const { t } = R(), { setContextInfo: a } = O(Q), n = te(), { pathname: c } = ae(), { initialFormData: s, error: m, loading: h } = Ve();
428
+ function ze() {
429
+ const { t } = R(), { setContextInfo: a } = O(Q), n = ae(), { pathname: c } = ne(), { initialFormData: s, error: m, loading: h } = Ve();
432
430
  async function f(o, l, T) {
433
431
  const j = Le(o), x = Ee(l), u = Ie(T);
434
432
  await Promise.all([...j, ...x, ...u]);
@@ -482,9 +480,9 @@ function He() {
482
480
  m && (console.error(m), K(
483
481
  /* @__PURE__ */ e.jsx(r, { i18nKey: "notificationTemplates.form.fetchFailed", children: "An error occurred while trying to fetch the template(s)" })
484
482
  ));
485
- }, [m, t]), m ? /* @__PURE__ */ e.jsx(X, {}) : /* @__PURE__ */ e.jsxs(me, { show: h, children: [
483
+ }, [m, t]), m ? /* @__PURE__ */ e.jsx(X, {}) : /* @__PURE__ */ e.jsxs(fe, { show: h, children: [
486
484
  /* @__PURE__ */ e.jsx(
487
- pe,
485
+ he,
488
486
  {
489
487
  parentPageLink: !0,
490
488
  subPagePathPrefixArray: ["/email", "/sms"],
@@ -506,5 +504,5 @@ function He() {
506
504
  ] });
507
505
  }
508
506
  export {
509
- He as default
507
+ ze as default
510
508
  };
@@ -1,6 +1,6 @@
1
- import { aw as r, cy as x, aN as n } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as r, cy as x, aN as n } from "./ContextBarContext-8a081573.js";
2
2
  import j from "react";
3
- import { C as d, j as N } from "./index-34a2015c.js";
3
+ import { C as d, j as N } from "./index-852b249c.js";
4
4
  import "react-router-dom";
5
5
  import "@deviceinsight/ng-ui-basic-components";
6
6
  import "@deviceinsight/ng-ui-components";
@@ -9,20 +9,19 @@ import "i18next";
9
9
  import "@deviceinsight/ng-ui-api-client";
10
10
  import "ux4iot-react";
11
11
  import "react-dom";
12
- import "./objectWithoutPropertiesLoose-a4604547.js";
13
- const S = j.forwardRef(
14
- ({ onFocus: l, onChange: i, refField: p, renderAs: e, ...a }, s) => {
15
- function c() {
12
+ const P = j.forwardRef(
13
+ ({ onFocus: l, onChange: i, refField: c, renderAs: o, ...a }, s) => {
14
+ function p() {
16
15
  l();
17
16
  }
18
- const m = (t, o) => {
19
- !e || e === "input" ? i == null || i(t.replace(/\n/g, ""), o) : i == null || i(t, o);
17
+ const m = (t, e) => {
18
+ !o || o === "input" ? i == null || i(t.replace(/\n/g, ""), e) : i == null || i(t, e);
20
19
  }, { label: f, ...u } = a;
21
20
  return /* @__PURE__ */ r.jsx(x, { ...u, label: f, children: /* @__PURE__ */ r.jsx(
22
21
  "div",
23
22
  {
24
23
  className: n("di notification-template-field", {
25
- textarea: e === "textarea"
24
+ textarea: o === "textarea"
26
25
  }),
27
26
  children: /* @__PURE__ */ r.jsx(
28
27
  d,
@@ -33,11 +32,11 @@ const S = j.forwardRef(
33
32
  highlightActiveLine: !1,
34
33
  foldGutter: !1
35
34
  },
36
- onChange: (t, o) => m(t, o),
35
+ onChange: (t, e) => m(t, e),
37
36
  onCreateEditor: (t) => {
38
- p(t), s && (typeof s == "function" ? s(t) : s.current = t);
37
+ c(t), s && (typeof s == "function" ? s(t) : s.current = t);
39
38
  },
40
- onFocus: c,
39
+ onFocus: p,
41
40
  extensions: [N()]
42
41
  }
43
42
  )
@@ -46,5 +45,5 @@ const S = j.forwardRef(
46
45
  }
47
46
  );
48
47
  export {
49
- S as default
48
+ P as default
50
49
  };
@@ -1,11 +1,11 @@
1
- import { aw as e, ag as s, aX as y, da as B, b1 as O, ah as F, bP as V, bw as z, aj as N, d7 as W, db as $ } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as e, ag as s, aX as y, db as B, b1 as O, ah as F, bP as V, bw as z, aj as N, d8 as W, dc as $ } from "./ContextBarContext-8a081573.js";
2
2
  import { useContext as H, useState as T, useCallback as q, useEffect as Y } from "react";
3
3
  import { Link as X, useLocation as J } from "react-router-dom";
4
4
  import { fetchUserGroupById as P, fetchEmailTemplates as _, fetchEmailTemplateAccessById as Q, updateEmailTemplate as Z, deleteEmailTemplate as ee } from "@deviceinsight/ng-ui-api-client";
5
5
  import { Label as G, Button as C, Icon as te, Modal as ae, withConfirm as ne } from "@deviceinsight/ng-ui-basic-components";
6
6
  import { MultiMenu as oe, MultiMenuItem as se, InfoBox as ie, messageBoxError as S, ContentHeader as le } from "@deviceinsight/ng-ui-components";
7
7
  import "react-i18next";
8
- import { A as re } from "./AccessEditModal-ee0139fb.js";
8
+ import { A as re } from "./AccessEditModal-861d96a6.js";
9
9
  import "i18next";
10
10
  import "ux4iot-react";
11
11
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { aw as e, d8 as S, aQ as E, bf as _, ah as N, al as R, ag as o, bl as j, b7 as y, d9 as M } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as e, d9 as S, aQ as E, bf as _, ah as N, al as R, ag as o, bl as j, b7 as y, da as M } from "./ContextBarContext-8a081573.js";
2
2
  import { useState as A, useEffect as C } from "react";
3
3
  import { ReactableWithClientSidePagination as U, messageBoxError as T, ContentHeader as w } from "@deviceinsight/ng-ui-components";
4
4
  import { Button as x, Icon as b, Modal as K, useConfirm as V, SpinnerContainer as L } from "@deviceinsight/ng-ui-basic-components";
@@ -1,21 +1,19 @@
1
- import { aw as s, c$ as f, d0 as v, ag as c, d1 as g, aj as C, ax as x, d2 as l, ae as r, d3 as w, d4 as P } from "./ContextBarContext-0c28ce9d.js";
1
+ import { aw as s, d0 as f, d1 as v, ag as c, d2 as g, aj as C, ax as x, d3 as l, ae as r, d4 as w, d5 as P } from "./ContextBarContext-8a081573.js";
2
2
  import * as d from "react";
3
3
  import { useContext as S } from "react";
4
- import { P as T } from "./react-router-d38ecdf4.js";
5
- import { Button as u, ButtonRow as j, SpinnerContainer as U } from "@deviceinsight/ng-ui-basic-components";
4
+ import { Prompt as T } from "react-router-dom";
5
+ import { Button as p, ButtonRow as j, SpinnerContainer as U } from "@deviceinsight/ng-ui-basic-components";
6
6
  import { GradientColorPicker as y, ContentHeader as D } from "@deviceinsight/ng-ui-components";
7
7
  import "react-i18next";
8
- import "react-router-dom";
9
8
  import "i18next";
10
9
  import "@deviceinsight/ng-ui-api-client";
11
10
  import "ux4iot-react";
12
11
  import "react-dom";
13
- import "./objectWithoutPropertiesLoose-a4604547.js";
14
- const p = (o) => ("0" + parseInt(o).toString(16)).slice(-2), b = (o) => {
12
+ const u = (o) => ("0" + parseInt(o).toString(16)).slice(-2), b = (o) => {
15
13
  if (o.includes("#"))
16
14
  return o;
17
15
  const e = o.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
18
- return e && e.length === 4 ? `#${p(e[1])}${p(e[2])}${p(e[3])}` : "";
16
+ return e && e.length === 4 ? `#${u(e[1])}${u(e[2])}${u(e[3])}` : "";
19
17
  }, I = "#0077bb";
20
18
  class L extends d.PureComponent {
21
19
  constructor() {
@@ -55,7 +53,7 @@ class L extends d.PureComponent {
55
53
  }
56
54
  ),
57
55
  t && /* @__PURE__ */ s.jsx(
58
- u,
56
+ p,
59
57
  {
60
58
  onClick: this.handleUnset,
61
59
  style: {
@@ -168,8 +166,8 @@ class O extends d.PureComponent {
168
166
  }
169
167
  ),
170
168
  /* @__PURE__ */ s.jsxs(j, { dividing: !0, children: [
171
- /* @__PURE__ */ s.jsx(u, { primary: !0, disabled: !n, onClick: this.handleSubmit, children: /* @__PURE__ */ s.jsx(c, { i18nKey: "usergroups.detail.theme.save", children: "Save" }) }),
172
- /* @__PURE__ */ s.jsx(u, { disabled: !n, onClick: this.togglePreview, children: e ? /* @__PURE__ */ s.jsx(c, { i18nKey: "usergroups.detail.theme.preview", children: "Stop Preview" }) : /* @__PURE__ */ s.jsx(c, { i18nKey: "usergroups.detail.theme.preview", children: "Preview" }) })
169
+ /* @__PURE__ */ s.jsx(p, { primary: !0, disabled: !n, onClick: this.handleSubmit, children: /* @__PURE__ */ s.jsx(c, { i18nKey: "usergroups.detail.theme.save", children: "Save" }) }),
170
+ /* @__PURE__ */ s.jsx(p, { disabled: !n, onClick: this.togglePreview, children: e ? /* @__PURE__ */ s.jsx(c, { i18nKey: "usergroups.detail.theme.preview", children: "Stop Preview" }) : /* @__PURE__ */ s.jsx(c, { i18nKey: "usergroups.detail.theme.preview", children: "Preview" }) })
173
171
  ] })
174
172
  ] });
175
173
  }
@@ -250,7 +248,7 @@ class F extends d.PureComponent {
250
248
  ] });
251
249
  }
252
250
  }
253
- const N = ({ usergroup: { id: o } }) => {
251
+ const $ = ({ usergroup: { id: o } }) => {
254
252
  const { user: e } = S(x), t = (i) => {
255
253
  if (e)
256
254
  return e.accountGroupIds.includes(i);
@@ -279,5 +277,5 @@ const N = ({ usergroup: { id: o } }) => {
279
277
  );
280
278
  };
281
279
  export {
282
- N as default
280
+ $ as default
283
281
  };
package/dist/api.d.ts CHANGED
@@ -682,6 +682,7 @@ declare class UIConfiguration {
682
682
  getDefaultEventPriority(): EventPriority;
683
683
  getTrendSlicesDivisor(): number;
684
684
  getTrendSlicesMinimum(): number;
685
+ getAggregationListSize(): number;
685
686
  getDisplayWelcomeScreen(): boolean;
686
687
  getGitCommitShaShort(): string;
687
688
  getPowerBiReports(): PowerBiReportConfig[] | null | undefined;
@@ -1166,6 +1167,14 @@ type CustomSearchProperty = {
1166
1167
  */
1167
1168
  declare const modifyCustomSearchProperties: (properties: CustomSearchProperty[]) => void;
1168
1169
 
1170
+ /**
1171
+ * Register a hook that can process datapoints returned by the API before they are used in the UI.
1172
+ *
1173
+ * Example:
1174
+ * setDatapointsByAssetIdPreprocessHook(async (assetId, dps) => dps.filter(dp => dp.name.startsWith('kpi.')));
1175
+ */
1176
+ declare function setDatapointsByAssetIdPreprocessHook(fn: (assetId: number, datapoints: Datapoint[]) => Promise<Datapoint[]> | Datapoint[]): void;
1177
+
1169
1178
  declare function setFavicon(filename: string): Promise<void>;
1170
1179
  declare function setPrimaryColor(color: string): Promise<void>;
1171
1180
  declare const eventBus: {
@@ -1175,4 +1184,4 @@ declare const eventBus: {
1175
1184
  onUserProfileChange: (eventHandler: (user: api.User) => void, once?: boolean) => void;
1176
1185
  };
1177
1186
 
1178
- export { App, AppConfigurationBundle, AssetAndGroupsAndGateway, AssetGroupInfo, CanDeleteResult, ContextActionType, ContextBarAction, ContextBarActionContainer, ContextInfoProps, DashboardConfig, DashboardWidgetConfig, DashboardWidgetType, HasAuthorities, NavGroup, _default$4 as RouteApi, RouteConfig, RouteLink, SearchProps, _default$3 as StyleApi, StyleCustomization, TFunction, _default$2 as ThemeApi, ThemeConfig, Trans, _default$5 as TranslationApi, TranslationDescriptor, _default$1 as UiConfigurationApi, UserColumnDefs, UserGroupColumnDefs, VisibilityProps, WidgetConfigProps, WidgetDefinition, WidgetProps, addCustomHeaderElement, addI18nextXHRBackend, eventBus, modifyGenerateAssetUrn as generateAssetUrn, _default as getNguiAxios, getStartPage, hasAuthorities, modifyAssetColumnDefinitions, modifyAssetGroupColumnDefinitions, modifyCanDeleteBundle, modifyCanDeleteBundleVersion, modifyChildAssetGroupsInitialSort, modifyCustomSearchProperties, modifyDashboardWidgets, modifyIsDashboardVisible, modifyMapMarkerIcon, modifyPropertyVisibility, modifyRoutes, modifyUserColumnDefinitions, modifyUserGroupColumnDefinitions, removeCustomHeaderElement, replaceComponent, retrieveAuthInfo, setContextInfo, setCustomFilesCategories, setCustomLoginPageElement, setEnvironment, setFavicon, setLocizeProject, setPrimaryColor, setTitle, useAssetTimezone, useTranslation, useUserAccountInfo, ux4iotGrantRequestFunction };
1187
+ export { App, AppConfigurationBundle, AssetAndGroupsAndGateway, AssetGroupInfo, CanDeleteResult, ContextActionType, ContextBarAction, ContextBarActionContainer, ContextInfoProps, DashboardConfig, DashboardWidgetConfig, DashboardWidgetType, HasAuthorities, NavGroup, _default$4 as RouteApi, RouteConfig, RouteLink, SearchProps, _default$3 as StyleApi, StyleCustomization, TFunction, _default$2 as ThemeApi, ThemeConfig, Trans, _default$5 as TranslationApi, TranslationDescriptor, _default$1 as UiConfigurationApi, UserColumnDefs, UserGroupColumnDefs, VisibilityProps, WidgetConfigProps, WidgetDefinition, WidgetProps, addCustomHeaderElement, addI18nextXHRBackend, eventBus, modifyGenerateAssetUrn as generateAssetUrn, _default as getNguiAxios, getStartPage, hasAuthorities, modifyAssetColumnDefinitions, modifyAssetGroupColumnDefinitions, modifyCanDeleteBundle, modifyCanDeleteBundleVersion, modifyChildAssetGroupsInitialSort, modifyCustomSearchProperties, modifyDashboardWidgets, modifyIsDashboardVisible, modifyMapMarkerIcon, modifyPropertyVisibility, modifyRoutes, modifyUserColumnDefinitions, modifyUserGroupColumnDefinitions, removeCustomHeaderElement, replaceComponent, retrieveAuthInfo, setContextInfo, setCustomFilesCategories, setCustomLoginPageElement, setDatapointsByAssetIdPreprocessHook, setEnvironment, setFavicon, setLocizeProject, setPrimaryColor, setTitle, useAssetTimezone, useTranslation, useUserAccountInfo, ux4iotGrantRequestFunction };
package/dist/api.js CHANGED
@@ -1,8 +1,8 @@
1
- import { ai as a, ax as n, aw as i, aN as r, bF as m, cB as c, cC as u, am as f, co as C, bq as d, cD as p } from "./ContextBarContext-0c28ce9d.js";
2
- import { aQ as G, bv as H, af as V, ae as w, ag as J, cF as K, ad as M, cG as Z, cE as j, cT as k, aJ as q, aX as Q, cJ as W, cK as X, cQ as Y, cR as $, cO as z, cV as ee, cN as se, cP as te, cI as oe, cL as ae, cM as ne, cH as ie, cS as re, as as me, cU as ce, cW as ue, ac as fe, c2 as Ce, ah as de, bY as pe } from "./ContextBarContext-0c28ce9d.js";
3
- import { m as Ae, a as ye } from "./useCanDeleteBundleVersion-64f35949.js";
1
+ import { ai as a, ax as n, aw as i, aN as r, bF as c, cB as m, cC as u, am as f, co as C, bq as d, cD as p } from "./ContextBarContext-8a081573.js";
2
+ import { aQ as O, bv as G, af as V, ae as k, ag as w, cF as J, ad as K, cG as M, cE as X, cT as Z, aJ as j, aX as q, cJ as Q, cK as W, cQ as Y, cR as $, cO as z, cV as ss, cN as es, cP as ts, cI as os, cL as as, cM as ns, cH as is, cS as rs, as as cs, cU as ms, cW as us, cX as fs, ac as Cs, c2 as ds, ah as ps, bY as ls } from "./ContextBarContext-8a081573.js";
3
+ import { m as ys, a as Ts } from "./useCanDeleteBundleVersion-64f35949.js";
4
4
  import { getAxios as l } from "@deviceinsight/ng-ui-api-client";
5
- import { s as xe } from "./customFileCategories-1b64ed45.js";
5
+ import { s as Es } from "./customFileCategories-1b64ed45.js";
6
6
  import { useContext as t, useEffect as A } from "react";
7
7
  import "react-router-dom";
8
8
  import "@deviceinsight/ng-ui-basic-components";
@@ -11,27 +11,27 @@ import "react-i18next";
11
11
  import "i18next";
12
12
  import "ux4iot-react";
13
13
  import "react-dom";
14
- const N = (e) => a({
15
- REACT_APP_TENANT_LOCIZE_PROJECT_ID: e.projectId,
16
- REACT_APP_TENANT_LOCIZE_API_KEY: e.apiKey,
17
- REACT_APP_TENANT_LOCIZE_VERSION: e.version
14
+ const N = (s) => a({
15
+ REACT_APP_TENANT_LOCIZE_PROJECT_ID: s.projectId,
16
+ REACT_APP_TENANT_LOCIZE_API_KEY: s.apiKey,
17
+ REACT_APP_TENANT_LOCIZE_VERSION: s.version
18
18
  }), R = () => l();
19
19
  function b() {
20
- const { user: e } = t(n);
21
- return e;
20
+ const { user: s } = t(n);
21
+ return s;
22
22
  }
23
- function v({ className: e, icon: s, ...o }) {
24
- return /* @__PURE__ */ i.jsx("button", { className: r(e, "tool"), ...o, children: s });
23
+ function v({ className: s, icon: e, ...o }) {
24
+ return /* @__PURE__ */ i.jsx("button", { className: r(s, "tool"), ...o, children: e });
25
25
  }
26
- function B({ children: e }) {
27
- const { addItem: s } = t(m);
28
- return A(() => s(e), [s, e]), null;
26
+ function B({ children: s }) {
27
+ const { addItem: e } = t(c);
28
+ return A(() => e(s), [e, s]), null;
29
29
  }
30
- function S(e) {
31
- return console.warn("Don't use setFavicon. This function is deprecated"), c(e, !0);
30
+ function S(s) {
31
+ return console.warn("Don't use setFavicon. This function is deprecated"), m(s, !0);
32
32
  }
33
- function U(e) {
34
- return console.warn("Don't use setPrimaryColor. This function is deprecated"), u(e, !0);
33
+ function U(s) {
34
+ return console.warn("Don't use setPrimaryColor. This function is deprecated"), u(s, !0);
35
35
  }
36
36
  const F = {
37
37
  onSignin: f,
@@ -42,46 +42,47 @@ const F = {
42
42
  export {
43
43
  v as ContextBarAction,
44
44
  B as ContextBarActionContainer,
45
- G as HasAuthorities,
46
- H as RouteApi,
45
+ O as HasAuthorities,
46
+ G as RouteApi,
47
47
  V as StyleApi,
48
- w as ThemeApi,
49
- J as Trans,
50
- K as TranslationApi,
51
- M as UiConfigurationApi,
52
- Z as addCustomHeaderElement,
53
- j as addI18nextXHRBackend,
48
+ k as ThemeApi,
49
+ w as Trans,
50
+ J as TranslationApi,
51
+ K as UiConfigurationApi,
52
+ M as addCustomHeaderElement,
53
+ X as addI18nextXHRBackend,
54
54
  F as eventBus,
55
- k as generateAssetUrn,
55
+ Z as generateAssetUrn,
56
56
  R as getNguiAxios,
57
- q as getStartPage,
58
- Q as hasAuthorities,
59
- W as modifyAssetColumnDefinitions,
60
- X as modifyAssetGroupColumnDefinitions,
61
- Ae as modifyCanDeleteBundle,
62
- ye as modifyCanDeleteBundleVersion,
57
+ j as getStartPage,
58
+ q as hasAuthorities,
59
+ Q as modifyAssetColumnDefinitions,
60
+ W as modifyAssetGroupColumnDefinitions,
61
+ ys as modifyCanDeleteBundle,
62
+ Ts as modifyCanDeleteBundleVersion,
63
63
  Y as modifyChildAssetGroupsInitialSort,
64
64
  $ as modifyCustomSearchProperties,
65
65
  z as modifyDashboardWidgets,
66
- ee as modifyIsDashboardVisible,
67
- se as modifyMapMarkerIcon,
68
- te as modifyPropertyVisibility,
69
- oe as modifyRoutes,
70
- ae as modifyUserColumnDefinitions,
71
- ne as modifyUserGroupColumnDefinitions,
72
- ie as removeCustomHeaderElement,
73
- re as replaceComponent,
74
- me as retrieveAuthInfo,
75
- ce as setContextInfo,
76
- xe as setCustomFilesCategories,
77
- ue as setCustomLoginPageElement,
66
+ ss as modifyIsDashboardVisible,
67
+ es as modifyMapMarkerIcon,
68
+ ts as modifyPropertyVisibility,
69
+ os as modifyRoutes,
70
+ as as modifyUserColumnDefinitions,
71
+ ns as modifyUserGroupColumnDefinitions,
72
+ is as removeCustomHeaderElement,
73
+ rs as replaceComponent,
74
+ cs as retrieveAuthInfo,
75
+ ms as setContextInfo,
76
+ Es as setCustomFilesCategories,
77
+ us as setCustomLoginPageElement,
78
+ fs as setDatapointsByAssetIdPreprocessHook,
78
79
  a as setEnvironment,
79
80
  S as setFavicon,
80
81
  N as setLocizeProject,
81
82
  U as setPrimaryColor,
82
- fe as setTitle,
83
- Ce as useAssetTimezone,
84
- de as useTranslation,
83
+ Cs as setTitle,
84
+ ds as useAssetTimezone,
85
+ ps as useTranslation,
85
86
  b as useUserAccountInfo,
86
- pe as ux4iotGrantRequestFunction
87
+ ls as ux4iotGrantRequestFunction
87
88
  };