@neovici/cosmoz-omnitable 14.17.0 → 14.18.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/dist/cosmoz-omnitable-column-amount.js +29 -27
- package/dist/cosmoz-omnitable-column-autocomplete.d.ts +1 -1
- package/dist/cosmoz-omnitable-column-autocomplete.d.ts.map +1 -1
- package/dist/cosmoz-omnitable-column-autocomplete.js +28 -24
- package/dist/cosmoz-omnitable-column-boolean.d.ts +4 -1
- package/dist/cosmoz-omnitable-column-boolean.d.ts.map +1 -1
- package/dist/cosmoz-omnitable-column-boolean.js +25 -17
- package/dist/cosmoz-omnitable-column-date.js +28 -26
- package/dist/cosmoz-omnitable-column-datetime.js +28 -26
- package/dist/cosmoz-omnitable-column-list-data.js +8 -6
- package/dist/cosmoz-omnitable-column-list-horizontal.js +17 -15
- package/dist/cosmoz-omnitable-column-list-mixin.d.ts +6 -6
- package/dist/cosmoz-omnitable-column-list-mixin.d.ts.map +1 -1
- package/dist/cosmoz-omnitable-column-list-mixin.js +28 -15
- package/dist/cosmoz-omnitable-column-list.js +21 -19
- package/dist/cosmoz-omnitable-column-mixin.js +12 -8
- package/dist/cosmoz-omnitable-column-number.js +29 -27
- package/dist/cosmoz-omnitable-column-time.js +26 -24
- package/dist/cosmoz-omnitable-column.js +13 -11
- package/dist/cosmoz-omnitable-columns.js +11 -9
- package/dist/cosmoz-omnitable-group-row.js +6 -4
- package/dist/cosmoz-omnitable-header-row.js +17 -15
- package/dist/cosmoz-omnitable-item-expand-line.js +7 -5
- package/dist/cosmoz-omnitable-item-expand.js +8 -6
- package/dist/cosmoz-omnitable-item-row.js +7 -5
- package/dist/cosmoz-omnitable-skeleton.js +8 -6
- package/dist/cosmoz-omnitable-styles.js +7 -4
- package/dist/cosmoz-omnitable.d.ts +1 -1
- package/dist/cosmoz-omnitable.d.ts.map +1 -1
- package/dist/cosmoz-omnitable.js +37 -31
- package/dist/grouped-list/cosmoz-grouped-list-row.js +4 -2
- package/dist/grouped-list/cosmoz-grouped-list.js +6 -4
- package/dist/grouped-list/index.js +3 -1
- package/dist/grouped-list/use-collapsible-items.d.ts +4 -4
- package/dist/grouped-list/use-collapsible-items.js +12 -8
- package/dist/grouped-list/use-cosmoz-grouped-list.d.ts +1 -1
- package/dist/grouped-list/use-cosmoz-grouped-list.js +23 -19
- package/dist/grouped-list/use-selected-items.d.ts +10 -10
- package/dist/grouped-list/use-selected-items.js +19 -15
- package/dist/grouped-list/use-weak-state.d.ts +3 -3
- package/dist/grouped-list/use-weak-state.js +10 -6
- package/dist/grouped-list/utils.js +11 -1
- package/dist/lib/compute-layout.js +10 -6
- package/dist/lib/cosmoz-omnitable-amount-range-input.js +16 -14
- package/dist/lib/cosmoz-omnitable-date-input-mixin.js +9 -5
- package/dist/lib/cosmoz-omnitable-date-range-input.js +14 -12
- package/dist/lib/cosmoz-omnitable-datetime-range-input.js +15 -13
- package/dist/lib/cosmoz-omnitable-number-range-input.js +14 -12
- package/dist/lib/cosmoz-omnitable-range-input-mixin.js +12 -8
- package/dist/lib/cosmoz-omnitable-resize-nub.js +7 -5
- package/dist/lib/cosmoz-omnitable-time-range-input.js +14 -12
- package/dist/lib/generic-sorter.js +5 -1
- package/dist/lib/icons.d.ts +4 -4
- package/dist/lib/icons.d.ts.map +1 -1
- package/dist/lib/icons.js +8 -5
- package/dist/lib/layout.js +5 -2
- package/dist/lib/polymer-haunted-render-mixin.js +10 -6
- package/dist/lib/render-footer.d.ts +1 -1
- package/dist/lib/render-footer.d.ts.map +1 -1
- package/dist/lib/render-footer.js +16 -12
- package/dist/lib/render-header.d.ts +1 -1
- package/dist/lib/render-header.d.ts.map +1 -1
- package/dist/lib/render-header.js +9 -5
- package/dist/lib/render-list.d.ts +1 -1
- package/dist/lib/render-list.d.ts.map +1 -1
- package/dist/lib/render-list.js +18 -14
- package/dist/lib/save-as-csv-action.js +7 -3
- package/dist/lib/save-as-xlsx-action.js +9 -5
- package/dist/lib/settings/cosmoz-omnitable-settings.js +71 -33
- package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts +3 -3
- package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts.map +1 -1
- package/dist/lib/settings/cosmoz-omnitable-sort-group.js +19 -12
- package/dist/lib/settings/drivers/context.d.ts +2 -10
- package/dist/lib/settings/drivers/context.d.ts.map +1 -1
- package/dist/lib/settings/drivers/context.js +13 -6
- package/dist/lib/settings/drivers/index.js +25 -3
- package/dist/lib/settings/drivers/local.js +3 -1
- package/dist/lib/settings/drivers/remote.js +3 -1
- package/dist/lib/settings/index.js +9 -2
- package/dist/lib/settings/normalize.js +15 -10
- package/dist/lib/settings/style.css.js +8 -5
- package/dist/lib/settings/use-saved-settings.d.ts +2 -2
- package/dist/lib/settings/use-saved-settings.js +11 -9
- package/dist/lib/settings/use-settings-ui.js +14 -12
- package/dist/lib/settings/use-settings.d.ts +6 -12
- package/dist/lib/settings/use-settings.d.ts.map +1 -1
- package/dist/lib/settings/use-settings.js +46 -8
- package/dist/lib/types.d.ts +20 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/use-canvas-width.js +9 -5
- package/dist/lib/use-dom-columns.d.ts +1 -1
- package/dist/lib/use-dom-columns.d.ts.map +1 -1
- package/dist/lib/use-dom-columns.js +11 -7
- package/dist/lib/use-fast-layout.d.ts +1 -1
- package/dist/lib/use-fast-layout.js +22 -18
- package/dist/lib/use-footer.js +5 -1
- package/dist/lib/use-hash-state.js +15 -11
- package/dist/lib/use-header.js +9 -5
- package/dist/lib/use-layout.js +8 -4
- package/dist/lib/use-list.d.ts +2 -10
- package/dist/lib/use-list.d.ts.map +1 -1
- package/dist/lib/use-list.js +25 -21
- package/dist/lib/use-mini.d.ts +1 -1
- package/dist/lib/use-mini.js +9 -5
- package/dist/lib/use-omnitable.d.ts +2 -10
- package/dist/lib/use-omnitable.d.ts.map +1 -1
- package/dist/lib/use-omnitable.js +22 -18
- package/dist/lib/use-processed-items.d.ts +3 -5
- package/dist/lib/use-processed-items.d.ts.map +1 -1
- package/dist/lib/use-processed-items.js +27 -23
- package/dist/lib/use-public-interface.js +20 -16
- package/dist/lib/use-resizable-columns.js +8 -4
- package/dist/lib/use-sort-and-group-options.d.ts +2 -25
- package/dist/lib/use-sort-and-group-options.d.ts.map +1 -1
- package/dist/lib/use-sort-and-group-options.js +16 -12
- package/dist/lib/use-track-size.d.ts +1 -1
- package/dist/lib/use-track-size.d.ts.map +1 -1
- package/dist/lib/use-track-size.js +6 -2
- package/dist/lib/use-tween-array.d.ts +1 -1
- package/dist/lib/use-tween-array.d.ts.map +1 -1
- package/dist/lib/use-tween-array.js +14 -10
- package/dist/lib/utils-amount.d.ts +1 -1
- package/dist/lib/utils-amount.d.ts.map +1 -1
- package/dist/lib/utils-amount.js +25 -29
- package/dist/lib/utils-data.js +12 -8
- package/dist/lib/utils-date.d.ts +4 -4
- package/dist/lib/utils-date.d.ts.map +1 -1
- package/dist/lib/utils-date.js +58 -35
- package/dist/lib/utils-datetime.d.ts +2 -2
- package/dist/lib/utils-datetime.d.ts.map +1 -1
- package/dist/lib/utils-datetime.js +20 -16
- package/dist/lib/utils-number.d.ts +11 -18
- package/dist/lib/utils-number.d.ts.map +1 -1
- package/dist/lib/utils-number.js +44 -36
- package/dist/lib/utils-time.d.ts +2 -2
- package/dist/lib/utils-time.d.ts.map +1 -1
- package/dist/lib/utils-time.js +37 -24
- package/dist/lib/utils.js +6 -2
- package/dist/ui-helpers/cosmoz-clear-button.js +7 -5
- package/package.json +1 -1
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("@neovici/cosmoz-input");
|
|
4
|
+
require("@polymer/paper-dropdown-menu/paper-dropdown-menu");
|
|
5
|
+
require("./ui-helpers/cosmoz-clear-button");
|
|
6
|
+
const polymer_element_1 = require("@polymer/polymer/polymer-element");
|
|
7
|
+
const lit_html_1 = require("lit-html");
|
|
8
|
+
const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
|
|
9
|
+
const utils_data_1 = require("./lib/utils-data");
|
|
10
|
+
require("./lib/cosmoz-omnitable-amount-range-input");
|
|
11
|
+
const utils_amount_1 = require("./lib/utils-amount");
|
|
12
|
+
const path_1 = require("@polymer/polymer/lib/utils/path");
|
|
11
13
|
/**
|
|
12
14
|
* @polymer
|
|
13
15
|
* @customElement
|
|
14
16
|
* @appliesMixin columnMixin
|
|
15
17
|
*/
|
|
16
|
-
class OmnitableColumnAmount extends columnMixin(PolymerElement) {
|
|
18
|
+
class OmnitableColumnAmount extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
|
|
17
19
|
static get properties() {
|
|
18
20
|
return {
|
|
19
21
|
min: { type: Number, value: null, notify: true },
|
|
@@ -33,33 +35,33 @@ class OmnitableColumnAmount extends columnMixin(PolymerElement) {
|
|
|
33
35
|
return { limits: column.limits };
|
|
34
36
|
}
|
|
35
37
|
getFilterFn(column, filter) {
|
|
36
|
-
const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
|
|
38
|
+
const min = (0, utils_amount_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_amount_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
|
|
37
39
|
if (min == null && max == null) {
|
|
38
40
|
return;
|
|
39
41
|
}
|
|
40
|
-
return applySingleFilter(column, filter);
|
|
42
|
+
return (0, utils_amount_1.applySingleFilter)(column, filter);
|
|
41
43
|
}
|
|
42
44
|
getString(column, item) {
|
|
43
|
-
return getString(column, item);
|
|
45
|
+
return (0, utils_amount_1.getString)(column, item);
|
|
44
46
|
}
|
|
45
47
|
toXlsxValue(column, item) {
|
|
46
|
-
return getString(column, item);
|
|
48
|
+
return (0, utils_amount_1.getString)(column, item);
|
|
47
49
|
}
|
|
48
50
|
cellTitleFn(column, item) {
|
|
49
|
-
return getString(column, item);
|
|
51
|
+
return (0, utils_amount_1.getString)(column, item);
|
|
50
52
|
}
|
|
51
53
|
getComparableValue(column, item) {
|
|
52
|
-
return getComparableValue(column, item);
|
|
54
|
+
return (0, utils_amount_1.getComparableValue)(column, item);
|
|
53
55
|
}
|
|
54
56
|
serializeFilter({ rates }, filter) {
|
|
55
57
|
if (filter == null) {
|
|
56
58
|
return;
|
|
57
59
|
}
|
|
58
|
-
const min = toAmount(rates, filter.min), max = toAmount(rates, filter.max);
|
|
60
|
+
const min = (0, utils_amount_1.toAmount)(rates, filter.min), max = (0, utils_amount_1.toAmount)(rates, filter.max);
|
|
59
61
|
if (min == null && max == null) {
|
|
60
62
|
return;
|
|
61
63
|
}
|
|
62
|
-
return toHashString(min) + '~' + toHashString(max);
|
|
64
|
+
return (0, utils_amount_1.toHashString)(min) + '~' + (0, utils_amount_1.toHashString)(max);
|
|
63
65
|
}
|
|
64
66
|
deserializeFilter(column, filter) {
|
|
65
67
|
if (filter == null || filter === '') {
|
|
@@ -69,27 +71,27 @@ class OmnitableColumnAmount extends columnMixin(PolymerElement) {
|
|
|
69
71
|
if (!Array.isArray(matches)) {
|
|
70
72
|
return null;
|
|
71
73
|
}
|
|
72
|
-
return { min: fromHashString(matches[1]), max: fromHashString(matches[2]) };
|
|
74
|
+
return { min: (0, utils_amount_1.fromHashString)(matches[1]), max: (0, utils_amount_1.fromHashString)(matches[2]) };
|
|
73
75
|
}
|
|
74
76
|
renderCell(column, { item }) {
|
|
75
|
-
return html `<span>${column.getString(column, item)}</span>`;
|
|
77
|
+
return (0, lit_html_1.html) `<span>${column.getString(column, item)}</span>`;
|
|
76
78
|
}
|
|
77
79
|
renderEditCell(column, { item }, onItemChange) {
|
|
78
80
|
const onChange = (event) => onItemChange({
|
|
79
81
|
amount: event.target.value,
|
|
80
|
-
currency: get(item, column.valuePath)?.currency,
|
|
82
|
+
currency: (0, path_1.get)(item, column.valuePath)?.currency,
|
|
81
83
|
});
|
|
82
|
-
return html `<cosmoz-input
|
|
84
|
+
return (0, lit_html_1.html) `<cosmoz-input
|
|
83
85
|
no-label-float
|
|
84
86
|
type="number"
|
|
85
87
|
@change=${onChange}
|
|
86
|
-
.value=${getInputString(column, item)}
|
|
88
|
+
.value=${(0, utils_amount_1.getInputString)(column, item)}
|
|
87
89
|
>
|
|
88
|
-
<div slot="suffix">${getCurrency(column, item)}</div>
|
|
90
|
+
<div slot="suffix">${(0, utils_amount_1.getCurrency)(column, item)}</div>
|
|
89
91
|
</cosmoz-input>`;
|
|
90
92
|
}
|
|
91
93
|
renderHeader({ title, min, max, limits, locale, rates, currency, autoupdate, autodetect, }, { filter }, setState, source) {
|
|
92
|
-
return html `<cosmoz-omnitable-amount-range-input
|
|
94
|
+
return (0, lit_html_1.html) `<cosmoz-omnitable-amount-range-input
|
|
93
95
|
.title=${title}
|
|
94
96
|
.filter=${filter}
|
|
95
97
|
.values=${source}
|
|
@@ -106,7 +108,7 @@ class OmnitableColumnAmount extends columnMixin(PolymerElement) {
|
|
|
106
108
|
></cosmoz-omnitable-amount-range-input>`;
|
|
107
109
|
}
|
|
108
110
|
computeSource(column, data) {
|
|
109
|
-
return defaultComputeSource(column, data);
|
|
111
|
+
return (0, utils_data_1.defaultComputeSource)(column, data);
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
114
|
customElements.define('cosmoz-omnitable-column-amount', OmnitableColumnAmount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmoz-omnitable-column-autocomplete.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-autocomplete.js"],"names":[],"mappings":"AAoBO;;;;
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-column-autocomplete.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-autocomplete.js"],"names":[],"mappings":"AAoBO;;;;kCAON"}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getComparableValue = void 0;
|
|
4
|
+
require("@neovici/cosmoz-autocomplete");
|
|
5
|
+
const polymer_element_js_1 = require("@polymer/polymer/polymer-element.js");
|
|
6
|
+
const lit_html_1 = require("lit-html");
|
|
7
|
+
const when_js_1 = require("lit-html/directives/when.js");
|
|
8
|
+
require("@neovici/cosmoz-spinner");
|
|
9
|
+
const cosmoz_omnitable_column_mixin_js_1 = require("./cosmoz-omnitable-column-mixin.js");
|
|
10
|
+
const cosmoz_omnitable_column_list_mixin_1 = require("./cosmoz-omnitable-column-list-mixin");
|
|
11
|
+
const object_1 = require("@neovici/cosmoz-utils/object");
|
|
12
|
+
const array_1 = require("@neovici/cosmoz-utils/array");
|
|
13
|
+
const use_dom_columns_1 = require("./lib/use-dom-columns");
|
|
14
|
+
const path_1 = require("@polymer/polymer/lib/utils/path");
|
|
15
|
+
const getComparableValue = ({ valuePath, textProperty, valueProperty }, item) => {
|
|
16
|
+
const property = textProperty ? (0, object_1.strProp)(textProperty) : (0, object_1.prop)(valueProperty), values = (0, array_1.array)(valuePath && (0, path_1.get)(item, valuePath)).map(property);
|
|
14
17
|
return values.length > 1 ? values.filter(Boolean).join(',') : values[0];
|
|
15
18
|
};
|
|
19
|
+
exports.getComparableValue = getComparableValue;
|
|
16
20
|
/**
|
|
17
21
|
* @polymer
|
|
18
22
|
* @customElement
|
|
19
23
|
* @appliesMixin columnMixin
|
|
20
24
|
*/
|
|
21
|
-
class OmnitableColumnAutocomplete extends listColumnMixin(columnMixin(PolymerElement)) {
|
|
25
|
+
class OmnitableColumnAutocomplete extends (0, cosmoz_omnitable_column_list_mixin_1.listColumnMixin)((0, cosmoz_omnitable_column_mixin_js_1.columnMixin)(polymer_element_js_1.PolymerElement)) {
|
|
22
26
|
static get properties() {
|
|
23
27
|
return {
|
|
24
28
|
headerCellClass: { type: String, value: 'autocomplete-header-cell' },
|
|
@@ -44,21 +48,21 @@ class OmnitableColumnAutocomplete extends listColumnMixin(columnMixin(PolymerEle
|
|
|
44
48
|
};
|
|
45
49
|
}
|
|
46
50
|
renderCell(column, { item }) {
|
|
47
|
-
return html `<span class="default-column"
|
|
51
|
+
return (0, lit_html_1.html) `<span class="default-column"
|
|
48
52
|
>${column.getString(column, item)}</span
|
|
49
53
|
>`;
|
|
50
54
|
}
|
|
51
55
|
renderEditCell(column, { item }, onItemChange) {
|
|
52
56
|
const onChange = (event) => onItemChange(event.target.value);
|
|
53
|
-
return html `<cosmoz-input
|
|
57
|
+
return (0, lit_html_1.html) `<cosmoz-input
|
|
54
58
|
no-label-float
|
|
55
59
|
type="text"
|
|
56
60
|
@change=${onChange}
|
|
57
|
-
.value=${getString(column, item)}
|
|
61
|
+
.value=${(0, cosmoz_omnitable_column_mixin_js_1.getString)(column, item)}
|
|
58
62
|
></cosmoz-input>`;
|
|
59
63
|
}
|
|
60
64
|
renderHeader(column, { filter, query }, setState, source) {
|
|
61
|
-
return html `<cosmoz-autocomplete-ui
|
|
65
|
+
return (0, lit_html_1.html) `<cosmoz-autocomplete-ui
|
|
62
66
|
class="external-values-${column.externalValues}"
|
|
63
67
|
?keep-opened=${column.keepOpened}
|
|
64
68
|
?keep-query=${column.keepQuery}
|
|
@@ -69,18 +73,18 @@ class OmnitableColumnAutocomplete extends listColumnMixin(columnMixin(PolymerEle
|
|
|
69
73
|
.source=${source}
|
|
70
74
|
.textProperty=${column.textProperty}
|
|
71
75
|
.valueProperty=${column.valueProperty}
|
|
72
|
-
.itemRenderer=${column[columnSymbol]?.itemRenderer}
|
|
76
|
+
.itemRenderer=${column[use_dom_columns_1.columnSymbol]?.itemRenderer}
|
|
73
77
|
.value=${filter}
|
|
74
78
|
.text=${query}
|
|
75
79
|
.limit=${column.limit}
|
|
76
|
-
.onChange=${onChange(setState)}
|
|
77
|
-
.onFocus=${onFocus(setState)}
|
|
78
|
-
.onText=${onText(setState)}
|
|
79
|
-
>${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
|
|
80
|
+
.onChange=${(0, cosmoz_omnitable_column_list_mixin_1.onChange)(setState)}
|
|
81
|
+
.onFocus=${(0, cosmoz_omnitable_column_list_mixin_1.onFocus)(setState)}
|
|
82
|
+
.onText=${(0, cosmoz_omnitable_column_list_mixin_1.onText)(setState)}
|
|
83
|
+
>${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
|
|
80
84
|
>`;
|
|
81
85
|
}
|
|
82
86
|
getComparableValue(column, item) {
|
|
83
|
-
return getComparableValue(column, item);
|
|
87
|
+
return (0, exports.getComparableValue)(column, item);
|
|
84
88
|
}
|
|
85
89
|
}
|
|
86
90
|
customElements.define('cosmoz-omnitable-column-autocomplete', OmnitableColumnAutocomplete);
|
|
@@ -6,7 +6,10 @@ export function getString({ valuePath, trueLabel, falseLabel }: {
|
|
|
6
6
|
export function computeItemValue({ valuePath }: {
|
|
7
7
|
valuePath: any;
|
|
8
8
|
}, item: any, source: any): any;
|
|
9
|
-
export const computeSource: any
|
|
9
|
+
export const computeSource: (trueLabel: any, falseLabel: any) => {
|
|
10
|
+
text: any;
|
|
11
|
+
value: boolean;
|
|
12
|
+
}[];
|
|
10
13
|
export function toXlsxValue({ valuePath, trueLabel, falseLabel }: {
|
|
11
14
|
valuePath: any;
|
|
12
15
|
trueLabel: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmoz-omnitable-column-boolean.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-boolean.js"],"names":[],"mappings":"AAUA;;;;mBA6CE;AA7CF;;gCA6CE;AAhBD
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-column-boolean.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-boolean.js"],"names":[],"mappings":"AAUA;;;;mBA6CE;AA7CF;;gCA6CE;AAhBD;;;IAGE;AAhCH;;;;mBA6CE;AA7CF,0CAU2B,cAAS,UAmClC;AA7CF,iEA6CE"}
|
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeFilter = exports.onChange = exports.toXlsxValue = exports.computeSource = exports.computeItemValue = exports.getString = void 0;
|
|
4
|
+
const polymer_element_1 = require("@polymer/polymer/polymer-element");
|
|
5
|
+
const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
|
|
6
|
+
require("@neovici/cosmoz-autocomplete");
|
|
7
|
+
const lit_html_1 = require("lit-html");
|
|
8
|
+
const when_js_1 = require("lit-html/directives/when.js");
|
|
9
|
+
const path_1 = require("@polymer/polymer/lib/utils/path");
|
|
10
|
+
const memoize_1 = require("@neovici/cosmoz-utils/memoize");
|
|
8
11
|
const computeValue = (value, source) => source.find(({ value: valueProp }) => value === valueProp), computeTooltip = (title, value, source) => {
|
|
9
12
|
const val = computeValue(value, source);
|
|
10
13
|
return val ? val.text : title;
|
|
11
|
-
}, computeItemTooltip = (title, item, valuePath, source) => computeTooltip(title, get(item, valuePath), source), computeItemValue = ({ valuePath }, item, source) => computeValue(get(item, valuePath), source), onChange = (setState) => (selection) => {
|
|
14
|
+
}, computeItemTooltip = (title, item, valuePath, source) => computeTooltip(title, (0, path_1.get)(item, valuePath), source), computeItemValue = ({ valuePath }, item, source) => computeValue((0, path_1.get)(item, valuePath), source), onChange = (setState) => (selection) => {
|
|
12
15
|
setState((state) => ({ ...state, filter: selection?.[0]?.value ?? null }));
|
|
13
16
|
}, onFocus = (setState) => (focused) => {
|
|
14
17
|
setState((state) => ({ ...state, headerFocused: focused }));
|
|
15
18
|
}, onText = (setState) => (text) => {
|
|
16
19
|
setState((state) => ({ ...state, query: text }));
|
|
17
20
|
}, onEditableChange = (onItemChange) => (selection) => onItemChange(selection?.[0]?.value), getString = ({ valuePath, trueLabel, falseLabel }, item) => {
|
|
18
|
-
const value = get(item, valuePath);
|
|
21
|
+
const value = (0, path_1.get)(item, valuePath);
|
|
19
22
|
return value ? trueLabel : falseLabel;
|
|
20
|
-
}, applySingleFilter = ({ valuePath }, filter) => (item) => get(item, valuePath) === filter, computeSource = memooize((trueLabel, falseLabel) => [
|
|
23
|
+
}, applySingleFilter = ({ valuePath }, filter) => (item) => (0, path_1.get)(item, valuePath) === filter, computeSource = (0, memoize_1.memooize)((trueLabel, falseLabel) => [
|
|
21
24
|
{ text: trueLabel, value: true },
|
|
22
25
|
{ text: falseLabel, value: false },
|
|
23
26
|
]), toXlsxValue = ({ valuePath, trueLabel, falseLabel }, item) => {
|
|
24
27
|
if (!valuePath) {
|
|
25
28
|
return '';
|
|
26
29
|
}
|
|
27
|
-
return get(item, valuePath) ? trueLabel : falseLabel;
|
|
30
|
+
return (0, path_1.get)(item, valuePath) ? trueLabel : falseLabel;
|
|
28
31
|
}, deserializeFilter = (column, filter) => {
|
|
29
32
|
try {
|
|
30
33
|
return JSON.parse(filter);
|
|
@@ -33,12 +36,18 @@ const computeValue = (value, source) => source.find(({ value: valueProp }) => va
|
|
|
33
36
|
return null;
|
|
34
37
|
}
|
|
35
38
|
};
|
|
39
|
+
exports.computeItemValue = computeItemValue;
|
|
40
|
+
exports.onChange = onChange;
|
|
41
|
+
exports.getString = getString;
|
|
42
|
+
exports.computeSource = computeSource;
|
|
43
|
+
exports.toXlsxValue = toXlsxValue;
|
|
44
|
+
exports.deserializeFilter = deserializeFilter;
|
|
36
45
|
/**
|
|
37
46
|
* @polymer
|
|
38
47
|
* @customElement
|
|
39
48
|
* @appliesMixin columnMixin
|
|
40
49
|
*/
|
|
41
|
-
class OmnitableColumnBoolean extends columnMixin(PolymerElement) {
|
|
50
|
+
class OmnitableColumnBoolean extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
|
|
42
51
|
static get properties() {
|
|
43
52
|
return {
|
|
44
53
|
trueLabel: { type: String, value: 'True' },
|
|
@@ -58,7 +67,7 @@ class OmnitableColumnBoolean extends columnMixin(PolymerElement) {
|
|
|
58
67
|
}
|
|
59
68
|
renderEditCell(column, { item }, onItemChange) {
|
|
60
69
|
const { trueLabel, falseLabel } = column;
|
|
61
|
-
return html `<cosmoz-autocomplete
|
|
70
|
+
return (0, lit_html_1.html) `<cosmoz-autocomplete
|
|
62
71
|
no-label-float
|
|
63
72
|
.title=${computeItemTooltip(column.title, item, column.valuePath, computeSource(trueLabel, falseLabel))}
|
|
64
73
|
.source=${computeSource(trueLabel, falseLabel)}
|
|
@@ -66,11 +75,11 @@ class OmnitableColumnBoolean extends columnMixin(PolymerElement) {
|
|
|
66
75
|
.value=${computeItemValue(column, item, computeSource(trueLabel, falseLabel))}
|
|
67
76
|
.onChange=${onEditableChange(onItemChange)}
|
|
68
77
|
.limit=${1}
|
|
69
|
-
>${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete
|
|
78
|
+
>${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete
|
|
70
79
|
>`;
|
|
71
80
|
}
|
|
72
81
|
renderHeader(column, { filter, query }, setState, source) {
|
|
73
|
-
return html `<cosmoz-autocomplete-ui
|
|
82
|
+
return (0, lit_html_1.html) `<cosmoz-autocomplete-ui
|
|
74
83
|
.label=${column.title}
|
|
75
84
|
.title=${computeItemTooltip(column.title, filter, column.valuePath, source)}
|
|
76
85
|
.source=${source}
|
|
@@ -81,7 +90,7 @@ class OmnitableColumnBoolean extends columnMixin(PolymerElement) {
|
|
|
81
90
|
.onFocus=${onFocus(setState)}
|
|
82
91
|
.onText=${onText(setState)}
|
|
83
92
|
.limit=${1}
|
|
84
|
-
>${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
|
|
93
|
+
>${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
|
|
85
94
|
>`;
|
|
86
95
|
}
|
|
87
96
|
computeSource({ trueLabel, falseLabel }) {
|
|
@@ -101,5 +110,4 @@ class OmnitableColumnBoolean extends columnMixin(PolymerElement) {
|
|
|
101
110
|
}
|
|
102
111
|
}
|
|
103
112
|
customElements.define('cosmoz-omnitable-column-boolean', OmnitableColumnBoolean);
|
|
104
|
-
export { getString, computeItemValue, computeSource, toXlsxValue, onChange, deserializeFilter, };
|
|
105
113
|
//# sourceMappingURL=cosmoz-omnitable-column-boolean.js.map
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lit_html_1 = require("lit-html");
|
|
4
|
+
const polymer_element_1 = require("@polymer/polymer/polymer-element");
|
|
5
|
+
require("@polymer/paper-dropdown-menu/paper-dropdown-menu");
|
|
6
|
+
require("@neovici/cosmoz-input");
|
|
7
|
+
require("./ui-helpers/cosmoz-clear-button");
|
|
8
|
+
const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
|
|
9
|
+
require("./lib/cosmoz-omnitable-date-range-input");
|
|
10
|
+
const utils_data_1 = require("./lib/utils-data");
|
|
11
|
+
const utils_date_1 = require("./lib/utils-date");
|
|
12
|
+
class OmnitableColumnDate extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
|
|
11
13
|
static get properties() {
|
|
12
14
|
return {
|
|
13
15
|
min: { type: Number, value: null, notify: true },
|
|
@@ -24,33 +26,33 @@ class OmnitableColumnDate extends columnMixin(PolymerElement) {
|
|
|
24
26
|
return { limits: column.limits };
|
|
25
27
|
}
|
|
26
28
|
getFilterFn(column, filter) {
|
|
27
|
-
const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
|
|
29
|
+
const min = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
|
|
28
30
|
if (min == null && max == null) {
|
|
29
31
|
return;
|
|
30
32
|
}
|
|
31
|
-
return applySingleFilter(column, filter);
|
|
33
|
+
return (0, utils_date_1.applySingleFilter)(column, filter);
|
|
32
34
|
}
|
|
33
35
|
getString(column, item) {
|
|
34
|
-
return getString(column, item);
|
|
36
|
+
return (0, utils_date_1.getString)(column, item);
|
|
35
37
|
}
|
|
36
38
|
toXlsxValue(column, item) {
|
|
37
|
-
return toXlsxValue(column, item);
|
|
39
|
+
return (0, utils_date_1.toXlsxValue)(column, item);
|
|
38
40
|
}
|
|
39
41
|
cellTitleFn(column, item) {
|
|
40
|
-
return getString(column, item);
|
|
42
|
+
return (0, utils_date_1.getString)(column, item);
|
|
41
43
|
}
|
|
42
44
|
getComparableValue(column, item) {
|
|
43
|
-
return getComparableValue(column, item);
|
|
45
|
+
return (0, utils_date_1.getComparableValue)(column, item);
|
|
44
46
|
}
|
|
45
47
|
serializeFilter(column, filter) {
|
|
46
48
|
if (filter == null) {
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
49
|
-
const min = toDate(filter.min), max = toDate(filter.max);
|
|
51
|
+
const min = (0, utils_date_1.toDate)(filter.min), max = (0, utils_date_1.toDate)(filter.max);
|
|
50
52
|
if (min == null && max == null) {
|
|
51
53
|
return;
|
|
52
54
|
}
|
|
53
|
-
return toHashString(min) + '~' + toHashString(max);
|
|
55
|
+
return (0, utils_date_1.toHashString)(min) + '~' + (0, utils_date_1.toHashString)(max);
|
|
54
56
|
}
|
|
55
57
|
deserializeFilter(column, filter) {
|
|
56
58
|
if (filter == null || filter === '') {
|
|
@@ -60,24 +62,24 @@ class OmnitableColumnDate extends columnMixin(PolymerElement) {
|
|
|
60
62
|
if (!Array.isArray(matches)) {
|
|
61
63
|
return null;
|
|
62
64
|
}
|
|
63
|
-
return { min: toDate(matches[1]), max: toDate(matches[2]) };
|
|
65
|
+
return { min: (0, utils_date_1.toDate)(matches[1]), max: (0, utils_date_1.toDate)(matches[2]) };
|
|
64
66
|
}
|
|
65
67
|
renderCell(column, { item }) {
|
|
66
|
-
return html `<div class="omnitable-cell-date">
|
|
67
|
-
${getString(column, item)}
|
|
68
|
+
return (0, lit_html_1.html) `<div class="omnitable-cell-date">
|
|
69
|
+
${(0, utils_date_1.getString)(column, item)}
|
|
68
70
|
</div>`;
|
|
69
71
|
}
|
|
70
72
|
renderEditCell(column, { item }, onItemChange) {
|
|
71
|
-
const onChange = (event) => onItemChange(fromInputString(event.target.value));
|
|
72
|
-
return html `<cosmoz-input
|
|
73
|
+
const onChange = (event) => onItemChange((0, utils_date_1.fromInputString)(event.target.value));
|
|
74
|
+
return (0, lit_html_1.html) `<cosmoz-input
|
|
73
75
|
no-label-float
|
|
74
76
|
type="date"
|
|
75
77
|
@change=${onChange}
|
|
76
|
-
.value=${getInputString(column, item)}
|
|
78
|
+
.value=${(0, utils_date_1.getInputString)(column, item)}
|
|
77
79
|
></cosmoz-input>`;
|
|
78
80
|
}
|
|
79
81
|
renderHeader({ title, min, max, limits, locale }, { filter }, setState, source) {
|
|
80
|
-
return html `<cosmoz-omnitable-date-range-input
|
|
82
|
+
return (0, lit_html_1.html) `<cosmoz-omnitable-date-range-input
|
|
81
83
|
.title=${title}
|
|
82
84
|
.filter=${filter}
|
|
83
85
|
.values=${source}
|
|
@@ -90,7 +92,7 @@ class OmnitableColumnDate extends columnMixin(PolymerElement) {
|
|
|
90
92
|
></cosmoz-omnitable-date-range-input>`;
|
|
91
93
|
}
|
|
92
94
|
computeSource(column, data) {
|
|
93
|
-
return defaultComputeSource(column, data);
|
|
95
|
+
return (0, utils_data_1.defaultComputeSource)(column, data);
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
98
|
customElements.define('cosmoz-omnitable-column-date', OmnitableColumnDate);
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("@polymer/paper-dropdown-menu/paper-dropdown-menu");
|
|
4
|
+
require("@neovici/cosmoz-datetime-input");
|
|
5
|
+
require("./ui-helpers/cosmoz-clear-button");
|
|
6
|
+
const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
|
|
7
|
+
const polymer_element_1 = require("@polymer/polymer/polymer-element");
|
|
8
|
+
const lit_html_1 = require("lit-html");
|
|
9
|
+
const utils_datetime_1 = require("./lib/utils-datetime");
|
|
10
|
+
const utils_date_1 = require("./lib/utils-date");
|
|
11
|
+
const utils_data_1 = require("./lib/utils-data");
|
|
12
|
+
require("./lib/cosmoz-omnitable-datetime-range-input");
|
|
11
13
|
/**
|
|
12
14
|
* @polymer
|
|
13
15
|
* @customElement
|
|
14
16
|
* @appliesMixin columnMixin
|
|
15
17
|
*/
|
|
16
|
-
class OmnitableColumnDatetime extends columnMixin(PolymerElement) {
|
|
18
|
+
class OmnitableColumnDatetime extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
|
|
17
19
|
static get is() {
|
|
18
20
|
return 'cosmoz-omnitable-column-datetime';
|
|
19
21
|
}
|
|
@@ -34,33 +36,33 @@ class OmnitableColumnDatetime extends columnMixin(PolymerElement) {
|
|
|
34
36
|
return { limits: column.limits };
|
|
35
37
|
}
|
|
36
38
|
getFilterFn(column, filter) {
|
|
37
|
-
const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
|
|
39
|
+
const min = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
|
|
38
40
|
if (min == null && max == null) {
|
|
39
41
|
return;
|
|
40
42
|
}
|
|
41
|
-
return applySingleFilter(column, filter);
|
|
43
|
+
return (0, utils_date_1.applySingleFilter)(column, filter);
|
|
42
44
|
}
|
|
43
45
|
getString(column, item) {
|
|
44
|
-
return getString(column, item);
|
|
46
|
+
return (0, utils_datetime_1.getString)(column, item);
|
|
45
47
|
}
|
|
46
48
|
toXlsxValue(column, item) {
|
|
47
|
-
return toXlsxValue(column, item);
|
|
49
|
+
return (0, utils_datetime_1.toXlsxValue)(column, item);
|
|
48
50
|
}
|
|
49
51
|
cellTitleFn(column, item) {
|
|
50
|
-
return getString(column, item);
|
|
52
|
+
return (0, utils_datetime_1.getString)(column, item);
|
|
51
53
|
}
|
|
52
54
|
getComparableValue(column, item) {
|
|
53
|
-
return getComparableValue(column, item);
|
|
55
|
+
return (0, utils_date_1.getComparableValue)(column, item);
|
|
54
56
|
}
|
|
55
57
|
serializeFilter(column, filter) {
|
|
56
58
|
if (filter == null) {
|
|
57
59
|
return;
|
|
58
60
|
}
|
|
59
|
-
const min = toDate(filter.min), max = toDate(filter.max);
|
|
61
|
+
const min = (0, utils_date_1.toDate)(filter.min), max = (0, utils_date_1.toDate)(filter.max);
|
|
60
62
|
if (min == null && max == null) {
|
|
61
63
|
return;
|
|
62
64
|
}
|
|
63
|
-
return toHashString(min) + '~' + toHashString(max);
|
|
65
|
+
return (0, utils_datetime_1.toHashString)(min) + '~' + (0, utils_datetime_1.toHashString)(max);
|
|
64
66
|
}
|
|
65
67
|
deserializeFilter(column, filter) {
|
|
66
68
|
if (filter == null || filter === '') {
|
|
@@ -70,22 +72,22 @@ class OmnitableColumnDatetime extends columnMixin(PolymerElement) {
|
|
|
70
72
|
if (!Array.isArray(matches)) {
|
|
71
73
|
return null;
|
|
72
74
|
}
|
|
73
|
-
return { min: fromHashString(matches[1]), max: fromHashString(matches[2]) };
|
|
75
|
+
return { min: (0, utils_datetime_1.fromHashString)(matches[1]), max: (0, utils_datetime_1.fromHashString)(matches[2]) };
|
|
74
76
|
}
|
|
75
77
|
renderCell(column, { item }) {
|
|
76
|
-
return getString(column, item);
|
|
78
|
+
return (0, utils_datetime_1.getString)(column, item);
|
|
77
79
|
}
|
|
78
80
|
renderEditCell(column, { item }, onItemChange) {
|
|
79
|
-
const onChange = (event) => onItemChange(fromInputString(event.target.value));
|
|
80
|
-
return html `<cosmoz-input
|
|
81
|
+
const onChange = (event) => onItemChange((0, utils_date_1.fromInputString)(event.target.value));
|
|
82
|
+
return (0, lit_html_1.html) `<cosmoz-input
|
|
81
83
|
no-label-float
|
|
82
84
|
type="text"
|
|
83
85
|
@change=${onChange}
|
|
84
|
-
.value=${getString(column, item)}
|
|
86
|
+
.value=${(0, utils_datetime_1.getString)(column, item)}
|
|
85
87
|
></cosmoz-input>`;
|
|
86
88
|
}
|
|
87
89
|
renderHeader({ title, min, max, limits, locale, filterStep }, { filter }, setState, source) {
|
|
88
|
-
return html `<cosmoz-omnitable-datetime-range-input
|
|
90
|
+
return (0, lit_html_1.html) `<cosmoz-omnitable-datetime-range-input
|
|
89
91
|
.title=${title}
|
|
90
92
|
.filter=${filter}
|
|
91
93
|
.values=${source}
|
|
@@ -99,7 +101,7 @@ class OmnitableColumnDatetime extends columnMixin(PolymerElement) {
|
|
|
99
101
|
></cosmoz-omnitable-datetime-range-input>`;
|
|
100
102
|
}
|
|
101
103
|
computeSource(column, data) {
|
|
102
|
-
return defaultComputeSource(column, data);
|
|
104
|
+
return (0, utils_data_1.defaultComputeSource)(column, data);
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
customElements.define(OmnitableColumnDatetime.is, OmnitableColumnDatetime);
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cosmoz_i18next_1 = require("@neovici/cosmoz-i18next");
|
|
4
|
+
const cosmoz_utils_1 = require("@neovici/cosmoz-utils");
|
|
5
|
+
const polymer_element_1 = require("@polymer/polymer/polymer-element");
|
|
6
|
+
const html_tag_1 = require("@polymer/polymer/lib/utils/html-tag");
|
|
5
7
|
window.Cosmoz = window.Cosmoz || {};
|
|
6
8
|
/**
|
|
7
9
|
* @polymer
|
|
8
10
|
* @customElement
|
|
9
11
|
* @appliesMixin translatable
|
|
10
12
|
*/
|
|
11
|
-
class OmnitableColumnListData extends translatable(mixin(Template, PolymerElement)) {
|
|
13
|
+
class OmnitableColumnListData extends (0, cosmoz_i18next_1.translatable)((0, cosmoz_utils_1.mixin)(cosmoz_utils_1.Template, polymer_element_1.PolymerElement)) {
|
|
12
14
|
static get template() {
|
|
13
|
-
return html `
|
|
15
|
+
return (0, html_tag_1.html) `
|
|
14
16
|
<style>
|
|
15
17
|
:host {
|
|
16
18
|
display: block;
|