@gisce/ooui 0.1.2 → 0.1.5
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/Action.d.ts +8 -0
- package/dist/Action.js +29 -0
- package/dist/Action.js.map +1 -0
- package/dist/Dashboard.d.ts +9 -0
- package/dist/Dashboard.js +36 -0
- package/dist/Dashboard.js.map +1 -0
- package/dist/Indicator.d.ts +4 -0
- package/dist/Indicator.js +16 -2
- package/dist/Indicator.js.map +1 -1
- package/dist/Timeline.js +3 -9
- package/dist/Timeline.js.map +1 -1
- package/dist/Widget.d.ts +3 -0
- package/dist/Widget.js +18 -0
- package/dist/Widget.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 +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Button.ts +28 -0
- package/src/Indicator.ts +16 -0
- package/src/Timeline.ts +3 -10
- package/src/Widget.ts +16 -0
- package/src/spec/Button.spec.ts +74 -0
- package/src/spec/Indicator.spec.ts +27 -0
- package/src/spec/Timeline.spec.ts +38 -0
- package/src/spec/Widget.spec.ts +23 -0
package/dist/Action.d.ts
ADDED
package/dist/Action.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var Action = /** @class */ (function () {
|
|
2
|
+
function Action(attributes) {
|
|
3
|
+
this._name = null;
|
|
4
|
+
this._parms = null;
|
|
5
|
+
if (attributes.name) {
|
|
6
|
+
this._name = attributes.name;
|
|
7
|
+
}
|
|
8
|
+
if (attributes.parms) {
|
|
9
|
+
this._parms = attributes.parms;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(Action.prototype, "name", {
|
|
13
|
+
get: function () {
|
|
14
|
+
return this._name;
|
|
15
|
+
},
|
|
16
|
+
enumerable: false,
|
|
17
|
+
configurable: true
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(Action.prototype, "parms", {
|
|
20
|
+
get: function () {
|
|
21
|
+
return this._parms;
|
|
22
|
+
},
|
|
23
|
+
enumerable: false,
|
|
24
|
+
configurable: true
|
|
25
|
+
});
|
|
26
|
+
return Action;
|
|
27
|
+
}());
|
|
28
|
+
export default Action;
|
|
29
|
+
//# sourceMappingURL=Action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"AAAA;IAWE,gBAAY,UAAe;QAV3B,UAAK,GAAkB,IAAI,CAAC;QAK5B,WAAM,GAAkB,IAAI,CAAC;QAM3B,IAAI,UAAU,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;SAC9B;QAED,IAAI,UAAU,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;SAChC;IACH,CAAC;IAjBD,sBAAI,wBAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAGD,sBAAI,yBAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAWH,aAAC;AAAD,CAAC,AApBD,IAoBC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Action from "./Action";
|
|
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._actions = [];
|
|
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 === "action") {
|
|
15
|
+
_this._actions.push(new Action(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, "actions", {
|
|
27
|
+
get: function () {
|
|
28
|
+
return this._actions;
|
|
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,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;IAWE,mBAAY,GAAW;QAAvB,iBAaC;QAvBD,YAAO,GAAkB,IAAI,CAAC;QAK9B,aAAQ,GAAa,EAAE,CAAC;QAMtB,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,QAAQ,EAAE;gBAC/B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;aAC1D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAtBD,sBAAI,6BAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAGD,sBAAI,8BAAO;aAAX;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAgBH,gBAAC;AAAD,CAAC,AAzBD,IAyBC;AAED,eAAe,SAAS,CAAC"}
|
package/dist/Indicator.d.ts
CHANGED
package/dist/Indicator.js
CHANGED
|
@@ -14,11 +14,25 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
import Field from "./Field";
|
|
15
15
|
var Indicator = /** @class */ (function (_super) {
|
|
16
16
|
__extends(Indicator, _super);
|
|
17
|
-
function Indicator() {
|
|
18
|
-
var _this = _super
|
|
17
|
+
function Indicator(props) {
|
|
18
|
+
var _this = _super.call(this, props) || this;
|
|
19
19
|
_this._nolabel = true;
|
|
20
|
+
_this._card = false;
|
|
21
|
+
if (_this._parsedWidgetProps) {
|
|
22
|
+
_this._card = _this._parsedWidgetProps.card;
|
|
23
|
+
}
|
|
20
24
|
return _this;
|
|
21
25
|
}
|
|
26
|
+
Object.defineProperty(Indicator.prototype, "card", {
|
|
27
|
+
get: function () {
|
|
28
|
+
return this._card;
|
|
29
|
+
},
|
|
30
|
+
set: function (value) {
|
|
31
|
+
this._card = value;
|
|
32
|
+
},
|
|
33
|
+
enumerable: false,
|
|
34
|
+
configurable: true
|
|
35
|
+
});
|
|
22
36
|
return Indicator;
|
|
23
37
|
}(Field));
|
|
24
38
|
export default Indicator;
|
package/dist/Indicator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../src/Indicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;IAAwB,6BAAK;
|
|
1
|
+
{"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../src/Indicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;IAAwB,6BAAK;IAW3B,mBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAKb;QAhBD,cAAQ,GAAY,IAAI,CAAC;QAYvB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,KAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;SAC3C;;IACH,CAAC;IAbD,sBAAI,2BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aACD,UAAS,KAAc;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAHA;IAYH,gBAAC;AAAD,CAAC,AAlBD,CAAwB,KAAK,GAkB5B;AAGD,eAAe,SAAS,CAAC"}
|
package/dist/Timeline.js
CHANGED
|
@@ -18,15 +18,9 @@ var Timeline = /** @class */ (function (_super) {
|
|
|
18
18
|
var _this = _super.call(this, props) || this;
|
|
19
19
|
_this._titleField = "";
|
|
20
20
|
_this._summaryField = "";
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
_this._titleField = parsedWidgetProps.titleField;
|
|
25
|
-
_this._summaryField = parsedWidgetProps.summaryField;
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
28
|
-
throw new Error("Timeline - error parsing widget_props: " + JSON.stringify(err));
|
|
29
|
-
}
|
|
21
|
+
if (_this._parsedWidgetProps) {
|
|
22
|
+
_this._titleField = _this._parsedWidgetProps.titleField;
|
|
23
|
+
_this._summaryField = _this.parsedWidgetProps.summaryField;
|
|
30
24
|
}
|
|
31
25
|
return _this;
|
|
32
26
|
}
|
package/dist/Timeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../src/Timeline.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;IAAuB,4BAAQ;IAuB7B,kBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../src/Timeline.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;IAAuB,4BAAQ;IAuB7B,kBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAOb;QANC,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,KAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;YACtD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;SAC1D;;IACH,CAAC;IA1BD,sBAAI,gCAAU;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;aACD,UAAe,KAAa;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;;;OAHA;IASD,sBAAI,kCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;aACD,UAAiB,KAAa;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;;;OAHA;IAcH,eAAC;AAAD,CAAC,AAhCD,CAAuB,QAAQ,GAgC9B;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/Widget.d.ts
CHANGED
|
@@ -41,6 +41,9 @@ declare abstract class Widget {
|
|
|
41
41
|
_domain?: string;
|
|
42
42
|
get domain(): string | undefined;
|
|
43
43
|
set domain(value: string | undefined);
|
|
44
|
+
_parsedWidgetProps: any;
|
|
45
|
+
get parsedWidgetProps(): any;
|
|
46
|
+
set parsedWidgetProps(value: any);
|
|
44
47
|
constructor(props?: any);
|
|
45
48
|
abstract findById(id: string): Widget | null;
|
|
46
49
|
}
|
package/dist/Widget.js
CHANGED
|
@@ -34,6 +34,14 @@ var Widget = /** @class */ (function () {
|
|
|
34
34
|
if (props.domain && typeof props.domain === "string") {
|
|
35
35
|
this._domain = props.domain;
|
|
36
36
|
}
|
|
37
|
+
if (props.widget_props) {
|
|
38
|
+
try {
|
|
39
|
+
this._parsedWidgetProps = JSON.parse(props.widget_props.replace(/'/g, '"'));
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw new Error('Error parsing widget_props');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
Object.defineProperty(Widget, "defaultColspan", {
|
|
@@ -106,6 +114,16 @@ var Widget = /** @class */ (function () {
|
|
|
106
114
|
enumerable: false,
|
|
107
115
|
configurable: true
|
|
108
116
|
});
|
|
117
|
+
Object.defineProperty(Widget.prototype, "parsedWidgetProps", {
|
|
118
|
+
get: function () {
|
|
119
|
+
return this._parsedWidgetProps;
|
|
120
|
+
},
|
|
121
|
+
set: function (value) {
|
|
122
|
+
this._parsedWidgetProps = value;
|
|
123
|
+
},
|
|
124
|
+
enumerable: false,
|
|
125
|
+
configurable: true
|
|
126
|
+
});
|
|
109
127
|
/**
|
|
110
128
|
* Default colspan
|
|
111
129
|
*/
|
package/dist/Widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","sourceRoot":"","sources":["../src/Widget.ts"],"names":[],"mappings":"AAAA;
|
|
1
|
+
{"version":3,"file":"Widget.js","sourceRoot":"","sources":["../src/Widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;;;;;;;;;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,IAAM,iBAAiB,GAAG,UAAC,KAA4B;IACrD,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,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,iBAAiB,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,4 +31,5 @@ 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
|
+
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, };
|
package/dist/index.js
CHANGED
|
@@ -31,5 +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
|
+
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, };
|
|
35
36
|
//# 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;AAEpC,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,GACV,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;AAEpC,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,GACV,CAAC"}
|
package/package.json
CHANGED
package/src/Button.ts
CHANGED
|
@@ -45,6 +45,22 @@ class Button extends Field {
|
|
|
45
45
|
this._confirmMessage = value;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
_primary: boolean = false;
|
|
49
|
+
get primary(): boolean {
|
|
50
|
+
return this._primary;
|
|
51
|
+
}
|
|
52
|
+
set primary(value: boolean) {
|
|
53
|
+
this._primary = value;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
_danger: boolean = false;
|
|
57
|
+
get danger(): boolean {
|
|
58
|
+
return this._danger;
|
|
59
|
+
}
|
|
60
|
+
set danger(value: boolean) {
|
|
61
|
+
this._danger = value;
|
|
62
|
+
}
|
|
63
|
+
|
|
48
64
|
constructor(props: any) {
|
|
49
65
|
super({
|
|
50
66
|
...props,
|
|
@@ -71,6 +87,18 @@ class Button extends Field {
|
|
|
71
87
|
if (props.icon) {
|
|
72
88
|
this._icon = props.icon;
|
|
73
89
|
}
|
|
90
|
+
if (props.primary) {
|
|
91
|
+
const primary = props.primary;
|
|
92
|
+
if (primary === "1" || primary === 1 || primary === true) {
|
|
93
|
+
this._primary = true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (props.danger) {
|
|
97
|
+
const danger = props.danger;
|
|
98
|
+
if (danger === "1" || danger === 1 || danger === true) {
|
|
99
|
+
this._danger = true
|
|
100
|
+
}
|
|
101
|
+
}
|
|
74
102
|
}
|
|
75
103
|
}
|
|
76
104
|
}
|
package/src/Indicator.ts
CHANGED
|
@@ -2,6 +2,22 @@ import Field from "./Field";
|
|
|
2
2
|
|
|
3
3
|
class Indicator extends Field {
|
|
4
4
|
_nolabel: boolean = true;
|
|
5
|
+
|
|
6
|
+
_card: boolean;
|
|
7
|
+
get card(): boolean {
|
|
8
|
+
return this._card;
|
|
9
|
+
}
|
|
10
|
+
set card(value: boolean) {
|
|
11
|
+
this._card = value;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
constructor(props: any) {
|
|
15
|
+
super(props);
|
|
16
|
+
this._card = false;
|
|
17
|
+
if (this._parsedWidgetProps) {
|
|
18
|
+
this._card = this._parsedWidgetProps.card;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
5
21
|
}
|
|
6
22
|
|
|
7
23
|
|
package/src/Timeline.ts
CHANGED
|
@@ -27,16 +27,9 @@ class Timeline extends One2many {
|
|
|
27
27
|
super(props);
|
|
28
28
|
this._titleField = "";
|
|
29
29
|
this._summaryField = "";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
const parsedWidgetProps = JSON.parse(props.widget_props.replace(/'/g, '"'));
|
|
35
|
-
this._titleField = parsedWidgetProps.titleField;
|
|
36
|
-
this._summaryField = parsedWidgetProps.summaryField;
|
|
37
|
-
} catch(err) {
|
|
38
|
-
throw new Error(`Timeline - error parsing widget_props: ${JSON.stringify(err)}`);
|
|
39
|
-
}
|
|
30
|
+
if (this._parsedWidgetProps) {
|
|
31
|
+
this._titleField = this._parsedWidgetProps.titleField;
|
|
32
|
+
this._summaryField = this.parsedWidgetProps.summaryField;
|
|
40
33
|
}
|
|
41
34
|
}
|
|
42
35
|
}
|
package/src/Widget.ts
CHANGED
|
@@ -76,6 +76,14 @@ abstract class Widget {
|
|
|
76
76
|
this._domain = value;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
_parsedWidgetProps: any;
|
|
80
|
+
get parsedWidgetProps(): any {
|
|
81
|
+
return this._parsedWidgetProps;
|
|
82
|
+
}
|
|
83
|
+
set parsedWidgetProps(value: any) {
|
|
84
|
+
this._parsedWidgetProps = value;
|
|
85
|
+
}
|
|
86
|
+
|
|
79
87
|
constructor(props?: any) {
|
|
80
88
|
this._colspan = Widget._defaultColspan;
|
|
81
89
|
this._readOnly = false;
|
|
@@ -112,6 +120,14 @@ abstract class Widget {
|
|
|
112
120
|
if (props.domain && typeof props.domain === "string") {
|
|
113
121
|
this._domain = props.domain;
|
|
114
122
|
}
|
|
123
|
+
if (props.widget_props) {
|
|
124
|
+
|
|
125
|
+
try {
|
|
126
|
+
this._parsedWidgetProps = JSON.parse(props.widget_props.replace(/'/g, '"'));
|
|
127
|
+
} catch(err) {
|
|
128
|
+
throw new Error('Error parsing widget_props');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
115
131
|
}
|
|
116
132
|
}
|
|
117
133
|
|
package/src/spec/Button.spec.ts
CHANGED
|
@@ -55,4 +55,78 @@ describe("A Button", () => {
|
|
|
55
55
|
|
|
56
56
|
expect(widget.nolabel).toBe(false);
|
|
57
57
|
});
|
|
58
|
+
describe('primary attribute', () => {
|
|
59
|
+
it("should have primary attribute as false for default", () => {
|
|
60
|
+
const widgetFactory = new WidgetFactory();
|
|
61
|
+
const props = {
|
|
62
|
+
string: "Button",
|
|
63
|
+
};
|
|
64
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
65
|
+
expect(widget.primary).toBe(false);
|
|
66
|
+
});
|
|
67
|
+
it("should parse primary option for 1", () => {
|
|
68
|
+
const widgetFactory = new WidgetFactory();
|
|
69
|
+
const props = {
|
|
70
|
+
string: "Button",
|
|
71
|
+
primary: 1
|
|
72
|
+
};
|
|
73
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
74
|
+
expect(widget.primary).toBe(true);
|
|
75
|
+
});
|
|
76
|
+
it("should parse primary option for '1'", () => {
|
|
77
|
+
const widgetFactory = new WidgetFactory();
|
|
78
|
+
const props = {
|
|
79
|
+
string: "Button",
|
|
80
|
+
primary: "1"
|
|
81
|
+
};
|
|
82
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
83
|
+
expect(widget.primary).toBe(true);
|
|
84
|
+
});
|
|
85
|
+
it("should parse primary option for true", () => {
|
|
86
|
+
const widgetFactory = new WidgetFactory();
|
|
87
|
+
const props = {
|
|
88
|
+
string: "Button",
|
|
89
|
+
primary: true
|
|
90
|
+
};
|
|
91
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
92
|
+
expect(widget.primary).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
describe('danger attribute', () => {
|
|
96
|
+
it("should have danger attribute as false for default", () => {
|
|
97
|
+
const widgetFactory = new WidgetFactory();
|
|
98
|
+
const props = {
|
|
99
|
+
string: "Button",
|
|
100
|
+
};
|
|
101
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
102
|
+
expect(widget.danger).toBe(false);
|
|
103
|
+
});
|
|
104
|
+
it("should parse danger option for 1", () => {
|
|
105
|
+
const widgetFactory = new WidgetFactory();
|
|
106
|
+
const props = {
|
|
107
|
+
string: "Button",
|
|
108
|
+
danger: 1
|
|
109
|
+
};
|
|
110
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
111
|
+
expect(widget.danger).toBe(true);
|
|
112
|
+
});
|
|
113
|
+
it("should parse danger option for '1'", () => {
|
|
114
|
+
const widgetFactory = new WidgetFactory();
|
|
115
|
+
const props = {
|
|
116
|
+
string: "Button",
|
|
117
|
+
danger: "1"
|
|
118
|
+
};
|
|
119
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
120
|
+
expect(widget.danger).toBe(true);
|
|
121
|
+
});
|
|
122
|
+
it("should parse danger option for true", () => {
|
|
123
|
+
const widgetFactory = new WidgetFactory();
|
|
124
|
+
const props = {
|
|
125
|
+
string: "Button",
|
|
126
|
+
danger: true
|
|
127
|
+
};
|
|
128
|
+
const widget = widgetFactory.createWidget("button", props);
|
|
129
|
+
expect(widget.danger).toBe(true);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
58
132
|
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import WidgetFactory from "../WidgetFactory";
|
|
2
|
+
import Indicator from "../Indicator";
|
|
3
|
+
|
|
4
|
+
describe("An Indicator", () => {
|
|
5
|
+
it("should create a Indicator widget from factory", () => {
|
|
6
|
+
const widgetFactory = new WidgetFactory();
|
|
7
|
+
|
|
8
|
+
const widget = widgetFactory.createWidget("indicator", {});
|
|
9
|
+
expect(widget).toBeInstanceOf(Indicator);
|
|
10
|
+
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('should have card as false as default', () => {
|
|
14
|
+
const widgetFactory = new WidgetFactory();
|
|
15
|
+
const widget = widgetFactory.createWidget("indicator", {});
|
|
16
|
+
expect(widget.card).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should parse widget props', () => {
|
|
20
|
+
const widgetFactory = new WidgetFactory();
|
|
21
|
+
const props = {
|
|
22
|
+
widget_props: "{'card': true}"
|
|
23
|
+
};
|
|
24
|
+
const widget = widgetFactory.createWidget("indicator", props);
|
|
25
|
+
expect(widget.card).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import WidgetFactory from "../WidgetFactory";
|
|
2
|
+
import Timeline from "../Timeline";
|
|
3
|
+
|
|
4
|
+
describe("A Timeline", () => {
|
|
5
|
+
it("should have an id corresponding to field name", () => {
|
|
6
|
+
const widgetFactory = new WidgetFactory();
|
|
7
|
+
const props = {
|
|
8
|
+
name: "timeline_field",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const widget = widgetFactory.createWidget("timeline", props);
|
|
12
|
+
expect(widget).toBeInstanceOf(Timeline);
|
|
13
|
+
expect(widget.id).toBe("timeline_field");
|
|
14
|
+
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("should properly set readonly", () => {
|
|
18
|
+
const widgetFactory = new WidgetFactory();
|
|
19
|
+
const props = {
|
|
20
|
+
name: "timeline_field",
|
|
21
|
+
readonly: 1,
|
|
22
|
+
};
|
|
23
|
+
const widget = widgetFactory.createWidget("timeline", props);
|
|
24
|
+
|
|
25
|
+
expect(widget.readOnly).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('should parse widget props', () => {
|
|
29
|
+
const widgetFactory = new WidgetFactory();
|
|
30
|
+
const props = {
|
|
31
|
+
name: "timeline_field",
|
|
32
|
+
widget_props: "{'titleField': 'tfield', 'summaryField': 'sfield'}"
|
|
33
|
+
};
|
|
34
|
+
const widget = widgetFactory.createWidget("timeline", props);
|
|
35
|
+
expect(widget.summaryField).toBe('sfield');
|
|
36
|
+
expect(widget.titleField).toBe('tfield');
|
|
37
|
+
});
|
|
38
|
+
});
|
package/src/spec/Widget.spec.ts
CHANGED
|
@@ -31,6 +31,29 @@ describe('A Widget', () => {
|
|
|
31
31
|
|
|
32
32
|
expect(typeof widget.colspan).toBe("number");
|
|
33
33
|
});
|
|
34
|
+
describe('Parsing widget props', () => {
|
|
35
|
+
it('should parse widget_props', () => {
|
|
36
|
+
const props = {
|
|
37
|
+
widget_props: "{'prop_1': 1, 'prop_2': 'prop2'}"
|
|
38
|
+
}
|
|
39
|
+
const widget = new WidgetImpl(props);
|
|
40
|
+
expect(JSON.stringify(widget.parsedWidgetProps)).toBe(
|
|
41
|
+
JSON.stringify({prop_1: 1, prop_2: 'prop2'})
|
|
42
|
+
)
|
|
43
|
+
});
|
|
44
|
+
it('should fail if widget props are not valid', () => {
|
|
45
|
+
const props = {
|
|
46
|
+
widget_props: "{'prop_1: 1, 'prop_2': 'prop2'}"
|
|
47
|
+
}
|
|
48
|
+
expect.assertions(1);
|
|
49
|
+
try {
|
|
50
|
+
new WidgetImpl(props);
|
|
51
|
+
} catch (e) {
|
|
52
|
+
expect(e.message).toBe('Error parsing widget_props');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
});
|
|
56
|
+
});
|
|
34
57
|
|
|
35
58
|
/*
|
|
36
59
|
it('set colspan as string should store as a number', () => {
|