@gisce/ooui 0.2.3 → 0.2.4
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/Dashboard.d.ts +9 -0
- package/dist/Dashboard.js +36 -0
- package/dist/Dashboard.js.map +1 -0
- package/dist/DashboardItem.d.ts +8 -0
- package/dist/DashboardItem.js +29 -0
- package/dist/DashboardItem.js.map +1 -0
- package/dist/Indicator.d.ts +2 -2
- package/dist/Indicator.js +2 -2
- package/dist/Indicator.js.map +1 -1
- package/dist/helpers/nodeParser.d.ts +2 -1
- package/dist/helpers/nodeParser.js +15 -1
- package/dist/helpers/nodeParser.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Dashboard.ts +31 -0
- package/src/DashboardItem.ts +23 -0
- package/src/Indicator.ts +2 -2
- package/src/helpers/nodeParser.ts +18 -1
- package/src/index.ts +4 -0
- package/src/spec/Dashboard.spec.ts +28 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import DashboardItem from "./DashboardItem";
|
|
2
|
+
import { parseGenericNodes } from "./helpers/nodeParser";
|
|
3
|
+
var Dashboard = /** @class */ (function () {
|
|
4
|
+
function Dashboard(xml) {
|
|
5
|
+
var _this = this;
|
|
6
|
+
this._string = null;
|
|
7
|
+
this._items = [];
|
|
8
|
+
var parser = new DOMParser();
|
|
9
|
+
var view = parser.parseFromString(xml, "text/xml");
|
|
10
|
+
this._string = view.documentElement.getAttribute("string");
|
|
11
|
+
var documentElement = view.documentElement;
|
|
12
|
+
var actionsParsed = parseGenericNodes(documentElement.childNodes);
|
|
13
|
+
actionsParsed.forEach(function (nodeParsed) {
|
|
14
|
+
if (nodeParsed.tag === "dashboard_item") {
|
|
15
|
+
_this._items.push(new DashboardItem(nodeParsed.tagAttributes));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(Dashboard.prototype, "string", {
|
|
20
|
+
get: function () {
|
|
21
|
+
return this._string;
|
|
22
|
+
},
|
|
23
|
+
enumerable: false,
|
|
24
|
+
configurable: true
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(Dashboard.prototype, "items", {
|
|
27
|
+
get: function () {
|
|
28
|
+
return this._items;
|
|
29
|
+
},
|
|
30
|
+
enumerable: false,
|
|
31
|
+
configurable: true
|
|
32
|
+
});
|
|
33
|
+
return Dashboard;
|
|
34
|
+
}());
|
|
35
|
+
export default Dashboard;
|
|
36
|
+
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../src/Dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;IAWE,mBAAY,GAAW;QAAvB,iBAaC;QAvBD,YAAO,GAAkB,IAAI,CAAC;QAK9B,WAAM,GAAoB,EAAE,CAAC;QAM3B,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,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,IAAM,aAAa,GAAG,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEpE,aAAa,CAAC,OAAO,CAAC,UAAC,UAAU;YAC/B,IAAI,UAAU,CAAC,GAAG,KAAK,gBAAgB,EAAE;gBACvC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAtBD,sBAAI,6BAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAGD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAgBH,gBAAC;AAAD,CAAC,AAzBD,IAyBC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var DashboardItem = /** @class */ (function () {
|
|
2
|
+
function DashboardItem(attributes) {
|
|
3
|
+
this._action_id = null;
|
|
4
|
+
this._position = null;
|
|
5
|
+
if (attributes.action_id) {
|
|
6
|
+
this._action_id = attributes.action_id;
|
|
7
|
+
}
|
|
8
|
+
if (attributes.position) {
|
|
9
|
+
this._position = attributes.position;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(DashboardItem.prototype, "action_id", {
|
|
13
|
+
get: function () {
|
|
14
|
+
return this._action_id;
|
|
15
|
+
},
|
|
16
|
+
enumerable: false,
|
|
17
|
+
configurable: true
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(DashboardItem.prototype, "position", {
|
|
20
|
+
get: function () {
|
|
21
|
+
return this._position;
|
|
22
|
+
},
|
|
23
|
+
enumerable: false,
|
|
24
|
+
configurable: true
|
|
25
|
+
});
|
|
26
|
+
return DashboardItem;
|
|
27
|
+
}());
|
|
28
|
+
export default DashboardItem;
|
|
29
|
+
//# sourceMappingURL=DashboardItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardItem.js","sourceRoot":"","sources":["../src/DashboardItem.ts"],"names":[],"mappings":"AAAA;IAWE,uBAAY,UAAe;QAV3B,eAAU,GAAkB,IAAI,CAAC;QAKjC,cAAS,GAAkB,IAAI,CAAC;QAM9B,IAAI,UAAU,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;SACxC;QAED,IAAI,UAAU,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;SACtC;IACH,CAAC;IAjBD,sBAAI,oCAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAGD,sBAAI,mCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;;;OAAA;IAWH,oBAAC;AAAD,CAAC,AApBD,IAoBC;AAED,eAAe,aAAa,CAAC"}
|
package/dist/Indicator.d.ts
CHANGED
package/dist/Indicator.js
CHANGED
|
@@ -11,7 +11,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
11
11
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
12
|
};
|
|
13
13
|
})();
|
|
14
|
-
import
|
|
14
|
+
import Selection from "./Selection";
|
|
15
15
|
var Indicator = /** @class */ (function (_super) {
|
|
16
16
|
__extends(Indicator, _super);
|
|
17
17
|
function Indicator(props) {
|
|
@@ -58,6 +58,6 @@ var Indicator = /** @class */ (function (_super) {
|
|
|
58
58
|
configurable: true
|
|
59
59
|
});
|
|
60
60
|
return Indicator;
|
|
61
|
-
}(
|
|
61
|
+
}(Selection));
|
|
62
62
|
export default Indicator;
|
|
63
63
|
//# sourceMappingURL=Indicator.js.map
|
package/dist/Indicator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../src/Indicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../src/Indicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC;IAAwB,6BAAS;IAyB/B,mBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SASb;QAlCD,cAAQ,GAAY,IAAI,CAAC;QA0BvB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,KAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,KAAK,CAAC;YACnD,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC;YAChD,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,EAAE,CAAC;SACrD;;IACH,CAAC;IA/BD,sBAAI,2BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aACD,UAAS,KAAc;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAHA;IAKD,sBAAI,2BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aACD,UAAS,KAAa;YACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAHA;IAKD,sBAAI,6BAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aACD,UAAW,KAAa;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;;;OAHA;IAgBH,gBAAC;AAAD,CAAC,AApCD,CAAwB,SAAS,GAoChC;AAGD,eAAe,SAAS,CAAC"}
|
|
@@ -4,4 +4,5 @@ declare type ParsedNode = {
|
|
|
4
4
|
child: Element;
|
|
5
5
|
};
|
|
6
6
|
declare const parseNodes: (nodes: NodeListOf<ChildNode>, fields: any) => ParsedNode[];
|
|
7
|
-
|
|
7
|
+
declare const parseGenericNodes: (nodes: NodeListOf<ChildNode>) => ParsedNode[];
|
|
8
|
+
export { parseNodes, parseGenericNodes };
|
|
@@ -46,5 +46,19 @@ var parseNodes = function (nodes, fields) {
|
|
|
46
46
|
});
|
|
47
47
|
return parsedNodes;
|
|
48
48
|
};
|
|
49
|
-
|
|
49
|
+
var parseGenericNodes = function (nodes) {
|
|
50
|
+
var parsedNodes = [];
|
|
51
|
+
Array.prototype.forEach.call(nodes, function (child) {
|
|
52
|
+
if (child.nodeType === child.ELEMENT_NODE) {
|
|
53
|
+
var tag = child.nodeName;
|
|
54
|
+
var tagAttributes_2 = {};
|
|
55
|
+
Array.prototype.forEach.call(child.attributes, function (attr) {
|
|
56
|
+
tagAttributes_2[attr.name] = attr.value;
|
|
57
|
+
});
|
|
58
|
+
parsedNodes.push({ tag: tag, tagAttributes: tagAttributes_2, child: child });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return parsedNodes;
|
|
62
|
+
};
|
|
63
|
+
export { parseNodes, parseGenericNodes };
|
|
50
64
|
//# sourceMappingURL=nodeParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeParser.js","sourceRoot":"","sources":["../../src/helpers/nodeParser.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,UACjB,KAA4B,EAC5B,MAAW;IAEX,IAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,KAAc;;QACjD,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,EAAE;YACzC,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEzB,IAAI,eAAa,GAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAC,IAAU;gBACxD,eAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,IAAM,MAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,UAAU,EAAE;oBACd,GAAG,GAAG,UAAU,CAAC;iBAClB;qBAAM,IAAI,MAAI,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,MAAI,CAAC,EAAE;wBACjB,MAAM,IAAI,KAAK,CAAC,WAAS,MAAI,uCAAoC,CAAC,CAAC;qBACpE;oBACD,GAAG,GAAG,MAAM,CAAC,MAAI,CAAC,CAAC,IAAI,CAAC;iBACzB;gBAED,4GAA4G;gBAC5G,IACE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAK,CAAC,CAAC,MAAM,CAAC;oBACnC,MAAM,CAAC,MAAK,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;oBAClC,MAAM,CAAC,MAAK,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC;oBACjC,eAAa,CAAC,QAAQ,CAAC;oBACvB,eAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAClC;oBACA,OAAO,MAAM,CAAC,MAAK,CAAC,CAAC,MAAM,CAAC;iBAC7B;gBAED,eAAa,kCACR,MAAM,CAAC,MAAK,CAAC,GACb,eAAa,KAChB,gBAAgB,QAAE,MAAM,CAAC,MAAK,CAAC,0CAAE,IAAI,GACtC,CAAC;aACH;YAED,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,KAAA,EAAE,aAAa,iBAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;SACjD;IACH,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"nodeParser.js","sourceRoot":"","sources":["../../src/helpers/nodeParser.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,4 +31,6 @@ import { parseContext } from "./helpers/contextParser";
|
|
|
31
31
|
import { transformDomainForChildWidget } from "./helpers/domainParser";
|
|
32
32
|
import Timeline from "./Timeline";
|
|
33
33
|
import Indicator from "./Indicator";
|
|
34
|
-
|
|
34
|
+
import Dashboard from "./Dashboard";
|
|
35
|
+
import DashboardItem from "./DashboardItem";
|
|
36
|
+
export { Char, Selection, Many2one, Field, Widget, Form, Tree, Boolean, One2many, Integer, Float, FloatTime, Date, DateTime, Many2many, SearchFilter, Container, ContainerWidget, Text, ProgressBar, Notebook, Group, Page, Label, Separator, Button, Reference, Binary, Image, parseContext, transformDomainForChildWidget, Timeline, Indicator, Dashboard, DashboardItem, };
|
package/dist/index.js
CHANGED
|
@@ -31,5 +31,7 @@ import { parseContext } from "./helpers/contextParser";
|
|
|
31
31
|
import { transformDomainForChildWidget } from "./helpers/domainParser";
|
|
32
32
|
import Timeline from "./Timeline";
|
|
33
33
|
import Indicator from "./Indicator";
|
|
34
|
-
|
|
34
|
+
import Dashboard from "./Dashboard";
|
|
35
|
+
import DashboardItem from "./DashboardItem";
|
|
36
|
+
export { Char, Selection, Many2one, Field, Widget, Form, Tree, Boolean, One2many, Integer, Float, FloatTime, Date, DateTime, Many2many, SearchFilter, Container, ContainerWidget, Text, ProgressBar, Notebook, Group, Page, Label, Separator, Button, Reference, Binary, Image, parseContext, transformDomainForChildWidget, Timeline, Indicator, Dashboard, DashboardItem, };
|
|
35
37
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAS,EACT,eAAe,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,YAAY,EACZ,6BAA6B,EAC7B,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,GACd,CAAC"}
|
package/package.json
CHANGED
package/src/Dashboard.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import DashboardItem from "./DashboardItem";
|
|
2
|
+
import { parseGenericNodes } from "./helpers/nodeParser";
|
|
3
|
+
|
|
4
|
+
class Dashboard {
|
|
5
|
+
_string: string | null = null;
|
|
6
|
+
get string(): string | null {
|
|
7
|
+
return this._string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
_items: DashboardItem[] = [];
|
|
11
|
+
get items(): DashboardItem[] {
|
|
12
|
+
return this._items;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
constructor(xml: string) {
|
|
16
|
+
const parser = new DOMParser();
|
|
17
|
+
const view: Document = parser.parseFromString(xml, "text/xml");
|
|
18
|
+
this._string = view.documentElement.getAttribute("string");
|
|
19
|
+
const documentElement = view.documentElement;
|
|
20
|
+
|
|
21
|
+
const actionsParsed = parseGenericNodes(documentElement.childNodes);
|
|
22
|
+
|
|
23
|
+
actionsParsed.forEach((nodeParsed) => {
|
|
24
|
+
if (nodeParsed.tag === "dashboard_item") {
|
|
25
|
+
this._items.push(new DashboardItem(nodeParsed.tagAttributes));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default Dashboard;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class DashboardItem {
|
|
2
|
+
_action_id: string | null = null;
|
|
3
|
+
get action_id(): string | null {
|
|
4
|
+
return this._action_id;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
_position: string | null = null;
|
|
8
|
+
get position(): string | null {
|
|
9
|
+
return this._position;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
constructor(attributes: any) {
|
|
13
|
+
if (attributes.action_id) {
|
|
14
|
+
this._action_id = attributes.action_id;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (attributes.position) {
|
|
18
|
+
this._position = attributes.position;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default DashboardItem;
|
package/src/Indicator.ts
CHANGED
|
@@ -54,4 +54,21 @@ const parseNodes = (
|
|
|
54
54
|
return parsedNodes;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
const parseGenericNodes = (nodes: NodeListOf<ChildNode>): ParsedNode[] => {
|
|
58
|
+
const parsedNodes: ParsedNode[] = [];
|
|
59
|
+
Array.prototype.forEach.call(nodes, (child: Element) => {
|
|
60
|
+
if (child.nodeType === child.ELEMENT_NODE) {
|
|
61
|
+
let tag = child.nodeName;
|
|
62
|
+
|
|
63
|
+
let tagAttributes: any = {};
|
|
64
|
+
Array.prototype.forEach.call(child.attributes, (attr: Attr) => {
|
|
65
|
+
tagAttributes[attr.name] = attr.value;
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
parsedNodes.push({ tag, tagAttributes, child });
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return parsedNodes;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export { parseNodes, parseGenericNodes };
|
package/src/index.ts
CHANGED
|
@@ -31,6 +31,8 @@ import { parseContext } from "./helpers/contextParser";
|
|
|
31
31
|
import { transformDomainForChildWidget } from "./helpers/domainParser";
|
|
32
32
|
import Timeline from "./Timeline";
|
|
33
33
|
import Indicator from "./Indicator";
|
|
34
|
+
import Dashboard from "./Dashboard";
|
|
35
|
+
import DashboardItem from "./DashboardItem";
|
|
34
36
|
|
|
35
37
|
export {
|
|
36
38
|
Char,
|
|
@@ -66,4 +68,6 @@ export {
|
|
|
66
68
|
transformDomainForChildWidget,
|
|
67
69
|
Timeline,
|
|
68
70
|
Indicator,
|
|
71
|
+
Dashboard,
|
|
72
|
+
DashboardItem,
|
|
69
73
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Dashboard from "../Dashboard";
|
|
2
|
+
|
|
3
|
+
describe("A Dashboard", () => {
|
|
4
|
+
it("should parse a basic XML with three actions", () => {
|
|
5
|
+
const xml = `<?xml version="1.0"?>
|
|
6
|
+
<dashboard string="My dashboard">
|
|
7
|
+
<dashboard_item action_id="1497" position="{ x: 0, y: 0, w: 1, h: 2, static: true }" />
|
|
8
|
+
<dashboard_item action_id="1496" position="{ x: 1, y: 0, w: 3, h: 2, minW: 2, maxW: 4 }" />
|
|
9
|
+
<dashboard_item action_id="1321" position="{ x: 4, y: 0, w: 1, h: 2 }" />
|
|
10
|
+
</dashboard>
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
const dashboard = new Dashboard(xml);
|
|
14
|
+
|
|
15
|
+
expect(dashboard.string).toBe("My dashboard");
|
|
16
|
+
expect(dashboard.items.length).toBe(3);
|
|
17
|
+
expect(dashboard.items[0].action_id).toBe("1497");
|
|
18
|
+
expect(dashboard.items[1].action_id).toBe("1496");
|
|
19
|
+
expect(dashboard.items[2].action_id).toBe("1321");
|
|
20
|
+
expect(dashboard.items[0].position).toBe(
|
|
21
|
+
"{ x: 0, y: 0, w: 1, h: 2, static: true }"
|
|
22
|
+
);
|
|
23
|
+
expect(dashboard.items[1].position).toBe(
|
|
24
|
+
"{ x: 1, y: 0, w: 3, h: 2, minW: 2, maxW: 4 }"
|
|
25
|
+
);
|
|
26
|
+
expect(dashboard.items[2].position).toBe("{ x: 4, y: 0, w: 1, h: 2 }");
|
|
27
|
+
});
|
|
28
|
+
});
|