@gisce/ooui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/Binary.d.ts +14 -0
- package/dist/Binary.js +46 -0
- package/dist/Binary.js.map +1 -0
- package/dist/Boolean.d.ts +8 -0
- package/dist/Boolean.js +26 -0
- package/dist/Boolean.js.map +1 -0
- package/dist/Button.d.ts +29 -0
- package/dist/Button.js +108 -0
- package/dist/Button.js.map +1 -0
- package/dist/Char.d.ts +26 -0
- package/dist/Char.js +89 -0
- package/dist/Char.js.map +1 -0
- package/dist/Container.d.ts +44 -0
- package/dist/Container.js +148 -0
- package/dist/Container.js.map +1 -0
- package/dist/ContainerWidget.d.ts +42 -0
- package/dist/ContainerWidget.js +125 -0
- package/dist/ContainerWidget.js.map +1 -0
- package/dist/Date.d.ts +8 -0
- package/dist/Date.js +26 -0
- package/dist/Date.js.map +1 -0
- package/dist/DateTime.d.ts +8 -0
- package/dist/DateTime.js +26 -0
- package/dist/DateTime.js.map +1 -0
- package/dist/FiberGrid.d.ts +5 -0
- package/dist/FiberGrid.js +23 -0
- package/dist/FiberGrid.js.map +1 -0
- package/dist/Field.d.ts +59 -0
- package/dist/Field.js +162 -0
- package/dist/Field.js.map +1 -0
- package/dist/Float.d.ts +24 -0
- package/dist/Float.js +64 -0
- package/dist/Float.js.map +1 -0
- package/dist/FloatTime.d.ts +7 -0
- package/dist/FloatTime.js +26 -0
- package/dist/FloatTime.js.map +1 -0
- package/dist/Form.d.ts +53 -0
- package/dist/Form.js +199 -0
- package/dist/Form.js.map +1 -0
- package/dist/Group.d.ts +5 -0
- package/dist/Group.js +23 -0
- package/dist/Group.js.map +1 -0
- package/dist/Image.d.ts +7 -0
- package/dist/Image.js +26 -0
- package/dist/Image.js.map +1 -0
- package/dist/Integer.d.ts +8 -0
- package/dist/Integer.js +26 -0
- package/dist/Integer.js.map +1 -0
- package/dist/Label.d.ts +23 -0
- package/dist/Label.js +80 -0
- package/dist/Label.js.map +1 -0
- package/dist/Many2many.d.ts +26 -0
- package/dist/Many2many.js +80 -0
- package/dist/Many2many.js.map +1 -0
- package/dist/Many2one.d.ts +20 -0
- package/dist/Many2one.js +63 -0
- package/dist/Many2one.js.map +1 -0
- package/dist/NewLine.d.ts +5 -0
- package/dist/NewLine.js +26 -0
- package/dist/NewLine.js.map +1 -0
- package/dist/Notebook.d.ts +8 -0
- package/dist/Notebook.js +41 -0
- package/dist/Notebook.js.map +1 -0
- package/dist/One2many.d.ts +44 -0
- package/dist/One2many.js +130 -0
- package/dist/One2many.js.map +1 -0
- package/dist/Page.d.ts +5 -0
- package/dist/Page.js +23 -0
- package/dist/Page.js.map +1 -0
- package/dist/ProgressBar.d.ts +7 -0
- package/dist/ProgressBar.js +26 -0
- package/dist/ProgressBar.js.map +1 -0
- package/dist/Reference.d.ts +7 -0
- package/dist/Reference.js +26 -0
- package/dist/Reference.js.map +1 -0
- package/dist/SearchFilter.d.ts +28 -0
- package/dist/SearchFilter.js +81 -0
- package/dist/SearchFilter.js.map +1 -0
- package/dist/Selection.d.ts +20 -0
- package/dist/Selection.js +63 -0
- package/dist/Selection.js.map +1 -0
- package/dist/Separator.d.ts +12 -0
- package/dist/Separator.js +46 -0
- package/dist/Separator.js.map +1 -0
- package/dist/Text.d.ts +29 -0
- package/dist/Text.js +96 -0
- package/dist/Text.js.map +1 -0
- package/dist/Timeline.d.ts +17 -0
- package/dist/Timeline.js +56 -0
- package/dist/Timeline.js.map +1 -0
- package/dist/Tree.d.ts +31 -0
- package/dist/Tree.js +96 -0
- package/dist/Tree.js.map +1 -0
- package/dist/Widget.d.ts +47 -0
- package/dist/Widget.js +116 -0
- package/dist/Widget.js.map +1 -0
- package/dist/WidgetFactory.d.ts +9 -0
- package/dist/WidgetFactory.js +157 -0
- package/dist/WidgetFactory.js.map +1 -0
- package/dist/helpers/attributeParser.d.ts +6 -0
- package/dist/helpers/attributeParser.js +83 -0
- package/dist/helpers/attributeParser.js.map +1 -0
- package/dist/helpers/contextParser.d.ts +5 -0
- package/dist/helpers/contextParser.js +52 -0
- package/dist/helpers/contextParser.js.map +1 -0
- package/dist/helpers/domainParser.d.ts +5 -0
- package/dist/helpers/domainParser.js +26 -0
- package/dist/helpers/domainParser.js.map +1 -0
- package/dist/helpers/fieldParser.d.ts +5 -0
- package/dist/helpers/fieldParser.js +20 -0
- package/dist/helpers/fieldParser.js.map +1 -0
- package/dist/helpers/nodeParser.d.ts +7 -0
- package/dist/helpers/nodeParser.js +50 -0
- package/dist/helpers/nodeParser.js.map +1 -0
- package/dist/helpers/onChangeParser.d.ts +5 -0
- package/dist/helpers/onChangeParser.js +16 -0
- package/dist/helpers/onChangeParser.js.map +1 -0
- package/dist/helpers/stateParser.d.ts +14 -0
- package/dist/helpers/stateParser.js +46 -0
- package/dist/helpers/stateParser.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/package.json +49 -0
- package/src/Binary.ts +29 -0
- package/src/Boolean.ts +12 -0
- package/src/Button.ts +78 -0
- package/src/Char.ts +65 -0
- package/src/Container.ts +171 -0
- package/src/ContainerWidget.ts +105 -0
- package/src/Date.ts +12 -0
- package/src/DateTime.ts +12 -0
- package/src/FiberGrid.ts +9 -0
- package/src/Field.ts +147 -0
- package/src/Float.ts +45 -0
- package/src/FloatTime.ts +8 -0
- package/src/Form.ts +212 -0
- package/src/Group.ts +9 -0
- package/src/Image.ts +8 -0
- package/src/Integer.ts +13 -0
- package/src/Label.ts +46 -0
- package/src/Many2many.ts +59 -0
- package/src/Many2one.ts +44 -0
- package/src/NewLine.ts +9 -0
- package/src/Notebook.ts +24 -0
- package/src/One2many.ts +106 -0
- package/src/Page.ts +9 -0
- package/src/ProgressBar.ts +8 -0
- package/src/Reference.ts +10 -0
- package/src/SearchFilter.ts +81 -0
- package/src/Selection.ts +44 -0
- package/src/Separator.ts +30 -0
- package/src/Text.ts +76 -0
- package/src/Timeline.ts +44 -0
- package/src/Tree.ts +93 -0
- package/src/Widget.ts +121 -0
- package/src/WidgetFactory.ts +158 -0
- package/src/helpers/attributeParser.ts +108 -0
- package/src/helpers/contextParser.ts +66 -0
- package/src/helpers/domainParser.ts +39 -0
- package/src/helpers/fieldParser.ts +27 -0
- package/src/helpers/nodeParser.ts +57 -0
- package/src/helpers/onChangeParser.ts +18 -0
- package/src/helpers/stateParser.ts +62 -0
- package/src/index.ts +67 -0
- package/src/spec/Boolean.spec.ts +36 -0
- package/src/spec/Button.spec.ts +58 -0
- package/src/spec/Char.spec.ts +80 -0
- package/src/spec/Container.spec.ts +47 -0
- package/src/spec/ContainerWidget.spec.ts +35 -0
- package/src/spec/Date.spec.ts +36 -0
- package/src/spec/DateTime.spec.ts +36 -0
- package/src/spec/Float.spec.ts +29 -0
- package/src/spec/Form.spec.ts +976 -0
- package/src/spec/Group.spec.ts +32 -0
- package/src/spec/Label.spec.ts +46 -0
- package/src/spec/Many2many.spec.ts +36 -0
- package/src/spec/Many2one.spec.ts +36 -0
- package/src/spec/One2many.spec.ts +354 -0
- package/src/spec/SearchFilter.spec.ts +955 -0
- package/src/spec/Selection.spec.ts +52 -0
- package/src/spec/Separator.spec.ts +14 -0
- package/src/spec/Tree.spec.ts +214 -0
- package/src/spec/Widget.spec.ts +45 -0
- package/src/spec/WidgetFactory.spec.ts +40 -0
- package/src/spec/attributeParser.spec.ts +173 -0
- package/src/spec/contextParser.spec.ts +57 -0
- package/src/spec/domainParser.spec.ts +40 -0
- package/src/spec/fixtures/WidgetImpl.ts +10 -0
- package/src/spec/stateParser.spec.ts +161 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var evaluateCondition = function (_a) {
|
|
13
|
+
var entry = _a.entry, values = _a.values, fields = _a.fields;
|
|
14
|
+
var fieldName = entry[0], operator = entry[1], expectedValue = entry[2];
|
|
15
|
+
if (fields[fieldName] === undefined) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (values[fieldName] === undefined && fields[fieldName].type !== "boolean") {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
var filteredExpectedValue = expectedValue;
|
|
22
|
+
if (fields[fieldName].type === "boolean" &&
|
|
23
|
+
(expectedValue === 0 || expectedValue === 1)) {
|
|
24
|
+
filteredExpectedValue = expectedValue === 0 ? false : true;
|
|
25
|
+
}
|
|
26
|
+
var value = fields[fieldName].type === "boolean"
|
|
27
|
+
? !!values[fieldName]
|
|
28
|
+
: values[fieldName];
|
|
29
|
+
switch (operator.toLowerCase()) {
|
|
30
|
+
case "=":
|
|
31
|
+
case "==":
|
|
32
|
+
return value === filteredExpectedValue;
|
|
33
|
+
case "<>":
|
|
34
|
+
case "!=":
|
|
35
|
+
return value !== filteredExpectedValue;
|
|
36
|
+
case ">":
|
|
37
|
+
return value > filteredExpectedValue;
|
|
38
|
+
case ">=":
|
|
39
|
+
return value >= filteredExpectedValue;
|
|
40
|
+
case "<":
|
|
41
|
+
return value < filteredExpectedValue;
|
|
42
|
+
case "<=":
|
|
43
|
+
return value <= filteredExpectedValue;
|
|
44
|
+
case "in":
|
|
45
|
+
return filteredExpectedValue.includes(value);
|
|
46
|
+
case "not in":
|
|
47
|
+
return !filteredExpectedValue.includes(value);
|
|
48
|
+
default:
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var parseAttributes = function (_a) {
|
|
53
|
+
var attrs = _a.attrs, values = _a.values, fields = _a.fields;
|
|
54
|
+
var leftP = attrs.replace(/\(/g, "[");
|
|
55
|
+
var rightP = leftP.replace(/\)/g, "]");
|
|
56
|
+
var clearQuotes = rightP.replace(/\'/g, '"');
|
|
57
|
+
var replaceTrue = clearQuotes.replace(/True/g, "true");
|
|
58
|
+
var replaceFalse = replaceTrue.replace(/False/g, "false");
|
|
59
|
+
var parsedObject = JSON.parse(replaceFalse);
|
|
60
|
+
var newAttributes = {};
|
|
61
|
+
for (var _i = 0, _b = Object.keys(parsedObject); _i < _b.length; _i++) {
|
|
62
|
+
var attrField = _b[_i];
|
|
63
|
+
var entries = parsedObject[attrField];
|
|
64
|
+
var evaluatedEntries = entries.map(function (entry) {
|
|
65
|
+
return evaluateCondition({ entry: entry, values: values, fields: fields });
|
|
66
|
+
});
|
|
67
|
+
newAttributes[attrField] = evaluatedEntries.every(function (i) { return i === true; });
|
|
68
|
+
}
|
|
69
|
+
return newAttributes;
|
|
70
|
+
};
|
|
71
|
+
var evaluateAttributes = function (_a) {
|
|
72
|
+
var tagAttributes = _a.tagAttributes, values = _a.values, fields = _a.fields;
|
|
73
|
+
var newTagAttributes = tagAttributes.attrs
|
|
74
|
+
? parseAttributes({
|
|
75
|
+
attrs: tagAttributes.attrs,
|
|
76
|
+
values: values,
|
|
77
|
+
fields: fields,
|
|
78
|
+
})
|
|
79
|
+
: {};
|
|
80
|
+
return __assign(__assign(__assign({}, tagAttributes), newTagAttributes), { attrs: undefined });
|
|
81
|
+
};
|
|
82
|
+
export { evaluateAttributes };
|
|
83
|
+
//# sourceMappingURL=attributeParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributeParser.js","sourceRoot":"","sources":["../../src/helpers/attributeParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getValueForField } from "./fieldParser";
|
|
2
|
+
export var parseContext = function (_a) {
|
|
3
|
+
var context = _a.context, values = _a.values, fields = _a.fields;
|
|
4
|
+
// TODO: remove try/catch when we know for sure that all the incoming contexts formats are expected
|
|
5
|
+
try {
|
|
6
|
+
if (!context)
|
|
7
|
+
return undefined;
|
|
8
|
+
if (context.trim().length === 0) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
// TODO: maybe this can be accomplished more performant and elegant with regex
|
|
12
|
+
var strNoWhitespaces = context.replace(/\s/g, "");
|
|
13
|
+
var replaceTrue = strNoWhitespaces.replace(/True/g, "true");
|
|
14
|
+
var replaceFalse = replaceTrue.replace(/False/g, "false");
|
|
15
|
+
var strNoClauLeft = replaceFalse.replace(/\{/g, "");
|
|
16
|
+
var strNoClauRight = strNoClauLeft.replace(/\}/g, "");
|
|
17
|
+
var entryValues = strNoClauRight.split(",");
|
|
18
|
+
var valuesSplitted = entryValues.map(function (entry) {
|
|
19
|
+
return entry.split(":");
|
|
20
|
+
});
|
|
21
|
+
var parsedContext_1 = {};
|
|
22
|
+
valuesSplitted.forEach(function (entry) {
|
|
23
|
+
var fieldName = entry[1];
|
|
24
|
+
if (entry[1].indexOf("'") === -1 &&
|
|
25
|
+
entry[1] !== "true" &&
|
|
26
|
+
entry[1] !== "false") {
|
|
27
|
+
var valueForField = getValueForField({
|
|
28
|
+
values: values,
|
|
29
|
+
fields: fields,
|
|
30
|
+
fieldName: fieldName === "active_id" ? "id" : fieldName,
|
|
31
|
+
});
|
|
32
|
+
parsedContext_1[entry[0].replace(/'/g, "")] = valueForField || undefined;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
if (entry[1] === "true") {
|
|
36
|
+
parsedContext_1[entry[0].replace(/'/g, "")] = true;
|
|
37
|
+
}
|
|
38
|
+
else if (entry[1] === "false") {
|
|
39
|
+
parsedContext_1[entry[0].replace(/'/g, "")] = false;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
parsedContext_1[entry[0].replace(/'/g, "")] = entry[1].replace(/'/g, "");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return parsedContext_1;
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=contextParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextParser.js","sourceRoot":"","sources":["../../src/helpers/contextParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,EAQ5B;QAPC,OAAO,aAAA,EACP,MAAM,YAAA,EACN,MAAM,YAAA;IAMN,mGAAmG;IACnG,IAAI;QACF,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,SAAS,CAAC;SAClB;QAED,8EAA8E;QAC9E,IAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,IAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAExD,IAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK;YAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAM,eAAa,GAAQ,EAAE,CAAC;QAE9B,cAAc,CAAC,OAAO,CAAC,UAAC,KAAK;YAC3B,IAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE3B,IACE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5B,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM;gBACnB,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EACpB;gBACA,IAAM,aAAa,GAAG,gBAAgB,CAAC;oBACrC,MAAM,QAAA;oBACN,MAAM,QAAA;oBACN,SAAS,EAAE,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAC;gBACH,eAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,IAAI,SAAS,CAAC;aACxE;iBAAM;gBACL,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;oBACvB,eAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;iBAClD;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;oBAC/B,eAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;iBACnD;qBAAM;oBACL,eAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1D,IAAI,EACJ,EAAE,CACH,CAAC;iBACH;aACF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,eAAa,CAAC;KACtB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var transformDomainForChildWidget = function (_a) {
|
|
2
|
+
var domain = _a.domain, widgetFieldName = _a.widgetFieldName;
|
|
3
|
+
var transformedDomain = [];
|
|
4
|
+
domain.forEach(function (domainEntry) {
|
|
5
|
+
if (!Array.isArray(domainEntry)) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
var fieldName = domainEntry[0], operator = domainEntry[1], value = domainEntry[2];
|
|
9
|
+
var rootFieldName;
|
|
10
|
+
var targetFieldName;
|
|
11
|
+
if (fieldName.indexOf(".") !== -1) {
|
|
12
|
+
rootFieldName = fieldName.substr(0, fieldName.indexOf("."));
|
|
13
|
+
targetFieldName = fieldName.substr(fieldName.indexOf(".") + 1, fieldName.length - 1);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
rootFieldName = fieldName;
|
|
17
|
+
targetFieldName = "id";
|
|
18
|
+
}
|
|
19
|
+
if (rootFieldName === widgetFieldName) {
|
|
20
|
+
transformedDomain.push([targetFieldName, operator, value]);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return transformedDomain;
|
|
24
|
+
};
|
|
25
|
+
export { transformDomainForChildWidget };
|
|
26
|
+
//# sourceMappingURL=domainParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domainParser.js","sourceRoot":"","sources":["../../src/helpers/domainParser.ts"],"names":[],"mappings":"AAAA,IAAM,6BAA6B,GAAG,UAAC,EAMtC;QALC,MAAM,YAAA,EACN,eAAe,qBAAA;IAKf,IAAM,iBAAiB,GAAU,EAAE,CAAC;IAEpC,MAAM,CAAC,OAAO,CAAC,UAAC,WAAgB;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC/B,OAAO;SACR;QAEM,IAAA,SAAS,GAAqB,WAAW,GAAhC,EAAE,QAAQ,GAAW,WAAW,GAAtB,EAAE,KAAK,GAAI,WAAW,GAAf,CAAgB;QAEjD,IAAI,aAAa,CAAC;QAClB,IAAI,eAAe,CAAC;QAEpB,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACjC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,eAAe,GAAG,SAAS,CAAC,MAAM,CAChC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAC1B,SAAS,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;SACH;aAAM;YACL,aAAa,GAAG,SAAS,CAAC;YAC1B,eAAe,GAAG,IAAI,CAAC;SACxB;QAED,IAAI,aAAa,KAAK,eAAe,EAAE;YACrC,iBAAiB,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function getValueForField(_a) {
|
|
2
|
+
var values = _a.values, fieldName = _a.fieldName, fields = _a.fields;
|
|
3
|
+
if (!fields) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
if (!fields[fieldName]) {
|
|
7
|
+
return values[fieldName] || false;
|
|
8
|
+
}
|
|
9
|
+
var fieldType = fields[fieldName].type;
|
|
10
|
+
if (fieldType === "many2one") {
|
|
11
|
+
return values[fieldName] ? values[fieldName][0] || null : false;
|
|
12
|
+
}
|
|
13
|
+
else if (fieldType === "one2many" || fieldType === "many2many") {
|
|
14
|
+
return values[fieldName].map(function (item) { return item.id; });
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return values[fieldName];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=fieldParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldParser.js","sourceRoot":"","sources":["../../src/helpers/fieldParser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,EAQhC;QAPC,MAAM,YAAA,EACN,SAAS,eAAA,EACT,MAAM,YAAA;IAMN,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;KACnC;IAED,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;IAEzC,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,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;KAC1B;AACH,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var parseNodes = function (nodes, fields) {
|
|
13
|
+
var parsedNodes = [];
|
|
14
|
+
Array.prototype.forEach.call(nodes, function (child) {
|
|
15
|
+
var _a;
|
|
16
|
+
if (child.nodeType === child.ELEMENT_NODE) {
|
|
17
|
+
var tag = child.nodeName;
|
|
18
|
+
var tagAttributes_1 = {};
|
|
19
|
+
Array.prototype.forEach.call(child.attributes, function (attr) {
|
|
20
|
+
tagAttributes_1[attr.name] = attr.value;
|
|
21
|
+
});
|
|
22
|
+
if (tag === "field") {
|
|
23
|
+
var name_1 = child.getAttribute("name");
|
|
24
|
+
var attrWidget = child.getAttribute("widget");
|
|
25
|
+
if (attrWidget) {
|
|
26
|
+
tag = attrWidget;
|
|
27
|
+
}
|
|
28
|
+
else if (name_1) {
|
|
29
|
+
if (!fields[name_1]) {
|
|
30
|
+
throw new Error("Field " + name_1 + " doesn't exist in fields defintion");
|
|
31
|
+
}
|
|
32
|
+
tag = fields[name_1].type;
|
|
33
|
+
}
|
|
34
|
+
// We do this in order to ignore the blank domain attribute in fields and to prioritize the attributes value
|
|
35
|
+
if (((Array.isArray(fields[name_1].domain) &&
|
|
36
|
+
fields[name_1].domain.length === 0) ||
|
|
37
|
+
fields[name_1].domain === false) &&
|
|
38
|
+
tagAttributes_1["domain"] &&
|
|
39
|
+
tagAttributes_1["domain"].length > 0) {
|
|
40
|
+
delete fields[name_1].domain;
|
|
41
|
+
}
|
|
42
|
+
tagAttributes_1 = __assign(__assign(__assign({}, fields[name_1]), tagAttributes_1), { fieldsWidgetType: (_a = fields[name_1]) === null || _a === void 0 ? void 0 : _a.type });
|
|
43
|
+
}
|
|
44
|
+
parsedNodes.push({ tag: tag, tagAttributes: tagAttributes_1, child: child });
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return parsedNodes;
|
|
48
|
+
};
|
|
49
|
+
export { parseNodes };
|
|
50
|
+
//# sourceMappingURL=nodeParser.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var parseOnChange = function (onChangeString) {
|
|
2
|
+
var splitted = onChangeString
|
|
3
|
+
.replace(/\s/g, "")
|
|
4
|
+
.replace(/'/g, "")
|
|
5
|
+
.replace(")", "")
|
|
6
|
+
.split("(");
|
|
7
|
+
var method = splitted[0];
|
|
8
|
+
var argsGross = splitted[1];
|
|
9
|
+
var argsSplitted = argsGross.split(",");
|
|
10
|
+
return {
|
|
11
|
+
method: method,
|
|
12
|
+
args: argsSplitted
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export { parseOnChange };
|
|
16
|
+
//# sourceMappingURL=onChangeParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onChangeParser.js","sourceRoot":"","sources":["../../src/helpers/onChangeParser.ts"],"names":[],"mappings":"AAAA,IAAM,aAAa,GAAG,UAAC,cAAsB;IAC3C,IAAM,QAAQ,GAAG,cAAc;SAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;SAChB,KAAK,CAAC,GAAG,CAAC,CAAC;IAEd,IAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO;QACL,MAAM,QAAA;QACN,IAAI,EAAE,YAAY;KACnB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const evaluateStates: ({ fieldName, values, fields, }: {
|
|
2
|
+
fieldName: string;
|
|
3
|
+
values: any;
|
|
4
|
+
fields: any;
|
|
5
|
+
}) => any;
|
|
6
|
+
declare const evaluateButtonStates: ({ states, values, }: {
|
|
7
|
+
states: string;
|
|
8
|
+
values: any;
|
|
9
|
+
}) => {
|
|
10
|
+
invisible?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
invisible: boolean;
|
|
13
|
+
};
|
|
14
|
+
export { evaluateStates, evaluateButtonStates };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var evaluateStates = function (_a) {
|
|
2
|
+
var _b;
|
|
3
|
+
var fieldName = _a.fieldName, values = _a.values, fields = _a.fields;
|
|
4
|
+
if (!fieldName) {
|
|
5
|
+
return {};
|
|
6
|
+
}
|
|
7
|
+
var fieldStatesConfig = (_b = fields[fieldName]) === null || _b === void 0 ? void 0 : _b.states;
|
|
8
|
+
if (!fieldStatesConfig) {
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
11
|
+
var newTagStateAttrs = {};
|
|
12
|
+
var evaluatedStates = {};
|
|
13
|
+
for (var _i = 0, _c = Object.keys(fieldStatesConfig); _i < _c.length; _i++) {
|
|
14
|
+
var stateCondition = _c[_i];
|
|
15
|
+
if (values["state"] === stateCondition) {
|
|
16
|
+
var configAttrValues = fieldStatesConfig[stateCondition];
|
|
17
|
+
for (var _d = 0, configAttrValues_1 = configAttrValues; _d < configAttrValues_1.length; _d++) {
|
|
18
|
+
var entryConfig = configAttrValues_1[_d];
|
|
19
|
+
var attribute = entryConfig[0], value = entryConfig[1];
|
|
20
|
+
if (!evaluatedStates[attribute]) {
|
|
21
|
+
evaluatedStates[attribute] = [];
|
|
22
|
+
}
|
|
23
|
+
evaluatedStates[attribute].push(value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
for (var _e = 0, _f = Object.keys(evaluatedStates); _e < _f.length; _e++) {
|
|
28
|
+
var evaluatedState = _f[_e];
|
|
29
|
+
var values_1 = evaluatedStates[evaluatedState];
|
|
30
|
+
newTagStateAttrs[evaluatedState] = values_1.some(function (i) { return i === true; });
|
|
31
|
+
}
|
|
32
|
+
return newTagStateAttrs;
|
|
33
|
+
};
|
|
34
|
+
var evaluateButtonStates = function (_a) {
|
|
35
|
+
var states = _a.states, values = _a.values;
|
|
36
|
+
if (!(values === null || values === void 0 ? void 0 : values.state)) {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
var splittedStates = states.split(",");
|
|
40
|
+
if (splittedStates.length === 0) {
|
|
41
|
+
return {};
|
|
42
|
+
}
|
|
43
|
+
return !splittedStates.includes(values.state) ? { invisible: true } : {};
|
|
44
|
+
};
|
|
45
|
+
export { evaluateStates, evaluateButtonStates };
|
|
46
|
+
//# sourceMappingURL=stateParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateParser.js","sourceRoot":"","sources":["../../src/helpers/stateParser.ts"],"names":[],"mappings":"AAAA,IAAM,cAAc,GAAG,UAAC,EAQvB;;QAPC,SAAS,eAAA,EACT,MAAM,YAAA,EACN,MAAM,YAAA;IAMN,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IAED,IAAM,iBAAiB,SAAG,MAAM,CAAC,SAAS,CAAC,0CAAE,MAAM,CAAC;IAEpD,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,IAAM,gBAAgB,GAAQ,EAAE,CAAC;IACjC,IAAM,eAAe,GAAQ,EAAE,CAAC;IAEhC,KAA6B,UAA8B,EAA9B,KAAA,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;QAAxD,IAAM,cAAc,SAAA;QACvB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,cAAc,EAAE;YACtC,IAAM,gBAAgB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAE3D,KAA0B,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAAvC,IAAM,WAAW,yBAAA;gBACb,IAAA,SAAS,GAAW,WAAW,GAAtB,EAAE,KAAK,GAAI,WAAW,GAAf,CAAgB;gBACvC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;oBAC/B,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;iBACjC;gBACD,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxC;SACF;KACF;IAED,KAA6B,UAA4B,EAA5B,KAAA,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;QAAtD,IAAM,cAAc,SAAA;QACvB,IAAM,QAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;QAC/C,gBAAgB,CAAC,cAAc,CAAC,GAAG,QAAM,CAAC,IAAI,CAAC,UAAC,CAAU,IAAK,OAAA,CAAC,KAAK,IAAI,EAAV,CAAU,CAAC,CAAC;KAC5E;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAAC,EAM7B;QALC,MAAM,YAAA,EACN,MAAM,YAAA;IAKN,IAAI,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,EAAE;QAClB,OAAO,EAAE,CAAC;KACX;IACD,IAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,EAAE,CAAC;KACX;IACD,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Form from "./Form";
|
|
2
|
+
import Tree from "./Tree";
|
|
3
|
+
import Char from "./Char";
|
|
4
|
+
import Container from "./Container";
|
|
5
|
+
import ContainerWidget from "./ContainerWidget";
|
|
6
|
+
import Selection from "./Selection";
|
|
7
|
+
import Many2one from "./Many2one";
|
|
8
|
+
import Field from "./Field";
|
|
9
|
+
import Widget from "./Widget";
|
|
10
|
+
import Boolean from "./Boolean";
|
|
11
|
+
import Integer from "./Integer";
|
|
12
|
+
import Float from "./Float";
|
|
13
|
+
import FloatTime from "./FloatTime";
|
|
14
|
+
import ProgressBar from "./ProgressBar";
|
|
15
|
+
import Date from "./Date";
|
|
16
|
+
import DateTime from "./DateTime";
|
|
17
|
+
import Many2many from "./Many2many";
|
|
18
|
+
import One2many from "./One2many";
|
|
19
|
+
import SearchFilter from "./SearchFilter";
|
|
20
|
+
import Text from "./Text";
|
|
21
|
+
import Label from "./Label";
|
|
22
|
+
import Notebook from "./Notebook";
|
|
23
|
+
import Group from "./Group";
|
|
24
|
+
import Page from "./Page";
|
|
25
|
+
import Separator from "./Separator";
|
|
26
|
+
import Button from "./Button";
|
|
27
|
+
import Reference from "./Reference";
|
|
28
|
+
import Binary from "./Binary";
|
|
29
|
+
import Image from "./Image";
|
|
30
|
+
import { parseContext } from "./helpers/contextParser";
|
|
31
|
+
import { transformDomainForChildWidget } from "./helpers/domainParser";
|
|
32
|
+
import Timeline from "./Timeline";
|
|
33
|
+
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, };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Form from "./Form";
|
|
2
|
+
import Tree from "./Tree";
|
|
3
|
+
import Char from "./Char";
|
|
4
|
+
import Container from "./Container";
|
|
5
|
+
import ContainerWidget from "./ContainerWidget";
|
|
6
|
+
import Selection from "./Selection";
|
|
7
|
+
import Many2one from "./Many2one";
|
|
8
|
+
import Field from "./Field";
|
|
9
|
+
import Widget from "./Widget";
|
|
10
|
+
import Boolean from "./Boolean";
|
|
11
|
+
import Integer from "./Integer";
|
|
12
|
+
import Float from "./Float";
|
|
13
|
+
import FloatTime from "./FloatTime";
|
|
14
|
+
import ProgressBar from "./ProgressBar";
|
|
15
|
+
import Date from "./Date";
|
|
16
|
+
import DateTime from "./DateTime";
|
|
17
|
+
import Many2many from "./Many2many";
|
|
18
|
+
import One2many from "./One2many";
|
|
19
|
+
import SearchFilter from "./SearchFilter";
|
|
20
|
+
import Text from "./Text";
|
|
21
|
+
import Label from "./Label";
|
|
22
|
+
import Notebook from "./Notebook";
|
|
23
|
+
import Group from "./Group";
|
|
24
|
+
import Page from "./Page";
|
|
25
|
+
import Separator from "./Separator";
|
|
26
|
+
import Button from "./Button";
|
|
27
|
+
import Reference from "./Reference";
|
|
28
|
+
import Binary from "./Binary";
|
|
29
|
+
import Image from "./Image";
|
|
30
|
+
import { parseContext } from "./helpers/contextParser";
|
|
31
|
+
import { transformDomainForChildWidget } from "./helpers/domainParser";
|
|
32
|
+
import Timeline from "./Timeline";
|
|
33
|
+
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, };
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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;AAElC,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,GACT,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gisce/ooui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"dependencies": {},
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"src",
|
|
10
|
+
"README.md"
|
|
11
|
+
],
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"prebuild": "rimraf dist",
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"test:watch": "jest --watch"
|
|
20
|
+
},
|
|
21
|
+
"eslintConfig": {},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@babel/core": "^7.12.10",
|
|
24
|
+
"@babel/preset-env": "^7.12.10",
|
|
25
|
+
"@types/jest": "^26.0.18",
|
|
26
|
+
"babel-jest": "^26.6.3",
|
|
27
|
+
"eslint": "^7.15.0",
|
|
28
|
+
"eslint-config-prettier": "^7.0.0",
|
|
29
|
+
"eslint-plugin-jest": "^24.1.3",
|
|
30
|
+
"husky": "^5.0.6",
|
|
31
|
+
"jest": "^26.6.3",
|
|
32
|
+
"lint-staged": "^10.5.3",
|
|
33
|
+
"npm-check-updates": "^10.2.5",
|
|
34
|
+
"prettier": "^2.2.1",
|
|
35
|
+
"rimraf": "^3.0.2",
|
|
36
|
+
"ts-jest": "^26.4.4",
|
|
37
|
+
"typescript": "^4.1.2"
|
|
38
|
+
},
|
|
39
|
+
"husky": {
|
|
40
|
+
"hooks": {
|
|
41
|
+
"pre-commit": "lint-staged",
|
|
42
|
+
"post-commit": "git update-index --again"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"lint-staged": {
|
|
46
|
+
"*.{html,css,md}": "prettier --write",
|
|
47
|
+
"*.{js,jsx,ts,tsx}": "eslint --cache --fix"
|
|
48
|
+
}
|
|
49
|
+
}
|
package/src/Binary.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Field from "./Field";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Binary base64 field
|
|
5
|
+
*/
|
|
6
|
+
class Binary extends Field {
|
|
7
|
+
/**
|
|
8
|
+
* Filename field name
|
|
9
|
+
*/
|
|
10
|
+
_filenameField: string = "";
|
|
11
|
+
get filenameField(): string {
|
|
12
|
+
return this._filenameField;
|
|
13
|
+
}
|
|
14
|
+
set filenameField(value: string) {
|
|
15
|
+
this._filenameField = value;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
constructor(props: any) {
|
|
19
|
+
super(props);
|
|
20
|
+
|
|
21
|
+
if (props) {
|
|
22
|
+
if (props.filename) {
|
|
23
|
+
this._filenameField = props.filename;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default Binary;
|
package/src/Boolean.ts
ADDED
package/src/Button.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import Field from "./Field";
|
|
2
|
+
|
|
3
|
+
class Button extends Field {
|
|
4
|
+
/**
|
|
5
|
+
* Type
|
|
6
|
+
*/
|
|
7
|
+
_buttonType: "workflow" | "action" | "object" | "cancel" = "workflow";
|
|
8
|
+
get buttonType() {
|
|
9
|
+
return this._buttonType;
|
|
10
|
+
}
|
|
11
|
+
set buttonType(value) {
|
|
12
|
+
this._buttonType = value;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Button caption
|
|
17
|
+
*/
|
|
18
|
+
_caption: string = "";
|
|
19
|
+
get caption(): string {
|
|
20
|
+
return this._caption;
|
|
21
|
+
}
|
|
22
|
+
set caption(value: string) {
|
|
23
|
+
this._caption = value;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Button icon
|
|
28
|
+
*/
|
|
29
|
+
_icon: string | undefined;
|
|
30
|
+
get icon(): string | undefined {
|
|
31
|
+
return this._icon;
|
|
32
|
+
}
|
|
33
|
+
set icon(value: string | undefined) {
|
|
34
|
+
this._icon = value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Confirm string for modal in button types workflow
|
|
39
|
+
*/
|
|
40
|
+
_confirmMessage: string = "";
|
|
41
|
+
get confirmMessage(): string {
|
|
42
|
+
return this._confirmMessage;
|
|
43
|
+
}
|
|
44
|
+
set confirm(value: string) {
|
|
45
|
+
this._confirmMessage = value;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
constructor(props: any) {
|
|
49
|
+
super({
|
|
50
|
+
...props,
|
|
51
|
+
nolabel: props?.nolabel !== undefined ? props.nolabel : true,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
if (props) {
|
|
55
|
+
if (props.string) {
|
|
56
|
+
this._caption = props.string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (props.buttonType) {
|
|
60
|
+
this._buttonType = props.buttonType;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (props.confirm) {
|
|
64
|
+
this._confirmMessage = props.confirm;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (props.special && props.special === "cancel") {
|
|
68
|
+
this._buttonType = "cancel";
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (props.icon) {
|
|
72
|
+
this._icon = props.icon;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export default Button;
|