@neovici/cosmoz-omnitable 14.21.3 → 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 +1 -1
@@ -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
- 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");
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 { defaultComputeSource } from './lib/utils-data';
8
+ import './lib/cosmoz-omnitable-amount-range-input';
9
+ import { getComparableValue, getCurrency, applySingleFilter, getString, getInputString, toAmount, toHashString, fromHashString, } from './lib/utils-amount';
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 OmnitableColumnAmount extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
16
+ class OmnitableColumnAmount 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 OmnitableColumnAmount 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_amount_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_amount_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_amount_1.applySingleFilter)(column, filter);
40
+ return applySingleFilter(column, filter);
43
41
  }
44
42
  getString(column, item) {
45
- return (0, utils_amount_1.getString)(column, item);
43
+ return getString(column, item);
46
44
  }
47
45
  toXlsxValue(column, item) {
48
- return (0, utils_amount_1.getString)(column, item);
46
+ return getString(column, item);
49
47
  }
50
48
  cellTitleFn(column, item) {
51
- return (0, utils_amount_1.getString)(column, item);
49
+ return getString(column, item);
52
50
  }
53
51
  getComparableValue(column, item) {
54
- return (0, utils_amount_1.getComparableValue)(column, item);
52
+ return getComparableValue(column, item);
55
53
  }
56
54
  serializeFilter({ rates }, filter) {
57
55
  if (filter == null) {
58
56
  return;
59
57
  }
60
- const min = (0, utils_amount_1.toAmount)(rates, filter.min), max = (0, utils_amount_1.toAmount)(rates, filter.max);
58
+ const min = toAmount(rates, filter.min), max = toAmount(rates, filter.max);
61
59
  if (min == null && max == null) {
62
60
  return;
63
61
  }
64
- return (0, utils_amount_1.toHashString)(min) + '~' + (0, utils_amount_1.toHashString)(max);
62
+ return toHashString(min) + '~' + toHashString(max);
65
63
  }
66
64
  deserializeFilter(column, filter) {
67
65
  if (filter == null || filter === '') {
@@ -71,27 +69,27 @@ class OmnitableColumnAmount extends (0, cosmoz_omnitable_column_mixin_1.columnMi
71
69
  if (!Array.isArray(matches)) {
72
70
  return null;
73
71
  }
74
- return { min: (0, utils_amount_1.fromHashString)(matches[1]), max: (0, utils_amount_1.fromHashString)(matches[2]) };
72
+ return { min: fromHashString(matches[1]), max: fromHashString(matches[2]) };
75
73
  }
76
74
  renderCell(column, { item }) {
77
- return (0, lit_html_1.html) `<span>${column.getString(column, item)}</span>`;
75
+ return html `<span>${column.getString(column, item)}</span>`;
78
76
  }
79
77
  renderEditCell(column, { item }, onItemChange) {
80
78
  const onChange = (event) => onItemChange({
81
79
  amount: event.target.value,
82
- currency: (0, path_1.get)(item, column.valuePath)?.currency,
80
+ currency: get(item, column.valuePath)?.currency,
83
81
  });
84
- return (0, lit_html_1.html) `<cosmoz-input
82
+ return html `<cosmoz-input
85
83
  no-label-float
86
84
  type="number"
87
85
  @change=${onChange}
88
- .value=${(0, utils_amount_1.getInputString)(column, item)}
86
+ .value=${getInputString(column, item)}
89
87
  >
90
- <div slot="suffix">${(0, utils_amount_1.getCurrency)(column, item)}</div>
88
+ <div slot="suffix">${getCurrency(column, item)}</div>
91
89
  </cosmoz-input>`;
92
90
  }
93
91
  renderHeader({ title, min, max, limits, locale, rates, currency, autoupdate, autodetect, }, { filter }, setState, source) {
94
- return (0, lit_html_1.html) `<cosmoz-omnitable-amount-range-input
92
+ return html `<cosmoz-omnitable-amount-range-input
95
93
  .title=${title}
96
94
  .filter=${filter}
97
95
  .values=${source}
@@ -108,7 +106,7 @@ class OmnitableColumnAmount extends (0, cosmoz_omnitable_column_mixin_1.columnMi
108
106
  ></cosmoz-omnitable-amount-range-input>`;
109
107
  }
110
108
  computeSource(column, data) {
111
- return (0, utils_data_1.defaultComputeSource)(column, data);
109
+ return defaultComputeSource(column, data);
112
110
  }
113
111
  }
114
112
  customElements.define('cosmoz-omnitable-column-amount', OmnitableColumnAmount);
@@ -1,28 +1,24 @@
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);
1
+ import '@neovici/cosmoz-autocomplete';
2
+ import { PolymerElement } from '@polymer/polymer/polymer-element.js';
3
+ import { html } from 'lit-html';
4
+ import { when } from 'lit-html/directives/when.js';
5
+ import '@neovici/cosmoz-spinner';
6
+ import { columnMixin, getString } from './cosmoz-omnitable-column-mixin.js';
7
+ import { listColumnMixin, onChange, onFocus, onText, } from './cosmoz-omnitable-column-list-mixin';
8
+ import { prop, strProp } from '@neovici/cosmoz-utils/object';
9
+ import { array } from '@neovici/cosmoz-utils/array';
10
+ import { columnSymbol } from './lib/use-dom-columns';
11
+ import { get } from '@polymer/polymer/lib/utils/path';
12
+ export const getComparableValue = ({ valuePath, textProperty, valueProperty }, item) => {
13
+ const property = textProperty ? strProp(textProperty) : prop(valueProperty), values = array(valuePath && get(item, valuePath)).map(property);
17
14
  return values.length > 1 ? values.filter(Boolean).join(',') : values[0];
18
15
  };
19
- exports.getComparableValue = getComparableValue;
20
16
  /**
21
17
  * @polymer
22
18
  * @customElement
23
19
  * @appliesMixin columnMixin
24
20
  */
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)) {
21
+ class OmnitableColumnAutocomplete extends listColumnMixin(columnMixin(PolymerElement)) {
26
22
  static get properties() {
27
23
  return {
28
24
  headerCellClass: { type: String, value: 'autocomplete-header-cell' },
@@ -48,21 +44,21 @@ class OmnitableColumnAutocomplete extends (0, cosmoz_omnitable_column_list_mixin
48
44
  };
49
45
  }
50
46
  renderCell(column, { item }) {
51
- return (0, lit_html_1.html) `<span class="default-column"
47
+ return html `<span class="default-column"
52
48
  >${column.getString(column, item)}</span
53
49
  >`;
54
50
  }
55
51
  renderEditCell(column, { item }, onItemChange) {
56
52
  const onChange = (event) => onItemChange(event.target.value);
57
- return (0, lit_html_1.html) `<cosmoz-input
53
+ return html `<cosmoz-input
58
54
  no-label-float
59
55
  type="text"
60
56
  @change=${onChange}
61
- .value=${(0, cosmoz_omnitable_column_mixin_js_1.getString)(column, item)}
57
+ .value=${getString(column, item)}
62
58
  ></cosmoz-input>`;
63
59
  }
64
60
  renderHeader(column, { filter, query }, setState, source) {
65
- return (0, lit_html_1.html) `<cosmoz-autocomplete-ui
61
+ return html `<cosmoz-autocomplete-ui
66
62
  class="external-values-${column.externalValues}"
67
63
  ?keep-opened=${column.keepOpened}
68
64
  ?keep-query=${column.keepQuery}
@@ -73,18 +69,18 @@ class OmnitableColumnAutocomplete extends (0, cosmoz_omnitable_column_list_mixin
73
69
  .source=${source}
74
70
  .textProperty=${column.textProperty}
75
71
  .valueProperty=${column.valueProperty}
76
- .itemRenderer=${column[use_dom_columns_1.columnSymbol]?.itemRenderer}
72
+ .itemRenderer=${column[columnSymbol]?.itemRenderer}
77
73
  .value=${filter}
78
74
  .text=${query}
79
75
  .limit=${column.limit}
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
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
84
80
  >`;
85
81
  }
86
82
  getComparableValue(column, item) {
87
- return (0, exports.getComparableValue)(column, item);
83
+ return getComparableValue(column, item);
88
84
  }
89
85
  }
90
86
  customElements.define('cosmoz-omnitable-column-autocomplete', OmnitableColumnAutocomplete);
@@ -1,33 +1,30 @@
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");
1
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
2
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
3
+ import '@neovici/cosmoz-autocomplete';
4
+ import { html } from 'lit-html';
5
+ import { when } from 'lit-html/directives/when.js';
6
+ import { get } from '@polymer/polymer/lib/utils/path';
7
+ import { memooize } from '@neovici/cosmoz-utils/memoize';
11
8
  const computeValue = (value, source) => source.find(({ value: valueProp }) => value === valueProp), computeTooltip = (title, value, source) => {
12
9
  const val = computeValue(value, source);
13
10
  return val ? val.text : title;
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) => {
11
+ }, computeItemTooltip = (title, item, valuePath, source) => computeTooltip(title, get(item, valuePath), source), computeItemValue = ({ valuePath }, item, source) => computeValue(get(item, valuePath), source), onChange = (setState) => (selection) => {
15
12
  setState((state) => ({ ...state, filter: selection?.[0]?.value ?? null }));
16
13
  }, onFocus = (setState) => (focused) => {
17
14
  setState((state) => ({ ...state, headerFocused: focused }));
18
15
  }, onText = (setState) => (text) => {
19
16
  setState((state) => ({ ...state, query: text }));
20
17
  }, onEditableChange = (onItemChange) => (selection) => onItemChange(selection?.[0]?.value), getString = ({ valuePath, trueLabel, falseLabel }, item) => {
21
- const value = (0, path_1.get)(item, valuePath);
18
+ const value = get(item, valuePath);
22
19
  return value ? trueLabel : falseLabel;
23
- }, applySingleFilter = ({ valuePath }, filter) => (item) => (0, path_1.get)(item, valuePath) === filter, computeSource = (0, memoize_1.memooize)((trueLabel, falseLabel) => [
20
+ }, applySingleFilter = ({ valuePath }, filter) => (item) => get(item, valuePath) === filter, computeSource = memooize((trueLabel, falseLabel) => [
24
21
  { text: trueLabel, value: true },
25
22
  { text: falseLabel, value: false },
26
23
  ]), toXlsxValue = ({ valuePath, trueLabel, falseLabel }, item) => {
27
24
  if (!valuePath) {
28
25
  return '';
29
26
  }
30
- return (0, path_1.get)(item, valuePath) ? trueLabel : falseLabel;
27
+ return get(item, valuePath) ? trueLabel : falseLabel;
31
28
  }, deserializeFilter = (column, filter) => {
32
29
  try {
33
30
  return JSON.parse(filter);
@@ -36,18 +33,12 @@ const computeValue = (value, source) => source.find(({ value: valueProp }) => va
36
33
  return null;
37
34
  }
38
35
  };
39
- exports.computeItemValue = computeItemValue;
40
- exports.onChange = onChange;
41
- exports.getString = getString;
42
- exports.computeSource = computeSource;
43
- exports.toXlsxValue = toXlsxValue;
44
- exports.deserializeFilter = deserializeFilter;
45
36
  /**
46
37
  * @polymer
47
38
  * @customElement
48
39
  * @appliesMixin columnMixin
49
40
  */
50
- class OmnitableColumnBoolean extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
41
+ class OmnitableColumnBoolean extends columnMixin(PolymerElement) {
51
42
  static get properties() {
52
43
  return {
53
44
  trueLabel: { type: String, value: 'True' },
@@ -67,7 +58,7 @@ class OmnitableColumnBoolean extends (0, cosmoz_omnitable_column_mixin_1.columnM
67
58
  }
68
59
  renderEditCell(column, { item }, onItemChange) {
69
60
  const { trueLabel, falseLabel } = column;
70
- return (0, lit_html_1.html) `<cosmoz-autocomplete
61
+ return html `<cosmoz-autocomplete
71
62
  no-label-float
72
63
  .title=${computeItemTooltip(column.title, item, column.valuePath, computeSource(trueLabel, falseLabel))}
73
64
  .source=${computeSource(trueLabel, falseLabel)}
@@ -75,11 +66,11 @@ class OmnitableColumnBoolean extends (0, cosmoz_omnitable_column_mixin_1.columnM
75
66
  .value=${computeItemValue(column, item, computeSource(trueLabel, falseLabel))}
76
67
  .onChange=${onEditableChange(onItemChange)}
77
68
  .limit=${1}
78
- >${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete
69
+ >${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete
79
70
  >`;
80
71
  }
81
72
  renderHeader(column, { filter, query }, setState, source) {
82
- return (0, lit_html_1.html) `<cosmoz-autocomplete-ui
73
+ return html `<cosmoz-autocomplete-ui
83
74
  .label=${column.title}
84
75
  .title=${computeItemTooltip(column.title, filter, column.valuePath, source)}
85
76
  .source=${source}
@@ -90,7 +81,7 @@ class OmnitableColumnBoolean extends (0, cosmoz_omnitable_column_mixin_1.columnM
90
81
  .onFocus=${onFocus(setState)}
91
82
  .onText=${onText(setState)}
92
83
  .limit=${1}
93
- >${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
84
+ >${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
94
85
  >`;
95
86
  }
96
87
  computeSource({ trueLabel, falseLabel }) {
@@ -110,4 +101,5 @@ class OmnitableColumnBoolean extends (0, cosmoz_omnitable_column_mixin_1.columnM
110
101
  }
111
102
  }
112
103
  customElements.define('cosmoz-omnitable-column-boolean', OmnitableColumnBoolean);
104
+ export { getString, computeItemValue, computeSource, toXlsxValue, onChange, deserializeFilter, };
113
105
  //# sourceMappingURL=cosmoz-omnitable-column-boolean.js.map
@@ -1,15 +1,13 @@
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) {
1
+ import { html } from 'lit-html';
2
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
3
+ import '@polymer/paper-dropdown-menu/paper-dropdown-menu';
4
+ import '@neovici/cosmoz-input';
5
+ import './ui-helpers/cosmoz-clear-button';
6
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
7
+ import './lib/cosmoz-omnitable-date-range-input';
8
+ import { defaultComputeSource } from './lib/utils-data';
9
+ import { getString, getComparableValue, toDate, toHashString, toXlsxValue, applySingleFilter, getInputString, fromInputString, } from './lib/utils-date';
10
+ class OmnitableColumnDate extends columnMixin(PolymerElement) {
13
11
  static get properties() {
14
12
  return {
15
13
  min: { type: Number, value: null, notify: true },
@@ -26,33 +24,33 @@ class OmnitableColumnDate extends (0, cosmoz_omnitable_column_mixin_1.columnMixi
26
24
  return { limits: column.limits };
27
25
  }
28
26
  getFilterFn(column, filter) {
29
- const min = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
27
+ const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
30
28
  if (min == null && max == null) {
31
29
  return;
32
30
  }
33
- return (0, utils_date_1.applySingleFilter)(column, filter);
31
+ return applySingleFilter(column, filter);
34
32
  }
35
33
  getString(column, item) {
36
- return (0, utils_date_1.getString)(column, item);
34
+ return getString(column, item);
37
35
  }
38
36
  toXlsxValue(column, item) {
39
- return (0, utils_date_1.toXlsxValue)(column, item);
37
+ return toXlsxValue(column, item);
40
38
  }
41
39
  cellTitleFn(column, item) {
42
- return (0, utils_date_1.getString)(column, item);
40
+ return getString(column, item);
43
41
  }
44
42
  getComparableValue(column, item) {
45
- return (0, utils_date_1.getComparableValue)(column, item);
43
+ return getComparableValue(column, item);
46
44
  }
47
45
  serializeFilter(column, filter) {
48
46
  if (filter == null) {
49
47
  return;
50
48
  }
51
- const min = (0, utils_date_1.toDate)(filter.min), max = (0, utils_date_1.toDate)(filter.max);
49
+ const min = toDate(filter.min), max = toDate(filter.max);
52
50
  if (min == null && max == null) {
53
51
  return;
54
52
  }
55
- return (0, utils_date_1.toHashString)(min) + '~' + (0, utils_date_1.toHashString)(max);
53
+ return toHashString(min) + '~' + toHashString(max);
56
54
  }
57
55
  deserializeFilter(column, filter) {
58
56
  if (filter == null || filter === '') {
@@ -62,24 +60,24 @@ class OmnitableColumnDate extends (0, cosmoz_omnitable_column_mixin_1.columnMixi
62
60
  if (!Array.isArray(matches)) {
63
61
  return null;
64
62
  }
65
- return { min: (0, utils_date_1.toDate)(matches[1]), max: (0, utils_date_1.toDate)(matches[2]) };
63
+ return { min: toDate(matches[1]), max: toDate(matches[2]) };
66
64
  }
67
65
  renderCell(column, { item }) {
68
- return (0, lit_html_1.html) `<div class="omnitable-cell-date">
69
- ${(0, utils_date_1.getString)(column, item)}
66
+ return html `<div class="omnitable-cell-date">
67
+ ${getString(column, item)}
70
68
  </div>`;
71
69
  }
72
70
  renderEditCell(column, { item }, onItemChange) {
73
- const onChange = (event) => onItemChange((0, utils_date_1.fromInputString)(event.target.value));
74
- return (0, lit_html_1.html) `<cosmoz-input
71
+ const onChange = (event) => onItemChange(fromInputString(event.target.value));
72
+ return html `<cosmoz-input
75
73
  no-label-float
76
74
  type="date"
77
75
  @change=${onChange}
78
- .value=${(0, utils_date_1.getInputString)(column, item)}
76
+ .value=${getInputString(column, item)}
79
77
  ></cosmoz-input>`;
80
78
  }
81
79
  renderHeader({ title, min, max, limits, locale }, { filter }, setState, source) {
82
- return (0, lit_html_1.html) `<cosmoz-omnitable-date-range-input
80
+ return html `<cosmoz-omnitable-date-range-input
83
81
  .title=${title}
84
82
  .filter=${filter}
85
83
  .values=${source}
@@ -92,7 +90,7 @@ class OmnitableColumnDate extends (0, cosmoz_omnitable_column_mixin_1.columnMixi
92
90
  ></cosmoz-omnitable-date-range-input>`;
93
91
  }
94
92
  computeSource(column, data) {
95
- return (0, utils_data_1.defaultComputeSource)(column, data);
93
+ return defaultComputeSource(column, data);
96
94
  }
97
95
  }
98
96
  customElements.define('cosmoz-omnitable-column-date', OmnitableColumnDate);
@@ -1,21 +1,19 @@
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");
1
+ import '@polymer/paper-dropdown-menu/paper-dropdown-menu';
2
+ import '@neovici/cosmoz-datetime-input';
3
+ import './ui-helpers/cosmoz-clear-button';
4
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
5
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
6
+ import { html } from 'lit-html';
7
+ import { fromHashString, getString, toHashString, toXlsxValue, } from './lib/utils-datetime';
8
+ import { applySingleFilter, fromInputString, getComparableValue, toDate, } from './lib/utils-date';
9
+ import { defaultComputeSource } from './lib/utils-data';
10
+ import './lib/cosmoz-omnitable-datetime-range-input';
13
11
  /**
14
12
  * @polymer
15
13
  * @customElement
16
14
  * @appliesMixin columnMixin
17
15
  */
18
- class OmnitableColumnDatetime extends (0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement) {
16
+ class OmnitableColumnDatetime extends columnMixin(PolymerElement) {
19
17
  static get is() {
20
18
  return 'cosmoz-omnitable-column-datetime';
21
19
  }
@@ -36,33 +34,33 @@ class OmnitableColumnDatetime extends (0, cosmoz_omnitable_column_mixin_1.column
36
34
  return { limits: column.limits };
37
35
  }
38
36
  getFilterFn(column, filter) {
39
- const min = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'min' }, filter), max = (0, utils_date_1.getComparableValue)({ ...column, valuePath: 'max' }, filter);
37
+ const min = getComparableValue({ ...column, valuePath: 'min' }, filter), max = getComparableValue({ ...column, valuePath: 'max' }, filter);
40
38
  if (min == null && max == null) {
41
39
  return;
42
40
  }
43
- return (0, utils_date_1.applySingleFilter)(column, filter);
41
+ return applySingleFilter(column, filter);
44
42
  }
45
43
  getString(column, item) {
46
- return (0, utils_datetime_1.getString)(column, item);
44
+ return getString(column, item);
47
45
  }
48
46
  toXlsxValue(column, item) {
49
- return (0, utils_datetime_1.toXlsxValue)(column, item);
47
+ return toXlsxValue(column, item);
50
48
  }
51
49
  cellTitleFn(column, item) {
52
- return (0, utils_datetime_1.getString)(column, item);
50
+ return getString(column, item);
53
51
  }
54
52
  getComparableValue(column, item) {
55
- return (0, utils_date_1.getComparableValue)(column, item);
53
+ return getComparableValue(column, item);
56
54
  }
57
55
  serializeFilter(column, filter) {
58
56
  if (filter == null) {
59
57
  return;
60
58
  }
61
- const min = (0, utils_date_1.toDate)(filter.min), max = (0, utils_date_1.toDate)(filter.max);
59
+ const min = toDate(filter.min), max = toDate(filter.max);
62
60
  if (min == null && max == null) {
63
61
  return;
64
62
  }
65
- return (0, utils_datetime_1.toHashString)(min) + '~' + (0, utils_datetime_1.toHashString)(max);
63
+ return toHashString(min) + '~' + toHashString(max);
66
64
  }
67
65
  deserializeFilter(column, filter) {
68
66
  if (filter == null || filter === '') {
@@ -72,22 +70,22 @@ class OmnitableColumnDatetime extends (0, cosmoz_omnitable_column_mixin_1.column
72
70
  if (!Array.isArray(matches)) {
73
71
  return null;
74
72
  }
75
- return { min: (0, utils_datetime_1.fromHashString)(matches[1]), max: (0, utils_datetime_1.fromHashString)(matches[2]) };
73
+ return { min: fromHashString(matches[1]), max: fromHashString(matches[2]) };
76
74
  }
77
75
  renderCell(column, { item }) {
78
- return (0, utils_datetime_1.getString)(column, item);
76
+ return getString(column, item);
79
77
  }
80
78
  renderEditCell(column, { item }, onItemChange) {
81
- const onChange = (event) => onItemChange((0, utils_date_1.fromInputString)(event.target.value));
82
- return (0, lit_html_1.html) `<cosmoz-input
79
+ const onChange = (event) => onItemChange(fromInputString(event.target.value));
80
+ return html `<cosmoz-input
83
81
  no-label-float
84
82
  type="text"
85
83
  @change=${onChange}
86
- .value=${(0, utils_datetime_1.getString)(column, item)}
84
+ .value=${getString(column, item)}
87
85
  ></cosmoz-input>`;
88
86
  }
89
87
  renderHeader({ title, min, max, limits, locale, filterStep }, { filter }, setState, source) {
90
- return (0, lit_html_1.html) `<cosmoz-omnitable-datetime-range-input
88
+ return html `<cosmoz-omnitable-datetime-range-input
91
89
  .title=${title}
92
90
  .filter=${filter}
93
91
  .values=${source}
@@ -101,7 +99,7 @@ class OmnitableColumnDatetime extends (0, cosmoz_omnitable_column_mixin_1.column
101
99
  ></cosmoz-omnitable-datetime-range-input>`;
102
100
  }
103
101
  computeSource(column, data) {
104
- return (0, utils_data_1.defaultComputeSource)(column, data);
102
+ return defaultComputeSource(column, data);
105
103
  }
106
104
  }
107
105
  customElements.define(OmnitableColumnDatetime.is, OmnitableColumnDatetime);
@@ -1,18 +1,16 @@
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");
1
+ import { translatable } from '@neovici/cosmoz-i18next';
2
+ import { mixin, Template } from '@neovici/cosmoz-utils';
3
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
4
+ import { html } from '@polymer/polymer/lib/utils/html-tag';
7
5
  window.Cosmoz = window.Cosmoz || {};
8
6
  /**
9
7
  * @polymer
10
8
  * @customElement
11
9
  * @appliesMixin translatable
12
10
  */
13
- class OmnitableColumnListData extends (0, cosmoz_i18next_1.translatable)((0, cosmoz_utils_1.mixin)(cosmoz_utils_1.Template, polymer_element_1.PolymerElement)) {
11
+ class OmnitableColumnListData extends translatable(mixin(Template, PolymerElement)) {
14
12
  static get template() {
15
- return (0, html_tag_1.html) `
13
+ return html `
16
14
  <style>
17
15
  :host {
18
16
  display: block;
@@ -1,22 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("@neovici/cosmoz-autocomplete");
4
- require("@neovici/cosmoz-spinner");
5
- const polymer_element_1 = require("@polymer/polymer/polymer-element");
6
- const lit_html_1 = require("lit-html");
7
- const when_js_1 = require("lit-html/directives/when.js");
8
- const cosmoz_omnitable_column_mixin_1 = require("./cosmoz-omnitable-column-mixin");
9
- const cosmoz_omnitable_column_list_mixin_1 = require("./cosmoz-omnitable-column-list-mixin");
1
+ import '@neovici/cosmoz-autocomplete';
2
+ import '@neovici/cosmoz-spinner';
3
+ import { PolymerElement } from '@polymer/polymer/polymer-element';
4
+ import { html } from 'lit-html';
5
+ import { when } from 'lit-html/directives/when.js';
6
+ import { columnMixin } from './cosmoz-omnitable-column-mixin';
7
+ import { getTexts, listColumnMixin, onChange, onFocus, onText, } from './cosmoz-omnitable-column-list-mixin';
10
8
  /**
11
9
  * @polymer
12
10
  * @customElement
13
11
  * @appliesMixin listColumnMixin
14
12
  * @appliesMixin columnMixin
15
13
  */
16
- class OmnitableColumnListHorizontal extends (0, cosmoz_omnitable_column_list_mixin_1.listColumnMixin)((0, cosmoz_omnitable_column_mixin_1.columnMixin)(polymer_element_1.PolymerElement)) {
14
+ class OmnitableColumnListHorizontal extends listColumnMixin(columnMixin(PolymerElement)) {
17
15
  renderCell({ valuePath, textProperty }, { item }) {
18
- const list = (0, cosmoz_omnitable_column_list_mixin_1.getTexts)(item, valuePath, textProperty).map((item) => (0, lit_html_1.html) `<li>${item}</li>`);
19
- return (0, lit_html_1.html) `
16
+ const list = getTexts(item, valuePath, textProperty).map((item) => html `<li>${item}</li>`);
17
+ return html `
20
18
  <style>
21
19
  ul {
22
20
  padding: 0;
@@ -42,17 +40,17 @@ class OmnitableColumnListHorizontal extends (0, cosmoz_omnitable_column_list_mix
42
40
  return 'not implemented';
43
41
  }
44
42
  renderHeader(column, { filter, query }, setState, source) {
45
- return (0, lit_html_1.html) `<cosmoz-autocomplete-ui
43
+ return html `<cosmoz-autocomplete-ui
46
44
  class="external-values-${column.externalValues}"
47
45
  .label=${column.title}
48
46
  .source=${source}
49
47
  .textProperty=${column.textProperty}
50
48
  .value=${filter}
51
49
  .text=${query}
52
- .onChange=${(0, cosmoz_omnitable_column_list_mixin_1.onChange)(setState)}
53
- .onFocus=${(0, cosmoz_omnitable_column_list_mixin_1.onFocus)(setState)}
54
- .onText=${(0, cosmoz_omnitable_column_list_mixin_1.onText)(setState)}
55
- >${(0, when_js_1.when)(column.loading, () => (0, lit_html_1.html) `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
50
+ .onChange=${onChange(setState)}
51
+ .onFocus=${onFocus(setState)}
52
+ .onText=${onText(setState)}
53
+ >${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
56
54
  > `;
57
55
  }
58
56
  }