@gisce/ooui 0.2.5 → 0.2.8
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/Graph.d.ts +6 -0
- package/dist/Graph.js +27 -0
- package/dist/Graph.js.map +1 -1
- package/dist/helpers/fieldParser.js +12 -9
- package/dist/helpers/fieldParser.js.map +1 -1
- package/package.json +1 -1
- package/src/Graph.ts +19 -0
- package/src/helpers/fieldParser.ts +12 -12
- package/src/spec/Graph.spec.ts +3 -1
- package/src/spec/contextParser.spec.ts +18 -0
package/dist/Graph.d.ts
CHANGED
|
@@ -4,6 +4,12 @@ declare class Graph {
|
|
|
4
4
|
get string(): string | null;
|
|
5
5
|
_type?: GraphType;
|
|
6
6
|
get type(): GraphType | undefined;
|
|
7
|
+
_color: string | null;
|
|
8
|
+
get color(): string | null;
|
|
9
|
+
_icon: string | null;
|
|
10
|
+
get icon(): string | null;
|
|
11
|
+
_totalDomain: string | null;
|
|
12
|
+
get totalDomain(): string | null;
|
|
7
13
|
constructor(xml: string);
|
|
8
14
|
}
|
|
9
15
|
export default Graph;
|
package/dist/Graph.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
var Graph = /** @class */ (function () {
|
|
2
2
|
function Graph(xml) {
|
|
3
3
|
this._string = null;
|
|
4
|
+
this._color = null;
|
|
5
|
+
this._icon = null;
|
|
6
|
+
this._totalDomain = null;
|
|
4
7
|
var parser = new DOMParser();
|
|
5
8
|
var view = parser.parseFromString(xml, "text/xml");
|
|
6
9
|
this._string = view.documentElement.getAttribute("string");
|
|
7
10
|
var type = view.documentElement.getAttribute("type");
|
|
11
|
+
this._color = view.documentElement.getAttribute("color");
|
|
12
|
+
this._icon = view.documentElement.getAttribute("icon");
|
|
13
|
+
this._totalDomain = view.documentElement.getAttribute("totalDomain");
|
|
8
14
|
if (type === "indicator") {
|
|
9
15
|
this._type = "indicator";
|
|
10
16
|
}
|
|
@@ -23,6 +29,27 @@ var Graph = /** @class */ (function () {
|
|
|
23
29
|
enumerable: false,
|
|
24
30
|
configurable: true
|
|
25
31
|
});
|
|
32
|
+
Object.defineProperty(Graph.prototype, "color", {
|
|
33
|
+
get: function () {
|
|
34
|
+
return this._color;
|
|
35
|
+
},
|
|
36
|
+
enumerable: false,
|
|
37
|
+
configurable: true
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(Graph.prototype, "icon", {
|
|
40
|
+
get: function () {
|
|
41
|
+
return this._icon;
|
|
42
|
+
},
|
|
43
|
+
enumerable: false,
|
|
44
|
+
configurable: true
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(Graph.prototype, "totalDomain", {
|
|
47
|
+
get: function () {
|
|
48
|
+
return this._totalDomain;
|
|
49
|
+
},
|
|
50
|
+
enumerable: false,
|
|
51
|
+
configurable: true
|
|
52
|
+
});
|
|
26
53
|
return Graph;
|
|
27
54
|
}());
|
|
28
55
|
export default Graph;
|
package/dist/Graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../src/Graph.ts"],"names":[],"mappings":"AAEA;
|
|
1
|
+
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../src/Graph.ts"],"names":[],"mappings":"AAEA;IA0BE,eAAY,GAAW;QAzBvB,YAAO,GAAkB,IAAI,CAAC;QAU9B,WAAM,GAAkB,IAAI,CAAC;QAK7B,UAAK,GAAkB,IAAI,CAAC;QAK5B,iBAAY,GAAkB,IAAI,CAAC;QAMjC,IAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAM,IAAI,GAAa,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAErE,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;SAC1B;IACH,CAAC;IArCD,sBAAI,yBAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAGD,sBAAI,uBAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAGD,sBAAI,wBAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAGD,sBAAI,uBAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAGD,sBAAI,8BAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAgBH,YAAC;AAAD,CAAC,AAxCD,IAwCC;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
export function getValueForField(_a) {
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
if (!fields[fieldName]) {
|
|
7
|
-
return values[fieldName] || false;
|
|
8
|
-
}
|
|
9
|
-
var fieldType = fields[fieldName].type;
|
|
2
|
+
var _b;
|
|
3
|
+
var _c = _a.values, values = _c === void 0 ? {} : _c, fieldName = _a.fieldName, _d = _a.fields, fields = _d === void 0 ? {} : _d;
|
|
4
|
+
var fieldType = ((_b = fields[fieldName]) === null || _b === void 0 ? void 0 : _b.type) || "passthrough";
|
|
10
5
|
if (fieldType === "many2one") {
|
|
11
6
|
return values[fieldName] ? values[fieldName][0] || null : false;
|
|
12
7
|
}
|
|
@@ -14,7 +9,15 @@ export function getValueForField(_a) {
|
|
|
14
9
|
return values[fieldName].map(function (item) { return item.id; });
|
|
15
10
|
}
|
|
16
11
|
else {
|
|
17
|
-
|
|
12
|
+
if (values === null || values === void 0 ? void 0 : values[fieldName]) {
|
|
13
|
+
return values === null || values === void 0 ? void 0 : values[fieldName];
|
|
14
|
+
}
|
|
15
|
+
if (fieldName.indexOf("'") !== -1) {
|
|
16
|
+
return fieldName;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return parseInt(fieldName);
|
|
20
|
+
}
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
//# sourceMappingURL=fieldParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldParser.js","sourceRoot":"","sources":["../../src/helpers/fieldParser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,EAQhC
|
|
1
|
+
{"version":3,"file":"fieldParser.js","sourceRoot":"","sources":["../../src/helpers/fieldParser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,EAQhC;;QAPC,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA,EACX,SAAS,eAAA,EACT,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IAMX,IAAM,SAAS,GAAG,OAAA,MAAM,CAAC,SAAS,CAAC,0CAAE,IAAI,KAAI,aAAa,CAAC;IAE3D,IAAI,SAAS,KAAK,UAAU,EAAE;QAC5B,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;KACjE;SAAM,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,WAAW,EAAE;QAChE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC,CAAC;KACtD;SAAM;QACL,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,SAAS,GAAG;YACvB,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,SAAS,EAAE;SAC5B;QAED,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5B;KACF;AACH,CAAC"}
|
package/package.json
CHANGED
package/src/Graph.ts
CHANGED
|
@@ -11,12 +11,31 @@ class Graph {
|
|
|
11
11
|
return this._type;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
_color: string | null = null;
|
|
15
|
+
get color(): string | null {
|
|
16
|
+
return this._color;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_icon: string | null = null;
|
|
20
|
+
get icon(): string | null {
|
|
21
|
+
return this._icon;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
_totalDomain: string | null = null;
|
|
25
|
+
get totalDomain(): string | null {
|
|
26
|
+
return this._totalDomain;
|
|
27
|
+
}
|
|
28
|
+
|
|
14
29
|
constructor(xml: string) {
|
|
15
30
|
const parser = new DOMParser();
|
|
16
31
|
const view: Document = parser.parseFromString(xml, "text/xml");
|
|
17
32
|
this._string = view.documentElement.getAttribute("string");
|
|
18
33
|
const type = view.documentElement.getAttribute("type");
|
|
19
34
|
|
|
35
|
+
this._color = view.documentElement.getAttribute("color");
|
|
36
|
+
this._icon = view.documentElement.getAttribute("icon");
|
|
37
|
+
this._totalDomain = view.documentElement.getAttribute("totalDomain");
|
|
38
|
+
|
|
20
39
|
if (type === "indicator") {
|
|
21
40
|
this._type = "indicator";
|
|
22
41
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
export function getValueForField({
|
|
2
|
-
values,
|
|
2
|
+
values = {},
|
|
3
3
|
fieldName,
|
|
4
|
-
fields,
|
|
4
|
+
fields = {},
|
|
5
5
|
}: {
|
|
6
6
|
values: any;
|
|
7
7
|
fieldName: string;
|
|
8
8
|
fields: any;
|
|
9
9
|
}) {
|
|
10
|
-
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (!fields[fieldName]) {
|
|
15
|
-
return values[fieldName] || false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const fieldType = fields[fieldName].type;
|
|
10
|
+
const fieldType = fields[fieldName]?.type || "passthrough";
|
|
19
11
|
|
|
20
12
|
if (fieldType === "many2one") {
|
|
21
13
|
return values[fieldName] ? values[fieldName][0] || null : false;
|
|
22
14
|
} else if (fieldType === "one2many" || fieldType === "many2many") {
|
|
23
15
|
return values[fieldName].map((item: any) => item.id);
|
|
24
16
|
} else {
|
|
25
|
-
|
|
17
|
+
if (values?.[fieldName]) {
|
|
18
|
+
return values?.[fieldName];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (fieldName.indexOf("'") !== -1) {
|
|
22
|
+
return fieldName;
|
|
23
|
+
} else {
|
|
24
|
+
return parseInt(fieldName);
|
|
25
|
+
}
|
|
26
26
|
}
|
|
27
27
|
}
|
package/src/spec/Graph.spec.ts
CHANGED
|
@@ -3,12 +3,14 @@ import Graph from "../Graph";
|
|
|
3
3
|
describe("A Graph", () => {
|
|
4
4
|
it("should parse a basic XML title and type indicator", () => {
|
|
5
5
|
const xml = `<?xml version="1.0"?>
|
|
6
|
-
<graph string="My indicator" type="indicator" />
|
|
6
|
+
<graph string="My indicator" type="indicator" color="red:debt>0;green:debt==0" icon="slack" />
|
|
7
7
|
`;
|
|
8
8
|
|
|
9
9
|
const graph = new Graph(xml);
|
|
10
10
|
|
|
11
11
|
expect(graph.string).toBe("My indicator");
|
|
12
12
|
expect(graph.type).toBe("indicator");
|
|
13
|
+
expect(graph.color).toBe("red:debt>0;green:debt==0");
|
|
14
|
+
expect(graph.icon).toBe("slack");
|
|
13
15
|
});
|
|
14
16
|
});
|
|
@@ -53,5 +53,23 @@ describe("A Context Parser", () => {
|
|
|
53
53
|
expect(parsedContext!["active_test"]).toBeDefined();
|
|
54
54
|
expect(parsedContext!["active_test"]).toBeFalsy();
|
|
55
55
|
});
|
|
56
|
+
|
|
57
|
+
it("should properly parse a boolean context", () => {
|
|
58
|
+
const str = "{'active_test': True}";
|
|
59
|
+
|
|
60
|
+
const parsedContext = parseContext({ context: str });
|
|
61
|
+
|
|
62
|
+
expect(parsedContext!["active_test"]).toBeDefined();
|
|
63
|
+
expect(parsedContext!["active_test"]).toBeTruthy();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("should properly parse a number context", () => {
|
|
67
|
+
const str = "{'active_id': 3}";
|
|
68
|
+
|
|
69
|
+
const parsedContext = parseContext({ context: str });
|
|
70
|
+
|
|
71
|
+
expect(parsedContext!["active_id"]).toBeDefined();
|
|
72
|
+
expect(parsedContext!["active_id"]).toBe(3);
|
|
73
|
+
});
|
|
56
74
|
});
|
|
57
75
|
});
|