@gravitee/ui-components 3.25.2 → 3.25.3-typescript-ad6021f
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/CHANGELOG.md +1292 -0
- package/LICENSE.txt +202 -0
- package/README.md +195 -0
- package/package.json +17 -4
- package/src/.eslintrc.js +19 -0
- package/src/atoms/gv-autocomplete.js +156 -132
- package/src/atoms/gv-button.js +248 -73
- package/src/atoms/gv-checkbox.js +103 -45
- package/src/atoms/gv-date-picker-calendar.js +393 -312
- package/src/atoms/gv-date-picker-cell.js +81 -57
- package/src/atoms/gv-date-picker.js +319 -180
- package/src/atoms/gv-file-upload.js +195 -85
- package/src/atoms/gv-icon.js +34 -13
- package/src/atoms/gv-image.js +66 -31
- package/src/atoms/gv-input-message.js +37 -12
- package/src/atoms/gv-input.js +148 -117
- package/src/atoms/gv-link.js +125 -47
- package/src/atoms/gv-message.js +69 -18
- package/src/atoms/gv-metric.js +68 -19
- package/src/atoms/gv-relative-time.js +38 -67
- package/src/atoms/gv-select-native.js +215 -96
- package/src/atoms/gv-select.js +230 -110
- package/src/atoms/gv-spinner.js +26 -5
- package/src/atoms/gv-state.js +66 -25
- package/src/atoms/gv-switch.js +160 -40
- package/src/atoms/gv-tag.js +78 -26
- package/src/atoms/gv-text.js +83 -22
- package/src/charts/gv-chart-bar.js +18 -22
- package/src/charts/gv-chart-gauge.js +31 -28
- package/src/charts/gv-chart-histogram.js +10 -18
- package/src/charts/gv-chart-line.js +59 -70
- package/src/charts/gv-chart-map.js +42 -44
- package/src/charts/gv-chart-pie.js +14 -18
- package/src/index.js +0 -1
- package/src/lib/cron-expression.js +35 -40
- package/src/lib/date.js +1 -10
- package/src/lib/events.js +1 -3
- package/src/lib/http-client-schema-form.js +12 -13
- package/src/lib/http.js +56 -57
- package/src/lib/i18n.js +22 -30
- package/src/lib/item.js +12 -13
- package/src/lib/properties.js +42 -77
- package/src/lib/schema-form.js +5 -4
- package/src/lib/studio.js +60 -13
- package/src/lib/style.js +8 -8
- package/src/lib/text-format.js +7 -14
- package/src/lib/theme.js +5 -8
- package/src/lib/utils.js +18 -17
- package/src/mixins/chart-element.js +54 -31
- package/src/mixins/input-element.js +47 -60
- package/src/mixins/item-resource.js +32 -34
- package/src/mixins/keyboard-element.js +5 -6
- package/src/mixins/update-after-browser.js +1 -4
- package/src/mixins/with-resize-observer.js +13 -23
- package/src/mixins/with-skeleton-attribute.js +48 -54
- package/src/molecules/gv-card-full.js +147 -26
- package/src/molecules/gv-card-list.js +42 -13
- package/src/molecules/gv-card.js +91 -17
- package/src/molecules/gv-category-list.js +17 -6
- package/src/molecules/gv-category.js +103 -23
- package/src/molecules/gv-code.js +142 -80
- package/src/molecules/gv-confirm.js +71 -41
- package/src/molecules/gv-cron-editor.js +389 -143
- package/src/molecules/gv-dropdown-menu.js +46 -14
- package/src/molecules/gv-expandable.js +59 -31
- package/src/molecules/gv-expression-language.js +138 -176
- package/src/molecules/gv-identity-picture.js +66 -43
- package/src/molecules/gv-list.js +134 -42
- package/src/molecules/gv-metrics.js +49 -37
- package/src/molecules/gv-modal.js +95 -28
- package/src/molecules/gv-nav.js +75 -49
- package/src/molecules/gv-option.js +130 -57
- package/src/molecules/gv-plans.js +209 -86
- package/src/molecules/gv-popover.js +177 -57
- package/src/molecules/gv-promote.js +146 -28
- package/src/molecules/gv-rating-list.js +195 -69
- package/src/molecules/gv-rating.js +105 -52
- package/src/molecules/gv-row-expandable.js +11 -5
- package/src/molecules/gv-row.js +147 -21
- package/src/molecules/gv-stats.js +48 -23
- package/src/molecules/gv-stepper.js +187 -43
- package/src/molecules/gv-table.js +309 -199
- package/src/molecules/gv-tree.js +156 -33
- package/src/organisms/gv-documentation.js +127 -44
- package/src/organisms/gv-header.js +195 -37
- package/src/organisms/gv-http-client.js +168 -32
- package/src/organisms/gv-menu.js +158 -37
- package/src/organisms/gv-newsletter-subscription.js +189 -48
- package/src/organisms/gv-pagination.js +77 -49
- package/src/organisms/gv-properties.js +492 -271
- package/src/organisms/gv-resizable-views.js +259 -41
- package/src/organisms/gv-resources.js +275 -168
- package/src/organisms/gv-schema-form-array.js +159 -49
- package/src/organisms/gv-schema-form-control-object.js +73 -59
- package/src/organisms/gv-schema-form-control.js +134 -107
- package/src/organisms/gv-schema-form.js +313 -208
- package/src/organisms/gv-tabs.js +98 -66
- package/src/organisms/gv-user-menu.js +201 -36
- package/src/organisms/gv-vertical-menu.js +61 -20
- package/src/policy-studio/gv-flow-step.js +265 -105
- package/src/policy-studio/gv-flow.js +304 -125
- package/src/policy-studio/gv-policy-studio-menu.js +471 -157
- package/src/policy-studio/gv-policy-studio.js +774 -710
- package/src/styles/empty.js +20 -3
- package/src/styles/input.js +247 -3
- package/src/styles/link.js +16 -3
- package/src/styles/shapes.js +0 -1
- package/src/styles/skeleton.js +37 -3
- package/src/styles/zoom.js +24 -3
- package/src/theme/definition.json +1762 -0
- package/src/theme/gv-theme.js +60 -21
package/src/lib/utils.js
CHANGED
|
@@ -16,13 +16,14 @@
|
|
|
16
16
|
export function truncate(text, limit = 250, suffix = '...') {
|
|
17
17
|
return text && text.length > limit ? `${text.substring(0, limit)}${suffix}` : text;
|
|
18
18
|
}
|
|
19
|
+
|
|
19
20
|
export function isSameRoutes(routes, futureRoutes) {
|
|
20
21
|
if (routes && futureRoutes) {
|
|
21
|
-
return JSON.stringify(routes.map(r => r.path + r.active)) === JSON.stringify(futureRoutes.map(r => r.path + r.active));
|
|
22
|
+
return JSON.stringify(routes.map((r) => r.path + r.active)) === JSON.stringify(futureRoutes.map((r) => r.path + r.active));
|
|
22
23
|
}
|
|
23
|
-
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
26
|
+
|
|
26
27
|
export function appendDraggableImage(src, size = 100, defaultIcon = 'communication:shield-thunder') {
|
|
27
28
|
// Usefull when image src is svg
|
|
28
29
|
const div = document.createElement('div');
|
|
@@ -30,7 +31,6 @@ export function appendDraggableImage(src, size = 100, defaultIcon = 'communicati
|
|
|
30
31
|
div.style.left = '-999px';
|
|
31
32
|
div.style.top = '-999px';
|
|
32
33
|
div.style.zIndex = 1000;
|
|
33
|
-
|
|
34
34
|
if (src != null) {
|
|
35
35
|
const image = new Image();
|
|
36
36
|
image.src = src;
|
|
@@ -43,45 +43,48 @@ export function appendDraggableImage(src, size = 100, defaultIcon = 'communicati
|
|
|
43
43
|
svgElem.appendChild(useElem);
|
|
44
44
|
div.appendChild(svgElem);
|
|
45
45
|
}
|
|
46
|
-
|
|
47
46
|
document.body.appendChild(div);
|
|
48
47
|
return div;
|
|
49
48
|
}
|
|
49
|
+
|
|
50
50
|
export function flatDeep(arr) {
|
|
51
51
|
return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatDeep(val) : val), []);
|
|
52
52
|
}
|
|
53
|
+
|
|
53
54
|
export function flatObject(obj, prefix = '') {
|
|
54
55
|
return Object.keys(obj).reduce((acc, k) => {
|
|
55
56
|
const pre = prefix.length ? prefix + '.' : '';
|
|
56
|
-
if (Array.isArray(obj[k])) acc[pre + k] = obj[k];
|
|
57
|
+
if (Array.isArray(obj[k])) acc[pre + k] = obj[k];
|
|
58
|
+
else if (typeof obj[k] === 'object') Object.assign(acc, flatObject(obj[k], pre + k));
|
|
59
|
+
else acc[pre + k] = obj[k];
|
|
57
60
|
return acc;
|
|
58
61
|
}, {});
|
|
59
62
|
}
|
|
63
|
+
|
|
60
64
|
export function deepClone(obj) {
|
|
61
65
|
if (obj) {
|
|
62
66
|
return JSON.parse(JSON.stringify(obj));
|
|
63
67
|
}
|
|
64
|
-
|
|
65
68
|
return obj;
|
|
66
69
|
}
|
|
70
|
+
|
|
67
71
|
export function uuid() {
|
|
68
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
|
|
69
|
-
const r = Math.random() * 16 | 0;
|
|
70
|
-
const v = c === 'x' ? r : r & 0x3 | 0x8;
|
|
72
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
73
|
+
const r = (Math.random() * 16) | 0;
|
|
74
|
+
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
71
75
|
return v.toString(16);
|
|
72
76
|
});
|
|
73
77
|
}
|
|
78
|
+
|
|
74
79
|
export function deepEqual(a, b, withoutOrder = false) {
|
|
75
80
|
if (Array.isArray(a) && Array.isArray(b) && withoutOrder) {
|
|
76
81
|
if (a.length !== b.length) return false;
|
|
77
82
|
const uniqueValues = new Set([...a, ...b]);
|
|
78
|
-
|
|
79
83
|
for (const v of uniqueValues) {
|
|
80
|
-
const aCount = a.filter(e => e === v).length;
|
|
81
|
-
const bCount = b.filter(e => e === v).length;
|
|
84
|
+
const aCount = a.filter((e) => e === v).length;
|
|
85
|
+
const bCount = b.filter((e) => e === v).length;
|
|
82
86
|
if (aCount !== bCount) return false;
|
|
83
87
|
}
|
|
84
|
-
|
|
85
88
|
return true;
|
|
86
89
|
}
|
|
87
90
|
|
|
@@ -96,15 +99,13 @@ export function deepEqual(a, b, withoutOrder = false) {
|
|
|
96
99
|
const val1 = a[key];
|
|
97
100
|
const val2 = b[key];
|
|
98
101
|
const areObjects = isObject(val1) && isObject(val2);
|
|
99
|
-
|
|
100
|
-
if (areObjects && !deepEqual(val1, val2) || !areObjects && val1 !== val2) {
|
|
102
|
+
if ((areObjects && !deepEqual(val1, val2)) || (!areObjects && val1 !== val2)) {
|
|
101
103
|
return false;
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
|
-
|
|
105
106
|
return true;
|
|
106
107
|
}
|
|
108
|
+
|
|
107
109
|
export function isObject(object) {
|
|
108
110
|
return object != null && typeof object === 'object';
|
|
109
111
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi91dGlscy5qcyJdLCJuYW1lcyI6WyJ0cnVuY2F0ZSIsInRleHQiLCJsaW1pdCIsInN1ZmZpeCIsImxlbmd0aCIsInN1YnN0cmluZyIsImlzU2FtZVJvdXRlcyIsInJvdXRlcyIsImZ1dHVyZVJvdXRlcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJtYXAiLCJyIiwicGF0aCIsImFjdGl2ZSIsImFwcGVuZERyYWdnYWJsZUltYWdlIiwic3JjIiwic2l6ZSIsImRlZmF1bHRJY29uIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJwb3NpdGlvbiIsImxlZnQiLCJ0b3AiLCJ6SW5kZXgiLCJpbWFnZSIsIkltYWdlIiwiYXBwZW5kQ2hpbGQiLCJzdmdFbGVtIiwiY3JlYXRlRWxlbWVudE5TIiwidXNlRWxlbSIsInNldEF0dHJpYnV0ZU5TIiwiYm9keSIsImZsYXREZWVwIiwiYXJyIiwicmVkdWNlIiwiYWNjIiwidmFsIiwiY29uY2F0IiwiQXJyYXkiLCJpc0FycmF5IiwiZmxhdE9iamVjdCIsIm9iaiIsInByZWZpeCIsIk9iamVjdCIsImtleXMiLCJrIiwicHJlIiwiYXNzaWduIiwiZGVlcENsb25lIiwicGFyc2UiLCJ1dWlkIiwicmVwbGFjZSIsImMiLCJNYXRoIiwicmFuZG9tIiwidiIsInRvU3RyaW5nIiwiZGVlcEVxdWFsIiwiYSIsImIiLCJ3aXRob3V0T3JkZXIiLCJ1bmlxdWVWYWx1ZXMiLCJTZXQiLCJhQ291bnQiLCJmaWx0ZXIiLCJlIiwiYkNvdW50Iiwia2V5czEiLCJrZXlzMiIsImtleSIsInZhbDEiLCJ2YWwyIiwiYXJlT2JqZWN0cyIsImlzT2JqZWN0Iiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNB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USxLQUFLLENBQUNsRSxNQUFOLEtBQWlCbUUsS0FBSyxDQUFDbkUsTUFBM0IsRUFBbUM7QUFDakMsV0FBTyxLQUFQO0FBQ0Q7O0FBRUQsT0FBSyxNQUFNb0UsR0FBWCxJQUFrQkYsS0FBbEIsRUFBeUI7QUFDdkIsVUFBTUcsSUFBSSxHQUFHWixDQUFDLENBQUNXLEdBQUQsQ0FBZDtBQUNBLFVBQU1FLElBQUksR0FBR1osQ0FBQyxDQUFDVSxHQUFELENBQWQ7QUFDQSxVQUFNRyxVQUFVLEdBQUdDLFFBQVEsQ0FBQ0gsSUFBRCxDQUFSLElBQWtCRyxRQUFRLENBQUNGLElBQUQsQ0FBN0M7O0FBQ0EsUUFBS0MsVUFBVSxJQUFJLENBQUNmLFNBQVMsQ0FBQ2EsSUFBRCxFQUFPQyxJQUFQLENBQXpCLElBQTJDLENBQUNDLFVBQUQsSUFBZUYsSUFBSSxLQUFLQyxJQUF2RSxFQUE4RTtBQUM1RSxhQUFPLEtBQVA7QUFDRDtBQUNGOztBQUNELFNBQU8sSUFBUDtBQUNEO0FBRUQsT0FBTyxTQUFTRSxRQUFULENBQWtCQyxNQUFsQixFQUEwQjtBQUMvQixTQUFPQSxNQUFNLElBQUksSUFBVixJQUFrQixPQUFPQSxNQUFQLEtBQWtCLFFBQTNDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRydW5jYXRlKHRleHQsIGxpbWl0ID0gMjUwLCBzdWZmaXggPSAnLi4uJykge1xuICByZXR1cm4gdGV4dCAmJiB0ZXh0Lmxlbmd0aCA+IGxpbWl0ID8gYCR7dGV4dC5zdWJzdHJpbmcoMCwgbGltaXQpfSR7c3VmZml4fWAgOiB0ZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lUm91dGVzKHJvdXRlcywgZnV0dXJlUm91dGVzKSB7XG4gIGlmIChyb3V0ZXMgJiYgZnV0dXJlUm91dGVzKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJvdXRlcy5tYXAoKHIpID0+IHIucGF0aCArIHIuYWN0aXZlKSkgPT09IEpTT04uc3RyaW5naWZ5KGZ1dHVyZVJvdXRlcy5tYXAoKHIpID0+IHIucGF0aCArIHIuYWN0aXZlKSk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kRHJhZ2dhYmxlSW1hZ2Uoc3JjLCBzaXplID0gMTAwLCBkZWZhdWx0SWNvbiA9ICdjb21tdW5pY2F0aW9uOnNoaWVsZC10aHVuZGVyJykge1xuICAvLyBVc2VmdWxsIHdoZW4gaW1hZ2Ugc3JjIGlzIHN2Z1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgZGl2LnN0eWxlLmxlZnQgPSAnLTk5OXB4JztcbiAgZGl2LnN0eWxlLnRvcCA9ICctOTk5cHgnO1xuICBkaXYuc3R5bGUuekluZGV4ID0gMTAwMDtcbiAgaWYgKHNyYyAhPSBudWxsKSB7XG4gICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICBpbWFnZS5zcmMgPSBzcmM7XG4gICAgaW1hZ2Uuc3R5bGUgPSBgd2lkdGg6JHtzaXplfXB4O2hlaWdodDoke3NpemV9cHhgO1xuICAgIGRpdi5hcHBlbmRDaGlsZChpbWFnZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc3ZnRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnc3ZnJyk7XG4gICAgY29uc3QgdXNlRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAndXNlJyk7XG4gICAgdXNlRWxlbS5zZXRBdHRyaWJ1dGVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycsICd4bGluazpocmVmJywgZGVmYXVsdEljb24pO1xuICAgIHN2Z0VsZW0uYXBwZW5kQ2hpbGQodXNlRWxlbSk7XG4gICAgZGl2LmFwcGVuZENoaWxkKHN2Z0VsZW0pO1xuICB9XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcbiAgcmV0dXJuIGRpdjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXREZWVwKGFycikge1xuICByZXR1cm4gYXJyLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQoQXJyYXkuaXNBcnJheSh2YWwpID8gZmxhdERlZXAodmFsKSA6IHZhbCksIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXRPYmplY3Qob2JqLCBwcmVmaXggPSAnJykge1xuICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IHByZSA9IHByZWZpeC5sZW5ndGggPyBwcmVmaXggKyAnLicgOiAnJztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmpba10pKSBhY2NbcHJlICsga10gPSBvYmpba107XG4gICAgZWxzZSBpZiAodHlwZW9mIG9ialtrXSA9PT0gJ29iamVjdCcpIE9iamVjdC5hc3NpZ24oYWNjLCBmbGF0T2JqZWN0KG9ialtrXSwgcHJlICsgaykpO1xuICAgIGVsc2UgYWNjW3ByZSArIGtdID0gb2JqW2tdO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDbG9uZShvYmopIHtcbiAgaWYgKG9iaikge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1dWlkKCkge1xuICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoYykgPT4ge1xuICAgIGNvbnN0IHIgPSAoTWF0aC5yYW5kb20oKSAqIDE2KSB8IDA7XG4gICAgY29uc3QgdiA9IGMgPT09ICd4JyA/IHIgOiAociAmIDB4MykgfCAweDg7XG4gICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBFcXVhbChhLCBiLCB3aXRob3V0T3JkZXIgPSBmYWxzZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJiBBcnJheS5pc0FycmF5KGIpICYmIHdpdGhvdXRPcmRlcikge1xuICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB1bmlxdWVWYWx1ZXMgPSBuZXcgU2V0KFsuLi5hLCAuLi5iXSk7XG4gICAgZm9yIChjb25zdCB2IG9mIHVuaXF1ZVZhbHVlcykge1xuICAgICAgY29uc3QgYUNvdW50ID0gYS5maWx0ZXIoKGUpID0+IGUgPT09IHYpLmxlbmd0aDtcbiAgICAgIGNvbnN0IGJDb3VudCA9IGIuZmlsdGVyKChlKSA9PiBlID09PSB2KS5sZW5ndGg7XG4gICAgICBpZiAoYUNvdW50ICE9PSBiQ291bnQpIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBrZXlzMSA9IGEgIT0gbnVsbCA/IE9iamVjdC5rZXlzKGEpIDogW107XG4gIGNvbnN0IGtleXMyID0gYiAhPSBudWxsID8gT2JqZWN0LmtleXMoYikgOiBbXTtcblxuICBpZiAoa2V5czEubGVuZ3RoICE9PSBrZXlzMi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzMSkge1xuICAgIGNvbnN0IHZhbDEgPSBhW2tleV07XG4gICAgY29uc3QgdmFsMiA9IGJba2V5XTtcbiAgICBjb25zdCBhcmVPYmplY3RzID0gaXNPYmplY3QodmFsMSkgJiYgaXNPYmplY3QodmFsMik7XG4gICAgaWYgKChhcmVPYmplY3RzICYmICFkZWVwRXF1YWwodmFsMSwgdmFsMikpIHx8ICghYXJlT2JqZWN0cyAmJiB2YWwxICE9PSB2YWwyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KG9iamVjdCkge1xuICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYgdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCc7XG59XG4iXX0=
|
|
@@ -19,11 +19,11 @@ import Highcharts from 'highcharts';
|
|
|
19
19
|
import Highmaps from 'highcharts/highmaps';
|
|
20
20
|
import { cache } from 'lit/directives/cache';
|
|
21
21
|
import { withSkeletonAttribute } from './with-skeleton-attribute';
|
|
22
|
+
|
|
22
23
|
/**
|
|
23
24
|
* This is a mixin for ChartElement
|
|
24
25
|
* @mixinFunction
|
|
25
26
|
*/
|
|
26
|
-
|
|
27
27
|
export function ChartElement(ParentClass) {
|
|
28
28
|
/**
|
|
29
29
|
* @mixinClass
|
|
@@ -32,32 +32,58 @@ export function ChartElement(ParentClass) {
|
|
|
32
32
|
static get properties() {
|
|
33
33
|
return {
|
|
34
34
|
/** @required */
|
|
35
|
-
series: {
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
type: Array
|
|
40
|
-
},
|
|
41
|
-
_additionalOptions: {
|
|
42
|
-
type: Object,
|
|
43
|
-
attribute: false
|
|
44
|
-
},
|
|
45
|
-
_series: {
|
|
46
|
-
type: Array,
|
|
47
|
-
attribute: false
|
|
48
|
-
}
|
|
35
|
+
series: { type: Array },
|
|
36
|
+
options: { type: Array },
|
|
37
|
+
_additionalOptions: { type: Object, attribute: false },
|
|
38
|
+
_series: { type: Array, attribute: false },
|
|
49
39
|
};
|
|
50
40
|
}
|
|
51
41
|
|
|
52
42
|
static get styles() {
|
|
53
|
-
return [
|
|
54
|
-
|
|
43
|
+
return [
|
|
44
|
+
...super.styles,
|
|
45
|
+
// language=CSS
|
|
46
|
+
css`
|
|
47
|
+
:host {
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
display: flex;
|
|
50
|
+
height: 100%;
|
|
51
|
+
width: 100%;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
align-content: center;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.container {
|
|
58
|
+
flex: 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.tooltip {
|
|
62
|
+
display: grid;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.tooltip-2 {
|
|
66
|
+
grid-template-columns: repeat(2, 1fr);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.tooltip-3 {
|
|
70
|
+
grid-template-columns: repeat(3, 1fr);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.tooltip-4 {
|
|
74
|
+
grid-template-columns: repeat(4, 1fr);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.tooltip-5 {
|
|
78
|
+
grid-template-columns: repeat(5, 1fr);
|
|
79
|
+
}
|
|
80
|
+
`,
|
|
81
|
+
];
|
|
55
82
|
}
|
|
56
83
|
|
|
57
84
|
constructor() {
|
|
58
85
|
super();
|
|
59
86
|
this._skeletonAttribute = 'series';
|
|
60
|
-
|
|
61
87
|
this._eventListener = function eventListener() {
|
|
62
88
|
for (let i = 0; i < Highcharts.charts.length; i++) {
|
|
63
89
|
Highcharts.charts[i].reflow();
|
|
@@ -79,9 +105,8 @@ export function ChartElement(ParentClass) {
|
|
|
79
105
|
|
|
80
106
|
updated(changedProperties) {
|
|
81
107
|
super.updated(changedProperties);
|
|
82
|
-
|
|
83
108
|
if (changedProperties.has('_series')) {
|
|
84
|
-
this.getOptions().then(options => {
|
|
109
|
+
this.getOptions().then((options) => {
|
|
85
110
|
this._additionalOptions = options;
|
|
86
111
|
});
|
|
87
112
|
}
|
|
@@ -91,7 +116,6 @@ export function ChartElement(ParentClass) {
|
|
|
91
116
|
if (this._error) {
|
|
92
117
|
return html` <div class="error">${i18n('gv-chart.error')}</div>`;
|
|
93
118
|
}
|
|
94
|
-
|
|
95
119
|
if (this._empty) {
|
|
96
120
|
return html` <div class="empty">${i18n('gv-chart.empty')}</div>`;
|
|
97
121
|
}
|
|
@@ -102,25 +126,26 @@ export function ChartElement(ParentClass) {
|
|
|
102
126
|
container.classList.add('container');
|
|
103
127
|
|
|
104
128
|
if (this._additionalOptions) {
|
|
105
|
-
const options = {
|
|
129
|
+
const options = {
|
|
130
|
+
...{
|
|
106
131
|
chart: {
|
|
107
132
|
height: '100%',
|
|
108
|
-
width: '100%'
|
|
133
|
+
width: '100%',
|
|
109
134
|
},
|
|
110
135
|
credits: {
|
|
111
|
-
enabled: false
|
|
136
|
+
enabled: false,
|
|
112
137
|
},
|
|
113
138
|
title: {
|
|
114
|
-
text: ''
|
|
139
|
+
text: '',
|
|
115
140
|
},
|
|
116
141
|
time: {
|
|
117
|
-
useUTC: false
|
|
118
|
-
}
|
|
142
|
+
useUTC: false,
|
|
143
|
+
},
|
|
119
144
|
},
|
|
120
|
-
...this._additionalOptions
|
|
145
|
+
...this._additionalOptions,
|
|
121
146
|
};
|
|
122
|
-
const hasData = this._series && this._series.values && this._series.values[0] && this._series.values[0].data;
|
|
123
147
|
|
|
148
|
+
const hasData = this._series && this._series.values && this._series.values[0] && this._series.values[0].data;
|
|
124
149
|
if (hasData) {
|
|
125
150
|
options.series = this._series && this._series.values;
|
|
126
151
|
}
|
|
@@ -136,7 +161,5 @@ export function ChartElement(ParentClass) {
|
|
|
136
161
|
|
|
137
162
|
return html`${cache(container)}`;
|
|
138
163
|
}
|
|
139
|
-
|
|
140
164
|
};
|
|
141
165
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9jaGFydC1lbGVtZW50LmpzIl0sIm5hbWVzIjpbImh0bWwiLCJjc3MiLCJpMThuIiwiSGlnaGNoYXJ0cyIsIkhpZ2htYXBzIiwiY2FjaGUiLCJ3aXRoU2tlbGV0b25BdHRyaWJ1dGUiLCJDaGFydEVsZW1lbnQiLCJQYXJlbnRDbGFzcyIsInByb3BlcnRpZXMiLCJzZXJpZXMiLCJ0eXBlIiwiQXJyYXkiLCJvcHRpb25zIiwiX2FkZGl0aW9uYWxPcHRpb25zIiwiT2JqZWN0IiwiYXR0cmlidXRlIiwiX3NlcmllcyIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3NrZWxldG9uQXR0cmlidXRlIiwiX2V2ZW50TGlzdGVuZXIiLCJldmVudExpc3RlbmVyIiwiaSIsImNoYXJ0cyIsImxlbmd0aCIsInJlZmxvdyIsImNvbm5lY3RlZENhbGxiYWNrIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImdldE9wdGlvbnMiLCJ1cGRhdGVkIiwiY2hhbmdlZFByb3BlcnRpZXMiLCJoYXMiLCJ0aGVuIiwicmVuZGVyIiwiX2Vycm9yIiwiX2VtcHR5IiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaWQiLCJjbGFzc05hbWUiLCJfc2tlbGV0b24iLCJjbGFzc0xpc3QiLCJhZGQiLCJjaGFydCIsImhlaWdodCIsIndpZHRoIiwiY3JlZGl0cyIsImVuYWJsZWQiLCJ0aXRsZSIsInRleHQiLCJ0aW1lIiwidXNlVVRDIiwiaGFzRGF0YSIsInZhbHVlcyIsImRhdGEiLCJzZXRUaW1lb3V0IiwibWFwIiwibWFwQ2hhcnQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNB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UixTQUFqQixFQUE0QjNCLE9BQTVCO0FBQ0Q7QUFDRixTQU5TLENBQVY7QUFPRDs7QUFFRCxhQUFPYixJQUFJLEdBQUdLLEtBQUssQ0FBQ21DLFNBQUQsQ0FBUixFQUFYO0FBQ0Q7O0FBcElxRCxHQUF4RDtBQXNJRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IEhpZ2htYXBzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaG1hcHMnO1xuaW1wb3J0IHsgY2FjaGUgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jYWNoZSc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuL3dpdGgtc2tlbGV0b24tYXR0cmlidXRlJztcblxuLyoqXG4gKiBUaGlzIGlzIGEgbWl4aW4gZm9yIENoYXJ0RWxlbWVudFxuICogQG1peGluRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENoYXJ0RWxlbWVudChQYXJlbnRDbGFzcykge1xuICAvKipcbiAgICogQG1peGluQ2xhc3NcbiAgICovXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIHdpdGhTa2VsZXRvbkF0dHJpYnV0ZShQYXJlbnRDbGFzcykge1xuICAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8qKiBAcmVxdWlyZWQgKi9cbiAgICAgICAgc2VyaWVzOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICAgIG9wdGlvbnM6IHsgdHlwZTogQXJyYXkgfSxcbiAgICAgICAgX2FkZGl0aW9uYWxPcHRpb25zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgICBfc2VyaWVzOiB7IHR5cGU6IEFycmF5LCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgICAgY3NzYFxuICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRvb2x0aXAtMiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50b29sdGlwLTMge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudG9vbHRpcC00IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRvb2x0aXAtNSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5fc2tlbGV0b25BdHRyaWJ1dGUgPSAnc2VyaWVzJztcbiAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbiBldmVudExpc3RlbmVyKCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEhpZ2hjaGFydHMuY2hhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgSGlnaGNoYXJ0cy5jaGFydHNbaV0ucmVmbG93KCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX2V2ZW50TGlzdGVuZXIpO1xuICAgIH1cblxuICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLl9ldmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRPcHRpb25zKCkge31cblxuICAgIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnX3NlcmllcycpKSB7XG4gICAgICAgIHRoaXMuZ2V0T3B0aW9ucygpLnRoZW4oKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICB0aGlzLl9hZGRpdGlvbmFsT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGlmICh0aGlzLl9lcnJvcikge1xuICAgICAgICByZXR1cm4gaHRtbGAgPGRpdiBjbGFzcz1cImVycm9yXCI+JHtpMThuKCdndi1jaGFydC5lcnJvcicpfTwvZGl2PmA7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZW1wdHkpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPiR7aTE4bignZ3YtY2hhcnQuZW1wdHknKX08L2Rpdj5gO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGNvbnRhaW5lci5pZCA9ICdjb250YWluZXInO1xuICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMuX3NrZWxldG9uIHx8IHRoaXMuX2FkZGl0aW9uYWxPcHRpb25zID09IG51bGwgPyAnc2tlbGV0b24nIDogJyc7XG4gICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnY29udGFpbmVyJyk7XG5cbiAgICAgIGlmICh0aGlzLl9hZGRpdGlvbmFsT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgIC4uLntcbiAgICAgICAgICAgIGNoYXJ0OiB7XG4gICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNyZWRpdHM6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGltZToge1xuICAgICAgICAgICAgICB1c2VVVEM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLnRoaXMuX2FkZGl0aW9uYWxPcHRpb25zLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGhhc0RhdGEgPSB0aGlzLl9zZXJpZXMgJiYgdGhpcy5fc2VyaWVzLnZhbHVlcyAmJiB0aGlzLl9zZXJpZXMudmFsdWVzWzBdICYmIHRoaXMuX3Nlcmllcy52YWx1ZXNbMF0uZGF0YTtcbiAgICAgICAgaWYgKGhhc0RhdGEpIHtcbiAgICAgICAgICBvcHRpb25zLnNlcmllcyA9IHRoaXMuX3NlcmllcyAmJiB0aGlzLl9zZXJpZXMudmFsdWVzO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuY2hhcnQubWFwKSB7XG4gICAgICAgICAgICBIaWdobWFwcy5tYXBDaGFydChjb250YWluZXIsIG9wdGlvbnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBIaWdoY2hhcnRzLmNoYXJ0KGNvbnRhaW5lciwgb3B0aW9ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGh0bWxgJHtjYWNoZShjb250YWluZXIpfWA7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { css, html } from 'lit';
|
|
17
|
+
|
|
17
18
|
export function InputElement(ParentClass) {
|
|
18
19
|
/**
|
|
19
20
|
* @mixinClass
|
|
@@ -21,57 +22,54 @@ export function InputElement(ParentClass) {
|
|
|
21
22
|
return class extends ParentClass {
|
|
22
23
|
static get properties() {
|
|
23
24
|
return {
|
|
24
|
-
disabled: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
type: Boolean
|
|
38
|
-
},
|
|
39
|
-
value: {
|
|
40
|
-
type: String,
|
|
41
|
-
reflect: true
|
|
42
|
-
},
|
|
43
|
-
label: {
|
|
44
|
-
type: String
|
|
45
|
-
},
|
|
46
|
-
title: {
|
|
47
|
-
type: String
|
|
48
|
-
},
|
|
49
|
-
name: {
|
|
50
|
-
type: String
|
|
51
|
-
},
|
|
52
|
-
placeholder: {
|
|
53
|
-
type: String
|
|
54
|
-
},
|
|
55
|
-
description: {
|
|
56
|
-
type: String
|
|
57
|
-
},
|
|
58
|
-
autofocus: {
|
|
59
|
-
type: Boolean
|
|
60
|
-
},
|
|
61
|
-
invalid: {
|
|
62
|
-
type: Boolean,
|
|
63
|
-
reflect: true
|
|
64
|
-
},
|
|
65
|
-
valid: {
|
|
66
|
-
type: Boolean,
|
|
67
|
-
reflect: true
|
|
68
|
-
}
|
|
25
|
+
disabled: { type: Boolean, reflect: true },
|
|
26
|
+
required: { type: Boolean, reflect: true },
|
|
27
|
+
readonly: { type: Boolean, reflect: true },
|
|
28
|
+
skeleton: { type: Boolean },
|
|
29
|
+
value: { type: String, reflect: true },
|
|
30
|
+
label: { type: String },
|
|
31
|
+
title: { type: String },
|
|
32
|
+
name: { type: String },
|
|
33
|
+
placeholder: { type: String },
|
|
34
|
+
description: { type: String },
|
|
35
|
+
autofocus: { type: Boolean },
|
|
36
|
+
invalid: { type: Boolean, reflect: true },
|
|
37
|
+
valid: { type: Boolean, reflect: true },
|
|
69
38
|
};
|
|
70
39
|
}
|
|
71
40
|
|
|
72
41
|
static get styles() {
|
|
73
|
-
return [
|
|
74
|
-
|
|
42
|
+
return [
|
|
43
|
+
// language=CSS
|
|
44
|
+
css`
|
|
45
|
+
:host {
|
|
46
|
+
box-sizing: border-box;
|
|
47
|
+
margin: 0.2rem;
|
|
48
|
+
display: block;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:host([invalid]) :not(.clipboard) input,
|
|
52
|
+
:host([invalid]) :not(.clipboard) ::slotted(.input),
|
|
53
|
+
:host([invalid]) :not(.clipboard) .box-icon-left,
|
|
54
|
+
:host([invalid]) :not(.clipboard) textarea,
|
|
55
|
+
:host([invalid]) :not(.clipboard) select,
|
|
56
|
+
:host([invalid]) :not(.clipboard) .input {
|
|
57
|
+
box-shadow: inset 3px 0 0 var(--gv-input-invalid--bxshc, var(--gv-theme-color-error, #da1a1b));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:host([readonly]) :not(.clipboard) input,
|
|
61
|
+
:host([readonly]) :not(.clipboard) ::slotted(.input),
|
|
62
|
+
:host([readonly]) .textarea,
|
|
63
|
+
:host([readonly]) :not(.clipboard) select,
|
|
64
|
+
:host([readonly]) .input {
|
|
65
|
+
border-left: 1px solid var(--gv-input--bdc, var(--gv-theme-neutral-color-dark, #d9d9d9));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([readonly]) input::placeholder {
|
|
69
|
+
color: transparent;
|
|
70
|
+
}
|
|
71
|
+
`,
|
|
72
|
+
];
|
|
75
73
|
}
|
|
76
74
|
|
|
77
75
|
constructor() {
|
|
@@ -83,7 +81,7 @@ export function InputElement(ParentClass) {
|
|
|
83
81
|
|
|
84
82
|
updateState(value) {
|
|
85
83
|
if (this.required && !this.readonly) {
|
|
86
|
-
this.setValidity(value == null || value.length === 0 || typeof value === 'string' && value.trim() === '', 'field is required');
|
|
84
|
+
this.setValidity(value == null || value.length === 0 || (typeof value === 'string' && value.trim() === ''), 'field is required');
|
|
87
85
|
} else {
|
|
88
86
|
this.setValidity();
|
|
89
87
|
}
|
|
@@ -91,21 +89,17 @@ export function InputElement(ParentClass) {
|
|
|
91
89
|
|
|
92
90
|
setValidity(isInvalid = false, violation = '') {
|
|
93
91
|
const element = this.getInputElement();
|
|
94
|
-
|
|
95
92
|
if (element && element.setCustomValidity) {
|
|
96
93
|
if (isInvalid) {
|
|
97
94
|
if (violation == null || violation.trim() === '') {
|
|
98
95
|
violation = 'field is not valid';
|
|
99
96
|
}
|
|
100
|
-
|
|
101
97
|
element.setCustomValidity(violation);
|
|
102
98
|
} else {
|
|
103
99
|
element.setCustomValidity('');
|
|
104
100
|
}
|
|
105
|
-
|
|
106
101
|
element.reportValidity();
|
|
107
102
|
}
|
|
108
|
-
|
|
109
103
|
this.invalid = isInvalid;
|
|
110
104
|
this.valid = !this.invalid;
|
|
111
105
|
}
|
|
@@ -113,12 +107,10 @@ export function InputElement(ParentClass) {
|
|
|
113
107
|
firstUpdated() {
|
|
114
108
|
if (this.autofocus) {
|
|
115
109
|
const input = this.getInputElement();
|
|
116
|
-
|
|
117
110
|
if (input != null) {
|
|
118
111
|
this.getInputElement().focus();
|
|
119
112
|
}
|
|
120
113
|
}
|
|
121
|
-
|
|
122
114
|
this.updateState(this.value);
|
|
123
115
|
}
|
|
124
116
|
|
|
@@ -135,23 +127,18 @@ export function InputElement(ParentClass) {
|
|
|
135
127
|
get offsetHeight() {
|
|
136
128
|
if (this.description != null) {
|
|
137
129
|
const element = this.shadowRoot.querySelector('.description');
|
|
138
|
-
|
|
139
130
|
if (element != null) {
|
|
140
131
|
return super.offsetHeight - element.offsetHeight;
|
|
141
132
|
}
|
|
142
133
|
}
|
|
143
|
-
|
|
144
134
|
return super.offsetHeight;
|
|
145
135
|
}
|
|
146
136
|
|
|
147
137
|
renderLabel() {
|
|
148
138
|
if (this.label) {
|
|
149
|
-
return html`<label for
|
|
139
|
+
return html`<label for=${this.id} title="${this.label}">${this.label}</label>`;
|
|
150
140
|
}
|
|
151
|
-
|
|
152
141
|
return '';
|
|
153
142
|
}
|
|
154
|
-
|
|
155
143
|
};
|
|
156
144
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9pbnB1dC1lbGVtZW50LmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJJbnB1dEVsZW1lbnQiLCJQYXJlbnRDbGFzcyIsInByb3BlcnRpZXMiLCJkaXNhYmxlZCIsInR5cGUiLCJCb29sZWFuIiwicmVmbGVjdCIsInJlcXVpcmVkIiwicmVhZG9ubHkiLCJza2VsZXRvbiIsInZhbHVlIiwiU3RyaW5nIiwibGFiZWwiLCJ0aXRsZSIsIm5hbWUiLCJwbGFjZWhvbGRlciIsImRlc2NyaXB0aW9uIiwiYXV0b2ZvY3VzIiwiaW52YWxpZCIsInZhbGlkIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJfaWQiLCJEYXRlIiwiZ2V0VGltZSIsInVwZGF0ZVN0YXRlIiwic2V0VmFsaWRpdHkiLCJsZW5ndGgiLCJ0cmltIiwiaXNJbnZhbGlkIiwidmlvbGF0aW9uIiwiZWxlbWVudCIsImdldElucHV0RWxlbWVudCIsInNldEN1c3RvbVZhbGlkaXR5IiwicmVwb3J0VmFsaWRpdHkiLCJmaXJzdFVwZGF0ZWQiLCJpbnB1dCIsImZvY3VzIiwidXBkYXRlZCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwiaGFzIiwic2hhZG93Um9vdCIsInF1ZXJ5U2VsZWN0b3IiLCJvZmZzZXRIZWlnaHQiLCJyZW5kZXJMYWJlbCIsImlkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLElBQWQsUUFBMEIsS0FBMUI7QUFFQSxPQUFPLFNBQVNDLFlBQVQsQ0FBc0JDLFdBQXRCLEVBQW1DO0FBQ3hDO0FBQ0Y7QUFDQTtBQUNFLFNBQU8sY0FBY0EsV0FBZCxDQUEwQjtBQUNWLGVBQVZDLFVBQVUsR0FBRztBQUN0QixhQUFPO0FBQ0xDLFFBQUFBLFFBQVEsRUFBRTtBQUFFQyxVQUFBQSxJQUFJLEVBQUVDLE9BQVI7QUFBaUJDLFVBQUFBLE9BQU8sRUFBRTtBQUExQixTQURMO0FBRUxDLFFBQUFBLFFBQVEsRUFBRTtBQUFFSCxVQUFBQSxJQUFJLEVBQUVDLE9BQVI7QUFBaUJDLFVBQUFBLE9BQU8sRUFBRTtBQUExQixTQUZMO0FBR0xFLFFBQUFBLFFBQVEsRUFBRTtBQUFFSixVQUFBQSxJQUFJLEVBQUVDLE9BQVI7QUFBaUJDLFVBQUFBLE9BQU8sRUFBRTtBQUExQixTQUhMO0FBSUxHLFFBQUFBLFFBQVEsRUFBRTtBQUFFTCxVQUFBQSxJQUFJLEVBQUVDO0FBQVIsU0FKTDtBQUtMSyxRQUFBQSxLQUFLLEVBQUU7QUFBRU4sVUFBQUEsSUFBSSxFQUFFTyxNQUFSO0FBQWdCTCxVQUFBQSxPQUFPLEVBQUU7QUFBekIsU0FMRjtBQU1MTSxRQUFBQSxLQUFLLEVBQUU7QUFBRVIsVUFBQUEsSUFBSSxFQUFFTztBQUFSLFNBTkY7QUFPTEUsUUFBQUEsS0FBSyxFQUFFO0FBQUVULFVBQUFBLElBQUksRUFBRU87QUFBUixTQVBGO0FBUUxHLFFBQUFBLElBQUksRUFBRTtBQUFFVixVQUFBQSxJQUFJLEVBQUVPO0FBQVIsU0FSRDtBQVNMSSxRQUFBQSxXQUFXLEVBQUU7QUFBRVgsVUFBQUEsSUFBSSxFQUFFTztBQUFSLFNBVFI7QUFVTEssUUFBQUEsV0FBVyxFQUFFO0FBQUVaLFVBQUFBLElBQUksRUFBRU87QUFBUixTQVZSO0FBV0xNLFFBQUFBLFNBQVMsRUFBRTtBQUFFYixVQUFBQSxJQUFJLEVBQUVDO0FBQVIsU0FYTjtBQVlMYSxRQUFBQSxPQUFPLEVBQUU7QUFBRWQsVUFBQUEsSUFBSSxFQUFFQyxPQUFSO0FBQWlCQyxVQUFBQSxPQUFPLEVBQUU7QUFBMUIsU0FaSjtBQWFMYSxRQUFBQSxLQUFLLEVBQUU7QUFBRWYsVUFBQUEsSUFBSSxFQUFFQyxPQUFSO0FBQWlCQyxVQUFBQSxPQUFPLEVBQUU7QUFBMUI7QUFiRixPQUFQO0FBZUQ7O0FBRWdCLGVBQU5jLE1BQU0sR0FBRztBQUNsQixhQUFPLENBQ0w7QUFDQXRCLE1BQUFBLEdBQUcseXVCQUZFLENBQVA7QUErQkQ7O0FBRUR1QixJQUFBQSxXQUFXLEdBQUc7QUFDWjtBQUNBLFdBQUtDLEdBQUwsR0FBWSxZQUFXLElBQUlDLElBQUosR0FBV0MsT0FBWCxFQUFxQixFQUE1QztBQUNBLFdBQUtMLEtBQUwsR0FBYSxJQUFiO0FBQ0EsV0FBS0QsT0FBTCxHQUFlLEtBQWY7QUFDRDs7QUFFRE8sSUFBQUEsV0FBVyxDQUFDZixLQUFELEVBQVE7QUFDakIsVUFBSSxLQUFLSCxRQUFMLElBQWlCLENBQUMsS0FBS0MsUUFBM0IsRUFBcUM7QUFDbkMsYUFBS2tCLFdBQUwsQ0FBaUJoQixLQUFLLElBQUksSUFBVCxJQUFpQkEsS0FBSyxDQUFDaUIsTUFBTixLQUFpQixDQUFsQyxJQUF3QyxPQUFPakIsS0FBUCxLQUFpQixRQUFqQixJQUE2QkEsS0FBSyxDQUFDa0IsSUFBTixPQUFpQixFQUF2RyxFQUE0RyxtQkFBNUc7QUFDRCxPQUZELE1BRU87QUFDTCxhQUFLRixXQUFMO0FBQ0Q7QUFDRjs7QUFFREEsSUFBQUEsV0FBVyxDQUFDRyxTQUFTLEdBQUcsS0FBYixFQUFvQkMsU0FBUyxHQUFHLEVBQWhDLEVBQW9DO0FBQzdDLFlBQU1DLE9BQU8sR0FBRyxLQUFLQyxlQUFMLEVBQWhCOztBQUNBLFVBQUlELE9BQU8sSUFBSUEsT0FBTyxDQUFDRSxpQkFBdkIsRUFBMEM7QUFDeEMsWUFBSUosU0FBSixFQUFlO0FBQ2IsY0FBSUMsU0FBUyxJQUFJLElBQWIsSUFBcUJBLFNBQVMsQ0FBQ0YsSUFBVixPQUFxQixFQUE5QyxFQUFrRDtBQUNoREUsWUFBQUEsU0FBUyxHQUFHLG9CQUFaO0FBQ0Q7O0FBQ0RDLFVBQUFBLE9BQU8sQ0FBQ0UsaUJBQVIsQ0FBMEJILFNBQTFCO0FBQ0QsU0FMRCxNQUtPO0FBQ0xDLFVBQUFBLE9BQU8sQ0FBQ0UsaUJBQVIsQ0FBMEIsRUFBMUI7QUFDRDs7QUFDREYsUUFBQUEsT0FBTyxDQUFDRyxjQUFSO0FBQ0Q7O0FBQ0QsV0FBS2hCLE9BQUwsR0FBZVcsU0FBZjtBQUNBLFdBQUtWLEtBQUwsR0FBYSxDQUFDLEtBQUtELE9BQW5CO0FBQ0Q7O0FBRURpQixJQUFBQSxZQUFZLEdBQUc7QUFDYixVQUFJLEtBQUtsQixTQUFULEVBQW9CO0FBQ2xCLGNBQU1tQixLQUFLLEdBQUcsS0FBS0osZUFBTCxFQUFkOztBQUNBLFlBQUlJLEtBQUssSUFBSSxJQUFiLEVBQW1CO0FBQ2pCLGVBQUtKLGVBQUwsR0FBdUJLLEtBQXZCO0FBQ0Q7QUFDRjs7QUFDRCxXQUFLWixXQUFMLENBQWlCLEtBQUtmLEtBQXRCO0FBQ0Q7O0FBRUQ0QixJQUFBQSxPQUFPLENBQUNDLGlCQUFELEVBQW9CO0FBQ3pCLFVBQUlBLGlCQUFpQixDQUFDQyxHQUFsQixDQUFzQixPQUF0QixDQUFKLEVBQW9DO0FBQ2xDLGFBQUtmLFdBQUwsQ0FBaUIsS0FBS2YsS0FBdEI7QUFDRDtBQUNGOztBQUVEc0IsSUFBQUEsZUFBZSxHQUFHO0FBQ2hCLGFBQU8sS0FBS1MsVUFBTCxHQUFrQixLQUFLQSxVQUFMLENBQWdCQyxhQUFoQixDQUE4QixPQUE5QixDQUFsQixHQUEyRCxJQUFsRTtBQUNEOztBQUVlLFFBQVpDLFlBQVksR0FBRztBQUNqQixVQUFJLEtBQUszQixXQUFMLElBQW9CLElBQXhCLEVBQThCO0FBQzVCLGNBQU1lLE9BQU8sR0FBRyxLQUFLVSxVQUFMLENBQWdCQyxhQUFoQixDQUE4QixjQUE5QixDQUFoQjs7QUFDQSxZQUFJWCxPQUFPLElBQUksSUFBZixFQUFxQjtBQUNuQixpQkFBTyxNQUFNWSxZQUFOLEdBQXFCWixPQUFPLENBQUNZLFlBQXBDO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPLE1BQU1BLFlBQWI7QUFDRDs7QUFFREMsSUFBQUEsV0FBVyxHQUFHO0FBQ1osVUFBSSxLQUFLaEMsS0FBVCxFQUFnQjtBQUNkLGVBQU9iLElBQUksZUFBYyxLQUFLOEMsRUFBbkIsWUFBZ0MsS0FBS2pDLEtBQXJDLEtBQStDLEtBQUtBLEtBQXBELFVBQVg7QUFDRDs7QUFDRCxhQUFPLEVBQVA7QUFDRDs7QUF4SDhCLEdBQWpDO0FBMEhEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNzcywgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnB1dEVsZW1lbnQoUGFyZW50Q2xhc3MpIHtcbiAgLyoqXG4gICAqIEBtaXhpbkNsYXNzXG4gICAqL1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBQYXJlbnRDbGFzcyB7XG4gICAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgICByZXF1aXJlZDogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICAgIHJlYWRvbmx5OiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgICB2YWx1ZTogeyB0eXBlOiBTdHJpbmcsIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgICAgbGFiZWw6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgICBuYW1lOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgICBwbGFjZWhvbGRlcjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgIGF1dG9mb2N1czogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICAgIGludmFsaWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgICB2YWxpZDogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICAgIGNzc2BcbiAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA6aG9zdChbaW52YWxpZF0pIDpub3QoLmNsaXBib2FyZCkgaW5wdXQsXG4gICAgICAgICAgOmhvc3QoW2ludmFsaWRdKSA6bm90KC5jbGlwYm9hcmQpIDo6c2xvdHRlZCguaW5wdXQpLFxuICAgICAgICAgIDpob3N0KFtpbnZhbGlkXSkgOm5vdCguY2xpcGJvYXJkKSAuYm94LWljb24tbGVmdCxcbiAgICAgICAgICA6aG9zdChbaW52YWxpZF0pIDpub3QoLmNsaXBib2FyZCkgdGV4dGFyZWEsXG4gICAgICAgICAgOmhvc3QoW2ludmFsaWRdKSA6bm90KC5jbGlwYm9hcmQpIHNlbGVjdCxcbiAgICAgICAgICA6aG9zdChbaW52YWxpZF0pIDpub3QoLmNsaXBib2FyZCkgLmlucHV0IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDNweCAwIDAgdmFyKC0tZ3YtaW5wdXQtaW52YWxpZC0tYnhzaGMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWVycm9yLCAjZGExYTFiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgOmhvc3QoW3JlYWRvbmx5XSkgOm5vdCguY2xpcGJvYXJkKSBpbnB1dCxcbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSA6bm90KC5jbGlwYm9hcmQpIDo6c2xvdHRlZCguaW5wdXQpLFxuICAgICAgICAgIDpob3N0KFtyZWFkb25seV0pIC50ZXh0YXJlYSxcbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSA6bm90KC5jbGlwYm9hcmQpIHNlbGVjdCxcbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSAuaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ndi1pbnB1dC0tYmRjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5faWQgPSBgZ3YtaW5wdXQtJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gO1xuICAgICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgICB0aGlzLmludmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB1cGRhdGVTdGF0ZSh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eSh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCB8fCAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSwgJ2ZpZWxkIGlzIHJlcXVpcmVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0VmFsaWRpdHkoaXNJbnZhbGlkID0gZmFsc2UsIHZpb2xhdGlvbiA9ICcnKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkpIHtcbiAgICAgICAgaWYgKGlzSW52YWxpZCkge1xuICAgICAgICAgIGlmICh2aW9sYXRpb24gPT0gbnVsbCB8fCB2aW9sYXRpb24udHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgdmlvbGF0aW9uID0gJ2ZpZWxkIGlzIG5vdCB2YWxpZCc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkodmlvbGF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KCcnKTtcbiAgICAgICAgfVxuICAgICAgICBlbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgICB0aGlzLmludmFsaWQgPSBpc0ludmFsaWQ7XG4gICAgICB0aGlzLnZhbGlkID0gIXRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBmaXJzdFVwZGF0ZWQoKSB7XG4gICAgICBpZiAodGhpcy5hdXRvZm9jdXMpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmdldElucHV0RWxlbWVudCgpO1xuICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKSB7XG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZScpKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUodGhpcy52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SW5wdXRFbGVtZW50KCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdCA/IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgb2Zmc2V0SGVpZ2h0KCkge1xuICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24gIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5kZXNjcmlwdGlvbicpO1xuICAgICAgICBpZiAoZWxlbWVudCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLm9mZnNldEhlaWdodCAtIGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3VwZXIub2Zmc2V0SGVpZ2h0O1xuICAgIH1cblxuICAgIHJlbmRlckxhYmVsKCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgPGxhYmVsIGZvcj0ke3RoaXMuaWR9IHRpdGxlPVwiJHt0aGlzLmxhYmVsfVwiPiR7dGhpcy5sYWJlbH08L2xhYmVsPmA7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -18,33 +18,24 @@ import { repeat } from 'lit/directives/repeat';
|
|
|
18
18
|
import '../molecules/gv-identity-picture';
|
|
19
19
|
import { getLabels, getPicture, getStates, getRating, getPictureDisplayName } from '../lib/item';
|
|
20
20
|
import { withSkeletonAttribute } from './with-skeleton-attribute';
|
|
21
|
+
|
|
21
22
|
/**
|
|
22
23
|
* This is a mixin for ItemResource
|
|
23
24
|
* @mixinFunction
|
|
24
25
|
*/
|
|
25
|
-
|
|
26
26
|
export function ItemResource(ParentClass) {
|
|
27
27
|
/**
|
|
28
28
|
* @mixinClass
|
|
29
29
|
*/
|
|
30
30
|
return class extends withSkeletonAttribute(ParentClass) {
|
|
31
31
|
static get properties() {
|
|
32
|
-
return {
|
|
33
|
-
|
|
32
|
+
return {
|
|
33
|
+
...super.properties,
|
|
34
34
|
/** @required */
|
|
35
|
-
item: {
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
type: String
|
|
40
|
-
},
|
|
41
|
-
metrics: {
|
|
42
|
-
type: Object
|
|
43
|
-
},
|
|
44
|
-
_item: {
|
|
45
|
-
type: Object,
|
|
46
|
-
attribute: false
|
|
47
|
-
}
|
|
35
|
+
item: { type: Object },
|
|
36
|
+
href: { type: String },
|
|
37
|
+
metrics: { type: Object },
|
|
38
|
+
_item: { type: Object, attribute: false },
|
|
48
39
|
};
|
|
49
40
|
}
|
|
50
41
|
|
|
@@ -61,9 +52,13 @@ export function ItemResource(ParentClass) {
|
|
|
61
52
|
|
|
62
53
|
_renderImage() {
|
|
63
54
|
if (this._item && !this._empty) {
|
|
64
|
-
return html`<gv-identity-picture
|
|
55
|
+
return html`<gv-identity-picture
|
|
56
|
+
.skeleton="${this._skeleton}"
|
|
57
|
+
.display_name="${getPictureDisplayName(this._item)}"
|
|
58
|
+
.picture="${getPicture(this._item)}"
|
|
59
|
+
@load="${this._onImageLoaded}"
|
|
60
|
+
></gv-identity-picture>`;
|
|
65
61
|
}
|
|
66
|
-
|
|
67
62
|
return '';
|
|
68
63
|
}
|
|
69
64
|
|
|
@@ -73,25 +68,30 @@ export function ItemResource(ParentClass) {
|
|
|
73
68
|
|
|
74
69
|
_renderLabels(clickable) {
|
|
75
70
|
const labels = getLabels(this._item);
|
|
76
|
-
|
|
77
71
|
if (labels) {
|
|
78
|
-
return repeat(
|
|
72
|
+
return repeat(
|
|
73
|
+
labels,
|
|
74
|
+
(label) => label,
|
|
75
|
+
(label) =>
|
|
76
|
+
html`<gv-tag ?clickable="${clickable}" @gv-tag:click="${this._onTagClick.bind(this, label)}" ?skeleton="${this._skeleton}" major
|
|
77
|
+
>${label}</gv-tag
|
|
78
|
+
>`,
|
|
79
|
+
);
|
|
79
80
|
}
|
|
80
|
-
|
|
81
81
|
return '';
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
_renderStates() {
|
|
85
85
|
const states = getStates(this._item);
|
|
86
|
-
|
|
87
86
|
if (states) {
|
|
88
|
-
return repeat(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
minor
|
|
92
|
-
|
|
87
|
+
return repeat(
|
|
88
|
+
states,
|
|
89
|
+
(state) => state,
|
|
90
|
+
({ value, major, minor }) => html`
|
|
91
|
+
<gv-state ?skeleton="${this._skeleton}" ?major="${major === true}" ?minor="${minor === true}">${value}</gv-state>
|
|
92
|
+
`,
|
|
93
|
+
);
|
|
93
94
|
}
|
|
94
|
-
|
|
95
95
|
return '';
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -101,7 +101,9 @@ export function ItemResource(ParentClass) {
|
|
|
101
101
|
|
|
102
102
|
_renderMetricsWithRating() {
|
|
103
103
|
if (this.metrics) {
|
|
104
|
-
return html`
|
|
104
|
+
return html`
|
|
105
|
+
<gv-metrics .metrics="${this.metrics}" @gv-metrics:click="${this._onClickToMetrics}"> ${this._renderInfoRating()} </gv-metrics>
|
|
106
|
+
`;
|
|
105
107
|
} else {
|
|
106
108
|
return this._renderInfoRating();
|
|
107
109
|
}
|
|
@@ -109,14 +111,10 @@ export function ItemResource(ParentClass) {
|
|
|
109
111
|
|
|
110
112
|
_renderInfoRating() {
|
|
111
113
|
const rating = getRating(this._item);
|
|
112
|
-
|
|
113
114
|
if (rating && rating.count) {
|
|
114
|
-
return html`<gv-rating readonly
|
|
115
|
+
return html`<gv-rating readonly .skeleton="${this._skeleton}" .value="${rating.average}" .count="${rating.count}"></gv-rating>`;
|
|
115
116
|
}
|
|
116
|
-
|
|
117
117
|
return '';
|
|
118
118
|
}
|
|
119
|
-
|
|
120
119
|
};
|
|
121
120
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9pdGVtLXJlc291cmNlLmpzIl0sIm5hbWVzIjpbImh0bWwiLCJyZXBlYXQiLCJnZXRMYWJlbHMiLCJnZXRQaWN0dXJlIiwiZ2V0U3RhdGVzIiwiZ2V0UmF0aW5nIiwiZ2V0UGljdHVyZURpc3BsYXlOYW1lIiwid2l0aFNrZWxldG9uQXR0cmlidXRlIiwiSXRlbVJlc291cmNlIiwiUGFyZW50Q2xhc3MiLCJwcm9wZXJ0aWVzIiwiaXRlbSIsInR5cGUiLCJPYmplY3QiLCJocmVmIiwiU3RyaW5nIiwibWV0cmljcyIsIl9pdGVtIiwiYXR0cmlidXRlIiwiY29uc3RydWN0b3IiLCJfc2tlbGV0b25BdHRyaWJ1dGUiLCJfb25JbWFnZUxvYWRlZCIsIl9za2VsZXRvbiIsIl9yZW5kZXJJbWFnZSIsIl9lbXB0eSIsIl9vblRhZ0NsaWNrIiwidGFnVmFsdWUiLCJldmVudCIsImRldGFpbCIsIl9yZW5kZXJMYWJlbHMiLCJjbGlja2FibGUiLCJsYWJlbHMiLCJsYWJlbCIsImJpbmQiLCJfcmVuZGVyU3RhdGVzIiwic3RhdGVzIiwic3RhdGUiLCJ2YWx1ZSIsIm1ham9yIiwibWlub3IiLCJfb25DbGlja1RvTWV0cmljcyIsIl9yZW5kZXJNZXRyaWNzV2l0aFJhdGluZyIsIl9yZW5kZXJJbmZvUmF0aW5nIiwicmF0aW5nIiwiY291bnQiLCJhdmVyYWdlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxJQUFULFFBQXFCLEtBQXJCO0FBQ0EsU0FBU0MsTUFBVCxRQUF1Qix1QkFBdkI7QUFDQSxPQUFPLGtDQUFQO0FBQ0EsU0FBU0MsU0FBVCxFQUFvQkMsVUFBcEIsRUFBZ0NDLFNBQWhDLEVBQTJDQyxTQUEzQyxFQUFzREMscUJBQXRELFFBQW1GLGFBQW5GO0FB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QixPQURwQix3QkFDbUQsS0FBS3dCLGlCQUR4RCxNQUMrRSxLQUFLRSxpQkFBTCxFQUQvRSxpQkFBWDtBQUdELE9BSkQsTUFJTztBQUNMLGVBQU8sS0FBS0EsaUJBQUwsRUFBUDtBQUNEO0FBQ0Y7O0FBRURBLElBQUFBLGlCQUFpQixHQUFHO0FBQ2xCLFlBQU1DLE1BQU0sR0FBR3RDLFNBQVMsQ0FBQyxLQUFLWSxLQUFOLENBQXhCOztBQUNBLFVBQUkwQixNQUFNLElBQUlBLE1BQU0sQ0FBQ0MsS0FBckIsRUFBNEI7QUFDMUIsZUFBTzVDLElBQUksNkNBQWtDLEtBQUtzQixTQUF2QyxhQUE2RHFCLE1BQU0sQ0FBQ0UsT0FBcEUsYUFBd0ZGLE1BQU0sQ0FBQ0MsS0FBL0YsZ0JBQVg7QUFDRDs7QUFDRCxhQUFPLEVBQVA7QUFDRDs7QUF4RnFELEdBQXhEO0FBMEZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCAnLi4vbW9sZWN1bGVzL2d2LWlkZW50aXR5LXBpY3R1cmUnO1xuaW1wb3J0IHsgZ2V0TGFiZWxzLCBnZXRQaWN0dXJlLCBnZXRTdGF0ZXMsIGdldFJhdGluZywgZ2V0UGljdHVyZURpc3BsYXlOYW1lIH0gZnJvbSAnLi4vbGliL2l0ZW0nO1xuaW1wb3J0IHsgd2l0aFNrZWxldG9uQXR0cmlidXRlIH0gZnJvbSAnLi93aXRoLXNrZWxldG9uLWF0dHJpYnV0ZSc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG1peGluIGZvciBJdGVtUmVzb3VyY2VcbiAqIEBtaXhpbkZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJdGVtUmVzb3VyY2UoUGFyZW50Q2xhc3MpIHtcbiAgLyoqXG4gICAqIEBtaXhpbkNsYXNzXG4gICAqL1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoUGFyZW50Q2xhc3MpIHtcbiAgICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdXBlci5wcm9wZXJ0aWVzLFxuICAgICAgICAvKiogQHJlcXVpcmVkICovXG4gICAgICAgIGl0ZW06IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICAgIGhyZWY6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgIG1ldHJpY3M6IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICAgIF9pdGVtOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICB0aGlzLl9za2VsZXRvbkF0dHJpYnV0ZSA9ICdpdGVtJztcbiAgICB9XG5cbiAgICBfb25JbWFnZUxvYWRlZCgpIHtcbiAgICAgIGlmICh0aGlzLl9pdGVtKSB7XG4gICAgICAgIHRoaXMuX3NrZWxldG9uID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX3JlbmRlckltYWdlKCkge1xuICAgICAgaWYgKHRoaXMuX2l0ZW0gJiYgIXRoaXMuX2VtcHR5KSB7XG4gICAgICAgIHJldHVybiBodG1sYDxndi1pZGVudGl0eS1waWN0dXJlXG4gICAgICAgICAgLnNrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIlxuICAgICAgICAgIC5kaXNwbGF5X25hbWU9XCIke2dldFBpY3R1cmVEaXNwbGF5TmFtZSh0aGlzLl9pdGVtKX1cIlxuICAgICAgICAgIC5waWN0dXJlPVwiJHtnZXRQaWN0dXJlKHRoaXMuX2l0ZW0pfVwiXG4gICAgICAgICAgQGxvYWQ9XCIke3RoaXMuX29uSW1hZ2VMb2FkZWR9XCJcbiAgICAgICAgPjwvZ3YtaWRlbnRpdHktcGljdHVyZT5gO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIF9vblRhZ0NsaWNrKHRhZ1ZhbHVlLCBldmVudCkge1xuICAgICAgZXZlbnQuZGV0YWlsLnRhZ1ZhbHVlID0gdGFnVmFsdWU7XG4gICAgfVxuXG4gICAgX3JlbmRlckxhYmVscyhjbGlja2FibGUpIHtcbiAgICAgIGNvbnN0IGxhYmVscyA9IGdldExhYmVscyh0aGlzLl9pdGVtKTtcbiAgICAgIGlmIChsYWJlbHMpIHtcbiAgICAgICAgcmV0dXJuIHJlcGVhdChcbiAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgKGxhYmVsKSA9PiBsYWJlbCxcbiAgICAgICAgICAobGFiZWwpID0+XG4gICAgICAgICAgICBodG1sYDxndi10YWcgP2NsaWNrYWJsZT1cIiR7Y2xpY2thYmxlfVwiIEBndi10YWc6Y2xpY2s9XCIke3RoaXMuX29uVGFnQ2xpY2suYmluZCh0aGlzLCBsYWJlbCl9XCIgP3NrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIiBtYWpvclxuICAgICAgICAgICAgICA+JHtsYWJlbH08L2d2LXRhZ1xuICAgICAgICAgICAgPmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgX3JlbmRlclN0YXRlcygpIHtcbiAgICAgIGNvbnN0IHN0YXRlcyA9IGdldFN0YXRlcyh0aGlzLl9pdGVtKTtcbiAgICAgIGlmIChzdGF0ZXMpIHtcbiAgICAgICAgcmV0dXJuIHJlcGVhdChcbiAgICAgICAgICBzdGF0ZXMsXG4gICAgICAgICAgKHN0YXRlKSA9PiBzdGF0ZSxcbiAgICAgICAgICAoeyB2YWx1ZSwgbWFqb3IsIG1pbm9yIH0pID0+IGh0bWxgXG4gICAgICAgICAgICA8Z3Ytc3RhdGUgP3NrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIiA/bWFqb3I9XCIke21ham9yID09PSB0cnVlfVwiID9taW5vcj1cIiR7bWlub3IgPT09IHRydWV9XCI+JHt2YWx1ZX08L2d2LXN0YXRlPlxuICAgICAgICAgIGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgX29uQ2xpY2tUb01ldHJpY3MoZXZlbnQpIHtcbiAgICAgIGV2ZW50LmRldGFpbC5pdGVtID0gdGhpcy5faXRlbTtcbiAgICB9XG5cbiAgICBfcmVuZGVyTWV0cmljc1dpdGhSYXRpbmcoKSB7XG4gICAgICBpZiAodGhpcy5tZXRyaWNzKSB7XG4gICAgICAgIHJldHVybiBodG1sYFxuICAgICAgICAgIDxndi1tZXRyaWNzIC5tZXRyaWNzPVwiJHt0aGlzLm1ldHJpY3N9XCIgQGd2LW1ldHJpY3M6Y2xpY2s9XCIke3RoaXMuX29uQ2xpY2tUb01ldHJpY3N9XCI+ICR7dGhpcy5fcmVuZGVySW5mb1JhdGluZygpfSA8L2d2LW1ldHJpY3M+XG4gICAgICAgIGA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVySW5mb1JhdGluZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF9yZW5kZXJJbmZvUmF0aW5nKCkge1xuICAgICAgY29uc3QgcmF0aW5nID0gZ2V0UmF0aW5nKHRoaXMuX2l0ZW0pO1xuICAgICAgaWYgKHJhdGluZyAmJiByYXRpbmcuY291bnQpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgPGd2LXJhdGluZyByZWFkb25seSAuc2tlbGV0b249XCIke3RoaXMuX3NrZWxldG9ufVwiIC52YWx1ZT1cIiR7cmF0aW5nLmF2ZXJhZ2V9XCIgLmNvdW50PVwiJHtyYXRpbmcuY291bnR9XCI+PC9ndi1yYXRpbmc+YDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH07XG59XG4iXX0=
|