@gisce/ooui 2.40.0-alpha.6 → 2.40.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/KanbanCard.d.ts +13 -0
- package/dist/KanbanCard.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/ooui.es.js +644 -601
- package/dist/ooui.es.js.map +1 -1
- package/package.json +1 -1
- package/src/KanbanCard.ts +84 -0
- package/src/index.ts +2 -0
- package/src/spec/kanbanCard.spec.ts +217 -0
package/dist/ooui.es.js
CHANGED
|
@@ -1,163 +1,163 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var r = (
|
|
4
|
-
import { decode as
|
|
5
|
-
import { evaluateCondition as
|
|
6
|
-
import * as
|
|
7
|
-
import
|
|
8
|
-
const
|
|
9
|
-
entry:
|
|
1
|
+
var xt = Object.defineProperty;
|
|
2
|
+
var pt = (s, e, t) => e in s ? xt(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
|
|
3
|
+
var r = (s, e, t) => (pt(s, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
|
+
import { decode as wt } from "html-entities";
|
|
5
|
+
import { evaluateCondition as Ft } from "@gisce/conscheck";
|
|
6
|
+
import * as I from "txml";
|
|
7
|
+
import T from "moment";
|
|
8
|
+
const vt = (s = !1) => (s = JSON.parse(s.toString().toLowerCase()), +s > 0), Ct = ({
|
|
9
|
+
entry: s,
|
|
10
10
|
values: e,
|
|
11
11
|
fields: t
|
|
12
12
|
}) => {
|
|
13
|
-
let [
|
|
14
|
-
const
|
|
15
|
-
fieldName:
|
|
13
|
+
let [i, n, l] = s, o = e[i];
|
|
14
|
+
const a = U({
|
|
15
|
+
fieldName: i,
|
|
16
16
|
valueInObject: o,
|
|
17
|
-
expectedValue:
|
|
17
|
+
expectedValue: l,
|
|
18
18
|
fields: t
|
|
19
19
|
});
|
|
20
|
-
if (
|
|
21
|
-
return
|
|
22
|
-
switch (
|
|
20
|
+
if (a.directOutcome !== void 0)
|
|
21
|
+
return a.directOutcome;
|
|
22
|
+
switch (a.modifiedValueInObject !== null && (o = a.modifiedValueInObject), a.modifiedExpectedValue !== null && (l = a.modifiedExpectedValue), n.toLowerCase()) {
|
|
23
23
|
case "=":
|
|
24
24
|
case "==":
|
|
25
|
-
return o ==
|
|
25
|
+
return o == l;
|
|
26
26
|
case "<>":
|
|
27
27
|
case "!=":
|
|
28
|
-
return o !=
|
|
28
|
+
return o != l;
|
|
29
29
|
case ">":
|
|
30
|
-
return o >
|
|
30
|
+
return o > l;
|
|
31
31
|
case ">=":
|
|
32
|
-
return o >=
|
|
32
|
+
return o >= l;
|
|
33
33
|
case "<":
|
|
34
|
-
return o <
|
|
34
|
+
return o < l;
|
|
35
35
|
case "<=":
|
|
36
|
-
return o <=
|
|
36
|
+
return o <= l;
|
|
37
37
|
case "in":
|
|
38
|
-
return
|
|
38
|
+
return l.includes(o);
|
|
39
39
|
case "not in":
|
|
40
|
-
return !
|
|
40
|
+
return !l.includes(o);
|
|
41
41
|
default:
|
|
42
42
|
return !1;
|
|
43
43
|
}
|
|
44
|
-
}, g = (
|
|
45
|
-
fieldName:
|
|
44
|
+
}, g = (s) => wt(s, { level: "xml" }), U = ({
|
|
45
|
+
fieldName: s,
|
|
46
46
|
valueInObject: e,
|
|
47
47
|
expectedValue: t,
|
|
48
|
-
fields:
|
|
48
|
+
fields: i = {}
|
|
49
49
|
}) => {
|
|
50
50
|
const n = {
|
|
51
51
|
modifiedValueInObject: e,
|
|
52
52
|
modifiedExpectedValue: null,
|
|
53
53
|
directOutcome: void 0
|
|
54
54
|
};
|
|
55
|
-
return s
|
|
55
|
+
return i[s] === void 0 ? {
|
|
56
56
|
modifiedValueInObject: null,
|
|
57
57
|
modifiedExpectedValue: null,
|
|
58
58
|
directOutcome: !1
|
|
59
|
-
} : e === void 0 && s
|
|
59
|
+
} : e === void 0 && i[s].type !== "boolean" && i[s].type !== "many2one" && i[s].type !== "selection" && typeof t != "boolean" ? {
|
|
60
60
|
modifiedValueInObject: null,
|
|
61
61
|
modifiedExpectedValue: null,
|
|
62
62
|
directOutcome: !1
|
|
63
|
-
} : (n.modifiedValueInObject = s
|
|
63
|
+
} : (n.modifiedValueInObject = i[s].type === "boolean" ? !!e : e, i[s].type === "many2one" && t === !1 && e === void 0 ? n.modifiedExpectedValue = void 0 : (n.modifiedValueInObject === void 0 ? n.modifiedValueInObject = !1 : Array.isArray(n.modifiedValueInObject) && n.modifiedValueInObject[0] !== void 0 && (n.modifiedValueInObject = n.modifiedValueInObject[0]), n.modifiedValueInObject === null && (n.modifiedValueInObject = !1)), i[s].type === "many2one" && Array.isArray(n.modifiedValueInObject) && n.modifiedValueInObject[0] === void 0 && (n.modifiedValueInObject = !1), i[s].type === "boolean" && (t === 0 || t === 1) && (n.modifiedExpectedValue = t !== 0), n);
|
|
64
64
|
}, Q = ({
|
|
65
|
-
attrs:
|
|
65
|
+
attrs: s,
|
|
66
66
|
values: e,
|
|
67
67
|
fields: t,
|
|
68
|
-
widgetType:
|
|
68
|
+
widgetType: i
|
|
69
69
|
}) => {
|
|
70
|
-
const
|
|
71
|
-
for (const m of Object.keys(
|
|
72
|
-
const x =
|
|
73
|
-
x ?
|
|
74
|
-
}
|
|
75
|
-
return
|
|
76
|
-
}, Z = (
|
|
77
|
-
if (
|
|
70
|
+
const c = s.replace(/\(/g, "[").replace(/\)/g, "]").replace(/'/g, '"').replace(/True/g, "true").replace(/False/g, "false"), _ = g(c), u = JSON.parse(_), h = {};
|
|
71
|
+
for (const m of Object.keys(u)) {
|
|
72
|
+
const x = u[m].map((y) => Ct({ entry: y, values: e, fields: t })).every((y) => y);
|
|
73
|
+
x ? h[m] = !0 : m === "readonly" && !x && i === "button" && (h[m] = !1);
|
|
74
|
+
}
|
|
75
|
+
return h;
|
|
76
|
+
}, Z = (s) => {
|
|
77
|
+
if (s === void 0)
|
|
78
78
|
return {};
|
|
79
|
-
if (typeof
|
|
79
|
+
if (typeof s == "string")
|
|
80
80
|
try {
|
|
81
|
-
return JSON.parse(
|
|
81
|
+
return JSON.parse(s.replace(/'/g, '"'));
|
|
82
82
|
} catch {
|
|
83
83
|
return console.error("Error parsing widget_props"), {};
|
|
84
84
|
}
|
|
85
85
|
else
|
|
86
|
-
return
|
|
87
|
-
},
|
|
88
|
-
attrs:
|
|
86
|
+
return s;
|
|
87
|
+
}, kt = ({
|
|
88
|
+
attrs: s,
|
|
89
89
|
values: e,
|
|
90
90
|
fields: t,
|
|
91
|
-
widgetType:
|
|
91
|
+
widgetType: i
|
|
92
92
|
}) => {
|
|
93
93
|
try {
|
|
94
|
-
const n = g(
|
|
94
|
+
const n = g(s), l = JSON.parse(
|
|
95
95
|
n.replace(/'/g, '"')
|
|
96
96
|
), o = {};
|
|
97
|
-
for (const
|
|
98
|
-
const
|
|
97
|
+
for (const a of Object.keys(l)) {
|
|
98
|
+
const c = Ft({
|
|
99
99
|
object: e,
|
|
100
|
-
condition: a
|
|
100
|
+
condition: l[a],
|
|
101
101
|
evaluateFieldComparison: ({
|
|
102
102
|
fieldName: _,
|
|
103
|
-
valueInObject:
|
|
104
|
-
expectedValue:
|
|
103
|
+
valueInObject: u,
|
|
104
|
+
expectedValue: h
|
|
105
105
|
}) => U({
|
|
106
106
|
fieldName: _,
|
|
107
|
-
valueInObject:
|
|
108
|
-
expectedValue:
|
|
107
|
+
valueInObject: u,
|
|
108
|
+
expectedValue: h,
|
|
109
109
|
fields: t
|
|
110
110
|
})
|
|
111
111
|
});
|
|
112
|
-
|
|
112
|
+
c ? o[a] = !0 : a === "readonly" && !c && i === "button" && (o[a] = !1);
|
|
113
113
|
}
|
|
114
114
|
return o;
|
|
115
115
|
} catch (n) {
|
|
116
116
|
throw console.error(n), n instanceof SyntaxError ? new Error(
|
|
117
|
-
"Error parsing new json_attrs. Original string: " +
|
|
117
|
+
"Error parsing new json_attrs. Original string: " + s
|
|
118
118
|
) : n;
|
|
119
119
|
}
|
|
120
|
-
},
|
|
121
|
-
tagAttributes:
|
|
120
|
+
}, tt = ({
|
|
121
|
+
tagAttributes: s,
|
|
122
122
|
values: e,
|
|
123
123
|
fields: t,
|
|
124
|
-
widgetType:
|
|
124
|
+
widgetType: i,
|
|
125
125
|
fallbackMode: n = !0
|
|
126
126
|
}) => {
|
|
127
|
-
let
|
|
128
|
-
if (
|
|
127
|
+
let l = {};
|
|
128
|
+
if (s.json_attrs)
|
|
129
129
|
try {
|
|
130
|
-
|
|
131
|
-
attrs:
|
|
130
|
+
l = kt({
|
|
131
|
+
attrs: s.json_attrs,
|
|
132
132
|
values: e,
|
|
133
133
|
fields: t,
|
|
134
|
-
widgetType:
|
|
134
|
+
widgetType: i
|
|
135
135
|
});
|
|
136
136
|
} catch (o) {
|
|
137
|
-
if (n &&
|
|
138
|
-
|
|
139
|
-
attrs:
|
|
137
|
+
if (n && s.attrs)
|
|
138
|
+
l = Q({
|
|
139
|
+
attrs: s.attrs,
|
|
140
140
|
values: e,
|
|
141
141
|
fields: t,
|
|
142
|
-
widgetType:
|
|
142
|
+
widgetType: i
|
|
143
143
|
});
|
|
144
144
|
else
|
|
145
145
|
throw o;
|
|
146
146
|
}
|
|
147
147
|
else
|
|
148
|
-
|
|
149
|
-
attrs:
|
|
148
|
+
s.attrs && (l = Q({
|
|
149
|
+
attrs: s.attrs,
|
|
150
150
|
values: e,
|
|
151
151
|
fields: t,
|
|
152
|
-
widgetType:
|
|
152
|
+
widgetType: i
|
|
153
153
|
}));
|
|
154
154
|
return {
|
|
155
|
-
...
|
|
156
|
-
...
|
|
155
|
+
...s,
|
|
156
|
+
...l,
|
|
157
157
|
attrs: void 0,
|
|
158
158
|
json_attrs: void 0
|
|
159
159
|
};
|
|
160
|
-
}, p = (
|
|
160
|
+
}, p = (s) => s === 1 || s === "1" || s === !0 || s === "True" || s === "true", P = class P {
|
|
161
161
|
constructor(e) {
|
|
162
162
|
/**
|
|
163
163
|
* Determines if widget is read only (default is undefined)
|
|
@@ -316,7 +316,7 @@ class f extends k {
|
|
|
316
316
|
r(this, "_selectionValues", /* @__PURE__ */ new Map([]));
|
|
317
317
|
r(this, "_autoRefresh", !1);
|
|
318
318
|
r(this, "_raw_props");
|
|
319
|
-
this._activated = !0, t && (this._raw_props = t, t.name && (this._id = t.name), t.activated && (this._activated = t.activated), t.string && (this._label = g(t.string)), t.help && (this._tooltip = g(t.help)), t.nolabel && (t.nolabel === "1" || typeof t.nolabel == "boolean" && t.nolabel === !0) && (this._nolabel = !0), t.required && (t.required === "1" || t.required === !0 || t.required === "True") && (this._required = !0), t.sum && (this._sum = g(t.sum)), t.selection && (this._selectionValues = new Map(t.selection)), t.help_inline && (this.tooltipInline =
|
|
319
|
+
this._activated = !0, t && (this._raw_props = t, t.name && (this._id = t.name), t.activated && (this._activated = t.activated), t.string && (this._label = g(t.string)), t.help && (this._tooltip = g(t.help)), t.nolabel && (t.nolabel === "1" || typeof t.nolabel == "boolean" && t.nolabel === !0) && (this._nolabel = !0), t.required && (t.required === "1" || t.required === !0 || t.required === "True") && (this._required = !0), t.sum && (this._sum = g(t.sum)), t.selection && (this._selectionValues = new Map(t.selection)), t.help_inline && (this.tooltipInline = vt(t.help_inline)), t.autorefresh && (this.autoRefresh = p(t.autorefresh)));
|
|
320
320
|
}
|
|
321
321
|
get id() {
|
|
322
322
|
return this._id;
|
|
@@ -401,14 +401,14 @@ class f extends k {
|
|
|
401
401
|
return this._id === t ? this : null;
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
|
-
class
|
|
404
|
+
class Pt extends f {
|
|
405
405
|
}
|
|
406
|
-
class
|
|
406
|
+
class et extends k {
|
|
407
407
|
findById(e) {
|
|
408
408
|
return null;
|
|
409
409
|
}
|
|
410
410
|
}
|
|
411
|
-
class
|
|
411
|
+
class st extends f {
|
|
412
412
|
constructor(t) {
|
|
413
413
|
super({ ...t, nolabel: !0 });
|
|
414
414
|
/**
|
|
@@ -468,8 +468,8 @@ class et extends f {
|
|
|
468
468
|
this._fieldForLabel = t;
|
|
469
469
|
}
|
|
470
470
|
}
|
|
471
|
-
class
|
|
472
|
-
constructor(e = 4, t = 6,
|
|
471
|
+
class z {
|
|
472
|
+
constructor(e = 4, t = 6, i = !1, n = void 0) {
|
|
473
473
|
/**
|
|
474
474
|
* Number of columns the container is divided
|
|
475
475
|
*/
|
|
@@ -491,7 +491,7 @@ class Y {
|
|
|
491
491
|
* Unique key for container
|
|
492
492
|
*/
|
|
493
493
|
r(this, "_key");
|
|
494
|
-
this._columns = e, this._colspan = t, this._rows = [[]], this._index = 0, this._readOnly =
|
|
494
|
+
this._columns = e, this._colspan = t, this._rows = [[]], this._index = 0, this._readOnly = i, this._key = n;
|
|
495
495
|
}
|
|
496
496
|
get columns() {
|
|
497
497
|
return this._columns;
|
|
@@ -530,18 +530,18 @@ class Y {
|
|
|
530
530
|
* Returns the next free position
|
|
531
531
|
*/
|
|
532
532
|
freePosition() {
|
|
533
|
-
const e = this._rows[this._index].filter((t) => !t.invisible).reduce((t,
|
|
533
|
+
const e = this._rows[this._index].filter((t) => !t.invisible).reduce((t, i) => t + i.colspan, 0);
|
|
534
534
|
return this._columns - e;
|
|
535
535
|
}
|
|
536
536
|
addWidget(e, t) {
|
|
537
|
-
const
|
|
538
|
-
if (e instanceof
|
|
537
|
+
const i = [], n = t ? t.addLabel : !0;
|
|
538
|
+
if (e instanceof et) {
|
|
539
539
|
this._rows.push([]), this._index++;
|
|
540
540
|
return;
|
|
541
541
|
}
|
|
542
542
|
if (e.colspan > this._columns && (e.colspan = this._columns), e.readOnly = e.readOnly || this.readOnly, n && e instanceof f && !e.nolabel) {
|
|
543
543
|
e.colspan > 1 && (e.colspan -= 1);
|
|
544
|
-
const o = new
|
|
544
|
+
const o = new st({
|
|
545
545
|
name: e.id + "_label",
|
|
546
546
|
string: e.label,
|
|
547
547
|
invisible: e.invisible,
|
|
@@ -549,24 +549,24 @@ class Y {
|
|
|
549
549
|
fieldForLabel: e.id,
|
|
550
550
|
key: `${e.key}-label`
|
|
551
551
|
});
|
|
552
|
-
o.type = "label",
|
|
552
|
+
o.type = "label", i.push(o), i.push(e);
|
|
553
553
|
} else
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
(o,
|
|
554
|
+
i.push(e);
|
|
555
|
+
i.reduce(
|
|
556
|
+
(o, a) => o + a.colspan,
|
|
557
557
|
0
|
|
558
|
-
) > this.freePosition() && (this._rows.push([]), this._index++), this._rows[this._index] = this._rows[this._index].concat(
|
|
558
|
+
) > this.freePosition() && (this._rows.push([]), this._index++), this._rows[this._index] = this._rows[this._index].concat(i);
|
|
559
559
|
}
|
|
560
560
|
/**
|
|
561
561
|
* Traverses children to find a matching container or widget with the exact same id.
|
|
562
562
|
* @param {string} id id (name) of the field or container to find
|
|
563
563
|
*/
|
|
564
564
|
findById(e) {
|
|
565
|
-
var
|
|
565
|
+
var i;
|
|
566
566
|
let t = null;
|
|
567
|
-
return (
|
|
568
|
-
t || n != null && n.length && n.forEach((
|
|
569
|
-
t ||
|
|
567
|
+
return (i = this._rows) != null && i.length && this._rows.forEach((n) => {
|
|
568
|
+
t || n != null && n.length && n.forEach((l) => {
|
|
569
|
+
t || l && (t = l.findById(e));
|
|
570
570
|
});
|
|
571
571
|
}), t;
|
|
572
572
|
}
|
|
@@ -592,7 +592,7 @@ const O = class O extends k {
|
|
|
592
592
|
* Container label
|
|
593
593
|
*/
|
|
594
594
|
r(this, "_label", "");
|
|
595
|
-
this._container = new
|
|
595
|
+
this._container = new z(
|
|
596
596
|
t == null ? void 0 : t.col,
|
|
597
597
|
O._defaultColspan,
|
|
598
598
|
this.readOnly,
|
|
@@ -683,7 +683,7 @@ class N extends F {
|
|
|
683
683
|
this._loading = t;
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
|
-
class
|
|
686
|
+
class Ot extends N {
|
|
687
687
|
constructor(t) {
|
|
688
688
|
super(t);
|
|
689
689
|
r(this, "_icon", null);
|
|
@@ -696,9 +696,9 @@ class Pt extends N {
|
|
|
696
696
|
this._icon = t;
|
|
697
697
|
}
|
|
698
698
|
}
|
|
699
|
-
class
|
|
699
|
+
class Wt extends N {
|
|
700
700
|
constructor(t) {
|
|
701
|
-
var
|
|
701
|
+
var i;
|
|
702
702
|
super(t);
|
|
703
703
|
r(this, "_icon", null);
|
|
704
704
|
r(this, "_height");
|
|
@@ -709,7 +709,7 @@ class Ot extends N {
|
|
|
709
709
|
} catch {
|
|
710
710
|
console.log("Error parsing height"), this._height = void 0;
|
|
711
711
|
}
|
|
712
|
-
(
|
|
712
|
+
(i = this._parsedWidgetProps) != null && i.backgroundColor && (this._backgroundColor = this._parsedWidgetProps.backgroundColor);
|
|
713
713
|
}
|
|
714
714
|
get icon() {
|
|
715
715
|
return this._icon;
|
|
@@ -730,7 +730,7 @@ class Ot extends N {
|
|
|
730
730
|
this._backgroundColor = t;
|
|
731
731
|
}
|
|
732
732
|
}
|
|
733
|
-
class
|
|
733
|
+
class A extends f {
|
|
734
734
|
constructor(t) {
|
|
735
735
|
super({
|
|
736
736
|
...t,
|
|
@@ -756,12 +756,12 @@ class G extends f {
|
|
|
756
756
|
r(this, "_danger", !1);
|
|
757
757
|
if (t) {
|
|
758
758
|
if (t.string && (this._caption = g(t.string)), t.buttonType && (this._buttonType = t.buttonType), t.confirm && (this._confirmMessage = g(t.confirm)), t.special && t.special === "cancel" && (this._buttonType = "cancel"), t.icon && (this._icon = t.icon), t.primary) {
|
|
759
|
-
const
|
|
760
|
-
(
|
|
759
|
+
const i = t.primary;
|
|
760
|
+
(i === "1" || i === 1 || i === !0) && (this._primary = !0);
|
|
761
761
|
}
|
|
762
762
|
if (t.danger) {
|
|
763
|
-
const
|
|
764
|
-
(
|
|
763
|
+
const i = t.danger;
|
|
764
|
+
(i === "1" || i === 1 || i === !0) && (this._danger = !0);
|
|
765
765
|
}
|
|
766
766
|
}
|
|
767
767
|
}
|
|
@@ -802,7 +802,7 @@ class G extends f {
|
|
|
802
802
|
this._danger = t;
|
|
803
803
|
}
|
|
804
804
|
}
|
|
805
|
-
class
|
|
805
|
+
class Tt extends F {
|
|
806
806
|
constructor(t) {
|
|
807
807
|
super(t);
|
|
808
808
|
r(this, "_defaultName", "");
|
|
@@ -812,7 +812,7 @@ class Wt extends F {
|
|
|
812
812
|
return this._defaultName;
|
|
813
813
|
}
|
|
814
814
|
get defaultButton() {
|
|
815
|
-
return this.buttons.find((
|
|
815
|
+
return this.buttons.find((i) => i.id === this.defaultName) || this.buttons[0];
|
|
816
816
|
}
|
|
817
817
|
get colspan() {
|
|
818
818
|
var t;
|
|
@@ -823,9 +823,9 @@ class Wt extends F {
|
|
|
823
823
|
}
|
|
824
824
|
get secondaryButtons() {
|
|
825
825
|
return this.buttons.filter(
|
|
826
|
-
(
|
|
826
|
+
(i) => {
|
|
827
827
|
var n;
|
|
828
|
-
return
|
|
828
|
+
return i.id !== ((n = this.defaultButton) == null ? void 0 : n.id);
|
|
829
829
|
}
|
|
830
830
|
);
|
|
831
831
|
}
|
|
@@ -835,7 +835,7 @@ class Wt extends F {
|
|
|
835
835
|
}
|
|
836
836
|
class zt extends f {
|
|
837
837
|
}
|
|
838
|
-
class
|
|
838
|
+
class R extends f {
|
|
839
839
|
constructor(t) {
|
|
840
840
|
super(t);
|
|
841
841
|
/**
|
|
@@ -942,7 +942,7 @@ class $ extends f {
|
|
|
942
942
|
this._translatable = t;
|
|
943
943
|
}
|
|
944
944
|
}
|
|
945
|
-
class
|
|
945
|
+
class S extends f {
|
|
946
946
|
constructor(t) {
|
|
947
947
|
super(t);
|
|
948
948
|
/**
|
|
@@ -958,7 +958,7 @@ class I extends f {
|
|
|
958
958
|
this._size = t;
|
|
959
959
|
}
|
|
960
960
|
}
|
|
961
|
-
class
|
|
961
|
+
class It extends f {
|
|
962
962
|
constructor(t) {
|
|
963
963
|
super(t);
|
|
964
964
|
/**
|
|
@@ -993,14 +993,14 @@ class Tt extends f {
|
|
|
993
993
|
return this.parsedWidgetProps.showMenu;
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
|
-
class
|
|
996
|
+
class St extends $ {
|
|
997
997
|
}
|
|
998
998
|
class it extends f {
|
|
999
999
|
constructor(e) {
|
|
1000
1000
|
super(e);
|
|
1001
1001
|
}
|
|
1002
1002
|
}
|
|
1003
|
-
class
|
|
1003
|
+
class Et extends f {
|
|
1004
1004
|
constructor(e) {
|
|
1005
1005
|
super(e);
|
|
1006
1006
|
}
|
|
@@ -1021,8 +1021,8 @@ class q extends f {
|
|
|
1021
1021
|
*/
|
|
1022
1022
|
r(this, "_decimalDigits", 2);
|
|
1023
1023
|
if (t != null && t.digits) {
|
|
1024
|
-
const [
|
|
1025
|
-
this._integerDigits =
|
|
1024
|
+
const [i, n] = t.digits;
|
|
1025
|
+
this._integerDigits = i, this._decimalDigits = n;
|
|
1026
1026
|
}
|
|
1027
1027
|
}
|
|
1028
1028
|
get integerDigits() {
|
|
@@ -1038,11 +1038,11 @@ class q extends f {
|
|
|
1038
1038
|
this._decimalDigits = t;
|
|
1039
1039
|
}
|
|
1040
1040
|
}
|
|
1041
|
-
class
|
|
1041
|
+
class Vt extends q {
|
|
1042
1042
|
}
|
|
1043
|
-
class
|
|
1043
|
+
class Yt extends f {
|
|
1044
1044
|
}
|
|
1045
|
-
class
|
|
1045
|
+
class Dt extends q {
|
|
1046
1046
|
}
|
|
1047
1047
|
class jt extends f {
|
|
1048
1048
|
constructor(e) {
|
|
@@ -1062,7 +1062,7 @@ class Nt extends f {
|
|
|
1062
1062
|
this._timezone = t;
|
|
1063
1063
|
}
|
|
1064
1064
|
}
|
|
1065
|
-
class
|
|
1065
|
+
class rt extends f {
|
|
1066
1066
|
constructor(t) {
|
|
1067
1067
|
super(t);
|
|
1068
1068
|
/**
|
|
@@ -1156,7 +1156,7 @@ class st extends f {
|
|
|
1156
1156
|
this._infinite = t;
|
|
1157
1157
|
}
|
|
1158
1158
|
}
|
|
1159
|
-
class
|
|
1159
|
+
class At extends k {
|
|
1160
1160
|
constructor(t) {
|
|
1161
1161
|
super(t);
|
|
1162
1162
|
/**
|
|
@@ -1182,7 +1182,7 @@ class Dt extends k {
|
|
|
1182
1182
|
return null;
|
|
1183
1183
|
}
|
|
1184
1184
|
}
|
|
1185
|
-
class Mt extends
|
|
1185
|
+
class Mt extends S {
|
|
1186
1186
|
}
|
|
1187
1187
|
class Bt extends f {
|
|
1188
1188
|
constructor(t) {
|
|
@@ -1200,19 +1200,19 @@ class Bt extends f {
|
|
|
1200
1200
|
this._filenameField = t;
|
|
1201
1201
|
}
|
|
1202
1202
|
}
|
|
1203
|
-
class
|
|
1203
|
+
class Rt extends f {
|
|
1204
1204
|
constructor(t) {
|
|
1205
1205
|
super(t);
|
|
1206
1206
|
r(this, "_width");
|
|
1207
1207
|
r(this, "_height");
|
|
1208
1208
|
if (t) {
|
|
1209
1209
|
if (t.width) {
|
|
1210
|
-
const
|
|
1211
|
-
this._width = isNaN(
|
|
1210
|
+
const i = parseInt(t.width);
|
|
1211
|
+
this._width = isNaN(i) ? void 0 : i;
|
|
1212
1212
|
}
|
|
1213
1213
|
if (t.height) {
|
|
1214
|
-
const
|
|
1215
|
-
this._height = isNaN(
|
|
1214
|
+
const i = parseInt(t.height);
|
|
1215
|
+
this._height = isNaN(i) ? void 0 : i;
|
|
1216
1216
|
}
|
|
1217
1217
|
}
|
|
1218
1218
|
}
|
|
@@ -1233,7 +1233,7 @@ class At extends f {
|
|
|
1233
1233
|
return ((t = this.parsedWidgetProps) == null ? void 0 : t.showControls) ?? !0;
|
|
1234
1234
|
}
|
|
1235
1235
|
}
|
|
1236
|
-
class
|
|
1236
|
+
class Lt extends f {
|
|
1237
1237
|
constructor(t) {
|
|
1238
1238
|
super({ ...t, nolabel: !0 });
|
|
1239
1239
|
/**
|
|
@@ -1269,12 +1269,12 @@ class Rt extends f {
|
|
|
1269
1269
|
this._color = t;
|
|
1270
1270
|
}
|
|
1271
1271
|
}
|
|
1272
|
-
class
|
|
1272
|
+
class Gt extends f {
|
|
1273
1273
|
constructor(e) {
|
|
1274
1274
|
super(e);
|
|
1275
1275
|
}
|
|
1276
1276
|
}
|
|
1277
|
-
class
|
|
1277
|
+
class $t extends rt {
|
|
1278
1278
|
constructor(t) {
|
|
1279
1279
|
super(t);
|
|
1280
1280
|
/**
|
|
@@ -1306,7 +1306,7 @@ class Gt extends st {
|
|
|
1306
1306
|
return this.parsedWidgetProps.colorField;
|
|
1307
1307
|
}
|
|
1308
1308
|
}
|
|
1309
|
-
class
|
|
1309
|
+
class qt extends S {
|
|
1310
1310
|
constructor(t) {
|
|
1311
1311
|
super(t);
|
|
1312
1312
|
r(this, "_nolabel", !0);
|
|
@@ -1328,8 +1328,8 @@ class $t extends I {
|
|
|
1328
1328
|
if (t.action_id && (this._actionId = parseInt(t.action_id)), t.action_field && (this._actionField = t.action_field), t.height)
|
|
1329
1329
|
try {
|
|
1330
1330
|
this._height = parseInt(t.height);
|
|
1331
|
-
} catch (
|
|
1332
|
-
console.error(
|
|
1331
|
+
} catch (i) {
|
|
1332
|
+
console.error(i);
|
|
1333
1333
|
}
|
|
1334
1334
|
this._autoRefresh = p(t.autorefresh);
|
|
1335
1335
|
}
|
|
@@ -1380,7 +1380,7 @@ class $t extends I {
|
|
|
1380
1380
|
this._autoRefresh = t;
|
|
1381
1381
|
}
|
|
1382
1382
|
}
|
|
1383
|
-
class
|
|
1383
|
+
class nt extends f {
|
|
1384
1384
|
constructor(t) {
|
|
1385
1385
|
super(t);
|
|
1386
1386
|
/**
|
|
@@ -1433,9 +1433,9 @@ class rt extends f {
|
|
|
1433
1433
|
this._columns = t;
|
|
1434
1434
|
}
|
|
1435
1435
|
}
|
|
1436
|
-
class
|
|
1436
|
+
class Jt extends nt {
|
|
1437
1437
|
}
|
|
1438
|
-
class
|
|
1438
|
+
class Ht extends S {
|
|
1439
1439
|
get colors() {
|
|
1440
1440
|
return this._parsedWidgetProps.colors || {};
|
|
1441
1441
|
}
|
|
@@ -1444,7 +1444,7 @@ class Jt extends I {
|
|
|
1444
1444
|
return ((e = this._parsedWidgetProps) == null ? void 0 : e.colorField) || null;
|
|
1445
1445
|
}
|
|
1446
1446
|
}
|
|
1447
|
-
class
|
|
1447
|
+
class Qt extends S {
|
|
1448
1448
|
constructor(t) {
|
|
1449
1449
|
super(t);
|
|
1450
1450
|
/**
|
|
@@ -1460,7 +1460,7 @@ class Ht extends I {
|
|
|
1460
1460
|
this._direction = t;
|
|
1461
1461
|
}
|
|
1462
1462
|
}
|
|
1463
|
-
class
|
|
1463
|
+
class Kt extends it {
|
|
1464
1464
|
}
|
|
1465
1465
|
class Xt extends f {
|
|
1466
1466
|
constructor(t) {
|
|
@@ -1492,7 +1492,7 @@ class Xt extends f {
|
|
|
1492
1492
|
this._lastStep = t;
|
|
1493
1493
|
}
|
|
1494
1494
|
}
|
|
1495
|
-
class
|
|
1495
|
+
class at extends $ {
|
|
1496
1496
|
constructor(t) {
|
|
1497
1497
|
super(t);
|
|
1498
1498
|
r(this, "_lang", null);
|
|
@@ -1505,12 +1505,12 @@ class nt extends $ {
|
|
|
1505
1505
|
this._lang = t;
|
|
1506
1506
|
}
|
|
1507
1507
|
}
|
|
1508
|
-
class
|
|
1508
|
+
class Ut extends f {
|
|
1509
1509
|
constructor(e) {
|
|
1510
1510
|
super(e);
|
|
1511
1511
|
}
|
|
1512
1512
|
}
|
|
1513
|
-
class
|
|
1513
|
+
class Zt extends F {
|
|
1514
1514
|
constructor(t) {
|
|
1515
1515
|
super(t);
|
|
1516
1516
|
/**
|
|
@@ -1550,7 +1550,7 @@ class Ut extends F {
|
|
|
1550
1550
|
return this._container.rows.flat().filter((t) => !t.invisible);
|
|
1551
1551
|
}
|
|
1552
1552
|
}
|
|
1553
|
-
class
|
|
1553
|
+
class te extends f {
|
|
1554
1554
|
constructor(t) {
|
|
1555
1555
|
super(t);
|
|
1556
1556
|
/**
|
|
@@ -1558,8 +1558,8 @@ class Zt extends f {
|
|
|
1558
1558
|
*/
|
|
1559
1559
|
r(this, "_height");
|
|
1560
1560
|
if (t.height) {
|
|
1561
|
-
const
|
|
1562
|
-
this._height = isNaN(
|
|
1561
|
+
const i = parseInt(t.height);
|
|
1562
|
+
this._height = isNaN(i) ? void 0 : i;
|
|
1563
1563
|
}
|
|
1564
1564
|
}
|
|
1565
1565
|
get height() {
|
|
@@ -1569,13 +1569,13 @@ class Zt extends f {
|
|
|
1569
1569
|
this._height = t;
|
|
1570
1570
|
}
|
|
1571
1571
|
}
|
|
1572
|
-
class
|
|
1572
|
+
class K extends at {
|
|
1573
1573
|
constructor() {
|
|
1574
1574
|
super(...arguments);
|
|
1575
1575
|
r(this, "_lang", "json");
|
|
1576
1576
|
}
|
|
1577
1577
|
}
|
|
1578
|
-
class
|
|
1578
|
+
class ee extends f {
|
|
1579
1579
|
constructor(t) {
|
|
1580
1580
|
super(t);
|
|
1581
1581
|
r(this, "_multi", !1);
|
|
@@ -1595,7 +1595,7 @@ class te extends f {
|
|
|
1595
1595
|
this._size = t;
|
|
1596
1596
|
}
|
|
1597
1597
|
}
|
|
1598
|
-
class
|
|
1598
|
+
class se extends F {
|
|
1599
1599
|
constructor(t) {
|
|
1600
1600
|
super(t);
|
|
1601
1601
|
r(this, "_autoPlay", !0);
|
|
@@ -1611,12 +1611,12 @@ class ee extends F {
|
|
|
1611
1611
|
return this._container.rows.flat().filter((t) => !t.invisible);
|
|
1612
1612
|
}
|
|
1613
1613
|
}
|
|
1614
|
-
class ie extends
|
|
1614
|
+
class ie extends R {
|
|
1615
1615
|
get showText() {
|
|
1616
1616
|
return this.parsedWidgetProps.show_text ?? !0;
|
|
1617
1617
|
}
|
|
1618
1618
|
}
|
|
1619
|
-
class
|
|
1619
|
+
class re extends f {
|
|
1620
1620
|
get width() {
|
|
1621
1621
|
var e;
|
|
1622
1622
|
return (e = this.parsedWidgetProps) == null ? void 0 : e.width;
|
|
@@ -1630,7 +1630,7 @@ class se extends f {
|
|
|
1630
1630
|
return console.log(this.parsedWidgetProps), ((e = this.parsedWidgetProps) == null ? void 0 : e.showValue) ?? !1;
|
|
1631
1631
|
}
|
|
1632
1632
|
}
|
|
1633
|
-
class
|
|
1633
|
+
class ne extends N {
|
|
1634
1634
|
constructor(t) {
|
|
1635
1635
|
super(t);
|
|
1636
1636
|
r(this, "_title", null);
|
|
@@ -1640,8 +1640,8 @@ class re extends N {
|
|
|
1640
1640
|
*/
|
|
1641
1641
|
r(this, "_height");
|
|
1642
1642
|
if (t && (t.title && (this._title = t.title), t.icon && (this._icon = t.icon), t.height)) {
|
|
1643
|
-
const
|
|
1644
|
-
this._height = isNaN(
|
|
1643
|
+
const i = parseInt(t.height);
|
|
1644
|
+
this._height = isNaN(i) ? void 0 : i;
|
|
1645
1645
|
}
|
|
1646
1646
|
}
|
|
1647
1647
|
get title() {
|
|
@@ -1663,7 +1663,7 @@ class re extends N {
|
|
|
1663
1663
|
this._height = t;
|
|
1664
1664
|
}
|
|
1665
1665
|
}
|
|
1666
|
-
class
|
|
1666
|
+
class E {
|
|
1667
1667
|
constructor() {
|
|
1668
1668
|
/**
|
|
1669
1669
|
* Widget class
|
|
@@ -1676,49 +1676,49 @@ class D {
|
|
|
1676
1676
|
this._widgetClass = B;
|
|
1677
1677
|
break;
|
|
1678
1678
|
case "page":
|
|
1679
|
-
this._widgetClass =
|
|
1679
|
+
this._widgetClass = Ot;
|
|
1680
1680
|
break;
|
|
1681
1681
|
case "group":
|
|
1682
|
-
this._widgetClass =
|
|
1682
|
+
this._widgetClass = Wt;
|
|
1683
1683
|
break;
|
|
1684
1684
|
case "card":
|
|
1685
|
-
this._widgetClass =
|
|
1685
|
+
this._widgetClass = ne;
|
|
1686
1686
|
break;
|
|
1687
1687
|
case "label":
|
|
1688
|
-
this._widgetClass =
|
|
1688
|
+
this._widgetClass = st;
|
|
1689
1689
|
break;
|
|
1690
1690
|
case "char":
|
|
1691
|
-
this._widgetClass =
|
|
1691
|
+
this._widgetClass = R;
|
|
1692
1692
|
break;
|
|
1693
1693
|
case "text":
|
|
1694
1694
|
this._widgetClass = $;
|
|
1695
1695
|
break;
|
|
1696
1696
|
case "button":
|
|
1697
|
-
this._widgetClass =
|
|
1697
|
+
this._widgetClass = A;
|
|
1698
1698
|
break;
|
|
1699
1699
|
case "buttonGroup":
|
|
1700
|
-
this._widgetClass =
|
|
1700
|
+
this._widgetClass = Tt;
|
|
1701
1701
|
break;
|
|
1702
1702
|
case "action_buttons":
|
|
1703
1703
|
this._widgetClass = zt;
|
|
1704
1704
|
break;
|
|
1705
1705
|
case "selection":
|
|
1706
|
-
this._widgetClass =
|
|
1706
|
+
this._widgetClass = S;
|
|
1707
1707
|
break;
|
|
1708
1708
|
case "many2one":
|
|
1709
|
-
this._widgetClass =
|
|
1709
|
+
this._widgetClass = It;
|
|
1710
1710
|
break;
|
|
1711
1711
|
case "boolean":
|
|
1712
1712
|
this._widgetClass = it;
|
|
1713
1713
|
break;
|
|
1714
1714
|
case "integer":
|
|
1715
|
-
this._widgetClass =
|
|
1715
|
+
this._widgetClass = Et;
|
|
1716
1716
|
break;
|
|
1717
1717
|
case "float":
|
|
1718
1718
|
this._widgetClass = q;
|
|
1719
1719
|
break;
|
|
1720
1720
|
case "float_time":
|
|
1721
|
-
this._widgetClass =
|
|
1721
|
+
this._widgetClass = Vt;
|
|
1722
1722
|
break;
|
|
1723
1723
|
case "date":
|
|
1724
1724
|
this._widgetClass = jt;
|
|
@@ -1727,27 +1727,27 @@ class D {
|
|
|
1727
1727
|
this._widgetClass = Nt;
|
|
1728
1728
|
break;
|
|
1729
1729
|
case "progressbar":
|
|
1730
|
-
this._widgetClass =
|
|
1730
|
+
this._widgetClass = Dt;
|
|
1731
1731
|
break;
|
|
1732
1732
|
case "markdown":
|
|
1733
|
-
this._widgetClass =
|
|
1733
|
+
this._widgetClass = St;
|
|
1734
1734
|
break;
|
|
1735
1735
|
case "many2many":
|
|
1736
1736
|
case "one2many":
|
|
1737
1737
|
case "one2many_list":
|
|
1738
|
-
this._widgetClass =
|
|
1738
|
+
this._widgetClass = rt;
|
|
1739
1739
|
break;
|
|
1740
1740
|
case "newline":
|
|
1741
|
-
this._widgetClass =
|
|
1741
|
+
this._widgetClass = et;
|
|
1742
1742
|
break;
|
|
1743
1743
|
case "separator":
|
|
1744
|
-
this._widgetClass =
|
|
1744
|
+
this._widgetClass = At;
|
|
1745
1745
|
break;
|
|
1746
1746
|
case "url":
|
|
1747
|
-
this._widgetClass =
|
|
1747
|
+
this._widgetClass = R;
|
|
1748
1748
|
break;
|
|
1749
1749
|
case "email":
|
|
1750
|
-
this._widgetClass =
|
|
1750
|
+
this._widgetClass = ee;
|
|
1751
1751
|
break;
|
|
1752
1752
|
case "reference":
|
|
1753
1753
|
this._widgetClass = Mt;
|
|
@@ -1756,85 +1756,85 @@ class D {
|
|
|
1756
1756
|
this._widgetClass = Bt;
|
|
1757
1757
|
break;
|
|
1758
1758
|
case "image":
|
|
1759
|
-
this._widgetClass =
|
|
1759
|
+
this._widgetClass = Rt;
|
|
1760
1760
|
break;
|
|
1761
1761
|
case "icon":
|
|
1762
|
-
this._widgetClass =
|
|
1762
|
+
this._widgetClass = Lt;
|
|
1763
1763
|
break;
|
|
1764
1764
|
case "fiber_grid":
|
|
1765
|
-
this._widgetClass =
|
|
1765
|
+
this._widgetClass = Gt;
|
|
1766
1766
|
break;
|
|
1767
1767
|
case "timeline":
|
|
1768
|
-
this._widgetClass =
|
|
1768
|
+
this._widgetClass = $t;
|
|
1769
1769
|
break;
|
|
1770
1770
|
case "indicator":
|
|
1771
|
-
this._widgetClass =
|
|
1771
|
+
this._widgetClass = qt;
|
|
1772
1772
|
break;
|
|
1773
1773
|
case "tags":
|
|
1774
|
-
this._widgetClass =
|
|
1774
|
+
this._widgetClass = Jt;
|
|
1775
1775
|
break;
|
|
1776
1776
|
case "tag":
|
|
1777
|
-
this._widgetClass =
|
|
1777
|
+
this._widgetClass = Ht;
|
|
1778
1778
|
break;
|
|
1779
1779
|
case "avatar":
|
|
1780
|
-
this._widgetClass =
|
|
1780
|
+
this._widgetClass = Pt;
|
|
1781
1781
|
break;
|
|
1782
1782
|
case "radio":
|
|
1783
|
-
this._widgetClass =
|
|
1783
|
+
this._widgetClass = Qt;
|
|
1784
1784
|
break;
|
|
1785
1785
|
case "multicheckbox":
|
|
1786
|
-
this._widgetClass =
|
|
1786
|
+
this._widgetClass = nt;
|
|
1787
1787
|
break;
|
|
1788
1788
|
case "switch":
|
|
1789
|
-
this._widgetClass =
|
|
1789
|
+
this._widgetClass = Kt;
|
|
1790
1790
|
break;
|
|
1791
1791
|
case "steps":
|
|
1792
1792
|
this._widgetClass = Xt;
|
|
1793
1793
|
break;
|
|
1794
1794
|
case "codeeditor":
|
|
1795
|
-
this._widgetClass =
|
|
1795
|
+
this._widgetClass = at;
|
|
1796
1796
|
break;
|
|
1797
1797
|
case "time":
|
|
1798
|
-
this._widgetClass =
|
|
1798
|
+
this._widgetClass = Ut;
|
|
1799
1799
|
break;
|
|
1800
1800
|
case "html_preview":
|
|
1801
|
-
this._widgetClass =
|
|
1801
|
+
this._widgetClass = Yt;
|
|
1802
1802
|
break;
|
|
1803
1803
|
case "alert":
|
|
1804
|
-
this._widgetClass =
|
|
1804
|
+
this._widgetClass = Zt;
|
|
1805
1805
|
break;
|
|
1806
1806
|
case "comments_timeline":
|
|
1807
|
-
this._widgetClass =
|
|
1807
|
+
this._widgetClass = te;
|
|
1808
1808
|
break;
|
|
1809
1809
|
case "json":
|
|
1810
|
-
this._widgetClass =
|
|
1810
|
+
this._widgetClass = K;
|
|
1811
1811
|
break;
|
|
1812
1812
|
case "arrow_steps":
|
|
1813
|
-
this._widgetClass =
|
|
1813
|
+
this._widgetClass = K;
|
|
1814
1814
|
break;
|
|
1815
1815
|
case "spinner":
|
|
1816
1816
|
this._widgetClass = N;
|
|
1817
1817
|
break;
|
|
1818
1818
|
case "carousel":
|
|
1819
|
-
this._widgetClass =
|
|
1819
|
+
this._widgetClass = se;
|
|
1820
1820
|
break;
|
|
1821
1821
|
case "colorPicker":
|
|
1822
1822
|
this._widgetClass = ie;
|
|
1823
1823
|
break;
|
|
1824
1824
|
case "qrcode":
|
|
1825
|
-
this._widgetClass =
|
|
1825
|
+
this._widgetClass = re;
|
|
1826
1826
|
break;
|
|
1827
1827
|
}
|
|
1828
1828
|
}
|
|
1829
1829
|
createWidget(e, t) {
|
|
1830
1830
|
this._widgetClass = void 0;
|
|
1831
|
-
let
|
|
1832
|
-
switch (this.setWidgetClass(e), this._widgetClass === void 0 && (
|
|
1831
|
+
let i = e;
|
|
1832
|
+
switch (this.setWidgetClass(e), this._widgetClass === void 0 && (i = t.fieldsWidgetType, this.setWidgetClass(t.fieldsWidgetType)), this._widgetClass === void 0 && (this._widgetClass = k), e) {
|
|
1833
1833
|
case "notebook":
|
|
1834
1834
|
case "page":
|
|
1835
1835
|
case "group":
|
|
1836
1836
|
case "card":
|
|
1837
|
-
return new this._widgetClass({ ...t, type:
|
|
1837
|
+
return new this._widgetClass({ ...t, type: i });
|
|
1838
1838
|
case "button":
|
|
1839
1839
|
return new this._widgetClass({
|
|
1840
1840
|
...t,
|
|
@@ -1842,80 +1842,80 @@ class D {
|
|
|
1842
1842
|
buttonType: t.type
|
|
1843
1843
|
});
|
|
1844
1844
|
default:
|
|
1845
|
-
return new this._widgetClass({ ...t, type:
|
|
1845
|
+
return new this._widgetClass({ ...t, type: i });
|
|
1846
1846
|
}
|
|
1847
1847
|
}
|
|
1848
1848
|
}
|
|
1849
|
-
const
|
|
1850
|
-
fieldName:
|
|
1849
|
+
const ae = ({
|
|
1850
|
+
fieldName: s,
|
|
1851
1851
|
values: e,
|
|
1852
1852
|
fields: t
|
|
1853
1853
|
}) => {
|
|
1854
1854
|
var o;
|
|
1855
|
-
if (!i)
|
|
1856
|
-
return {};
|
|
1857
|
-
const s = (o = t[i]) == null ? void 0 : o.states;
|
|
1858
1855
|
if (!s)
|
|
1859
1856
|
return {};
|
|
1860
|
-
const
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1857
|
+
const i = (o = t[s]) == null ? void 0 : o.states;
|
|
1858
|
+
if (!i)
|
|
1859
|
+
return {};
|
|
1860
|
+
const n = {}, l = {};
|
|
1861
|
+
for (const a of Object.keys(i))
|
|
1862
|
+
if (e.state === a) {
|
|
1863
|
+
const c = i[a];
|
|
1864
|
+
for (const _ of c) {
|
|
1865
|
+
const [u, h] = _;
|
|
1866
|
+
l[u] || (l[u] = []), l[u].push(h);
|
|
1867
1867
|
}
|
|
1868
1868
|
}
|
|
1869
|
-
for (const
|
|
1870
|
-
const
|
|
1871
|
-
n[
|
|
1869
|
+
for (const a of Object.keys(l)) {
|
|
1870
|
+
const c = l[a];
|
|
1871
|
+
n[a] = c.some((_) => _);
|
|
1872
1872
|
}
|
|
1873
1873
|
return n;
|
|
1874
|
-
},
|
|
1875
|
-
states:
|
|
1874
|
+
}, lt = ({
|
|
1875
|
+
states: s,
|
|
1876
1876
|
values: e
|
|
1877
1877
|
}) => {
|
|
1878
1878
|
if (!(e != null && e.state))
|
|
1879
1879
|
return {};
|
|
1880
|
-
const t =
|
|
1880
|
+
const t = s.split(",");
|
|
1881
1881
|
return t.length === 0 ? {} : t.includes(e.state) ? {} : { invisible: !0 };
|
|
1882
1882
|
};
|
|
1883
1883
|
function le({
|
|
1884
|
-
values:
|
|
1884
|
+
values: s = {},
|
|
1885
1885
|
fieldName: e,
|
|
1886
1886
|
fields: t = {}
|
|
1887
1887
|
}) {
|
|
1888
1888
|
var n;
|
|
1889
|
-
const
|
|
1890
|
-
return
|
|
1889
|
+
const i = ((n = t[e]) == null ? void 0 : n.type) || "passthrough";
|
|
1890
|
+
return i === "many2one" ? s[e] ? s[e][0] || null : !1 : i === "one2many" || i === "many2many" ? s[e].map((l) => l.id) : s != null && s[e] ? s == null ? void 0 : s[e] : e.includes("'") ? e : parseInt(e);
|
|
1891
1891
|
}
|
|
1892
1892
|
const J = ({
|
|
1893
|
-
context:
|
|
1893
|
+
context: s,
|
|
1894
1894
|
values: e,
|
|
1895
1895
|
fields: t
|
|
1896
1896
|
}) => {
|
|
1897
1897
|
try {
|
|
1898
|
-
if (!
|
|
1898
|
+
if (!s)
|
|
1899
1899
|
return;
|
|
1900
|
-
if (
|
|
1901
|
-
return i;
|
|
1902
|
-
const s = at(i);
|
|
1903
|
-
if (s !== null)
|
|
1900
|
+
if (ct(s) || typeof s != "string")
|
|
1904
1901
|
return s;
|
|
1905
|
-
|
|
1902
|
+
const i = ot(s);
|
|
1903
|
+
if (i !== null)
|
|
1904
|
+
return i;
|
|
1905
|
+
if (s.trim().length === 0)
|
|
1906
1906
|
return;
|
|
1907
|
-
const
|
|
1908
|
-
return
|
|
1909
|
-
const b =
|
|
1910
|
-
if (!
|
|
1907
|
+
const h = s.replace(/"/g, "'").replace(/\s/g, "").replace(/True/g, "true").replace(/False/g, "false").replace(/\{/g, "").replace(/\}/g, "").split(",").map((d) => d.split(":")), m = {};
|
|
1908
|
+
return h.forEach((d) => {
|
|
1909
|
+
const b = d[1];
|
|
1910
|
+
if (!d[1].includes("'") && d[1] !== "true" && d[1] !== "false") {
|
|
1911
1911
|
const x = le({
|
|
1912
1912
|
values: e,
|
|
1913
1913
|
fields: t,
|
|
1914
1914
|
fieldName: b === "active_id" ? "id" : b
|
|
1915
1915
|
});
|
|
1916
|
-
m[
|
|
1916
|
+
m[d[0].replace(/'/g, "")] = x || void 0;
|
|
1917
1917
|
} else
|
|
1918
|
-
|
|
1918
|
+
d[1] === "true" ? m[d[0].replace(/'/g, "")] = !0 : d[1] === "false" ? m[d[0].replace(/'/g, "")] = !1 : m[d[0].replace(/'/g, "")] = d[1].replace(
|
|
1919
1919
|
/'/g,
|
|
1920
1920
|
""
|
|
1921
1921
|
);
|
|
@@ -1923,43 +1923,43 @@ const J = ({
|
|
|
1923
1923
|
} catch {
|
|
1924
1924
|
return;
|
|
1925
1925
|
}
|
|
1926
|
-
}, Se = (
|
|
1926
|
+
}, Se = (s) => {
|
|
1927
1927
|
const e = [];
|
|
1928
1928
|
try {
|
|
1929
|
-
return !
|
|
1930
|
-
!
|
|
1929
|
+
return !s || ct(s) || typeof s != "string" ? e : ot(s) !== null ? [] : (s.trim().length === 0 || s.replace(/"/g, "'").replace(/\s/g, "").replace(/True/g, "true").replace(/False/g, "false").replace(/\{/g, "").replace(/\}/g, "").split(",").map((h) => h.split(":")).forEach((h) => {
|
|
1930
|
+
!h[1].includes("'") && h[1] !== "true" && h[1] !== "false" && e.push(h[1].replace(/'/g, ""));
|
|
1931
1931
|
}), e);
|
|
1932
1932
|
} catch {
|
|
1933
1933
|
}
|
|
1934
1934
|
return e;
|
|
1935
1935
|
};
|
|
1936
|
-
function
|
|
1936
|
+
function ot(s) {
|
|
1937
1937
|
try {
|
|
1938
|
-
return JSON.parse(
|
|
1938
|
+
return JSON.parse(s.replace(/'/g, '"'));
|
|
1939
1939
|
} catch {
|
|
1940
1940
|
return null;
|
|
1941
1941
|
}
|
|
1942
1942
|
}
|
|
1943
|
-
function
|
|
1944
|
-
return typeof
|
|
1943
|
+
function ct(s) {
|
|
1944
|
+
return typeof s == "object" && s !== null && typeof s != "string";
|
|
1945
1945
|
}
|
|
1946
|
-
const oe = (
|
|
1947
|
-
const e =
|
|
1946
|
+
const oe = (s) => {
|
|
1947
|
+
const e = s.trim().replace(")", "").split("("), t = e[0], n = e[1].split(",").map((l) => l.trim());
|
|
1948
1948
|
return {
|
|
1949
1949
|
method: t,
|
|
1950
1950
|
args: n
|
|
1951
1951
|
};
|
|
1952
1952
|
};
|
|
1953
|
-
function ce(
|
|
1953
|
+
function ce(s) {
|
|
1954
1954
|
const e = [];
|
|
1955
|
-
function t(
|
|
1955
|
+
function t(i) {
|
|
1956
1956
|
const n = [];
|
|
1957
|
-
for (const
|
|
1958
|
-
|
|
1957
|
+
for (const l of i)
|
|
1958
|
+
l instanceof F ? t(l._container.rows.flat()) : n.push(l);
|
|
1959
1959
|
n.length > 0 && e.push(n);
|
|
1960
1960
|
}
|
|
1961
|
-
for (const
|
|
1962
|
-
t(
|
|
1961
|
+
for (const i of s)
|
|
1962
|
+
t(i);
|
|
1963
1963
|
return e.flat();
|
|
1964
1964
|
}
|
|
1965
1965
|
class Ee {
|
|
@@ -2017,7 +2017,7 @@ class Ee {
|
|
|
2017
2017
|
* Context for each field in the form
|
|
2018
2018
|
*/
|
|
2019
2019
|
r(this, "_contextForFields", {});
|
|
2020
|
-
this._fields = e, this._container = new
|
|
2020
|
+
this._fields = e, this._container = new z(t, 6, !1, "root");
|
|
2021
2021
|
}
|
|
2022
2022
|
get fields() {
|
|
2023
2023
|
return this._fields;
|
|
@@ -2071,88 +2071,88 @@ class Ee {
|
|
|
2071
2071
|
this._contextForFields = e;
|
|
2072
2072
|
}
|
|
2073
2073
|
parse(e, t) {
|
|
2074
|
-
var
|
|
2075
|
-
const { values:
|
|
2076
|
-
this._string = ((
|
|
2077
|
-
fields:
|
|
2074
|
+
var a;
|
|
2075
|
+
const { values: i = {}, readOnly: n = !1 } = t || {}, l = I.parse(e).filter((c) => c.tagName === "form")[0];
|
|
2076
|
+
this._string = ((a = l.attributes) == null ? void 0 : a.string) || null, this._string && (this._string = g(this._string)), this._readOnly = n, this._context = i.id ? { active_id: i.id, active_ids: [i.id] } : {}, this._invisibleFields = [], this.parseNode({
|
|
2077
|
+
fields: l.children,
|
|
2078
2078
|
container: this._container,
|
|
2079
|
-
values:
|
|
2079
|
+
values: i
|
|
2080
2080
|
});
|
|
2081
2081
|
const o = ce(this._container._rows);
|
|
2082
|
-
o.forEach((
|
|
2083
|
-
const _ =
|
|
2084
|
-
_._id && _._context && (this._contextForFields[_._id] =
|
|
2085
|
-
}), this._autorefreshableFields = o.filter((
|
|
2082
|
+
o.forEach((c) => {
|
|
2083
|
+
const _ = c;
|
|
2084
|
+
_._id && _._context && (this._contextForFields[_._id] = c._context);
|
|
2085
|
+
}), this._autorefreshableFields = o.filter((c) => c instanceof f && c.autoRefresh).map((c) => c._id);
|
|
2086
2086
|
}
|
|
2087
2087
|
parseNode({
|
|
2088
2088
|
fields: e,
|
|
2089
2089
|
container: t,
|
|
2090
|
-
values:
|
|
2090
|
+
values: i
|
|
2091
2091
|
}) {
|
|
2092
|
-
const n = new
|
|
2093
|
-
e.filter((
|
|
2092
|
+
const n = new E();
|
|
2093
|
+
e.filter((l) => typeof l == "object").forEach((l) => {
|
|
2094
2094
|
var v, C;
|
|
2095
|
-
const { tagName: o, attributes:
|
|
2096
|
-
let _ = o,
|
|
2095
|
+
const { tagName: o, attributes: a, children: c } = l;
|
|
2096
|
+
let _ = o, u = a;
|
|
2097
2097
|
if (o === "field") {
|
|
2098
|
-
const { name: w, widget:
|
|
2099
|
-
if (
|
|
2100
|
-
_ =
|
|
2098
|
+
const { name: w, widget: V } = a;
|
|
2099
|
+
if (V)
|
|
2100
|
+
_ = V;
|
|
2101
2101
|
else if (w) {
|
|
2102
2102
|
if (!this._fields[w])
|
|
2103
2103
|
throw new Error(
|
|
2104
2104
|
`Field ${w} doesn't exist in fields defintion`
|
|
2105
2105
|
);
|
|
2106
|
-
_ = this._fields[w].type,
|
|
2107
|
-
...Z(
|
|
2106
|
+
_ = this._fields[w].type, a.widget_props = {
|
|
2107
|
+
...Z(a.widget_props),
|
|
2108
2108
|
...this._fields[w].widget_props || {}
|
|
2109
2109
|
};
|
|
2110
2110
|
}
|
|
2111
|
-
|
|
2111
|
+
u = {
|
|
2112
2112
|
...this._fields[w],
|
|
2113
|
-
...
|
|
2113
|
+
...a,
|
|
2114
2114
|
fieldsWidgetType: this._fields[w].type
|
|
2115
2115
|
};
|
|
2116
2116
|
}
|
|
2117
|
-
const
|
|
2118
|
-
tagAttributes:
|
|
2119
|
-
values:
|
|
2117
|
+
const h = tt({
|
|
2118
|
+
tagAttributes: u,
|
|
2119
|
+
values: i,
|
|
2120
2120
|
fields: this._fields,
|
|
2121
2121
|
widgetType: o
|
|
2122
2122
|
});
|
|
2123
2123
|
let m;
|
|
2124
|
-
o === "button" &&
|
|
2125
|
-
states:
|
|
2126
|
-
values:
|
|
2127
|
-
}) : m =
|
|
2128
|
-
fieldName:
|
|
2129
|
-
values:
|
|
2124
|
+
o === "button" && u.states ? m = lt({
|
|
2125
|
+
states: u.states,
|
|
2126
|
+
values: i
|
|
2127
|
+
}) : m = ae({
|
|
2128
|
+
fieldName: u.name,
|
|
2129
|
+
values: i,
|
|
2130
2130
|
fields: this._fields
|
|
2131
2131
|
});
|
|
2132
|
-
const
|
|
2133
|
-
context:
|
|
2134
|
-
values:
|
|
2132
|
+
const d = J({
|
|
2133
|
+
context: u.context || ((v = this._fields[u.name]) == null ? void 0 : v.context),
|
|
2134
|
+
values: i,
|
|
2135
2135
|
fields: this._fields
|
|
2136
2136
|
});
|
|
2137
|
-
|
|
2138
|
-
|
|
2137
|
+
u.on_change && (this._onChangeFields[u.name] = oe(
|
|
2138
|
+
u.on_change
|
|
2139
2139
|
));
|
|
2140
2140
|
let b;
|
|
2141
|
-
|
|
2141
|
+
X(u.domain) ? b = u.domain : X((C = this._fields[u.name]) == null ? void 0 : C.domain) && (b = this._fields[u.name].domain), this._keyIdx = this._keyIdx + 1;
|
|
2142
2142
|
const x = {
|
|
2143
|
-
...
|
|
2143
|
+
...h,
|
|
2144
2144
|
...m,
|
|
2145
|
-
context:
|
|
2145
|
+
context: d,
|
|
2146
2146
|
domain: b,
|
|
2147
2147
|
key: `${this._keyIdx}`
|
|
2148
2148
|
};
|
|
2149
2149
|
t.readOnly && (x.readonly = !0);
|
|
2150
2150
|
const y = n.createWidget(_, x);
|
|
2151
2151
|
y.invisible && y instanceof f && this._invisibleFields.push(x.name), y instanceof F && this.parseNode({
|
|
2152
|
-
fields:
|
|
2152
|
+
fields: c,
|
|
2153
2153
|
container: y.container,
|
|
2154
|
-
values:
|
|
2155
|
-
}), y instanceof
|
|
2154
|
+
values: i
|
|
2155
|
+
}), y instanceof A && y.readOnly !== void 0 || (y.readOnly = y.readOnly || this.readOnly), t.addWidget(y);
|
|
2156
2156
|
});
|
|
2157
2157
|
}
|
|
2158
2158
|
/**
|
|
@@ -2163,8 +2163,8 @@ class Ee {
|
|
|
2163
2163
|
return this.container.findById(e);
|
|
2164
2164
|
}
|
|
2165
2165
|
}
|
|
2166
|
-
function
|
|
2167
|
-
return
|
|
2166
|
+
function X(s) {
|
|
2167
|
+
return s ? Array.isArray(s) && s.length > 0 ? !0 : typeof s == "string" && s !== "" && s !== "[]" : !1;
|
|
2168
2168
|
}
|
|
2169
2169
|
class Ve {
|
|
2170
2170
|
constructor(e) {
|
|
@@ -2238,37 +2238,37 @@ class Ve {
|
|
|
2238
2238
|
this._infinite = e;
|
|
2239
2239
|
}
|
|
2240
2240
|
parse(e) {
|
|
2241
|
-
const t =
|
|
2241
|
+
const t = I.parse(e).filter((n) => n.tagName === "tree")[0];
|
|
2242
2242
|
this._string = t.attributes.string || null, this._string && (this._string = g(this._string)), this._colors = t.attributes.colors || null, this._colors && (this._colors = g(this._colors)), this._status = t.attributes.status || null, this._status && (this._status = g(this._status)), this._editable = t.attributes.editable || null, this._infinite = t.attributes.infinite || !1;
|
|
2243
|
-
const
|
|
2243
|
+
const i = new E();
|
|
2244
2244
|
t.children.forEach((n) => {
|
|
2245
|
-
const { tagName:
|
|
2246
|
-
let
|
|
2247
|
-
if (
|
|
2248
|
-
const { name:
|
|
2249
|
-
let
|
|
2250
|
-
if (
|
|
2251
|
-
if (!this._fields[
|
|
2252
|
-
throw new Error(`Field ${
|
|
2253
|
-
const
|
|
2254
|
-
|
|
2245
|
+
const { tagName: l, attributes: o } = n;
|
|
2246
|
+
let a = null;
|
|
2247
|
+
if (l === "field") {
|
|
2248
|
+
const { name: c, widget: _ } = o;
|
|
2249
|
+
let u = o;
|
|
2250
|
+
if (c) {
|
|
2251
|
+
if (!this._fields[c])
|
|
2252
|
+
throw new Error(`Field ${c} doesn't exist in fields defintion`);
|
|
2253
|
+
const h = this._fields[c];
|
|
2254
|
+
a = h.type, (Array.isArray(h == null ? void 0 : h.domain) && (h == null ? void 0 : h.domain.length) === 0 || (h == null ? void 0 : h.domain) === !1) && o.domain && o.domain.length > 0 && delete h.domain;
|
|
2255
2255
|
const m = J({
|
|
2256
|
-
context: o.context ||
|
|
2256
|
+
context: o.context || h.context,
|
|
2257
2257
|
values: {},
|
|
2258
2258
|
fields: this._fields
|
|
2259
2259
|
});
|
|
2260
|
-
|
|
2261
|
-
...
|
|
2260
|
+
u = {
|
|
2261
|
+
...h,
|
|
2262
2262
|
...o,
|
|
2263
|
-
fieldsWidgetType:
|
|
2263
|
+
fieldsWidgetType: h == null ? void 0 : h.type,
|
|
2264
2264
|
context: m
|
|
2265
|
-
}, this._contextForFields[
|
|
2265
|
+
}, this._contextForFields[c] = m;
|
|
2266
2266
|
}
|
|
2267
|
-
if (_ && (
|
|
2268
|
-
const
|
|
2269
|
-
this._columns.push(
|
|
2267
|
+
if (_ && (a = _), !u.invisible) {
|
|
2268
|
+
const h = i.createWidget(a, u);
|
|
2269
|
+
this._columns.push(h);
|
|
2270
2270
|
}
|
|
2271
|
-
p(
|
|
2271
|
+
p(u.autorefresh) && this._autorefreshableFields.push(c);
|
|
2272
2272
|
}
|
|
2273
2273
|
});
|
|
2274
2274
|
}
|
|
@@ -2382,52 +2382,52 @@ class Ye {
|
|
|
2382
2382
|
return this._aggregations;
|
|
2383
2383
|
}
|
|
2384
2384
|
parse(e) {
|
|
2385
|
-
const t =
|
|
2385
|
+
const t = I.parse(e).filter((n) => n.tagName === "kanban")[0];
|
|
2386
2386
|
this._string = t.attributes.string || null, this._string && (this._string = g(this._string)), this._column_field = t.attributes.column_field || "state", this._column_domain = t.attributes.column_domain || null, this._drag = t.attributes.drag !== void 0 ? p(t.attributes.drag) : !0, this._sort = t.attributes.sort || void 0, this._set_max_cards = t.attributes.set_max_cards !== void 0 ? p(t.attributes.set_max_cards) : !1, this._colors = t.attributes.colors || null, this._colors && (this._colors = g(this._colors)), this._status = t.attributes.status || null, this._status && (this._status = g(this._status));
|
|
2387
|
-
const
|
|
2387
|
+
const i = new E();
|
|
2388
2388
|
t.children.forEach((n) => {
|
|
2389
|
-
const { tagName:
|
|
2390
|
-
|
|
2389
|
+
const { tagName: l, attributes: o } = n;
|
|
2390
|
+
l === "field" ? this._parseField(n, o, i) : l === "button" && this._parseButton(n, o);
|
|
2391
2391
|
});
|
|
2392
2392
|
}
|
|
2393
|
-
_parseField(e, t,
|
|
2394
|
-
const { name: n, widget:
|
|
2393
|
+
_parseField(e, t, i) {
|
|
2394
|
+
const { name: n, widget: l, sum: o } = t;
|
|
2395
2395
|
if (!n)
|
|
2396
2396
|
return;
|
|
2397
2397
|
if (!this._fields[n])
|
|
2398
2398
|
throw new Error(`Field ${n} doesn't exist in fields definition`);
|
|
2399
|
-
const
|
|
2400
|
-
let
|
|
2401
|
-
(Array.isArray(
|
|
2399
|
+
const a = this._fields[n];
|
|
2400
|
+
let c = a.type;
|
|
2401
|
+
(Array.isArray(a == null ? void 0 : a.domain) && (a == null ? void 0 : a.domain.length) === 0 || (a == null ? void 0 : a.domain) === !1) && t.domain && t.domain.length > 0 && delete a.domain;
|
|
2402
2402
|
const _ = J({
|
|
2403
|
-
context: t.context ||
|
|
2403
|
+
context: t.context || a.context,
|
|
2404
2404
|
values: {},
|
|
2405
2405
|
fields: this._fields
|
|
2406
|
-
}),
|
|
2407
|
-
...
|
|
2406
|
+
}), u = {
|
|
2407
|
+
...a,
|
|
2408
2408
|
...t,
|
|
2409
|
-
fieldsWidgetType:
|
|
2409
|
+
fieldsWidgetType: a == null ? void 0 : a.type,
|
|
2410
2410
|
context: _
|
|
2411
2411
|
};
|
|
2412
|
-
if (this._contextForFields[n] = _,
|
|
2413
|
-
const
|
|
2414
|
-
|
|
2415
|
-
|
|
2412
|
+
if (this._contextForFields[n] = _, l && (c = l), !u.invisible) {
|
|
2413
|
+
const h = i.createWidget(
|
|
2414
|
+
c,
|
|
2415
|
+
u
|
|
2416
2416
|
);
|
|
2417
|
-
o && (
|
|
2417
|
+
o && (h.sum = g(o), this._aggregations[n] = g(o)), this._card_fields.push(h);
|
|
2418
2418
|
}
|
|
2419
2419
|
}
|
|
2420
2420
|
_parseButton(e, t) {
|
|
2421
|
-
const { name:
|
|
2422
|
-
if (!
|
|
2421
|
+
const { name: i, type: n, string: l, states: o } = t;
|
|
2422
|
+
if (!i)
|
|
2423
2423
|
return;
|
|
2424
|
-
const
|
|
2424
|
+
const a = {
|
|
2425
2425
|
...t,
|
|
2426
|
-
name:
|
|
2426
|
+
name: i,
|
|
2427
2427
|
buttonType: n || "object",
|
|
2428
|
-
string:
|
|
2429
|
-
},
|
|
2430
|
-
o && (
|
|
2428
|
+
string: l || ""
|
|
2429
|
+
}, c = new A(a);
|
|
2430
|
+
o && (c.states = o), this._buttons.push(c);
|
|
2431
2431
|
}
|
|
2432
2432
|
/**
|
|
2433
2433
|
* Find the widgets matching with param id
|
|
@@ -2438,6 +2438,48 @@ class Ye {
|
|
|
2438
2438
|
return t || this._buttons.find((n) => n.findById ? n.findById(e) : !1) || null;
|
|
2439
2439
|
}
|
|
2440
2440
|
}
|
|
2441
|
+
class De {
|
|
2442
|
+
constructor(e) {
|
|
2443
|
+
r(this, "_kanbanDef");
|
|
2444
|
+
this._kanbanDef = e;
|
|
2445
|
+
}
|
|
2446
|
+
get kanbanDef() {
|
|
2447
|
+
return this._kanbanDef;
|
|
2448
|
+
}
|
|
2449
|
+
parse(e, t) {
|
|
2450
|
+
const i = (t == null ? void 0 : t.readOnly) ?? !1, n = new z(1, 12, i), l = new E();
|
|
2451
|
+
let o = 0;
|
|
2452
|
+
return this._kanbanDef.card_fields.forEach((a) => {
|
|
2453
|
+
o++;
|
|
2454
|
+
const c = tt({
|
|
2455
|
+
tagAttributes: a.raw_props || {},
|
|
2456
|
+
values: e,
|
|
2457
|
+
fields: this._kanbanDef.fields,
|
|
2458
|
+
widgetType: a.type || "field"
|
|
2459
|
+
}), _ = {
|
|
2460
|
+
...a.raw_props || {},
|
|
2461
|
+
...c,
|
|
2462
|
+
key: `field_${o}`
|
|
2463
|
+
};
|
|
2464
|
+
i && (_.readonly = !0);
|
|
2465
|
+
const u = a.type || "field", h = l.createWidget(u, _);
|
|
2466
|
+
n.addWidget(h, { addLabel: !a.nolabel });
|
|
2467
|
+
}), this._kanbanDef.buttons.forEach((a) => {
|
|
2468
|
+
o++;
|
|
2469
|
+
const c = a.states ? lt({
|
|
2470
|
+
states: a.states,
|
|
2471
|
+
values: e
|
|
2472
|
+
}) : {}, _ = {
|
|
2473
|
+
...a.raw_props || {},
|
|
2474
|
+
...c,
|
|
2475
|
+
key: `button_${o}`
|
|
2476
|
+
};
|
|
2477
|
+
i && (_.readonly = !0);
|
|
2478
|
+
const u = new A(_);
|
|
2479
|
+
n.addWidget(u, { addLabel: !1 });
|
|
2480
|
+
}), n;
|
|
2481
|
+
}
|
|
2482
|
+
}
|
|
2441
2483
|
const de = {
|
|
2442
2484
|
text: "text",
|
|
2443
2485
|
many2one: "many2one",
|
|
@@ -2452,7 +2494,7 @@ const de = {
|
|
|
2452
2494
|
datetime: "datetime"
|
|
2453
2495
|
};
|
|
2454
2496
|
class je {
|
|
2455
|
-
constructor(e, t,
|
|
2497
|
+
constructor(e, t, i = 8) {
|
|
2456
2498
|
/**
|
|
2457
2499
|
* Object containing the specific fields for primary and secondary search fields
|
|
2458
2500
|
*/
|
|
@@ -2463,7 +2505,7 @@ class je {
|
|
|
2463
2505
|
r(this, "_fields");
|
|
2464
2506
|
r(this, "_simpleSearchContainer");
|
|
2465
2507
|
r(this, "_advancedSearchContainer");
|
|
2466
|
-
this._searchFields = e, this._fields = t, this._simpleSearchContainer = new
|
|
2508
|
+
this._searchFields = e, this._fields = t, this._simpleSearchContainer = new z(i), this._advancedSearchContainer = new z(i);
|
|
2467
2509
|
}
|
|
2468
2510
|
get searchFields() {
|
|
2469
2511
|
return this._searchFields;
|
|
@@ -2478,7 +2520,7 @@ class je {
|
|
|
2478
2520
|
return this._advancedSearchContainer;
|
|
2479
2521
|
}
|
|
2480
2522
|
parse() {
|
|
2481
|
-
const e = new
|
|
2523
|
+
const e = new E();
|
|
2482
2524
|
this.parseFields(
|
|
2483
2525
|
this.searchFields.primary,
|
|
2484
2526
|
e
|
|
@@ -2492,14 +2534,14 @@ class je {
|
|
|
2492
2534
|
});
|
|
2493
2535
|
}
|
|
2494
2536
|
parseFields(e, t) {
|
|
2495
|
-
return e.map((
|
|
2537
|
+
return e.map((i) => {
|
|
2496
2538
|
const n = {
|
|
2497
|
-
...this.fields[
|
|
2498
|
-
name:
|
|
2539
|
+
...this.fields[i],
|
|
2540
|
+
name: i,
|
|
2499
2541
|
colspan: 2
|
|
2500
|
-
}, { type:
|
|
2501
|
-
let
|
|
2502
|
-
return de[
|
|
2542
|
+
}, { type: l, widget: o } = n;
|
|
2543
|
+
let a = o ?? l;
|
|
2544
|
+
return de[a] === void 0 && (a = l), t.createWidget(a, n);
|
|
2503
2545
|
});
|
|
2504
2546
|
}
|
|
2505
2547
|
/**
|
|
@@ -2511,21 +2553,21 @@ class je {
|
|
|
2511
2553
|
}
|
|
2512
2554
|
}
|
|
2513
2555
|
const Ne = ({
|
|
2514
|
-
domain:
|
|
2556
|
+
domain: s,
|
|
2515
2557
|
widgetFieldName: e
|
|
2516
2558
|
}) => {
|
|
2517
2559
|
const t = [];
|
|
2518
|
-
return
|
|
2519
|
-
if (!Array.isArray(
|
|
2560
|
+
return s.forEach((i) => {
|
|
2561
|
+
if (!Array.isArray(i))
|
|
2520
2562
|
return;
|
|
2521
|
-
const [n,
|
|
2522
|
-
let
|
|
2523
|
-
n.indexOf(".") !== -1 ? (
|
|
2563
|
+
const [n, l, o] = i;
|
|
2564
|
+
let a, c;
|
|
2565
|
+
n.indexOf(".") !== -1 ? (a = n.substr(0, n.indexOf(".")), c = n.substr(
|
|
2524
2566
|
n.indexOf(".") + 1,
|
|
2525
2567
|
n.length - 1
|
|
2526
|
-
)) : (
|
|
2568
|
+
)) : (a = n, c = "id"), a === e && t.push([c, l, o]);
|
|
2527
2569
|
}), t;
|
|
2528
|
-
},
|
|
2570
|
+
}, Ae = (s) => typeof s != "string" ? [] : s.replace(/[()[\]]/g, "").split(",").map((e) => e.trim()).filter((e) => !e.includes("'"));
|
|
2529
2571
|
class ue {
|
|
2530
2572
|
constructor(e) {
|
|
2531
2573
|
r(this, "_action_id", null);
|
|
@@ -2543,10 +2585,10 @@ class Me {
|
|
|
2543
2585
|
constructor(e) {
|
|
2544
2586
|
r(this, "_string", null);
|
|
2545
2587
|
r(this, "_items", []);
|
|
2546
|
-
const t =
|
|
2588
|
+
const t = I.parse(e).filter((n) => n.tagName === "dashboard")[0];
|
|
2547
2589
|
this._string = t.attributes.string || null;
|
|
2548
|
-
const { children:
|
|
2549
|
-
|
|
2590
|
+
const { children: i } = t;
|
|
2591
|
+
i.forEach((n) => {
|
|
2550
2592
|
n.tagName === "dashboard_item" && this._items.push(new ue(n.attributes));
|
|
2551
2593
|
});
|
|
2552
2594
|
}
|
|
@@ -2557,7 +2599,7 @@ class Me {
|
|
|
2557
2599
|
return this._items;
|
|
2558
2600
|
}
|
|
2559
2601
|
}
|
|
2560
|
-
class
|
|
2602
|
+
class dt {
|
|
2561
2603
|
constructor(e) {
|
|
2562
2604
|
r(this, "_string", null);
|
|
2563
2605
|
r(this, "_type");
|
|
@@ -2585,16 +2627,16 @@ class ot {
|
|
|
2585
2627
|
return this._y_range;
|
|
2586
2628
|
}
|
|
2587
2629
|
}
|
|
2588
|
-
class
|
|
2589
|
-
constructor(t,
|
|
2590
|
-
super(
|
|
2630
|
+
class ut extends dt {
|
|
2631
|
+
constructor(t, i) {
|
|
2632
|
+
super(i);
|
|
2591
2633
|
r(this, "_color", null);
|
|
2592
2634
|
r(this, "_icon", null);
|
|
2593
2635
|
r(this, "_totalDomain", null);
|
|
2594
2636
|
r(this, "_showPercent", !1);
|
|
2595
2637
|
r(this, "_progressbar", !1);
|
|
2596
2638
|
r(this, "_suffix", null);
|
|
2597
|
-
this._type = t, this._color =
|
|
2639
|
+
this._type = t, this._color = i.attributes.color || null, this._color && (this._color = g(this._color)), this._icon = i.attributes.icon || null, this._icon && (this._icon = g(this._icon)), this._suffix = i.attributes.suffix || null, this._totalDomain = g(i.attributes.totalDomain) || null, this._showPercent = p(i.attributes.showPercent), this._progressbar = p(i.attributes.progressbar);
|
|
2598
2640
|
}
|
|
2599
2641
|
get color() {
|
|
2600
2642
|
return this._color;
|
|
@@ -2615,16 +2657,16 @@ class ct extends ot {
|
|
|
2615
2657
|
return this._suffix;
|
|
2616
2658
|
}
|
|
2617
2659
|
}
|
|
2618
|
-
class he extends
|
|
2619
|
-
constructor(t,
|
|
2620
|
-
super(t,
|
|
2660
|
+
class he extends ut {
|
|
2661
|
+
constructor(t, i) {
|
|
2662
|
+
super(t, i);
|
|
2621
2663
|
r(this, "_field");
|
|
2622
2664
|
r(this, "_operator");
|
|
2623
|
-
const { children: n } =
|
|
2624
|
-
n.forEach((
|
|
2625
|
-
if (
|
|
2626
|
-
const o =
|
|
2627
|
-
this._field = o || void 0, this._operator =
|
|
2665
|
+
const { children: n } = i;
|
|
2666
|
+
n.forEach((l) => {
|
|
2667
|
+
if (l.tagName === "field") {
|
|
2668
|
+
const o = l.attributes.name, a = l.attributes.operator;
|
|
2669
|
+
this._field = o || void 0, this._operator = a;
|
|
2628
2670
|
}
|
|
2629
2671
|
});
|
|
2630
2672
|
}
|
|
@@ -2635,12 +2677,12 @@ class he extends ct {
|
|
|
2635
2677
|
return this._operator;
|
|
2636
2678
|
}
|
|
2637
2679
|
}
|
|
2638
|
-
const _e = (
|
|
2680
|
+
const _e = (s) => {
|
|
2639
2681
|
const e = [];
|
|
2640
2682
|
let t;
|
|
2641
|
-
if (
|
|
2642
|
-
if (
|
|
2643
|
-
const n =
|
|
2683
|
+
if (s.forEach((i) => {
|
|
2684
|
+
if (i.tagName === "field") {
|
|
2685
|
+
const n = i.attributes.axis, l = i.attributes.operator, o = i.attributes.name, a = i.attributes.label || void 0, c = i.attributes.stacked || void 0;
|
|
2644
2686
|
if (!n)
|
|
2645
2687
|
throw new Error(`Field ${o} doesn't have an axis`);
|
|
2646
2688
|
if (!o)
|
|
@@ -2650,9 +2692,9 @@ const _e = (i) => {
|
|
|
2650
2692
|
}) : n === "y" && e.push(
|
|
2651
2693
|
new ge({
|
|
2652
2694
|
name: o,
|
|
2653
|
-
operator:
|
|
2654
|
-
label:
|
|
2655
|
-
stacked:
|
|
2695
|
+
operator: l,
|
|
2696
|
+
label: a,
|
|
2697
|
+
stacked: c
|
|
2656
2698
|
})
|
|
2657
2699
|
);
|
|
2658
2700
|
}
|
|
@@ -2665,13 +2707,13 @@ const _e = (i) => {
|
|
|
2665
2707
|
y: e
|
|
2666
2708
|
};
|
|
2667
2709
|
};
|
|
2668
|
-
class M extends
|
|
2669
|
-
constructor(t,
|
|
2670
|
-
super(
|
|
2710
|
+
class M extends dt {
|
|
2711
|
+
constructor(t, i) {
|
|
2712
|
+
super(i);
|
|
2671
2713
|
r(this, "_x");
|
|
2672
2714
|
r(this, "_y");
|
|
2673
2715
|
this._type = t;
|
|
2674
|
-
const n = _e(
|
|
2716
|
+
const n = _e(i.children);
|
|
2675
2717
|
this._x = n.x, this._y = n.y;
|
|
2676
2718
|
}
|
|
2677
2719
|
get x() {
|
|
@@ -2682,21 +2724,21 @@ class M extends ot {
|
|
|
2682
2724
|
}
|
|
2683
2725
|
}
|
|
2684
2726
|
const fe = {
|
|
2685
|
-
indicator:
|
|
2727
|
+
indicator: ut,
|
|
2686
2728
|
indicatorField: he,
|
|
2687
2729
|
line: M,
|
|
2688
2730
|
bar: M,
|
|
2689
2731
|
pie: M
|
|
2690
|
-
}, Be = (
|
|
2691
|
-
const e =
|
|
2732
|
+
}, Be = (s) => {
|
|
2733
|
+
const e = I.parse(s).filter((n) => n.tagName === "graph")[0], t = e.attributes.type;
|
|
2692
2734
|
if (!t)
|
|
2693
2735
|
throw new Error(`${t} is not a valid graph`);
|
|
2694
|
-
const
|
|
2695
|
-
if (!
|
|
2736
|
+
const i = fe[t];
|
|
2737
|
+
if (!i)
|
|
2696
2738
|
throw new Error(`${t} not found as a GraphModel`);
|
|
2697
|
-
return new
|
|
2739
|
+
return new i(t, e);
|
|
2698
2740
|
};
|
|
2699
|
-
class
|
|
2741
|
+
class ht {
|
|
2700
2742
|
constructor({ name: e, axis: t }) {
|
|
2701
2743
|
r(this, "_name");
|
|
2702
2744
|
r(this, "_axis");
|
|
@@ -2709,18 +2751,18 @@ class dt {
|
|
|
2709
2751
|
return this._axis;
|
|
2710
2752
|
}
|
|
2711
2753
|
}
|
|
2712
|
-
class ge extends
|
|
2754
|
+
class ge extends ht {
|
|
2713
2755
|
constructor({
|
|
2714
2756
|
name: t,
|
|
2715
|
-
operator:
|
|
2757
|
+
operator: i,
|
|
2716
2758
|
label: n,
|
|
2717
|
-
stacked:
|
|
2759
|
+
stacked: l
|
|
2718
2760
|
}) {
|
|
2719
2761
|
super({ name: t, axis: "y" });
|
|
2720
2762
|
r(this, "_operator");
|
|
2721
2763
|
r(this, "_label");
|
|
2722
2764
|
r(this, "_stacked");
|
|
2723
|
-
this._operator =
|
|
2765
|
+
this._operator = i, this._label = n, this._stacked = l;
|
|
2724
2766
|
}
|
|
2725
2767
|
get operator() {
|
|
2726
2768
|
return this._operator;
|
|
@@ -2732,137 +2774,137 @@ class ge extends dt {
|
|
|
2732
2774
|
return this._stacked;
|
|
2733
2775
|
}
|
|
2734
2776
|
}
|
|
2735
|
-
class me extends
|
|
2777
|
+
class me extends ht {
|
|
2736
2778
|
constructor({ name: e }) {
|
|
2737
2779
|
super({ name: e, axis: "x" });
|
|
2738
2780
|
}
|
|
2739
2781
|
}
|
|
2740
|
-
const be = ({ ooui:
|
|
2741
|
-
const t = [
|
|
2742
|
-
return
|
|
2743
|
-
|
|
2782
|
+
const be = ({ ooui: s }) => {
|
|
2783
|
+
const t = [s.x.name];
|
|
2784
|
+
return s.y ? (s.y.forEach((i) => {
|
|
2785
|
+
i.operator !== "count" && !t.includes(i.name) && t.push(i.name), i.label && !t.includes(i.label) && t.push(i.label);
|
|
2744
2786
|
}), t) : [];
|
|
2745
2787
|
};
|
|
2746
2788
|
function H({
|
|
2747
|
-
fields:
|
|
2789
|
+
fields: s,
|
|
2748
2790
|
values: e,
|
|
2749
2791
|
fieldName: t
|
|
2750
2792
|
}) {
|
|
2751
|
-
const
|
|
2752
|
-
if (!
|
|
2793
|
+
const i = s[t], n = e[t];
|
|
2794
|
+
if (!i)
|
|
2753
2795
|
throw new Error(`Field ${t} not found`);
|
|
2754
|
-
if (
|
|
2796
|
+
if (i.type === "many2one")
|
|
2755
2797
|
return n ? { value: n[0], label: n[1] } : { value: !1, label: void 0 };
|
|
2756
|
-
if (
|
|
2757
|
-
const o =
|
|
2798
|
+
if (i.type === "selection") {
|
|
2799
|
+
const o = i.selection.find((a) => a[0] === n);
|
|
2758
2800
|
return o ? { value: n, label: o[1] } : { value: !1, label: void 0 };
|
|
2759
2801
|
}
|
|
2760
2802
|
return { value: n, label: n };
|
|
2761
2803
|
}
|
|
2762
|
-
const
|
|
2804
|
+
const Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2763
2805
|
__proto__: null,
|
|
2764
2806
|
getFieldsToRetrieve: be,
|
|
2765
2807
|
getValueAndLabelForField: H
|
|
2766
2808
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2767
2809
|
function ye({
|
|
2768
|
-
values:
|
|
2810
|
+
values: s,
|
|
2769
2811
|
timerange: e,
|
|
2770
2812
|
interval: t = 1
|
|
2771
2813
|
}) {
|
|
2772
|
-
const
|
|
2773
|
-
values:
|
|
2814
|
+
const i = we({
|
|
2815
|
+
values: s,
|
|
2774
2816
|
timerange: e
|
|
2775
2817
|
});
|
|
2776
2818
|
return xe({
|
|
2777
|
-
values:
|
|
2819
|
+
values: i,
|
|
2778
2820
|
timerange: e,
|
|
2779
2821
|
interval: t
|
|
2780
2822
|
});
|
|
2781
2823
|
}
|
|
2782
2824
|
function xe({
|
|
2783
|
-
values:
|
|
2825
|
+
values: s,
|
|
2784
2826
|
timerange: e,
|
|
2785
2827
|
interval: t = 1
|
|
2786
2828
|
}) {
|
|
2787
|
-
let
|
|
2788
|
-
const n =
|
|
2789
|
-
values:
|
|
2829
|
+
let i = [];
|
|
2830
|
+
const n = ft({
|
|
2831
|
+
values: s,
|
|
2790
2832
|
groupBy: "type-stacked"
|
|
2791
|
-
}),
|
|
2792
|
-
return Object.keys(n).forEach((
|
|
2793
|
-
const
|
|
2794
|
-
for (let _ = 0; _ <
|
|
2795
|
-
const
|
|
2796
|
-
if (
|
|
2833
|
+
}), l = `${e}s`;
|
|
2834
|
+
return Object.keys(n).forEach((a) => {
|
|
2835
|
+
const c = n[a];
|
|
2836
|
+
for (let _ = 0; _ < c.length; _++) {
|
|
2837
|
+
const u = c[_];
|
|
2838
|
+
if (i.push(u), _ === c.length - 1)
|
|
2797
2839
|
return;
|
|
2798
|
-
const
|
|
2799
|
-
if (!
|
|
2800
|
-
const
|
|
2801
|
-
dates: [
|
|
2840
|
+
const h = u.x, m = c[_ + 1].x;
|
|
2841
|
+
if (!_t([h, m], l)) {
|
|
2842
|
+
const d = pe({
|
|
2843
|
+
dates: [h, m],
|
|
2802
2844
|
timerange: e,
|
|
2803
2845
|
interval: t
|
|
2804
2846
|
});
|
|
2805
|
-
|
|
2806
|
-
|
|
2847
|
+
i = i.concat(
|
|
2848
|
+
d.map((b) => ({
|
|
2807
2849
|
x: b,
|
|
2808
2850
|
value: 0,
|
|
2809
|
-
type:
|
|
2810
|
-
stacked:
|
|
2851
|
+
type: u.type,
|
|
2852
|
+
stacked: u.stacked
|
|
2811
2853
|
}))
|
|
2812
2854
|
);
|
|
2813
2855
|
}
|
|
2814
2856
|
}
|
|
2815
|
-
}),
|
|
2857
|
+
}), i.sort((a, c) => a.x < c.x ? -1 : a.x > c.x ? 1 : 0);
|
|
2816
2858
|
}
|
|
2817
2859
|
function pe({
|
|
2818
|
-
dates:
|
|
2860
|
+
dates: s,
|
|
2819
2861
|
timerange: e,
|
|
2820
2862
|
interval: t = 1
|
|
2821
2863
|
}) {
|
|
2822
|
-
const
|
|
2823
|
-
if (
|
|
2824
|
-
return
|
|
2825
|
-
const
|
|
2826
|
-
for (let o = 0; o <
|
|
2827
|
-
const
|
|
2828
|
-
if (!
|
|
2829
|
-
const _ =
|
|
2864
|
+
const i = [], n = `${e}s`;
|
|
2865
|
+
if (s.length === 1)
|
|
2866
|
+
return s;
|
|
2867
|
+
const l = s.sort((o, a) => o < a ? -1 : o > a ? 1 : 0);
|
|
2868
|
+
for (let o = 0; o < l.length - 1; o++) {
|
|
2869
|
+
const a = l[o], c = l[o + 1];
|
|
2870
|
+
if (!_t([a, c], n)) {
|
|
2871
|
+
const _ = T(a, D(n)).add(
|
|
2830
2872
|
t,
|
|
2831
2873
|
n
|
|
2832
|
-
),
|
|
2833
|
-
for (; _.isBefore(
|
|
2834
|
-
|
|
2874
|
+
), u = T(c, D(n));
|
|
2875
|
+
for (; _.isBefore(u); )
|
|
2876
|
+
i.push(_.format(D(n))), _.add(t, n);
|
|
2835
2877
|
}
|
|
2836
2878
|
}
|
|
2837
|
-
return
|
|
2879
|
+
return i;
|
|
2838
2880
|
}
|
|
2839
2881
|
function we({
|
|
2840
|
-
values:
|
|
2882
|
+
values: s,
|
|
2841
2883
|
timerange: e
|
|
2842
2884
|
}) {
|
|
2843
2885
|
const t = Fe({
|
|
2844
|
-
values:
|
|
2886
|
+
values: s,
|
|
2845
2887
|
timerange: e
|
|
2846
|
-
}),
|
|
2888
|
+
}), i = [], n = ft({
|
|
2847
2889
|
values: t,
|
|
2848
2890
|
groupBy: "all"
|
|
2849
2891
|
});
|
|
2850
|
-
return Object.keys(n).forEach((
|
|
2851
|
-
const o = n[
|
|
2892
|
+
return Object.keys(n).forEach((l) => {
|
|
2893
|
+
const o = n[l], a = o[0].operator === "count" ? "+" : o[0].operator, c = j({
|
|
2852
2894
|
values: o.map((_) => _.value),
|
|
2853
|
-
operator:
|
|
2895
|
+
operator: a
|
|
2854
2896
|
});
|
|
2855
|
-
|
|
2897
|
+
i.push({
|
|
2856
2898
|
...o[0],
|
|
2857
|
-
value:
|
|
2899
|
+
value: c
|
|
2858
2900
|
});
|
|
2859
|
-
}),
|
|
2901
|
+
}), i;
|
|
2860
2902
|
}
|
|
2861
2903
|
function Fe({
|
|
2862
|
-
values:
|
|
2904
|
+
values: s,
|
|
2863
2905
|
timerange: e
|
|
2864
2906
|
}) {
|
|
2865
|
-
return
|
|
2907
|
+
return s.map((t) => ({
|
|
2866
2908
|
...t,
|
|
2867
2909
|
x: ve({
|
|
2868
2910
|
date: t.x,
|
|
@@ -2871,11 +2913,11 @@ function Fe({
|
|
|
2871
2913
|
}));
|
|
2872
2914
|
}
|
|
2873
2915
|
function ve({
|
|
2874
|
-
date:
|
|
2916
|
+
date: s,
|
|
2875
2917
|
timerange: e
|
|
2876
2918
|
}) {
|
|
2877
|
-
let t = Ce(
|
|
2878
|
-
const
|
|
2919
|
+
let t = Ce(s);
|
|
2920
|
+
const i = T(s, t);
|
|
2879
2921
|
switch (e) {
|
|
2880
2922
|
case "hour": {
|
|
2881
2923
|
t = "YYYY-MM-DD HH:00";
|
|
@@ -2898,36 +2940,36 @@ function ve({
|
|
|
2898
2940
|
break;
|
|
2899
2941
|
}
|
|
2900
2942
|
}
|
|
2901
|
-
return
|
|
2943
|
+
return i.format(t);
|
|
2902
2944
|
}
|
|
2903
|
-
function Ce(
|
|
2904
|
-
return
|
|
2945
|
+
function Ce(s) {
|
|
2946
|
+
return s.indexOf(":") ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
2905
2947
|
}
|
|
2906
|
-
function
|
|
2948
|
+
function _t(s, e) {
|
|
2907
2949
|
let t = !1;
|
|
2908
|
-
const
|
|
2909
|
-
if (
|
|
2950
|
+
const i = D(e);
|
|
2951
|
+
if (s.length === 0)
|
|
2910
2952
|
return !1;
|
|
2911
|
-
if (
|
|
2953
|
+
if (s.length === 1)
|
|
2912
2954
|
return !0;
|
|
2913
|
-
for (let n = 0; n <
|
|
2914
|
-
const
|
|
2915
|
-
Math.abs(
|
|
2955
|
+
for (let n = 0; n < s.length - 1; n++) {
|
|
2956
|
+
const l = T(s[n], i), a = T(s[n + 1], i).diff(l, e);
|
|
2957
|
+
Math.abs(a) === 1 ? t = !0 : t = !1;
|
|
2916
2958
|
}
|
|
2917
2959
|
return t;
|
|
2918
2960
|
}
|
|
2919
|
-
function
|
|
2920
|
-
values:
|
|
2961
|
+
function ft({
|
|
2962
|
+
values: s,
|
|
2921
2963
|
groupBy: e
|
|
2922
2964
|
}) {
|
|
2923
2965
|
const t = {};
|
|
2924
|
-
return
|
|
2925
|
-
const n =
|
|
2926
|
-
t[
|
|
2966
|
+
return s.forEach((i) => {
|
|
2967
|
+
const n = i.x, l = i.type, o = i.stacked, a = e === "all" ? `${n}-${l}-${o}` : `${l}-${o}`;
|
|
2968
|
+
t[a] || (t[a] = []), t[a].push(i);
|
|
2927
2969
|
}), t;
|
|
2928
2970
|
}
|
|
2929
|
-
function
|
|
2930
|
-
switch (
|
|
2971
|
+
function D(s) {
|
|
2972
|
+
switch (s) {
|
|
2931
2973
|
case "days":
|
|
2932
2974
|
return "YYYY-MM-DD";
|
|
2933
2975
|
case "weeks":
|
|
@@ -2950,129 +2992,129 @@ const ke = {
|
|
|
2950
2992
|
min: "min",
|
|
2951
2993
|
max: "max"
|
|
2952
2994
|
}, Pe = ({
|
|
2953
|
-
ooui:
|
|
2995
|
+
ooui: s,
|
|
2954
2996
|
values: e,
|
|
2955
2997
|
fields: t,
|
|
2956
|
-
options:
|
|
2998
|
+
options: i
|
|
2957
2999
|
}) => {
|
|
2958
|
-
const n =
|
|
2959
|
-
fieldName:
|
|
3000
|
+
const n = G({
|
|
3001
|
+
fieldName: s.x.name,
|
|
2960
3002
|
values: e,
|
|
2961
3003
|
fields: t
|
|
2962
|
-
}),
|
|
2963
|
-
|
|
3004
|
+
}), l = [];
|
|
3005
|
+
s.y.forEach((d) => {
|
|
2964
3006
|
Object.keys(n).forEach((b) => {
|
|
2965
3007
|
const x = n[b].label, y = n[b].entries;
|
|
2966
|
-
if (
|
|
2967
|
-
const v =
|
|
2968
|
-
fieldName:
|
|
3008
|
+
if (d.label) {
|
|
3009
|
+
const v = G({
|
|
3010
|
+
fieldName: d.label,
|
|
2969
3011
|
values: y,
|
|
2970
3012
|
fields: t
|
|
2971
3013
|
});
|
|
2972
3014
|
Object.keys(v).forEach((C) => {
|
|
2973
|
-
const w = v[C].entries,
|
|
3015
|
+
const w = v[C].entries, V = v[C].label, bt = L({
|
|
2974
3016
|
entries: w,
|
|
2975
3017
|
fields: t,
|
|
2976
|
-
fieldName:
|
|
2977
|
-
}),
|
|
2978
|
-
values:
|
|
2979
|
-
operator:
|
|
3018
|
+
fieldName: d.name
|
|
3019
|
+
}), yt = j({
|
|
3020
|
+
values: bt,
|
|
3021
|
+
operator: d.operator
|
|
2980
3022
|
});
|
|
2981
|
-
|
|
3023
|
+
l.push({
|
|
2982
3024
|
x: x || !1,
|
|
2983
|
-
value:
|
|
2984
|
-
type:
|
|
2985
|
-
operator:
|
|
2986
|
-
stacked:
|
|
3025
|
+
value: yt,
|
|
3026
|
+
type: V,
|
|
3027
|
+
operator: d.operator,
|
|
3028
|
+
stacked: d.stacked
|
|
2987
3029
|
});
|
|
2988
3030
|
});
|
|
2989
3031
|
} else {
|
|
2990
|
-
const v =
|
|
3032
|
+
const v = L({
|
|
2991
3033
|
entries: y,
|
|
2992
3034
|
fields: t,
|
|
2993
|
-
fieldName:
|
|
3035
|
+
fieldName: d.name
|
|
2994
3036
|
}), C = j({
|
|
2995
3037
|
values: v,
|
|
2996
|
-
operator:
|
|
3038
|
+
operator: d.operator
|
|
2997
3039
|
});
|
|
2998
|
-
|
|
3040
|
+
l.push({
|
|
2999
3041
|
x: x || !1,
|
|
3000
3042
|
value: C,
|
|
3001
|
-
type:
|
|
3002
|
-
yAxis:
|
|
3043
|
+
type: gt({
|
|
3044
|
+
yAxis: d,
|
|
3003
3045
|
fields: t
|
|
3004
3046
|
}),
|
|
3005
|
-
operator:
|
|
3006
|
-
stacked:
|
|
3047
|
+
operator: d.operator,
|
|
3048
|
+
stacked: d.stacked
|
|
3007
3049
|
});
|
|
3008
3050
|
}
|
|
3009
3051
|
});
|
|
3010
3052
|
});
|
|
3011
|
-
const o =
|
|
3012
|
-
let _ = [...
|
|
3013
|
-
|
|
3014
|
-
let
|
|
3015
|
-
|
|
3016
|
-
(
|
|
3053
|
+
const o = s.y.some((d) => d.label !== void 0), a = s.y.some((d) => d.stacked !== void 0);
|
|
3054
|
+
let _ = [...l.sort((d, b) => d.x < b.x ? -1 : d.x > b.x ? 1 : 0)];
|
|
3055
|
+
a && s.y.filter((d) => d.stacked !== void 0).length > 1 && (_ = _.map((d) => ({ ...d, type: `${d.type} - ${d.stacked}` })));
|
|
3056
|
+
let u = [..._];
|
|
3057
|
+
s.type === "pie" && u.some((d) => d.x === !1) ? u = u.map((d) => d.x === !1 ? { ...d, x: (i == null ? void 0 : i.uninformedString) || "Not informed" } : d) : _.some((d) => d.x === !1) && (u = u.filter(
|
|
3058
|
+
(d) => d.x !== !1
|
|
3017
3059
|
));
|
|
3018
|
-
let
|
|
3019
|
-
|
|
3020
|
-
values:
|
|
3021
|
-
timerange:
|
|
3022
|
-
interval:
|
|
3023
|
-
}) :
|
|
3060
|
+
let h = u;
|
|
3061
|
+
s.timerange ? h = ye({
|
|
3062
|
+
values: h,
|
|
3063
|
+
timerange: s.timerange,
|
|
3064
|
+
interval: s.interval
|
|
3065
|
+
}) : s.type == "pie" && (h = u.sort((d, b) => b.value - d.value));
|
|
3024
3066
|
const m = {
|
|
3025
|
-
data:
|
|
3026
|
-
isGroup:
|
|
3027
|
-
isStack:
|
|
3067
|
+
data: h,
|
|
3068
|
+
isGroup: a || o,
|
|
3069
|
+
isStack: a
|
|
3028
3070
|
};
|
|
3029
|
-
if (
|
|
3030
|
-
mode:
|
|
3031
|
-
},
|
|
3032
|
-
const { min:
|
|
3033
|
-
m.yAxisOpts.valueOpts = { min:
|
|
3071
|
+
if (s.type === "line" && s.y_range && (m.yAxisOpts = {
|
|
3072
|
+
mode: s.y_range
|
|
3073
|
+
}, s.y_range === "auto")) {
|
|
3074
|
+
const { min: d, max: b } = mt(h);
|
|
3075
|
+
m.yAxisOpts.valueOpts = { min: d, max: b };
|
|
3034
3076
|
}
|
|
3035
3077
|
return m;
|
|
3036
3078
|
};
|
|
3037
|
-
function
|
|
3038
|
-
entries:
|
|
3079
|
+
function L({
|
|
3080
|
+
entries: s,
|
|
3039
3081
|
fieldName: e,
|
|
3040
3082
|
fields: t
|
|
3041
3083
|
}) {
|
|
3042
|
-
return
|
|
3084
|
+
return s.map((i) => H({
|
|
3043
3085
|
fieldName: e,
|
|
3044
|
-
values:
|
|
3086
|
+
values: i,
|
|
3045
3087
|
fields: t
|
|
3046
|
-
})).map(({ value:
|
|
3088
|
+
})).map(({ value: i, label: n }) => n);
|
|
3047
3089
|
}
|
|
3048
3090
|
function j({
|
|
3049
|
-
operator:
|
|
3091
|
+
operator: s,
|
|
3050
3092
|
values: e
|
|
3051
3093
|
}) {
|
|
3052
|
-
switch (
|
|
3094
|
+
switch (s) {
|
|
3053
3095
|
case "count":
|
|
3054
3096
|
return e.length;
|
|
3055
3097
|
case "+":
|
|
3056
|
-
return
|
|
3057
|
-
e.reduce(function(t,
|
|
3058
|
-
return t +
|
|
3098
|
+
return Y(
|
|
3099
|
+
e.reduce(function(t, i) {
|
|
3100
|
+
return t + i;
|
|
3059
3101
|
})
|
|
3060
3102
|
);
|
|
3061
3103
|
case "-":
|
|
3062
|
-
return
|
|
3063
|
-
e.reduce(function(t,
|
|
3064
|
-
return t -
|
|
3104
|
+
return Y(
|
|
3105
|
+
e.reduce(function(t, i) {
|
|
3106
|
+
return t - i;
|
|
3065
3107
|
})
|
|
3066
3108
|
);
|
|
3067
3109
|
case "*":
|
|
3068
|
-
return
|
|
3069
|
-
e.reduce(function(t,
|
|
3070
|
-
return t *
|
|
3110
|
+
return Y(
|
|
3111
|
+
e.reduce(function(t, i) {
|
|
3112
|
+
return t * i;
|
|
3071
3113
|
})
|
|
3072
3114
|
);
|
|
3073
3115
|
case "avg": {
|
|
3074
|
-
const
|
|
3075
|
-
return
|
|
3116
|
+
const i = e.reduce((n, l) => n + l, 0) / e.length || 0;
|
|
3117
|
+
return Y(i);
|
|
3076
3118
|
}
|
|
3077
3119
|
case "min":
|
|
3078
3120
|
return Math.min(...e);
|
|
@@ -3080,129 +3122,130 @@ function j({
|
|
|
3080
3122
|
return Math.max(...e);
|
|
3081
3123
|
}
|
|
3082
3124
|
}
|
|
3083
|
-
function
|
|
3084
|
-
return Math.round((
|
|
3125
|
+
function Y(s) {
|
|
3126
|
+
return Math.round((s + Number.EPSILON) * 100) / 100;
|
|
3085
3127
|
}
|
|
3086
|
-
function
|
|
3087
|
-
fieldName:
|
|
3128
|
+
function G({
|
|
3129
|
+
fieldName: s,
|
|
3088
3130
|
fields: e,
|
|
3089
3131
|
values: t
|
|
3090
3132
|
}) {
|
|
3091
|
-
const
|
|
3133
|
+
const i = {};
|
|
3092
3134
|
return t.forEach((n) => {
|
|
3093
|
-
const { value:
|
|
3135
|
+
const { value: l, label: o } = H({
|
|
3094
3136
|
fields: e,
|
|
3095
3137
|
values: n,
|
|
3096
|
-
fieldName:
|
|
3138
|
+
fieldName: s
|
|
3097
3139
|
});
|
|
3098
|
-
|
|
3099
|
-
}),
|
|
3140
|
+
i[l] || (i[l] = { label: o, entries: [] }), i[l].entries.push(n);
|
|
3141
|
+
}), i;
|
|
3100
3142
|
}
|
|
3101
|
-
function Oe(
|
|
3143
|
+
function Oe(s) {
|
|
3102
3144
|
let e = [];
|
|
3103
|
-
return Object.keys(
|
|
3104
|
-
const
|
|
3105
|
-
e = e.concat(
|
|
3145
|
+
return Object.keys(s).forEach((t) => {
|
|
3146
|
+
const i = s[t];
|
|
3147
|
+
e = e.concat(i.entries);
|
|
3106
3148
|
}), e;
|
|
3107
3149
|
}
|
|
3108
|
-
function
|
|
3109
|
-
yAxis:
|
|
3150
|
+
function gt({
|
|
3151
|
+
yAxis: s,
|
|
3110
3152
|
fields: e
|
|
3111
3153
|
}) {
|
|
3112
|
-
const t = e[
|
|
3113
|
-
return t != null && t.string ? t.string :
|
|
3154
|
+
const t = e[s.name];
|
|
3155
|
+
return t != null && t.string ? t.string : s.name;
|
|
3114
3156
|
}
|
|
3115
|
-
function
|
|
3116
|
-
if (
|
|
3157
|
+
function mt(s, e = 0.1) {
|
|
3158
|
+
if (s.length === 0)
|
|
3117
3159
|
throw new Error("The values array cannot be empty.");
|
|
3118
|
-
const t =
|
|
3160
|
+
const t = s.map((o) => o.value), i = Math.min(...t), n = Math.max(...t), l = (n - i) * e;
|
|
3119
3161
|
return {
|
|
3120
|
-
min:
|
|
3121
|
-
max: n +
|
|
3162
|
+
min: i - l,
|
|
3163
|
+
max: n + l
|
|
3122
3164
|
};
|
|
3123
3165
|
}
|
|
3124
|
-
const
|
|
3166
|
+
const Le = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3125
3167
|
__proto__: null,
|
|
3126
3168
|
getAllObjectsInGroupedValues: Oe,
|
|
3127
|
-
getMinMax:
|
|
3169
|
+
getMinMax: mt,
|
|
3128
3170
|
getValueForOperator: j,
|
|
3129
|
-
getValuesForYField:
|
|
3130
|
-
getValuesGroupedByField:
|
|
3131
|
-
getYAxisFieldname:
|
|
3171
|
+
getValuesForYField: L,
|
|
3172
|
+
getValuesGroupedByField: G,
|
|
3173
|
+
getYAxisFieldname: gt,
|
|
3132
3174
|
labelsForOperator: ke,
|
|
3133
3175
|
processGraphData: Pe
|
|
3134
3176
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3135
3177
|
export {
|
|
3136
3178
|
zt as ActionButtons,
|
|
3137
|
-
|
|
3138
|
-
|
|
3179
|
+
Zt as Alert,
|
|
3180
|
+
Pt as Avatar,
|
|
3139
3181
|
Bt as Binary,
|
|
3140
3182
|
it as Boolean,
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3183
|
+
A as Button,
|
|
3184
|
+
Tt as ButtonGroup,
|
|
3185
|
+
ne as Card,
|
|
3186
|
+
se as Carousel,
|
|
3187
|
+
R as Char,
|
|
3188
|
+
at as CodeEditor,
|
|
3147
3189
|
ie as ColorPicker,
|
|
3148
|
-
|
|
3149
|
-
|
|
3190
|
+
te as Comments,
|
|
3191
|
+
z as Container,
|
|
3150
3192
|
F as ContainerWidget,
|
|
3151
3193
|
Me as Dashboard,
|
|
3152
3194
|
ue as DashboardItem,
|
|
3153
3195
|
jt as Date,
|
|
3154
3196
|
Nt as DateTime,
|
|
3155
|
-
|
|
3197
|
+
ee as Email,
|
|
3156
3198
|
f as Field,
|
|
3157
3199
|
q as Float,
|
|
3158
|
-
|
|
3200
|
+
Vt as FloatTime,
|
|
3159
3201
|
Ee as Form,
|
|
3160
|
-
|
|
3161
|
-
|
|
3202
|
+
dt as Graph,
|
|
3203
|
+
ht as GraphAxis,
|
|
3162
3204
|
M as GraphChart,
|
|
3163
|
-
|
|
3205
|
+
ut as GraphIndicator,
|
|
3164
3206
|
he as GraphIndicatorField,
|
|
3165
3207
|
me as GraphXAxis,
|
|
3166
3208
|
ge as GraphYAxis,
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3209
|
+
Wt as Group,
|
|
3210
|
+
Yt as HTMLPreview,
|
|
3211
|
+
Lt as Icon,
|
|
3212
|
+
Rt as Image,
|
|
3213
|
+
qt as Indicator,
|
|
3214
|
+
Et as Integer,
|
|
3215
|
+
K as JSONField,
|
|
3174
3216
|
Ye as Kanban,
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
It as
|
|
3178
|
-
|
|
3179
|
-
|
|
3217
|
+
De as KanbanCard,
|
|
3218
|
+
st as Label,
|
|
3219
|
+
It as Many2one,
|
|
3220
|
+
St as Markdown,
|
|
3221
|
+
nt as MultiCheckbox,
|
|
3222
|
+
et as NewLine,
|
|
3180
3223
|
B as Notebook,
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3224
|
+
rt as One2many,
|
|
3225
|
+
Ot as Page,
|
|
3226
|
+
Dt as ProgressBar,
|
|
3227
|
+
re as QRCode,
|
|
3228
|
+
Qt as Radio,
|
|
3186
3229
|
Mt as Reference,
|
|
3187
3230
|
de as SearchFieldTypes,
|
|
3188
3231
|
je as SearchFilter,
|
|
3189
|
-
|
|
3190
|
-
|
|
3232
|
+
S as Selection,
|
|
3233
|
+
At as Separator,
|
|
3191
3234
|
N as Spinner,
|
|
3192
3235
|
Xt as Steps,
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3236
|
+
Kt as Switch,
|
|
3237
|
+
Ht as Tag,
|
|
3238
|
+
Jt as Tags,
|
|
3196
3239
|
$ as Text,
|
|
3197
|
-
|
|
3198
|
-
|
|
3240
|
+
Ut as Time,
|
|
3241
|
+
$t as Timeline,
|
|
3199
3242
|
Ve as Tree,
|
|
3200
3243
|
k as Widget,
|
|
3201
|
-
|
|
3202
|
-
|
|
3244
|
+
Re as graphFieldUtils,
|
|
3245
|
+
Le as graphProcessor,
|
|
3203
3246
|
J as parseContext,
|
|
3204
3247
|
Se as parseContextFields,
|
|
3205
|
-
|
|
3248
|
+
Ae as parseDomainFields,
|
|
3206
3249
|
Be as parseGraph,
|
|
3207
3250
|
Ne as transformDomainForChildWidget
|
|
3208
3251
|
};
|