@neovici/cosmoz-omnitable 14.21.2 → 14.22.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 +27 -29
- package/dist/cosmoz-omnitable-column-autocomplete.js +24 -28
- package/dist/cosmoz-omnitable-column-boolean.js +17 -25
- package/dist/cosmoz-omnitable-column-date.js +26 -28
- package/dist/cosmoz-omnitable-column-datetime.js +26 -28
- package/dist/cosmoz-omnitable-column-list-data.js +6 -8
- package/dist/cosmoz-omnitable-column-list-horizontal.js +15 -17
- package/dist/cosmoz-omnitable-column-list-mixin.js +15 -28
- package/dist/cosmoz-omnitable-column-list.js +19 -21
- package/dist/cosmoz-omnitable-column-mixin.js +8 -12
- package/dist/cosmoz-omnitable-column-number.js +27 -29
- package/dist/cosmoz-omnitable-column-time.js +24 -26
- package/dist/cosmoz-omnitable-column.js +11 -13
- package/dist/cosmoz-omnitable-columns.js +9 -11
- package/dist/cosmoz-omnitable-group-row.js +4 -6
- package/dist/cosmoz-omnitable-header-row.js +15 -17
- package/dist/cosmoz-omnitable-item-expand-line.js +5 -7
- package/dist/cosmoz-omnitable-item-expand.js +6 -8
- package/dist/cosmoz-omnitable-item-row.js +5 -7
- package/dist/cosmoz-omnitable-skeleton.js +6 -8
- package/dist/cosmoz-omnitable-styles.js +4 -7
- package/dist/cosmoz-omnitable.d.ts +1 -1
- package/dist/cosmoz-omnitable.d.ts.map +1 -1
- package/dist/cosmoz-omnitable.js +31 -37
- package/dist/grouped-list/cosmoz-grouped-list-row.js +2 -4
- package/dist/grouped-list/cosmoz-grouped-list.js +4 -6
- package/dist/grouped-list/index.js +1 -3
- package/dist/grouped-list/use-collapsible-items.d.ts +4 -4
- package/dist/grouped-list/use-collapsible-items.js +8 -12
- package/dist/grouped-list/use-cosmoz-grouped-list.d.ts +1 -1
- package/dist/grouped-list/use-cosmoz-grouped-list.js +19 -23
- package/dist/grouped-list/use-selected-items.d.ts +10 -10
- package/dist/grouped-list/use-selected-items.js +15 -19
- package/dist/grouped-list/use-weak-state.d.ts +3 -3
- package/dist/grouped-list/use-weak-state.js +6 -10
- package/dist/grouped-list/utils.js +1 -11
- package/dist/lib/compute-layout.js +7 -12
- package/dist/lib/cosmoz-omnitable-amount-range-input.js +14 -16
- package/dist/lib/cosmoz-omnitable-date-input-mixin.js +5 -9
- package/dist/lib/cosmoz-omnitable-date-range-input.js +12 -14
- package/dist/lib/cosmoz-omnitable-datetime-range-input.js +13 -15
- package/dist/lib/cosmoz-omnitable-number-range-input.js +12 -14
- package/dist/lib/cosmoz-omnitable-range-input-mixin.js +8 -12
- package/dist/lib/cosmoz-omnitable-resize-nub.js +5 -7
- package/dist/lib/cosmoz-omnitable-time-range-input.js +12 -14
- package/dist/lib/generic-sorter.js +1 -5
- package/dist/lib/icons.d.ts +4 -4
- package/dist/lib/icons.d.ts.map +1 -1
- package/dist/lib/icons.js +5 -8
- package/dist/lib/layout.js +2 -5
- package/dist/lib/polymer-haunted-render-mixin.js +6 -10
- 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 +12 -16
- 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 +5 -9
- 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 +15 -19
- package/dist/lib/save-as-csv-action.js +3 -7
- package/dist/lib/save-as-xlsx-action.js +5 -9
- package/dist/lib/settings/cosmoz-omnitable-settings.js +33 -71
- 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 +12 -19
- package/dist/lib/settings/drivers/context.d.ts +10 -2
- package/dist/lib/settings/drivers/context.d.ts.map +1 -1
- package/dist/lib/settings/drivers/context.js +6 -13
- package/dist/lib/settings/drivers/index.js +3 -25
- package/dist/lib/settings/drivers/local.js +1 -3
- package/dist/lib/settings/drivers/remote.js +1 -3
- package/dist/lib/settings/index.js +2 -9
- package/dist/lib/settings/normalize.js +10 -15
- package/dist/lib/settings/style.css.js +5 -8
- package/dist/lib/settings/use-saved-settings.d.ts +2 -2
- package/dist/lib/settings/use-saved-settings.js +9 -11
- package/dist/lib/settings/use-settings-ui.js +12 -14
- package/dist/lib/settings/use-settings.d.ts +12 -6
- package/dist/lib/settings/use-settings.d.ts.map +1 -1
- package/dist/lib/settings/use-settings.js +8 -46
- package/dist/lib/types.js +1 -2
- package/dist/lib/use-canvas-width.js +5 -9
- 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 +7 -11
- package/dist/lib/use-fast-layout.d.ts +1 -1
- package/dist/lib/use-fast-layout.js +18 -22
- package/dist/lib/use-footer.js +1 -5
- package/dist/lib/use-hash-state.js +11 -15
- package/dist/lib/use-header.js +5 -9
- package/dist/lib/use-layout.d.ts +1 -1
- package/dist/lib/use-layout.d.ts.map +1 -1
- package/dist/lib/use-layout.js +4 -8
- package/dist/lib/use-list.d.ts +10 -2
- package/dist/lib/use-list.d.ts.map +1 -1
- package/dist/lib/use-list.js +21 -25
- package/dist/lib/use-mini.d.ts +1 -1
- package/dist/lib/use-mini.js +5 -9
- package/dist/lib/use-omnitable.d.ts +10 -2
- package/dist/lib/use-omnitable.d.ts.map +1 -1
- package/dist/lib/use-omnitable.js +18 -22
- package/dist/lib/use-processed-items.d.ts +5 -3
- package/dist/lib/use-processed-items.d.ts.map +1 -1
- package/dist/lib/use-processed-items.js +23 -27
- package/dist/lib/use-public-interface.js +16 -20
- package/dist/lib/use-resizable-columns.js +4 -8
- package/dist/lib/use-sort-and-group-options.d.ts +25 -2
- package/dist/lib/use-sort-and-group-options.d.ts.map +1 -1
- package/dist/lib/use-sort-and-group-options.js +12 -16
- 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 +2 -6
- package/dist/lib/use-tween-array.js +10 -14
- package/dist/lib/utils-amount.js +29 -25
- package/dist/lib/utils-data.js +8 -12
- package/dist/lib/utils-date.js +38 -55
- package/dist/lib/utils-datetime.js +22 -32
- package/dist/lib/utils-number.js +24 -34
- package/dist/lib/utils-time.js +34 -46
- package/dist/lib/utils.js +2 -6
- package/dist/ui-helpers/cosmoz-clear-button.js +5 -7
- package/package.json +143 -134
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.toCss = exports.computeLayout = void 0;
|
|
4
|
-
const layout_1 = require("./layout");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
1
|
+
import { layout } from './layout';
|
|
2
|
+
import { findLastIndex } from './utils';
|
|
6
3
|
const _toCss = (layout, config) => {
|
|
7
|
-
const lastVisibleIndex =
|
|
4
|
+
const lastVisibleIndex = findLastIndex(layout, (width) => width != null && width > 0);
|
|
8
5
|
const generateCellCSS = (itemName, width) => `.cell[name="${itemName}"], cosmoz-omnitable-skeleton::part(cell-${itemName}){width: ${Math.floor(width)}px;padding: 0 min(3px, ${width / 2}px)}`;
|
|
9
6
|
const hideResizeNub = (itemName) => `cosmoz-omnitable-resize-nub[name="${itemName}"]{display:none}`;
|
|
10
7
|
const hideColumn = (itemName) => `cosmoz-omnitable-resize-nub[name="${itemName}"], .cell[name="${itemName}"]{display:none}`;
|
|
@@ -26,11 +23,11 @@ const _toCss = (layout, config) => {
|
|
|
26
23
|
})
|
|
27
24
|
.join('\n');
|
|
28
25
|
};
|
|
29
|
-
const computeLayout = (_columnConfigs, canvasWidth, numColumns) => {
|
|
26
|
+
export const computeLayout = (_columnConfigs, canvasWidth, numColumns) => {
|
|
30
27
|
const columnConfigs = _columnConfigs.filter((c) => !c.hidden), totalWidths = columnConfigs.reduce((sum, { width }) => sum + width, 0);
|
|
31
28
|
if (columnConfigs.length > 1 && totalWidths > canvasWidth) {
|
|
32
29
|
// drop a column
|
|
33
|
-
return
|
|
30
|
+
return computeLayout(columnConfigs.slice(1), canvasWidth, numColumns);
|
|
34
31
|
}
|
|
35
32
|
// calculate the index of the last visible column, the one that needs to flex,
|
|
36
33
|
// as the column configs might now be in a different order than displayed
|
|
@@ -43,13 +40,11 @@ const computeLayout = (_columnConfigs, canvasWidth, numColumns) => {
|
|
|
43
40
|
if (lastColumnIndex !== -1) {
|
|
44
41
|
columnConfigs[lastColumnIndex].flex = 1;
|
|
45
42
|
}
|
|
46
|
-
const widths =
|
|
43
|
+
const widths = layout(columnConfigs, canvasWidth);
|
|
47
44
|
return widths.reduce((sorted, width, i) => {
|
|
48
45
|
sorted[columnConfigs[i].index] = width;
|
|
49
46
|
return sorted;
|
|
50
47
|
}, new Array(numColumns).fill(undefined));
|
|
51
48
|
};
|
|
52
|
-
|
|
53
|
-
const toCss = (layout, config) => layout.length === 0 ? '.cell {display: none;}' : _toCss(layout, config);
|
|
54
|
-
exports.toCss = toCss;
|
|
49
|
+
export const toCss = (layout, config) => layout.length === 0 ? '.cell {display: none;}' : _toCss(layout, config);
|
|
55
50
|
//# sourceMappingURL=compute-layout.js.map
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const polymer_haunted_render_mixin_1 = require("./polymer-haunted-render-mixin");
|
|
10
|
-
class AmountRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInputMixin)((0, polymer_haunted_render_mixin_1.polymerHauntedRender)(polymer_1.PolymerElement)) {
|
|
1
|
+
import { _ } from '@neovici/cosmoz-i18next';
|
|
2
|
+
import { PolymerElement } from '@polymer/polymer';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
5
|
+
import '@neovici/cosmoz-input';
|
|
6
|
+
import { rangeInputMixin } from './cosmoz-omnitable-range-input-mixin';
|
|
7
|
+
import { polymerHauntedRender } from './polymer-haunted-render-mixin';
|
|
8
|
+
class AmountRangeInput extends rangeInputMixin(polymerHauntedRender(PolymerElement)) {
|
|
11
9
|
static get properties() {
|
|
12
10
|
return {
|
|
13
11
|
/**
|
|
@@ -39,7 +37,7 @@ class AmountRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
39
37
|
this.headerFocused = event.detail.value;
|
|
40
38
|
this._onDropdownOpenedChanged(event);
|
|
41
39
|
};
|
|
42
|
-
return
|
|
40
|
+
return html `
|
|
43
41
|
<style>
|
|
44
42
|
paper-dropdown-menu {
|
|
45
43
|
--iron-icon-width: 0;
|
|
@@ -95,7 +93,7 @@ class AmountRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
95
93
|
></cosmoz-clear-button>
|
|
96
94
|
<paper-dropdown-menu
|
|
97
95
|
label=${this.title}
|
|
98
|
-
placeholder=${
|
|
96
|
+
placeholder=${ifDefined(this._filterText)}
|
|
99
97
|
class="external-values-${this.externalValues}"
|
|
100
98
|
title=${this._tooltip}
|
|
101
99
|
horizontal-align="right"
|
|
@@ -107,8 +105,8 @@ class AmountRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
107
105
|
<cosmoz-input
|
|
108
106
|
class=${this._fromClasses}
|
|
109
107
|
type="number"
|
|
110
|
-
title=${
|
|
111
|
-
label=${
|
|
108
|
+
title=${_('Minimum amount')}
|
|
109
|
+
label=${_('Min amount')}
|
|
112
110
|
.value=${this._filterInput?.min}
|
|
113
111
|
@value-changed=${(event) => {
|
|
114
112
|
this.set('_filterInput.min', event.detail.value);
|
|
@@ -123,8 +121,8 @@ class AmountRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
123
121
|
<cosmoz-input
|
|
124
122
|
class=${this._toClasses}
|
|
125
123
|
type="number"
|
|
126
|
-
title=${
|
|
127
|
-
label=${
|
|
124
|
+
title=${_('Maximum amount')}
|
|
125
|
+
label=${_('Max amount')}
|
|
128
126
|
.value=${this._filterInput?.max}
|
|
129
127
|
@value-changed=${(event) => {
|
|
130
128
|
this.set('_filterInput.max', event.detail.value);
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.dateInputMixin = void 0;
|
|
4
|
-
const date_1 = require("@neovici/cosmoz-utils/date");
|
|
5
|
-
const cosmoz_omnitable_range_input_mixin_1 = require("./cosmoz-omnitable-range-input-mixin");
|
|
1
|
+
import { toLocalISOString } from '@neovici/cosmoz-utils/date';
|
|
2
|
+
import { rangeInputMixin } from './cosmoz-omnitable-range-input-mixin';
|
|
6
3
|
/**
|
|
7
4
|
* @polymer
|
|
8
5
|
* @mixinFunction
|
|
@@ -10,12 +7,12 @@ const cosmoz_omnitable_range_input_mixin_1 = require("./cosmoz-omnitable-range-i
|
|
|
10
7
|
* @param {class} base The base class
|
|
11
8
|
* @returns {class} The base class with the mixin applied
|
|
12
9
|
*/
|
|
13
|
-
const dateInputMixin = (base) =>
|
|
10
|
+
export const dateInputMixin = (base) =>
|
|
14
11
|
/**
|
|
15
12
|
* @polymer
|
|
16
13
|
* @mixinClass
|
|
17
14
|
*/
|
|
18
|
-
class extends
|
|
15
|
+
class extends rangeInputMixin(base) {
|
|
19
16
|
static get properties() {
|
|
20
17
|
return {
|
|
21
18
|
max: { type: Date, value: null },
|
|
@@ -146,8 +143,7 @@ class extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInputMixin)(base) {
|
|
|
146
143
|
this._fireItemChangeEvent(item, this.valuePath, oldValue, this.renderValue.bind(this));
|
|
147
144
|
}
|
|
148
145
|
_toLocalISOString(date) {
|
|
149
|
-
return
|
|
146
|
+
return toLocalISOString(date);
|
|
150
147
|
}
|
|
151
148
|
};
|
|
152
|
-
exports.dateInputMixin = dateInputMixin;
|
|
153
149
|
//# sourceMappingURL=cosmoz-omnitable-date-input-mixin.js.map
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const polymer_haunted_render_mixin_1 = require("./polymer-haunted-render-mixin");
|
|
10
|
-
class DateRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMixin)((0, polymer_haunted_render_mixin_1.polymerHauntedRender)(polymer_1.PolymerElement)) {
|
|
1
|
+
import { _ } from '@neovici/cosmoz-i18next';
|
|
2
|
+
import { PolymerElement } from '@polymer/polymer';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
5
|
+
import '@neovici/cosmoz-input';
|
|
6
|
+
import { dateInputMixin } from './cosmoz-omnitable-date-input-mixin';
|
|
7
|
+
import { polymerHauntedRender } from './polymer-haunted-render-mixin';
|
|
8
|
+
class DateRangeInput extends dateInputMixin(polymerHauntedRender(PolymerElement)) {
|
|
11
9
|
render() {
|
|
12
|
-
return
|
|
10
|
+
return html `
|
|
13
11
|
<style>
|
|
14
12
|
paper-dropdown-menu {
|
|
15
13
|
--iron-icon-width: 0;
|
|
@@ -64,7 +62,7 @@ class DateRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMi
|
|
|
64
62
|
></cosmoz-clear-button>
|
|
65
63
|
<paper-dropdown-menu
|
|
66
64
|
label=${this.title}
|
|
67
|
-
placeholder=${
|
|
65
|
+
placeholder=${ifDefined(this._filterText)}
|
|
68
66
|
class="external-values-${this.externalValues}"
|
|
69
67
|
title=${this._tooltip}
|
|
70
68
|
horizontal-align="right"
|
|
@@ -78,7 +76,7 @@ class DateRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMi
|
|
|
78
76
|
<h3 style="margin: 0;">${this.title}</h3>
|
|
79
77
|
<cosmoz-input
|
|
80
78
|
type="date"
|
|
81
|
-
label=${
|
|
79
|
+
label=${_('From date')}
|
|
82
80
|
min=${this._toInputString(this._limit.fromMin)}
|
|
83
81
|
max=${this._toInputString(this._limit.fromMax)}
|
|
84
82
|
.value=${this._filterInput?.min}
|
|
@@ -86,7 +84,7 @@ class DateRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMi
|
|
|
86
84
|
></cosmoz-input>
|
|
87
85
|
<cosmoz-input
|
|
88
86
|
type="date"
|
|
89
|
-
label=${
|
|
87
|
+
label=${_('Until date')}
|
|
90
88
|
min=${this._toInputString(this._limit.toMin)}
|
|
91
89
|
max=${this._toInputString(this._limit.toMax)}
|
|
92
90
|
.value=${this._filterInput?.max}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const polymer_haunted_render_mixin_1 = require("./polymer-haunted-render-mixin");
|
|
9
|
-
class DatetimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMixin)((0, polymer_haunted_render_mixin_1.polymerHauntedRender)(polymer_1.PolymerElement)) {
|
|
1
|
+
import { _ } from '@neovici/cosmoz-i18next';
|
|
2
|
+
import { PolymerElement } from '@polymer/polymer';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
5
|
+
import { dateInputMixin } from './cosmoz-omnitable-date-input-mixin';
|
|
6
|
+
import { polymerHauntedRender } from './polymer-haunted-render-mixin';
|
|
7
|
+
class DatetimeRangeInput extends dateInputMixin(polymerHauntedRender(PolymerElement)) {
|
|
10
8
|
render() {
|
|
11
|
-
return
|
|
9
|
+
return html `
|
|
12
10
|
<style>
|
|
13
11
|
paper-dropdown-menu {
|
|
14
12
|
--iron-icon-width: 0;
|
|
@@ -65,7 +63,7 @@ class DatetimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInp
|
|
|
65
63
|
></cosmoz-clear-button>
|
|
66
64
|
<paper-dropdown-menu
|
|
67
65
|
label=${this.title}
|
|
68
|
-
placeholder=${
|
|
66
|
+
placeholder=${ifDefined(this._filterText)}
|
|
69
67
|
class="external-values-${this.externalValues}"
|
|
70
68
|
title=${this._tooltip}
|
|
71
69
|
horizontal-align="right"
|
|
@@ -75,8 +73,8 @@ class DatetimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInp
|
|
|
75
73
|
<div class="dropdown-content" slot="dropdown-content">
|
|
76
74
|
<h3 style="margin: 0;">${this.title}</h3>
|
|
77
75
|
<cosmoz-datetime-input
|
|
78
|
-
date-label=${
|
|
79
|
-
time-label=${
|
|
76
|
+
date-label=${_('From date')}
|
|
77
|
+
time-label=${_('From time')}
|
|
80
78
|
min=${this._toInputString(this._limit.fromMin)}
|
|
81
79
|
max=${this._toInputString(this._limit.fromMax)}
|
|
82
80
|
step=${this.filterStep}
|
|
@@ -84,8 +82,8 @@ class DatetimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInp
|
|
|
84
82
|
@value-changed=${(event) => this.set('_filterInput.min', event.detail.value)}
|
|
85
83
|
></cosmoz-datetime-input>
|
|
86
84
|
<cosmoz-datetime-input
|
|
87
|
-
date-label=${
|
|
88
|
-
time-label=${
|
|
85
|
+
date-label=${_('To date')}
|
|
86
|
+
time-label=${_('To time')}
|
|
89
87
|
min=${this._toInputString(this._limit.toMin)}
|
|
90
88
|
max=${this._toInputString(this._limit.toMax)}
|
|
91
89
|
step=${this.filterStep}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const polymer_haunted_render_mixin_1 = require("./polymer-haunted-render-mixin");
|
|
10
|
-
class NumberRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInputMixin)((0, polymer_haunted_render_mixin_1.polymerHauntedRender)(polymer_1.PolymerElement)) {
|
|
1
|
+
import { PolymerElement } from '@polymer/polymer';
|
|
2
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
import { _ } from '@neovici/cosmoz-i18next';
|
|
5
|
+
import '@neovici/cosmoz-input';
|
|
6
|
+
import { rangeInputMixin } from './cosmoz-omnitable-range-input-mixin';
|
|
7
|
+
import { polymerHauntedRender } from './polymer-haunted-render-mixin';
|
|
8
|
+
class NumberRangeInput extends rangeInputMixin(polymerHauntedRender(PolymerElement)) {
|
|
11
9
|
static get properties() {
|
|
12
10
|
return {
|
|
13
11
|
maximumFractionDigits: { type: Number, value: null },
|
|
@@ -29,7 +27,7 @@ class NumberRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
29
27
|
this.headerFocused = event.detail.value;
|
|
30
28
|
this._onDropdownOpenedChanged(event);
|
|
31
29
|
};
|
|
32
|
-
return
|
|
30
|
+
return html `
|
|
33
31
|
<style>
|
|
34
32
|
paper-dropdown-menu {
|
|
35
33
|
--iron-icon-width: 0;
|
|
@@ -86,7 +84,7 @@ class NumberRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
86
84
|
></cosmoz-clear-button>
|
|
87
85
|
<paper-dropdown-menu
|
|
88
86
|
label=${this.title}
|
|
89
|
-
placeholder=${
|
|
87
|
+
placeholder=${ifDefined(this._filterText)}
|
|
90
88
|
class="external-values-${this.externalValues}"
|
|
91
89
|
title=${this._tooltip}
|
|
92
90
|
horizontal-align="right"
|
|
@@ -98,7 +96,7 @@ class NumberRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
98
96
|
<cosmoz-input
|
|
99
97
|
class=${this._fromClasses}
|
|
100
98
|
type="number"
|
|
101
|
-
label=${
|
|
99
|
+
label=${_('From')}
|
|
102
100
|
.value=${this._filterInput?.min}
|
|
103
101
|
@value-changed=${(event) => {
|
|
104
102
|
this.set('_filterInput.min', event.detail.value);
|
|
@@ -111,7 +109,7 @@ class NumberRangeInput extends (0, cosmoz_omnitable_range_input_mixin_1.rangeInp
|
|
|
111
109
|
<cosmoz-input
|
|
112
110
|
class=${this._toClasses}
|
|
113
111
|
type="number"
|
|
114
|
-
label=${
|
|
112
|
+
label=${_('To')}
|
|
115
113
|
.value=${this._filterInput?.max}
|
|
116
114
|
@value-changed=${(event) => {
|
|
117
115
|
this.set('_filterInput.max', event.detail.value);
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const async_js_1 = require("@polymer/polymer/lib/utils/async.js");
|
|
6
|
-
const flush_js_1 = require("@polymer/polymer/lib/utils/flush.js");
|
|
7
|
-
const function_1 = require("@neovici/cosmoz-utils/function");
|
|
1
|
+
import { Debouncer } from '@polymer/polymer/lib/utils/debounce.js';
|
|
2
|
+
import { timeOut } from '@polymer/polymer/lib/utils/async.js';
|
|
3
|
+
import { enqueueDebouncer } from '@polymer/polymer/lib/utils/flush.js';
|
|
4
|
+
import { invoke } from '@neovici/cosmoz-utils/function';
|
|
8
5
|
const getCloseableParent = (el) => typeof el.close === 'function' ? el : getCloseableParent(el.parentElement);
|
|
9
6
|
/**
|
|
10
7
|
* @polymer
|
|
@@ -12,7 +9,7 @@ const getCloseableParent = (el) => typeof el.close === 'function' ? el : getClos
|
|
|
12
9
|
* @param {class} base The base class
|
|
13
10
|
* @returns {class} The base class with the mixin applied
|
|
14
11
|
*/
|
|
15
|
-
const rangeInputMixin = (base) =>
|
|
12
|
+
export const rangeInputMixin = (base) =>
|
|
16
13
|
/**
|
|
17
14
|
* @polymer
|
|
18
15
|
* @mixinClass
|
|
@@ -210,11 +207,11 @@ class extends base {
|
|
|
210
207
|
if (!autoupdate) {
|
|
211
208
|
return;
|
|
212
209
|
}
|
|
213
|
-
this._limitInputDebouncer =
|
|
210
|
+
this._limitInputDebouncer = Debouncer.debounce(this._limitInputDebouncer, timeOut.after(600), () => {
|
|
214
211
|
this._limitInput();
|
|
215
212
|
this._updateFilter();
|
|
216
213
|
});
|
|
217
|
-
|
|
214
|
+
enqueueDebouncer(this._limitInputDebouncer);
|
|
218
215
|
}
|
|
219
216
|
_clearFrom() {
|
|
220
217
|
this.set('_filterInput.min', null);
|
|
@@ -328,7 +325,7 @@ class extends base {
|
|
|
328
325
|
_updateLimits(limits, headerFocused) {
|
|
329
326
|
if (!limits)
|
|
330
327
|
return;
|
|
331
|
-
Promise.resolve(
|
|
328
|
+
Promise.resolve(invoke(limits, { active: headerFocused })).then((res) => {
|
|
332
329
|
const { min, max } = res ?? {};
|
|
333
330
|
Object.assign(this, {
|
|
334
331
|
...(min != null ? { min } : {}),
|
|
@@ -337,5 +334,4 @@ class extends base {
|
|
|
337
334
|
});
|
|
338
335
|
}
|
|
339
336
|
};
|
|
340
|
-
exports.rangeInputMixin = rangeInputMixin;
|
|
341
337
|
//# sourceMappingURL=cosmoz-omnitable-range-input-mixin.js.map
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const pion_1 = require("@pionjs/pion");
|
|
4
|
-
const lit_html_1 = require("lit-html");
|
|
1
|
+
import { useEffect, component } from '@pionjs/pion';
|
|
2
|
+
import { nothing } from 'lit-html';
|
|
5
3
|
const ResizeNub = (host) => {
|
|
6
4
|
const { column } = host;
|
|
7
|
-
|
|
5
|
+
useEffect(() => {
|
|
8
6
|
let initial = 0;
|
|
9
7
|
let initialWidth = 0;
|
|
10
8
|
const move = (ev) => {
|
|
@@ -29,7 +27,7 @@ const ResizeNub = (host) => {
|
|
|
29
27
|
host.addEventListener('pointerdown', start);
|
|
30
28
|
return () => host.removeEventListener('pointerdown', start);
|
|
31
29
|
}, [column]);
|
|
32
|
-
return
|
|
30
|
+
return nothing;
|
|
33
31
|
};
|
|
34
|
-
customElements.define('cosmoz-omnitable-resize-nub',
|
|
32
|
+
customElements.define('cosmoz-omnitable-resize-nub', component(ResizeNub));
|
|
35
33
|
//# sourceMappingURL=cosmoz-omnitable-resize-nub.js.map
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const polymer_haunted_render_mixin_1 = require("./polymer-haunted-render-mixin");
|
|
10
|
-
class TimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMixin)((0, polymer_haunted_render_mixin_1.polymerHauntedRender)(polymer_1.PolymerElement)) {
|
|
1
|
+
import { _ } from '@neovici/cosmoz-i18next';
|
|
2
|
+
import { PolymerElement } from '@polymer/polymer';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
5
|
+
import '@neovici/cosmoz-input';
|
|
6
|
+
import { dateInputMixin } from './cosmoz-omnitable-date-input-mixin';
|
|
7
|
+
import { polymerHauntedRender } from './polymer-haunted-render-mixin';
|
|
8
|
+
class TimeRangeInput extends dateInputMixin(polymerHauntedRender(PolymerElement)) {
|
|
11
9
|
render() {
|
|
12
|
-
return
|
|
10
|
+
return html `
|
|
13
11
|
<style>
|
|
14
12
|
paper-dropdown-menu {
|
|
15
13
|
--iron-icon-width: 0;
|
|
@@ -23,7 +21,7 @@ class TimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMi
|
|
|
23
21
|
></cosmoz-clear-button>
|
|
24
22
|
<paper-dropdown-menu
|
|
25
23
|
label=${this.title}
|
|
26
|
-
placeholder=${
|
|
24
|
+
placeholder=${ifDefined(this._filterText)}
|
|
27
25
|
class="external-values-${this.externalValues}"
|
|
28
26
|
title=${this._tooltip}
|
|
29
27
|
horizontal-align="right"
|
|
@@ -39,14 +37,14 @@ class TimeRangeInput extends (0, cosmoz_omnitable_date_input_mixin_1.dateInputMi
|
|
|
39
37
|
<h3 style="margin: 0;">${this.title}</h3>
|
|
40
38
|
<cosmoz-input
|
|
41
39
|
type="time"
|
|
42
|
-
label=${
|
|
40
|
+
label=${_('From time')}
|
|
43
41
|
step=${this.filterStep}
|
|
44
42
|
.value=${this._filterInput.min}
|
|
45
43
|
@value-changed=${(event) => this.set('_filterInput.min', event.detail.value)}
|
|
46
44
|
></cosmoz-input>
|
|
47
45
|
<cosmoz-input
|
|
48
46
|
type="time"
|
|
49
|
-
label=${
|
|
47
|
+
label=${_('Until time')}
|
|
50
48
|
step=${this.filterStep}
|
|
51
49
|
.value=${this._filterInput.max}
|
|
52
50
|
@value-changed=${(event) => this.set('_filterInput.max', event.detail.value)}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.genericSorter = void 0;
|
|
4
1
|
// eslint-disable-next-line max-statements
|
|
5
|
-
const genericSorter = (a, b) => {
|
|
2
|
+
export const genericSorter = (a, b) => {
|
|
6
3
|
if (a === b) {
|
|
7
4
|
return 0;
|
|
8
5
|
}
|
|
@@ -31,5 +28,4 @@ const genericSorter = (a, b) => {
|
|
|
31
28
|
console.warn('unsupported sort', typeA, a, typeB, b);
|
|
32
29
|
return 0;
|
|
33
30
|
};
|
|
34
|
-
exports.genericSorter = genericSorter;
|
|
35
31
|
//# sourceMappingURL=generic-sorter.js.map
|
package/dist/lib/icons.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const close: import("lit-html"
|
|
2
|
-
export declare const pull: import("lit-html"
|
|
3
|
-
export declare const arrow: import("lit-html"
|
|
4
|
-
export declare const triangle: import("lit-html"
|
|
1
|
+
export declare const close: import("lit-html").TemplateResult<1>;
|
|
2
|
+
export declare const pull: import("lit-html").TemplateResult<1>;
|
|
3
|
+
export declare const arrow: import("lit-html").TemplateResult<1>;
|
|
4
|
+
export declare const triangle: import("lit-html").TemplateResult<1>;
|
|
5
5
|
//# sourceMappingURL=icons.d.ts.map
|
package/dist/lib/icons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/lib/icons.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/lib/icons.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,sCAqBX,CAAC;AAER,eAAO,MAAM,IAAI,sCAWhB,CAAC;AAEF,eAAO,MAAM,KAAK,sCAaX,CAAC;AAER,eAAO,MAAM,QAAQ,sCAWb,CAAC"}
|
package/dist/lib/icons.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.triangle = exports.arrow = exports.pull = exports.close = void 0;
|
|
4
|
-
const lit_html_1 = require("lit-html");
|
|
5
|
-
exports.close = (0, lit_html_1.html) `<svg
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
export const close = html `<svg
|
|
6
3
|
width="10"
|
|
7
4
|
height="9"
|
|
8
5
|
viewBox="0 0 10 9"
|
|
@@ -24,7 +21,7 @@ exports.close = (0, lit_html_1.html) `<svg
|
|
|
24
21
|
stroke-width="1.5"
|
|
25
22
|
/>
|
|
26
23
|
</svg>`;
|
|
27
|
-
|
|
24
|
+
export const pull = html `
|
|
28
25
|
<svg
|
|
29
26
|
width="16"
|
|
30
27
|
height="6"
|
|
@@ -36,7 +33,7 @@ exports.pull = (0, lit_html_1.html) `
|
|
|
36
33
|
<rect y="4" width="16" height="2" />
|
|
37
34
|
</svg>
|
|
38
35
|
`;
|
|
39
|
-
|
|
36
|
+
export const arrow = html ` <svg
|
|
40
37
|
width="12"
|
|
41
38
|
height="7"
|
|
42
39
|
viewBox="0 0 12 7"
|
|
@@ -50,7 +47,7 @@ exports.arrow = (0, lit_html_1.html) ` <svg
|
|
|
50
47
|
stroke-linejoin="round"
|
|
51
48
|
/>
|
|
52
49
|
</svg>`;
|
|
53
|
-
|
|
50
|
+
export const triangle = html `<svg
|
|
54
51
|
width="8"
|
|
55
52
|
height="6"
|
|
56
53
|
viewBox="0 0 8 6"
|
package/dist/lib/layout.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.layout = void 0;
|
|
4
1
|
const finite = (num) => (Number.isFinite(num) ? num : 0);
|
|
5
|
-
const
|
|
2
|
+
export const // eslint-disable-next-line max-statements
|
|
3
|
+
layout = (columns, container) => {
|
|
6
4
|
const result = [];
|
|
7
5
|
let [widthSum, lots] = columns.reduce(([widthSum, lots], { width, flex }) => [widthSum + width, lots + flex], [0, 0]), freeRealEstate = container - widthSum, lotSize = finite(freeRealEstate / lots), droppedWidth = 0, droppedContainerWidth = 0, droppedLots = 0;
|
|
8
6
|
// first pass: apply and drop lots with minWidth or flex 0
|
|
@@ -40,5 +38,4 @@ const layout = (columns, container) => {
|
|
|
40
38
|
}
|
|
41
39
|
return result;
|
|
42
40
|
};
|
|
43
|
-
exports.layout = layout;
|
|
44
41
|
//# sourceMappingURL=layout.js.map
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const polymer_1 = require("@polymer/polymer");
|
|
5
|
-
const lit_html_1 = require("lit-html");
|
|
6
|
-
const polymerHauntedRender = (base) => class extends base {
|
|
1
|
+
import { html } from '@polymer/polymer';
|
|
2
|
+
import { render } from 'lit-html';
|
|
3
|
+
export const polymerHauntedRender = (base) => class extends base {
|
|
7
4
|
static get template() {
|
|
8
|
-
return
|
|
5
|
+
return html `<div id="output" style="position:relative;"></div>`;
|
|
9
6
|
}
|
|
10
7
|
connectedCallback() {
|
|
11
8
|
super.connectedCallback();
|
|
12
|
-
|
|
9
|
+
render(this.render(), this.$.output);
|
|
13
10
|
}
|
|
14
11
|
_propertiesChanged(currentProps, changedProps, oldProps) {
|
|
15
12
|
super._propertiesChanged(currentProps, changedProps, oldProps);
|
|
16
|
-
requestAnimationFrame(() =>
|
|
13
|
+
requestAnimationFrame(() => render(this.render(), this.$.output));
|
|
17
14
|
}
|
|
18
15
|
};
|
|
19
|
-
exports.polymerHauntedRender = polymerHauntedRender;
|
|
20
16
|
//# sourceMappingURL=polymer-haunted-render-mixin.js.map
|
|
@@ -5,5 +5,5 @@ export function renderFooter({ columns, selectedItems, csvFilename, xlsxFilename
|
|
|
5
5
|
xlsxFilename: any;
|
|
6
6
|
xlsxSheetname: any;
|
|
7
7
|
topPlacement: any;
|
|
8
|
-
}): import("lit-html"
|
|
8
|
+
}): import("lit-html").TemplateResult<1>;
|
|
9
9
|
//# sourceMappingURL=render-footer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-footer.d.ts","sourceRoot":"","sources":["../../src/lib/render-footer.js"],"names":[],"mappings":"AAMO;;;;;;;
|
|
1
|
+
{"version":3,"file":"render-footer.d.ts","sourceRoot":"","sources":["../../src/lib/render-footer.js"],"names":[],"mappings":"AAMO;;;;;;;yCA0De"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const save_as_xlsx_action_1 = require("./save-as-xlsx-action");
|
|
8
|
-
const template_1 = require("@neovici/cosmoz-utils/template");
|
|
9
|
-
const renderFooter = ({ columns, selectedItems, csvFilename, xlsxFilename, xlsxSheetname, topPlacement, }) => (0, lit_html_1.html) `<cosmoz-bottom-bar
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
import { ngettext, _ } from '@neovici/cosmoz-i18next';
|
|
3
|
+
import { saveAsCsvAction } from './save-as-csv-action';
|
|
4
|
+
import { saveAsXlsxAction } from './save-as-xlsx-action';
|
|
5
|
+
import { isEmpty } from '@neovici/cosmoz-utils/template';
|
|
6
|
+
export const renderFooter = ({ columns, selectedItems, csvFilename, xlsxFilename, xlsxSheetname, topPlacement, }) => html `<cosmoz-bottom-bar
|
|
10
7
|
id="bottomBar"
|
|
11
|
-
?active=${!
|
|
8
|
+
?active=${!isEmpty(selectedItems.length)}
|
|
12
9
|
part="bottomBar"
|
|
13
10
|
exportparts="bar: bottomBar-bar, info: bottomBar-info, buttons: bottomBar-buttons"
|
|
14
11
|
>
|
|
15
12
|
<slot name="info" slot="info">
|
|
16
|
-
${
|
|
13
|
+
${ngettext('{0} selected item', '{0} selected items', selectedItems.length)}
|
|
17
14
|
</slot>
|
|
18
15
|
<slot name="actions" id="actions"></slot>
|
|
19
16
|
<!-- These slots are needed by cosmoz-bottom-bar
|
|
@@ -40,17 +37,16 @@ const renderFooter = ({ columns, selectedItems, csvFilename, xlsxFilename, xlsxS
|
|
|
40
37
|
<path d="M7 1V13" stroke-width="2" stroke-linecap="round" />
|
|
41
38
|
</svg>
|
|
42
39
|
<button
|
|
43
|
-
@click=${() =>
|
|
40
|
+
@click=${() => saveAsCsvAction(columns, selectedItems, csvFilename)}
|
|
44
41
|
>
|
|
45
|
-
${
|
|
42
|
+
${_('Save as CSV')}
|
|
46
43
|
</button>
|
|
47
44
|
<button
|
|
48
|
-
@click=${() =>
|
|
45
|
+
@click=${() => saveAsXlsxAction(columns, selectedItems, xlsxFilename, xlsxSheetname)}
|
|
49
46
|
>
|
|
50
|
-
${
|
|
47
|
+
${_('Save as XLSX')}
|
|
51
48
|
</button>
|
|
52
49
|
<slot name="download-menu"></slot>
|
|
53
50
|
</cosmoz-dropdown-menu>
|
|
54
51
|
</cosmoz-bottom-bar>`;
|
|
55
|
-
exports.renderFooter = renderFooter;
|
|
56
52
|
//# sourceMappingURL=render-footer.js.map
|
|
@@ -10,5 +10,5 @@ export function renderHeader({ allSelected, onAllCheckboxChange, sortAndGroup, d
|
|
|
10
10
|
setFilterState: any;
|
|
11
11
|
settingsConfig: any;
|
|
12
12
|
hideSelectAll: any;
|
|
13
|
-
}): import("lit-html"
|
|
13
|
+
}): import("lit-html").TemplateResult<1>;
|
|
14
14
|
//# sourceMappingURL=render-header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-header.d.ts","sourceRoot":"","sources":["../../src/lib/render-header.js"],"names":[],"mappings":"AAGO;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"render-header.d.ts","sourceRoot":"","sources":["../../src/lib/render-header.js"],"names":[],"mappings":"AAGO;;;;;;;;;;;;yCA+CqB"}
|