@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.
Files changed (123) hide show
  1. package/dist/cosmoz-omnitable-column-amount.js +27 -29
  2. package/dist/cosmoz-omnitable-column-autocomplete.js +24 -28
  3. package/dist/cosmoz-omnitable-column-boolean.js +17 -25
  4. package/dist/cosmoz-omnitable-column-date.js +26 -28
  5. package/dist/cosmoz-omnitable-column-datetime.js +26 -28
  6. package/dist/cosmoz-omnitable-column-list-data.js +6 -8
  7. package/dist/cosmoz-omnitable-column-list-horizontal.js +15 -17
  8. package/dist/cosmoz-omnitable-column-list-mixin.js +15 -28
  9. package/dist/cosmoz-omnitable-column-list.js +19 -21
  10. package/dist/cosmoz-omnitable-column-mixin.js +8 -12
  11. package/dist/cosmoz-omnitable-column-number.js +27 -29
  12. package/dist/cosmoz-omnitable-column-time.js +24 -26
  13. package/dist/cosmoz-omnitable-column.js +11 -13
  14. package/dist/cosmoz-omnitable-columns.js +9 -11
  15. package/dist/cosmoz-omnitable-group-row.js +4 -6
  16. package/dist/cosmoz-omnitable-header-row.js +15 -17
  17. package/dist/cosmoz-omnitable-item-expand-line.js +5 -7
  18. package/dist/cosmoz-omnitable-item-expand.js +6 -8
  19. package/dist/cosmoz-omnitable-item-row.js +5 -7
  20. package/dist/cosmoz-omnitable-skeleton.js +6 -8
  21. package/dist/cosmoz-omnitable-styles.js +4 -7
  22. package/dist/cosmoz-omnitable.d.ts +1 -1
  23. package/dist/cosmoz-omnitable.d.ts.map +1 -1
  24. package/dist/cosmoz-omnitable.js +31 -37
  25. package/dist/grouped-list/cosmoz-grouped-list-row.js +2 -4
  26. package/dist/grouped-list/cosmoz-grouped-list.js +4 -6
  27. package/dist/grouped-list/index.js +1 -3
  28. package/dist/grouped-list/use-collapsible-items.d.ts +4 -4
  29. package/dist/grouped-list/use-collapsible-items.js +8 -12
  30. package/dist/grouped-list/use-cosmoz-grouped-list.d.ts +1 -1
  31. package/dist/grouped-list/use-cosmoz-grouped-list.js +19 -23
  32. package/dist/grouped-list/use-selected-items.d.ts +10 -10
  33. package/dist/grouped-list/use-selected-items.js +15 -19
  34. package/dist/grouped-list/use-weak-state.d.ts +3 -3
  35. package/dist/grouped-list/use-weak-state.js +6 -10
  36. package/dist/grouped-list/utils.js +1 -11
  37. package/dist/lib/compute-layout.js +7 -12
  38. package/dist/lib/cosmoz-omnitable-amount-range-input.js +14 -16
  39. package/dist/lib/cosmoz-omnitable-date-input-mixin.js +5 -9
  40. package/dist/lib/cosmoz-omnitable-date-range-input.js +12 -14
  41. package/dist/lib/cosmoz-omnitable-datetime-range-input.js +13 -15
  42. package/dist/lib/cosmoz-omnitable-number-range-input.js +12 -14
  43. package/dist/lib/cosmoz-omnitable-range-input-mixin.js +8 -12
  44. package/dist/lib/cosmoz-omnitable-resize-nub.js +5 -7
  45. package/dist/lib/cosmoz-omnitable-time-range-input.js +12 -14
  46. package/dist/lib/generic-sorter.js +1 -5
  47. package/dist/lib/icons.d.ts +4 -4
  48. package/dist/lib/icons.d.ts.map +1 -1
  49. package/dist/lib/icons.js +5 -8
  50. package/dist/lib/layout.js +2 -5
  51. package/dist/lib/polymer-haunted-render-mixin.js +6 -10
  52. package/dist/lib/render-footer.d.ts +1 -1
  53. package/dist/lib/render-footer.d.ts.map +1 -1
  54. package/dist/lib/render-footer.js +12 -16
  55. package/dist/lib/render-header.d.ts +1 -1
  56. package/dist/lib/render-header.d.ts.map +1 -1
  57. package/dist/lib/render-header.js +5 -9
  58. package/dist/lib/render-list.d.ts +1 -1
  59. package/dist/lib/render-list.d.ts.map +1 -1
  60. package/dist/lib/render-list.js +15 -19
  61. package/dist/lib/save-as-csv-action.js +3 -7
  62. package/dist/lib/save-as-xlsx-action.js +5 -9
  63. package/dist/lib/settings/cosmoz-omnitable-settings.js +33 -71
  64. package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts +3 -3
  65. package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts.map +1 -1
  66. package/dist/lib/settings/cosmoz-omnitable-sort-group.js +12 -19
  67. package/dist/lib/settings/drivers/context.d.ts +10 -2
  68. package/dist/lib/settings/drivers/context.d.ts.map +1 -1
  69. package/dist/lib/settings/drivers/context.js +6 -13
  70. package/dist/lib/settings/drivers/index.js +3 -25
  71. package/dist/lib/settings/drivers/local.js +1 -3
  72. package/dist/lib/settings/drivers/remote.js +1 -3
  73. package/dist/lib/settings/index.js +2 -9
  74. package/dist/lib/settings/normalize.js +10 -15
  75. package/dist/lib/settings/style.css.js +5 -8
  76. package/dist/lib/settings/use-saved-settings.d.ts +2 -2
  77. package/dist/lib/settings/use-saved-settings.js +9 -11
  78. package/dist/lib/settings/use-settings-ui.js +12 -14
  79. package/dist/lib/settings/use-settings.d.ts +12 -6
  80. package/dist/lib/settings/use-settings.d.ts.map +1 -1
  81. package/dist/lib/settings/use-settings.js +8 -46
  82. package/dist/lib/types.js +1 -2
  83. package/dist/lib/use-canvas-width.js +5 -9
  84. package/dist/lib/use-dom-columns.d.ts +1 -1
  85. package/dist/lib/use-dom-columns.d.ts.map +1 -1
  86. package/dist/lib/use-dom-columns.js +7 -11
  87. package/dist/lib/use-fast-layout.d.ts +1 -1
  88. package/dist/lib/use-fast-layout.js +18 -22
  89. package/dist/lib/use-footer.js +1 -5
  90. package/dist/lib/use-hash-state.js +11 -15
  91. package/dist/lib/use-header.js +5 -9
  92. package/dist/lib/use-layout.d.ts +1 -1
  93. package/dist/lib/use-layout.d.ts.map +1 -1
  94. package/dist/lib/use-layout.js +4 -8
  95. package/dist/lib/use-list.d.ts +10 -2
  96. package/dist/lib/use-list.d.ts.map +1 -1
  97. package/dist/lib/use-list.js +21 -25
  98. package/dist/lib/use-mini.d.ts +1 -1
  99. package/dist/lib/use-mini.js +5 -9
  100. package/dist/lib/use-omnitable.d.ts +10 -2
  101. package/dist/lib/use-omnitable.d.ts.map +1 -1
  102. package/dist/lib/use-omnitable.js +18 -22
  103. package/dist/lib/use-processed-items.d.ts +5 -3
  104. package/dist/lib/use-processed-items.d.ts.map +1 -1
  105. package/dist/lib/use-processed-items.js +23 -27
  106. package/dist/lib/use-public-interface.js +16 -20
  107. package/dist/lib/use-resizable-columns.js +4 -8
  108. package/dist/lib/use-sort-and-group-options.d.ts +25 -2
  109. package/dist/lib/use-sort-and-group-options.d.ts.map +1 -1
  110. package/dist/lib/use-sort-and-group-options.js +12 -16
  111. package/dist/lib/use-track-size.d.ts +1 -1
  112. package/dist/lib/use-track-size.d.ts.map +1 -1
  113. package/dist/lib/use-track-size.js +2 -6
  114. package/dist/lib/use-tween-array.js +10 -14
  115. package/dist/lib/utils-amount.js +29 -25
  116. package/dist/lib/utils-data.js +8 -12
  117. package/dist/lib/utils-date.js +38 -55
  118. package/dist/lib/utils-datetime.js +22 -32
  119. package/dist/lib/utils-number.js +24 -34
  120. package/dist/lib/utils-time.js +34 -46
  121. package/dist/lib/utils.js +2 -6
  122. package/dist/ui-helpers/cosmoz-clear-button.js +5 -7
  123. package/package.json +143 -134
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listColumnMixin = exports.toAutocompleteSource = exports.computeSource = exports.onText = exports.onFocus = exports.onChange = exports.applyMultiFilter = exports.toXlsxValue = exports.getString = exports.getTexts = exports.unique = void 0;
4
- const object_1 = require("@neovici/cosmoz-utils/object");
5
- const array_1 = require("@neovici/cosmoz-utils/array");
6
- const function_1 = require("@neovici/cosmoz-utils/function");
7
- const path_1 = require("@polymer/polymer/lib/utils/path");
8
- const utils_data_1 = require("./lib/utils-data");
1
+ import { prop } from '@neovici/cosmoz-utils/object';
2
+ import { array } from '@neovici/cosmoz-utils/array';
3
+ import { invoke } from '@neovici/cosmoz-utils/function';
4
+ import { get } from '@polymer/polymer/lib/utils/path';
5
+ import { valuesFrom } from './lib/utils-data';
9
6
  const unique = (values, valueProperty) => {
10
7
  if (!Array.isArray(values)) {
11
8
  return;
@@ -27,7 +24,7 @@ const unique = (values, valueProperty) => {
27
24
  return false;
28
25
  }
29
26
  if (valueProperty) {
30
- const value = (0, path_1.get)(item, valueProperty);
27
+ const value = get(item, valueProperty);
31
28
  if (used.indexOf(value) !== -1) {
32
29
  return false;
33
30
  }
@@ -60,14 +57,14 @@ const unique = (values, valueProperty) => {
60
57
  });
61
58
  }
62
59
  return [];
63
- }, getTexts = (item, valuePath, textProperty) => (0, array_1.array)(valuePath && (0, path_1.get)(item, valuePath)).map((0, object_1.prop)(textProperty)), getString = ({ valuePath, textProperty }, item) => {
60
+ }, getTexts = (item, valuePath, textProperty) => array(valuePath && get(item, valuePath)).map(prop(textProperty)), getString = ({ valuePath, textProperty }, item) => {
64
61
  return getTexts(item, valuePath, textProperty)
65
62
  .filter((i) => i != null)
66
63
  .join(', ');
67
64
  }, toXlsxValue = getString, applyMultiFilter = ({ valueProperty, valuePath, emptyValue, emptyProperty }, filters) => (item) => {
68
- const val = (0, object_1.prop)(valueProperty), values = (0, array_1.array)((0, path_1.get)(item, valuePath));
65
+ const val = prop(valueProperty), values = array(get(item, valuePath));
69
66
  return filters.some((filter) => (values.length === 0 &&
70
- (0, object_1.prop)(emptyProperty || valueProperty)(filter) === emptyValue) ||
67
+ prop(emptyProperty || valueProperty)(filter) === emptyValue) ||
71
68
  values.some((value) => val(value) === val(filter)));
72
69
  }, onChange = (setState) => (value) => setState((state) => ({ ...state, filter: value })), onFocus = (setState) => (focused) => setState((state) => ({ ...state, headerFocused: focused })), onText = (setState) => (text) => setState((state) => ({ ...state, query: text })), computeValues = ({ emptyValue, emptyLabel, emptyProperty, textProperty, valueProperty }, rawSource) => {
73
70
  const source = toAutocompleteSource(rawSource, valueProperty, textProperty);
@@ -85,7 +82,7 @@ const unique = (values, valueProperty) => {
85
82
  },
86
83
  ...source,
87
84
  ];
88
- }, computeSource = (column, data) => computeValues(column, (0, utils_data_1.valuesFrom)(data, column.valuePath)), listColumnMixin = (base) => class extends base {
85
+ }, computeSource = (column, data) => computeValues(column, valuesFrom(data, column.valuePath)), listColumnMixin = (base) => class extends base {
89
86
  static get properties() {
90
87
  return {
91
88
  textProperty: { type: String },
@@ -110,12 +107,12 @@ const unique = (values, valueProperty) => {
110
107
  return getString(column, item);
111
108
  }
112
109
  getComparableValue({ valuePath, valueProperty }, item) {
113
- const value = (0, path_1.get)(item, valuePath);
110
+ const value = get(item, valuePath);
114
111
  if (valueProperty == null) {
115
112
  return value;
116
113
  }
117
- const subValues = (0, array_1.array)(value).reduce((acc, subItem) => {
118
- acc.push((0, path_1.get)(subItem, valueProperty));
114
+ const subValues = array(value).reduce((acc, subItem) => {
115
+ acc.push(get(subItem, valueProperty));
119
116
  return acc;
120
117
  }, []);
121
118
  return subValues.sort().join(' ');
@@ -134,19 +131,9 @@ const unique = (values, valueProperty) => {
134
131
  }
135
132
  computeSource(column, data) {
136
133
  return column.externalValues || typeof column.values === 'function'
137
- ? async (...args) => computeValues(column, await Promise.resolve((0, function_1.invoke)(column.values, ...args)))
134
+ ? async (...args) => computeValues(column, await Promise.resolve(invoke(column.values, ...args)))
138
135
  : computeSource(column, data);
139
136
  }
140
137
  };
141
- exports.unique = unique;
142
- exports.toAutocompleteSource = toAutocompleteSource;
143
- exports.getTexts = getTexts;
144
- exports.getString = getString;
145
- exports.toXlsxValue = toXlsxValue;
146
- exports.applyMultiFilter = applyMultiFilter;
147
- exports.onChange = onChange;
148
- exports.onFocus = onFocus;
149
- exports.onText = onText;
150
- exports.computeSource = computeSource;
151
- exports.listColumnMixin = listColumnMixin;
138
+ export { unique, getTexts, getString, toXlsxValue, applyMultiFilter, onChange, onFocus, onText, computeSource, toAutocompleteSource, listColumnMixin, };
152
139
  //# sourceMappingURL=cosmoz-omnitable-column-list-mixin.js.map
@@ -1,20 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("./cosmoz-omnitable-column-list-data");
4
- const polymer_element_1 = require("@polymer/polymer/polymer-element");
5
- const lit_html_1 = require("lit-html");
6
- const when_js_1 = require("lit-html/directives/when.js");
7
- const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
8
- const cosmoz_omnitable_column_list_mixin_1 = require("./cosmoz-omnitable-column-list-mixin");
9
- require("@neovici/cosmoz-autocomplete");
10
- const use_dom_columns_1 = require("./lib/use-dom-columns");
1
+ import './cosmoz-omnitable-column-list-data';
2
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
3
+ import { html } from 'lit-html';
4
+ import { when } from 'lit-html/directives/when.js';
5
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
6
+ import { getString, getTexts, listColumnMixin, onChange, onFocus, onText, } from './cosmoz-omnitable-column-list-mixin';
7
+ import '@neovici/cosmoz-autocomplete';
8
+ import { columnSymbol } from './lib/use-dom-columns';
11
9
  /**
12
10
  * @polymer
13
11
  * @customElement
14
12
  * @appliesMixin listColumnMixin
15
13
  * @appliesMixin columnMixin
16
14
  */
17
- class OmnitableColumnList extends (0, cosmoz_omnitable_column_list_mixin_1.listColumnMixin)((0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement)) {
15
+ class OmnitableColumnList extends listColumnMixin(columnMixin(PolymerElement)) {
18
16
  static get properties() {
19
17
  return {
20
18
  keepOpened: { type: Boolean, value: true },
@@ -31,21 +29,21 @@ class OmnitableColumnList extends (0, cosmoz_omnitable_column_list_mixin_1.listC
31
29
  };
32
30
  }
33
31
  renderCell({ valuePath, textProperty }, { item }) {
34
- return (0, lit_html_1.html) `<cosmoz-omnitable-column-list-data
35
- .items=${(0, cosmoz_omnitable_column_list_mixin_1.getTexts)(item, valuePath, textProperty)}
32
+ return html `<cosmoz-omnitable-column-list-data
33
+ .items=${getTexts(item, valuePath, textProperty)}
36
34
  ></cosmoz-omnitable-column-list-data>`;
37
35
  }
38
36
  renderEditCell(column, { item }, onItemChange) {
39
37
  const onChange = (event) => onItemChange(event.target.value.split(/,\s*/gu));
40
- return (0, lit_html_1.html) `<cosmoz-input
38
+ return html `<cosmoz-input
41
39
  no-label-float
42
40
  type="text"
43
- .value=${(0, cosmoz_omnitable_column_list_mixin_1.getString)(column, item)}
41
+ .value=${getString(column, item)}
44
42
  @change=${onChange}
45
43
  ></cosmoz-input>`;
46
44
  }
47
45
  renderHeader(column, { filter, query }, setState, source) {
48
- return (0, lit_html_1.html) `<cosmoz-autocomplete-ui
46
+ return html `<cosmoz-autocomplete-ui
49
47
  class="external-values-${column.externalValues}"
50
48
  ?keep-opened=${column.keepOpened}
51
49
  ?keep-query=${column.keepQuery}
@@ -55,13 +53,13 @@ class OmnitableColumnList extends (0, cosmoz_omnitable_column_list_mixin_1.listC
55
53
  .source=${source}
56
54
  .textProperty=${column.textProperty}
57
55
  .valueProperty=${column.valueProperty}
58
- .itemRenderer=${column[use_dom_columns_1.columnSymbol]?.itemRenderer}
56
+ .itemRenderer=${column[columnSymbol]?.itemRenderer}
59
57
  .value=${filter}
60
58
  .text=${query}
61
- .onChange=${(0, cosmoz_omnitable_column_list_mixin_1.onChange)(setState)}
62
- .onFocus=${(0, cosmoz_omnitable_column_list_mixin_1.onFocus)(setState)}
63
- .onText=${(0, cosmoz_omnitable_column_list_mixin_1.onText)(setState)}
64
- >${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
59
+ .onChange=${onChange(setState)}
60
+ .onFocus=${onFocus(setState)}
61
+ .onText=${onText(setState)}
62
+ >${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
65
63
  >`;
66
64
  }
67
65
  }
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.columnMixin = exports.serializeFilter = exports.applySingleFilter = exports.getComparableValue = exports.toXlsxValue = exports.getString = void 0;
4
- const path_1 = require("@polymer/polymer/lib/utils/path");
5
- const getString = ({ valuePath }, item) => (0, path_1.get)(item, valuePath), applySingleFilter = ({ valuePath }, filter) => (item) => {
6
- const value = (0, path_1.get)(item, valuePath);
1
+ import { get } from '@polymer/polymer/lib/utils/path';
2
+ export const getString = ({ valuePath }, item) => get(item, valuePath), toXlsxValue = getString, getComparableValue = getString, applySingleFilter = ({ valuePath }, filter) => (item) => {
3
+ const value = get(item, valuePath);
7
4
  if (value == null) {
8
5
  return false;
9
6
  }
@@ -90,16 +87,16 @@ const getString = ({ valuePath }, item) => (0, path_1.get)(item, valuePath), app
90
87
  // eslint-disable-next-line no-empty-function
91
88
  getFilterFn() { }
92
89
  getString(column, item) {
93
- return (0, exports.getString)(column, item);
90
+ return getString(column, item);
94
91
  }
95
92
  toXlsxValue(column, item) {
96
- return (0, exports.toXlsxValue)(column, item);
93
+ return toXlsxValue(column, item);
97
94
  }
98
95
  cellTitleFn(column, item) {
99
- return (0, exports.getString)(column, item);
96
+ return getString(column, item);
100
97
  }
101
98
  serializeFilter(column, filter) {
102
- return (0, exports.serializeFilter)(column, filter);
99
+ return serializeFilter(column, filter);
103
100
  }
104
101
  deserializeFilter(column, filter) {
105
102
  if (filter == null) {
@@ -111,7 +108,7 @@ const getString = ({ valuePath }, item) => (0, path_1.get)(item, valuePath), app
111
108
  return filter;
112
109
  }
113
110
  getComparableValue(column, item) {
114
- return (0, exports.getComparableValue)(column, item);
111
+ return getComparableValue(column, item);
115
112
  }
116
113
  computeSource(column, data) {
117
114
  return data;
@@ -121,5 +118,4 @@ const getString = ({ valuePath }, item) => (0, path_1.get)(item, valuePath), app
121
118
  this.dispatchEvent(new CustomEvent('cosmoz-column-prop-changed', { bubbles: true }));
122
119
  }
123
120
  };
124
- exports.getString = getString, exports.toXlsxValue = exports.getString, exports.getComparableValue = exports.getString, exports.applySingleFilter = applySingleFilter, exports.serializeFilter = serializeFilter, exports.columnMixin = columnMixin;
125
121
  //# sourceMappingURL=cosmoz-omnitable-column-mixin.js.map
@@ -1,21 +1,19 @@
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
- require("./lib/cosmoz-omnitable-number-range-input");
10
- const utils_data_1 = require("./lib/utils-data");
11
- const utils_number_1 = require("./lib/utils-number");
12
- const path_1 = require("@polymer/polymer/lib/utils/path");
1
+ import '@neovici/cosmoz-input';
2
+ import '@polymer/paper-dropdown-menu/paper-dropdown-menu';
3
+ import './ui-helpers/cosmoz-clear-button';
4
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
5
+ import { html } from 'lit-html';
6
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
7
+ import './lib/cosmoz-omnitable-number-range-input';
8
+ import { defaultComputeSource } from './lib/utils-data';
9
+ import { applySingleFilter, getComparableValue, getInputString, getString, toHashString, toNumber, } from './lib/utils-number';
10
+ import { get } from '@polymer/polymer/lib/utils/path';
13
11
  /**
14
12
  * @polymer
15
13
  * @customElement
16
14
  * @appliesMixin columnMixin
17
15
  */
18
- class OmnitableColumnNumber extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
16
+ class OmnitableColumnNumber extends columnMixin(PolymerElement) {
19
17
  static get properties() {
20
18
  return {
21
19
  min: { type: Number, value: null, notify: true },
@@ -35,33 +33,33 @@ class OmnitableColumnNumber extends (0, cosmoz_omnitable_column_mixin_1.columnMi
35
33
  return { limits: column.limits };
36
34
  }
37
35
  getFilterFn(column, filter) {
38
- const min = (0, utils_number_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_number_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
36
+ const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
39
37
  if (min == null && max == null) {
40
38
  return;
41
39
  }
42
- return (0, utils_number_1.applySingleFilter)(column, filter);
40
+ return applySingleFilter(column, filter);
43
41
  }
44
42
  getString(column, item) {
45
- return (0, utils_number_1.getString)(column, item);
43
+ return getString(column, item);
46
44
  }
47
45
  toXlsxValue({ valuePath }, item) {
48
- return (0, path_1.get)(item, valuePath);
46
+ return get(item, valuePath);
49
47
  }
50
48
  cellTitleFn(column, item) {
51
- return (0, utils_number_1.getString)(column, item);
49
+ return getString(column, item);
52
50
  }
53
51
  getComparableValue(column, item) {
54
- return (0, utils_number_1.getComparableValue)(column, item);
52
+ return getComparableValue(column, item);
55
53
  }
56
54
  serializeFilter(column, filter) {
57
55
  if (filter == null) {
58
56
  return;
59
57
  }
60
- const min = (0, utils_number_1.toNumber)(filter.min), max = (0, utils_number_1.toNumber)(filter.max);
58
+ const min = toNumber(filter.min), max = toNumber(filter.max);
61
59
  if (min == null && max == null) {
62
60
  return;
63
61
  }
64
- return (0, utils_number_1.toHashString)(min) + '~' + (0, utils_number_1.toHashString)(max);
62
+ return toHashString(min) + '~' + toHashString(max);
65
63
  }
66
64
  deserializeFilter(column, filter) {
67
65
  if (filter == null || filter === '') {
@@ -72,26 +70,26 @@ class OmnitableColumnNumber extends (0, cosmoz_omnitable_column_mixin_1.columnMi
72
70
  return null;
73
71
  }
74
72
  return {
75
- min: (0, utils_number_1.toNumber)(matches[1]),
76
- max: (0, utils_number_1.toNumber)(matches[2]),
73
+ min: toNumber(matches[1]),
74
+ max: toNumber(matches[2]),
77
75
  };
78
76
  }
79
77
  renderCell(column, { item }) {
80
- return (0, lit_html_1.html) `<div class="omnitable-cell-number">
81
- ${(0, utils_number_1.getString)(column, item)}
78
+ return html `<div class="omnitable-cell-number">
79
+ ${getString(column, item)}
82
80
  </div>`;
83
81
  }
84
82
  renderEditCell(column, { item }, onItemChange) {
85
83
  const onChange = (event) => onItemChange(event.target.value);
86
- return (0, lit_html_1.html) `<cosmoz-input
84
+ return html `<cosmoz-input
87
85
  no-label-float
88
86
  type="number"
89
87
  @change=${onChange}
90
- .value=${(0, utils_number_1.getInputString)(column, item)}
88
+ .value=${getInputString(column, item)}
91
89
  ></cosmoz-input>`;
92
90
  }
93
91
  renderHeader({ title, min, max, limits, locale, maximumFractionDigits, minimumFractionDigits, autoupdate, }, { filter }, setState, source) {
94
- return (0, lit_html_1.html) `<cosmoz-omnitable-number-range-input
92
+ return html `<cosmoz-omnitable-number-range-input
95
93
  .title=${title}
96
94
  .filter=${filter}
97
95
  .values=${source}
@@ -107,7 +105,7 @@ class OmnitableColumnNumber extends (0, cosmoz_omnitable_column_mixin_1.columnMi
107
105
  ></cosmoz-omnitable-number-range-input>`;
108
106
  }
109
107
  computeSource(column, data) {
110
- return (0, utils_data_1.defaultComputeSource)(column, data);
108
+ return defaultComputeSource(column, data);
111
109
  }
112
110
  }
113
111
  customElements.define('cosmoz-omnitable-column-number', OmnitableColumnNumber);
@@ -1,20 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("@polymer/paper-dropdown-menu/paper-dropdown-menu");
4
- require("@neovici/cosmoz-input");
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_time_1 = require("./lib/utils-time");
10
- require("./lib/cosmoz-omnitable-time-range-input");
11
- const utils_data_1 = require("./lib/utils-data");
1
+ import '@polymer/paper-dropdown-menu/paper-dropdown-menu';
2
+ import '@neovici/cosmoz-input';
3
+ import './ui-helpers/cosmoz-clear-button';
4
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
5
+ import { html } from 'lit-html';
6
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
7
+ import { getComparableValue, getString, toXlsxValue, applySingleFilter, toDate, toHashString, fromHashString, } from './lib/utils-time';
8
+ import './lib/cosmoz-omnitable-time-range-input';
9
+ import { defaultComputeSource } from './lib/utils-data';
12
10
  /**
13
11
  * @polymer
14
12
  * @customElement
15
13
  * @appliesMixin columnMixin
16
14
  */
17
- class OmnitableColumnTime extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
15
+ class OmnitableColumnTime extends columnMixin(PolymerElement) {
18
16
  static get properties() {
19
17
  return {
20
18
  min: { type: Number, value: null, notify: true },
@@ -33,33 +31,33 @@ class OmnitableColumnTime extends (0, cosmoz_omnitable_column_mixin_1.columnMixi
33
31
  };
34
32
  }
35
33
  getFilterFn(column, filter) {
36
- const min = (0, utils_time_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_time_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
34
+ const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
37
35
  if (min == null && max == null) {
38
36
  return;
39
37
  }
40
- return (0, utils_time_1.applySingleFilter)(column, filter);
38
+ return applySingleFilter(column, filter);
41
39
  }
42
40
  getString(column, item) {
43
- return (0, utils_time_1.getString)(column, item);
41
+ return getString(column, item);
44
42
  }
45
43
  toXlsxValue(column, item) {
46
- return (0, utils_time_1.toXlsxValue)(column, item);
44
+ return toXlsxValue(column, item);
47
45
  }
48
46
  cellTitleFn(column, item) {
49
- return (0, utils_time_1.getString)(column, item);
47
+ return getString(column, item);
50
48
  }
51
49
  getComparableValue(column, item) {
52
- return (0, utils_time_1.getComparableValue)(column, item);
50
+ return getComparableValue(column, item);
53
51
  }
54
52
  serializeFilter(column, filter) {
55
53
  if (filter == null) {
56
54
  return;
57
55
  }
58
- const min = (0, utils_time_1.toDate)(filter.min), max = (0, utils_time_1.toDate)(filter.max);
56
+ const min = toDate(filter.min), max = toDate(filter.max);
59
57
  if (min == null && max == null) {
60
58
  return;
61
59
  }
62
- return (0, utils_time_1.toHashString)(min) + '~' + (0, utils_time_1.toHashString)(max);
60
+ return toHashString(min) + '~' + toHashString(max);
63
61
  }
64
62
  deserializeFilter(column, filter) {
65
63
  if (filter == null || filter === '') {
@@ -69,22 +67,22 @@ class OmnitableColumnTime extends (0, cosmoz_omnitable_column_mixin_1.columnMixi
69
67
  if (!Array.isArray(matches)) {
70
68
  return null;
71
69
  }
72
- return { min: (0, utils_time_1.fromHashString)(matches[1]), max: (0, utils_time_1.fromHashString)(matches[2]) };
70
+ return { min: fromHashString(matches[1]), max: fromHashString(matches[2]) };
73
71
  }
74
72
  renderCell(column, { item }) {
75
- return (0, utils_time_1.getString)(column, item);
73
+ return getString(column, item);
76
74
  }
77
75
  renderEditCell(column, { item }, onItemChange) {
78
76
  const onChange = (event) => onItemChange(event.target.value);
79
- return (0, lit_html_1.html) `<cosmoz-input
77
+ return html `<cosmoz-input
80
78
  no-label-float
81
79
  type="text"
82
80
  @change=${onChange}
83
- .value=${(0, utils_time_1.getString)(column, item)}
81
+ .value=${getString(column, item)}
84
82
  ></cosmoz-input>`;
85
83
  }
86
84
  renderHeader({ title, min, max, locale, filterStep }, { filter }, setState, source) {
87
- return (0, lit_html_1.html) `<cosmoz-omnitable-time-range-input
85
+ return html `<cosmoz-omnitable-time-range-input
88
86
  .title=${title}
89
87
  .filter=${filter}
90
88
  .values=${source}
@@ -97,7 +95,7 @@ class OmnitableColumnTime extends (0, cosmoz_omnitable_column_mixin_1.columnMixi
97
95
  ></cosmoz-omnitable-time-range-input>`;
98
96
  }
99
97
  computeSource(column, data) {
100
- return (0, utils_data_1.defaultComputeSource)(column, data);
98
+ return defaultComputeSource(column, data);
101
99
  }
102
100
  }
103
101
  customElements.define('cosmoz-omnitable-column-time', OmnitableColumnTime);
@@ -1,10 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("@neovici/cosmoz-input");
4
- require("./ui-helpers/cosmoz-clear-button");
5
- const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
6
- const polymer_element_1 = require("@polymer/polymer/polymer-element");
7
- const lit_html_1 = require("lit-html");
1
+ import '@neovici/cosmoz-input';
2
+ import './ui-helpers/cosmoz-clear-button';
3
+ import { applySingleFilter, columnMixin, getString, } from './cosmoz-omnitable-column-mixin';
4
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
5
+ import { html } from 'lit-html';
8
6
  const onChange = (setState) => (event) => setState((state) => {
9
7
  // skip the event emitted during cosmoz-input initialization
10
8
  if (state.inputValue === undefined && event.target.value === '') {
@@ -24,7 +22,7 @@ const onChange = (setState) => (event) => setState((state) => {
24
22
  * @customElement
25
23
  * @appliesMixin columnMixin
26
24
  */
27
- class OmnitableColumn extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
25
+ class OmnitableColumn extends columnMixin(PolymerElement) {
28
26
  static get properties() {
29
27
  return {
30
28
  minWidth: { type: String, value: '55px' },
@@ -36,22 +34,22 @@ class OmnitableColumn extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(p
36
34
  if (filter == null || filter === '') {
37
35
  return;
38
36
  }
39
- return (0, cosmoz_omnitable_column_mixin_1.applySingleFilter)(column, filter);
37
+ return applySingleFilter(column, filter);
40
38
  }
41
39
  renderCell(column, { item }) {
42
- return (0, lit_html_1.html) `<span class="default-column">${(0, cosmoz_omnitable_column_mixin_1.getString)(column, item)}</span>`;
40
+ return html `<span class="default-column">${getString(column, item)}</span>`;
43
41
  }
44
42
  renderEditCell(column, { item }, onItemChange) {
45
43
  const onChange = (event) => onItemChange(event.target.value);
46
- return (0, lit_html_1.html) `<cosmoz-input
44
+ return html `<cosmoz-input
47
45
  no-label-float
48
46
  type="text"
49
47
  @change=${onChange}
50
- .value=${(0, cosmoz_omnitable_column_mixin_1.getString)(column, item)}
48
+ .value=${getString(column, item)}
51
49
  ></cosmoz-input>`;
52
50
  }
53
51
  renderHeader(column, { filter, inputValue, headerFocused }, setState) {
54
- return (0, lit_html_1.html) `<cosmoz-input
52
+ return html `<cosmoz-input
55
53
  label=${column.title}
56
54
  .value=${inputValue ?? filter}
57
55
  @value-changed=${onChange(setState)}
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /* convenience file to import all available columns */
4
- require("./cosmoz-omnitable-column-amount.js");
5
- require("./cosmoz-omnitable-column-autocomplete.js");
6
- require("./cosmoz-omnitable-column-boolean.js");
7
- require("./cosmoz-omnitable-column-date.js");
8
- require("./cosmoz-omnitable-column-list-horizontal.js");
9
- require("./cosmoz-omnitable-column-list.js");
10
- require("./cosmoz-omnitable-column-number.js");
11
- require("./cosmoz-omnitable-column-time.js");
12
- require("./cosmoz-omnitable-column-datetime.js");
2
+ import './cosmoz-omnitable-column-amount.js';
3
+ import './cosmoz-omnitable-column-autocomplete.js';
4
+ import './cosmoz-omnitable-column-boolean.js';
5
+ import './cosmoz-omnitable-column-date.js';
6
+ import './cosmoz-omnitable-column-list-horizontal.js';
7
+ import './cosmoz-omnitable-column-list.js';
8
+ import './cosmoz-omnitable-column-number.js';
9
+ import './cosmoz-omnitable-column-time.js';
10
+ import './cosmoz-omnitable-column-datetime.js';
13
11
  //# sourceMappingURL=cosmoz-omnitable-columns.js.map
@@ -1,10 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const pion_1 = require("@pionjs/pion");
4
- const lit_html_1 = require("lit-html");
1
+ import { component } from '@pionjs/pion';
2
+ import { nothing } from 'lit-html';
5
3
  const GroupRow = ({ column, item, selected, folded, group }) => {
6
4
  if (!column) {
7
- return lit_html_1.nothing;
5
+ return nothing;
8
6
  }
9
7
  return (column.renderGroup ?? column.renderCell)(column, {
10
8
  item,
@@ -13,5 +11,5 @@ const GroupRow = ({ column, item, selected, folded, group }) => {
13
11
  group,
14
12
  });
15
13
  };
16
- customElements.define('cosmoz-omnitable-group-row', (0, pion_1.component)(GroupRow, { useShadowDOM: false }));
14
+ customElements.define('cosmoz-omnitable-group-row', component(GroupRow, { useShadowDOM: false }));
17
15
  //# sourceMappingURL=cosmoz-omnitable-group-row.js.map
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const pion_1 = require("@pionjs/pion");
4
- const repeat_js_1 = require("lit-html/directives/repeat.js");
5
- require("./lib/cosmoz-omnitable-resize-nub");
6
- const cosmoz_omnitable_sort_group_1 = require("./lib/settings/cosmoz-omnitable-sort-group");
7
- const when_js_1 = require("lit-html/directives/when.js");
8
- const use_sort_and_group_options_1 = require("./lib/use-sort-and-group-options");
9
- const renderHeaderRow = ({ data, columns, groupOnColumn, filters, setFilterState, sortAndGroup: { sortOn: on, setSortOn: setOn, descending, setDescending, } = {}, }) => (0, repeat_js_1.repeat)(columns, (column) => column.name, (column) => [
10
- (0, pion_1.html) `<div
1
+ import { html, component, useContext } from '@pionjs/pion';
2
+ import { repeat } from 'lit-html/directives/repeat.js';
3
+ import './lib/cosmoz-omnitable-resize-nub';
4
+ import { render } from './lib/settings/cosmoz-omnitable-sort-group';
5
+ import { when } from 'lit-html/directives/when.js';
6
+ import { SortAndGroupContext } from './lib/use-sort-and-group-options';
7
+ const renderHeaderRow = ({ data, columns, groupOnColumn, filters, setFilterState, sortAndGroup: { sortOn: on, setSortOn: setOn, descending, setDescending, } = {}, }) => repeat(columns, (column) => column.name, (column) => [
8
+ html `<div
11
9
  class="cell ${column.headerCellClass} header-cell"
12
10
  part="cell header-cell cell-${column.name} header-cell-${column.name}"
13
11
  ?hidden="${column === groupOnColumn}"
@@ -15,22 +13,22 @@ const renderHeaderRow = ({ data, columns, groupOnColumn, filters, setFilterState
15
13
  name="${column.name}"
16
14
  >
17
15
  ${column.renderHeader(column, filters[column.name] ?? {}, (state) => setFilterState(column.name, state), column.source(column, data))}
18
- ${(0, cosmoz_omnitable_sort_group_1.render)({ on, setOn, descending, setDescending, column })}
16
+ ${render({ on, setOn, descending, setDescending, column })}
19
17
  </div>`,
20
- (0, pion_1.html) `<cosmoz-omnitable-resize-nub
18
+ html `<cosmoz-omnitable-resize-nub
21
19
  .column="${column}"
22
20
  name="${column.name}"
23
21
  ></cosmoz-omnitable-resize-nub>`,
24
22
  ]);
25
23
  const HeaderRow = ({ columns, settingsConfig, hideSelectAll, ...thru }) => {
26
- const sortAndGroup = (0, pion_1.useContext)(use_sort_and_group_options_1.SortAndGroupContext);
27
- return (0, pion_1.html) `
28
- ${(0, when_js_1.when)(columns, (columns) => renderHeaderRow({ columns, sortAndGroup, ...thru }))}
29
- ${(0, when_js_1.when)(!hideSelectAll, () => (0, pion_1.html) ` <cosmoz-omnitable-settings
24
+ const sortAndGroup = useContext(SortAndGroupContext);
25
+ return html `
26
+ ${when(columns, (columns) => renderHeaderRow({ columns, sortAndGroup, ...thru }))}
27
+ ${when(!hideSelectAll, () => html ` <cosmoz-omnitable-settings
30
28
  .config=${settingsConfig}
31
29
  part="settings"
32
30
  ></cosmoz-omnitable-settings>`)}
33
31
  `;
34
32
  };
35
- customElements.define('cosmoz-omnitable-header-row', (0, pion_1.component)(HeaderRow, { useShadowDOM: false }));
33
+ customElements.define('cosmoz-omnitable-header-row', component(HeaderRow, { useShadowDOM: false }));
36
34
  //# sourceMappingURL=cosmoz-omnitable-header-row.js.map
@@ -1,8 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const pion_1 = require("@pionjs/pion");
4
- const cosmoz_utils_1 = require("@neovici/cosmoz-utils");
5
- const style = (0, cosmoz_utils_1.css) `
1
+ import { component, html } from '@pionjs/pion';
2
+ import { css, sheet } from '@neovici/cosmoz-utils';
3
+ const style = css `
6
4
  :host {
7
5
  display: flex;
8
6
  align-items: center;
@@ -24,7 +22,7 @@ const style = (0, cosmoz_utils_1.css) `
24
22
  white-space: nowrap;
25
23
  }
26
24
  `;
27
- const ItemExpandLine = ({ column }) => (0, pion_1.html) `
25
+ const ItemExpandLine = ({ column }) => html `
28
26
  <div class="label" title="${column.title}" part="item-expand-label">
29
27
  ${column.title}
30
28
  </div>
@@ -32,5 +30,5 @@ const ItemExpandLine = ({ column }) => (0, pion_1.html) `
32
30
  <slot></slot>
33
31
  </div>
34
32
  `;
35
- customElements.define('cosmoz-omnitable-item-expand-line', (0, pion_1.component)(ItemExpandLine, { styleSheets: [(0, cosmoz_utils_1.sheet)(style)] }));
33
+ customElements.define('cosmoz-omnitable-item-expand-line', component(ItemExpandLine, { styleSheets: [sheet(style)] }));
36
34
  //# sourceMappingURL=cosmoz-omnitable-item-expand-line.js.map