@neovici/cosmoz-omnitable 14.14.3 → 14.15.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.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-amount.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-amount.js +113 -0
- package/dist/cosmoz-omnitable-column-autocomplete.d.ts +6 -0
- package/dist/cosmoz-omnitable-column-autocomplete.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-autocomplete.js +87 -0
- package/dist/cosmoz-omnitable-column-boolean.d.ts +17 -0
- package/dist/cosmoz-omnitable-column-boolean.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-boolean.js +105 -0
- package/dist/cosmoz-omnitable-column-date.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-date.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-date.js +97 -0
- package/dist/cosmoz-omnitable-column-datetime.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-datetime.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-datetime.js +106 -0
- package/dist/cosmoz-omnitable-column-list-data.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-list-data.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-list-data.js +123 -0
- package/dist/cosmoz-omnitable-column-list-horizontal.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-list-horizontal.d.ts.map +1 -0
- package/{cosmoz-omnitable-column-list-horizontal.js → dist/cosmoz-omnitable-column-list-horizontal.js} +15 -37
- package/dist/cosmoz-omnitable-column-list-mixin.d.ts +59 -0
- package/dist/cosmoz-omnitable-column-list-mixin.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-list-mixin.js +139 -0
- package/dist/cosmoz-omnitable-column-list.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-list.d.ts.map +1 -0
- package/{cosmoz-omnitable-column-list.js → dist/cosmoz-omnitable-column-list.js} +28 -47
- package/dist/cosmoz-omnitable-column-mixin.d.ts +161 -0
- package/dist/cosmoz-omnitable-column-mixin.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-mixin.js +121 -0
- package/dist/cosmoz-omnitable-column-number.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-number.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-number.js +112 -0
- package/dist/cosmoz-omnitable-column-time.d.ts +2 -0
- package/dist/cosmoz-omnitable-column-time.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column-time.js +102 -0
- package/dist/cosmoz-omnitable-column.d.ts +2 -0
- package/dist/cosmoz-omnitable-column.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-column.js +75 -0
- package/dist/cosmoz-omnitable-columns.d.ts +2 -0
- package/dist/cosmoz-omnitable-columns.d.ts.map +1 -0
- package/{cosmoz-omnitable-columns.js → dist/cosmoz-omnitable-columns.js} +1 -0
- package/dist/cosmoz-omnitable-group-row.d.ts +2 -0
- package/dist/cosmoz-omnitable-group-row.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-group-row.js +15 -0
- package/dist/cosmoz-omnitable-header-row.d.ts +2 -0
- package/dist/cosmoz-omnitable-header-row.d.ts.map +1 -0
- package/{cosmoz-omnitable-header-row.js → dist/cosmoz-omnitable-header-row.js} +12 -45
- package/dist/cosmoz-omnitable-item-expand-line.d.ts +2 -0
- package/dist/cosmoz-omnitable-item-expand-line.d.ts.map +1 -0
- package/{cosmoz-omnitable-item-expand-line.js → dist/cosmoz-omnitable-item-expand-line.js} +4 -9
- package/dist/cosmoz-omnitable-item-expand.d.ts +2 -0
- package/dist/cosmoz-omnitable-item-expand.d.ts.map +1 -0
- package/{cosmoz-omnitable-item-expand.js → dist/cosmoz-omnitable-item-expand.js} +10 -18
- package/dist/cosmoz-omnitable-item-row.d.ts +2 -0
- package/dist/cosmoz-omnitable-item-row.d.ts.map +1 -0
- package/dist/cosmoz-omnitable-item-row.js +19 -0
- package/dist/cosmoz-omnitable-skeleton.d.ts +2 -0
- package/dist/cosmoz-omnitable-skeleton.d.ts.map +1 -0
- package/{cosmoz-omnitable-skeleton.js → dist/cosmoz-omnitable-skeleton.js} +9 -25
- package/dist/cosmoz-omnitable-styles.d.ts +4 -0
- package/dist/cosmoz-omnitable-styles.d.ts.map +1 -0
- package/{cosmoz-omnitable-styles.js → dist/cosmoz-omnitable-styles.js} +3 -4
- package/dist/cosmoz-omnitable.d.ts +3 -0
- package/dist/cosmoz-omnitable.d.ts.map +1 -0
- package/{cosmoz-omnitable.js → dist/cosmoz-omnitable.js} +27 -40
- package/dist/grouped-list/cosmoz-grouped-list-row.d.ts +2 -0
- package/dist/grouped-list/cosmoz-grouped-list-row.d.ts.map +1 -0
- package/dist/grouped-list/cosmoz-grouped-list-row.js +31 -0
- package/dist/grouped-list/cosmoz-grouped-list.d.ts +2 -0
- package/dist/grouped-list/cosmoz-grouped-list.d.ts.map +1 -0
- package/dist/grouped-list/cosmoz-grouped-list.js +5 -0
- package/dist/grouped-list/index.d.ts +2 -0
- package/dist/grouped-list/index.d.ts.map +1 -0
- package/{grouped-list → dist/grouped-list}/index.js +1 -0
- package/dist/grouped-list/use-collapsible-items.d.ts +7 -0
- package/dist/grouped-list/use-collapsible-items.d.ts.map +1 -0
- package/dist/grouped-list/use-collapsible-items.js +27 -0
- package/dist/grouped-list/use-cosmoz-grouped-list.d.ts +15 -0
- package/dist/grouped-list/use-cosmoz-grouped-list.d.ts.map +1 -0
- package/dist/grouped-list/use-cosmoz-grouped-list.js +66 -0
- package/dist/grouped-list/use-selected-items.d.ts +19 -0
- package/dist/grouped-list/use-selected-items.d.ts.map +1 -0
- package/dist/grouped-list/use-selected-items.js +105 -0
- package/dist/grouped-list/use-weak-state.d.ts +6 -0
- package/dist/grouped-list/use-weak-state.d.ts.map +1 -0
- package/dist/grouped-list/use-weak-state.js +15 -0
- package/dist/grouped-list/utils.d.ts +11 -0
- package/dist/grouped-list/utils.d.ts.map +1 -0
- package/dist/grouped-list/utils.js +57 -0
- package/dist/lib/compute-layout.d.ts +3 -0
- package/dist/lib/compute-layout.d.ts.map +1 -0
- package/dist/lib/compute-layout.js +46 -0
- package/dist/lib/cosmoz-omnitable-amount-range-input.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-amount-range-input.d.ts.map +1 -0
- package/dist/lib/cosmoz-omnitable-amount-range-input.js +304 -0
- package/dist/lib/cosmoz-omnitable-date-input-mixin.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-date-input-mixin.d.ts.map +1 -0
- package/dist/lib/cosmoz-omnitable-date-input-mixin.js +149 -0
- package/dist/lib/cosmoz-omnitable-date-range-input.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-date-range-input.d.ts.map +1 -0
- package/{lib → dist/lib}/cosmoz-omnitable-date-range-input.js +32 -41
- package/dist/lib/cosmoz-omnitable-datetime-range-input.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-datetime-range-input.d.ts.map +1 -0
- package/{lib → dist/lib}/cosmoz-omnitable-datetime-range-input.js +27 -38
- package/dist/lib/cosmoz-omnitable-number-range-input.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-number-range-input.d.ts.map +1 -0
- package/{lib → dist/lib}/cosmoz-omnitable-number-range-input.js +73 -83
- package/dist/lib/cosmoz-omnitable-range-input-mixin.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-range-input-mixin.d.ts.map +1 -0
- package/dist/lib/cosmoz-omnitable-range-input-mixin.js +337 -0
- package/dist/lib/cosmoz-omnitable-resize-nub.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-resize-nub.d.ts.map +1 -0
- package/dist/lib/cosmoz-omnitable-resize-nub.js +33 -0
- package/dist/lib/cosmoz-omnitable-time-range-input.d.ts +2 -0
- package/dist/lib/cosmoz-omnitable-time-range-input.d.ts.map +1 -0
- package/dist/lib/cosmoz-omnitable-time-range-input.js +125 -0
- package/dist/lib/generic-sorter.d.ts +2 -0
- package/dist/lib/generic-sorter.d.ts.map +1 -0
- package/dist/lib/generic-sorter.js +29 -0
- package/dist/lib/icons.d.ts +5 -0
- package/dist/lib/icons.d.ts.map +1 -0
- package/{lib → dist/lib}/icons.js +5 -8
- package/dist/lib/layout.d.ts +2 -0
- package/dist/lib/layout.d.ts.map +1 -0
- package/dist/lib/layout.js +41 -0
- package/dist/lib/polymer-haunted-render-mixin.d.ts +10 -0
- package/dist/lib/polymer-haunted-render-mixin.d.ts.map +1 -0
- package/dist/lib/polymer-haunted-render-mixin.js +16 -0
- package/dist/lib/render-footer.d.ts +9 -0
- package/dist/lib/render-footer.d.ts.map +1 -0
- package/{lib → dist/lib}/render-footer.js +4 -17
- package/dist/lib/render-header.d.ts +14 -0
- package/dist/lib/render-header.d.ts.map +1 -0
- package/{lib → dist/lib}/render-header.js +6 -27
- package/dist/lib/render-list.d.ts +2 -0
- package/dist/lib/render-list.d.ts.map +1 -0
- package/{lib → dist/lib}/render-list.js +12 -45
- package/dist/lib/save-as-csv-action.d.ts +2 -0
- package/dist/lib/save-as-csv-action.d.ts.map +1 -0
- package/dist/lib/save-as-csv-action.js +26 -0
- package/dist/lib/save-as-xlsx-action.d.ts +3 -0
- package/dist/lib/save-as-xlsx-action.d.ts.map +1 -0
- package/dist/lib/save-as-xlsx-action.js +18 -0
- package/dist/lib/settings/cosmoz-omnitable-settings.d.ts +2 -0
- package/dist/lib/settings/cosmoz-omnitable-settings.d.ts.map +1 -0
- package/{lib → dist/lib}/settings/cosmoz-omnitable-settings.js +27 -69
- package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts +14 -0
- package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts.map +1 -0
- package/dist/lib/settings/cosmoz-omnitable-sort-group.js +55 -0
- package/dist/lib/settings/drivers/context.d.ts +12 -0
- package/dist/lib/settings/drivers/context.d.ts.map +1 -0
- package/dist/lib/settings/drivers/context.js +11 -0
- package/dist/lib/settings/drivers/index.d.ts +4 -0
- package/dist/lib/settings/drivers/index.d.ts.map +1 -0
- package/{lib → dist/lib}/settings/drivers/index.js +1 -0
- package/dist/lib/settings/drivers/local.d.ts +8 -0
- package/dist/lib/settings/drivers/local.d.ts.map +1 -0
- package/dist/lib/settings/drivers/local.js +33 -0
- package/dist/lib/settings/drivers/remote.d.ts +8 -0
- package/dist/lib/settings/drivers/remote.d.ts.map +1 -0
- package/dist/lib/settings/drivers/remote.js +25 -0
- package/dist/lib/settings/index.d.ts +2 -0
- package/dist/lib/settings/index.d.ts.map +1 -0
- package/{lib → dist/lib}/settings/index.js +1 -1
- package/dist/lib/settings/normalize.d.ts +11 -0
- package/dist/lib/settings/normalize.d.ts.map +1 -0
- package/dist/lib/settings/normalize.js +47 -0
- package/dist/lib/settings/style.css.d.ts +4 -0
- package/dist/lib/settings/style.css.d.ts.map +1 -0
- package/{lib → dist/lib}/settings/style.css.js +3 -4
- package/dist/lib/settings/use-saved-settings.d.ts +9 -0
- package/dist/lib/settings/use-saved-settings.d.ts.map +1 -0
- package/dist/lib/settings/use-saved-settings.js +35 -0
- package/dist/lib/settings/use-settings-ui.d.ts +3 -0
- package/dist/lib/settings/use-settings-ui.d.ts.map +1 -0
- package/dist/lib/settings/use-settings-ui.js +78 -0
- package/dist/lib/settings/use-settings.d.ts +23 -0
- package/dist/lib/settings/use-settings.d.ts.map +1 -0
- package/dist/lib/settings/use-settings.js +26 -0
- package/dist/lib/use-canvas-width.d.ts +2 -0
- package/dist/lib/use-canvas-width.d.ts.map +1 -0
- package/dist/lib/use-canvas-width.js +8 -0
- package/dist/lib/use-dom-columns.d.ts +5 -0
- package/dist/lib/use-dom-columns.d.ts.map +1 -0
- package/dist/lib/use-dom-columns.js +127 -0
- package/dist/lib/use-fast-layout.d.ts +13 -0
- package/dist/lib/use-fast-layout.d.ts.map +1 -0
- package/dist/lib/use-fast-layout.js +47 -0
- package/dist/lib/use-footer.d.ts +10 -0
- package/dist/lib/use-footer.d.ts.map +1 -0
- package/dist/lib/use-footer.js +11 -0
- package/dist/lib/use-hash-state.d.ts +4 -0
- package/dist/lib/use-hash-state.d.ts.map +1 -0
- package/dist/lib/use-hash-state.js +32 -0
- package/dist/lib/use-header.d.ts +21 -0
- package/dist/lib/use-header.d.ts.map +1 -0
- package/dist/lib/use-header.js +38 -0
- package/dist/lib/use-layout.d.ts +7 -0
- package/dist/lib/use-layout.d.ts.map +1 -0
- package/dist/lib/use-layout.js +21 -0
- package/dist/lib/use-list.d.ts +31 -0
- package/dist/lib/use-list.d.ts.map +1 -0
- package/dist/lib/use-list.js +198 -0
- package/dist/lib/use-mini.d.ts +10 -0
- package/dist/lib/use-mini.d.ts.map +1 -0
- package/dist/lib/use-mini.js +19 -0
- package/dist/lib/use-omnitable.d.ts +37 -0
- package/dist/lib/use-omnitable.d.ts.map +1 -0
- package/dist/lib/use-omnitable.js +74 -0
- package/dist/lib/use-processed-items.d.ts +17 -0
- package/dist/lib/use-processed-items.d.ts.map +1 -0
- package/dist/lib/use-processed-items.js +151 -0
- package/dist/lib/use-public-interface.d.ts +7 -0
- package/dist/lib/use-public-interface.d.ts.map +1 -0
- package/dist/lib/use-public-interface.js +82 -0
- package/dist/lib/use-resizable-columns.d.ts +7 -0
- package/dist/lib/use-resizable-columns.d.ts.map +1 -0
- package/dist/lib/use-resizable-columns.js +38 -0
- package/dist/lib/use-sort-and-group-options.d.ts +26 -0
- package/dist/lib/use-sort-and-group-options.d.ts.map +1 -0
- package/dist/lib/use-sort-and-group-options.js +36 -0
- package/dist/lib/use-track-size.d.ts +2 -0
- package/dist/lib/use-track-size.d.ts.map +1 -0
- package/dist/lib/use-track-size.js +15 -0
- package/dist/lib/use-tween-array.d.ts +3 -0
- package/dist/lib/use-tween-array.d.ts.map +1 -0
- package/dist/lib/use-tween-array.js +50 -0
- package/dist/lib/utils-amount.d.ts +26 -0
- package/dist/lib/utils-amount.d.ts.map +1 -0
- package/dist/lib/utils-amount.js +99 -0
- package/dist/lib/utils-data.d.ts +8 -0
- package/dist/lib/utils-data.d.ts.map +1 -0
- package/dist/lib/utils-data.js +28 -0
- package/dist/lib/utils-date.d.ts +25 -0
- package/dist/lib/utils-date.d.ts.map +1 -0
- package/dist/lib/utils-date.js +161 -0
- package/dist/lib/utils-datetime.d.ts +16 -0
- package/dist/lib/utils-datetime.d.ts.map +1 -0
- package/dist/lib/utils-datetime.js +52 -0
- package/dist/lib/utils-number.d.ts +19 -0
- package/dist/lib/utils-number.d.ts.map +1 -0
- package/dist/lib/utils-number.js +87 -0
- package/dist/lib/utils-time.d.ts +17 -0
- package/dist/lib/utils-time.d.ts.map +1 -0
- package/dist/lib/utils-time.js +88 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +14 -0
- package/dist/ui-helpers/cosmoz-clear-button.d.ts +2 -0
- package/dist/ui-helpers/cosmoz-clear-button.d.ts.map +1 -0
- package/{ui-helpers → dist/ui-helpers}/cosmoz-clear-button.js +3 -5
- package/package.json +38 -8
- package/cosmoz-omnitable-column-amount.js +0 -162
- package/cosmoz-omnitable-column-autocomplete.js +0 -113
- package/cosmoz-omnitable-column-boolean.js +0 -168
- package/cosmoz-omnitable-column-date.js +0 -133
- package/cosmoz-omnitable-column-datetime.js +0 -145
- package/cosmoz-omnitable-column-list-data.js +0 -141
- package/cosmoz-omnitable-column-list-mixin.js +0 -198
- package/cosmoz-omnitable-column-mixin.js +0 -149
- package/cosmoz-omnitable-column-number.js +0 -157
- package/cosmoz-omnitable-column-time.js +0 -137
- package/cosmoz-omnitable-column.js +0 -99
- package/cosmoz-omnitable-group-row.js +0 -20
- package/cosmoz-omnitable-item-row.js +0 -38
- package/grouped-list/cosmoz-grouped-list-row.js +0 -41
- package/grouped-list/cosmoz-grouped-list.js +0 -13
- package/grouped-list/use-collapsible-items.js +0 -32
- package/grouped-list/use-cosmoz-grouped-list.js +0 -102
- package/grouped-list/use-selected-items.js +0 -140
- package/grouped-list/use-weak-state.js +0 -21
- package/grouped-list/utils.js +0 -89
- package/lib/compute-layout.js +0 -74
- package/lib/cosmoz-omnitable-amount-range-input.js +0 -353
- package/lib/cosmoz-omnitable-date-input-mixin.js +0 -182
- package/lib/cosmoz-omnitable-range-input-mixin.js +0 -451
- package/lib/cosmoz-omnitable-resize-nub.js +0 -41
- package/lib/cosmoz-omnitable-time-range-input.js +0 -154
- package/lib/generic-sorter.js +0 -35
- package/lib/layout.js +0 -61
- package/lib/polymer-haunted-render-mixin.js +0 -19
- package/lib/save-as-csv-action.js +0 -36
- package/lib/save-as-xlsx-action.js +0 -27
- package/lib/settings/cosmoz-omnitable-sort-group.js +0 -74
- package/lib/settings/drivers/context.js +0 -16
- package/lib/settings/drivers/local.js +0 -29
- package/lib/settings/drivers/remote.js +0 -22
- package/lib/settings/normalize.js +0 -76
- package/lib/settings/use-saved-settings.js +0 -43
- package/lib/settings/use-settings-ui.js +0 -125
- package/lib/settings/use-settings.js +0 -53
- package/lib/use-canvas-width.js +0 -12
- package/lib/use-dom-columns.js +0 -166
- package/lib/use-fast-layout.js +0 -73
- package/lib/use-footer.js +0 -16
- package/lib/use-hash-state.js +0 -71
- package/lib/use-header.js +0 -71
- package/lib/use-layout.js +0 -32
- package/lib/use-list.js +0 -263
- package/lib/use-mini.js +0 -30
- package/lib/use-omnitable.js +0 -99
- package/lib/use-processed-items.js +0 -254
- package/lib/use-public-interface.js +0 -107
- package/lib/use-resizable-columns.js +0 -63
- package/lib/use-sort-and-group-options.js +0 -95
- package/lib/use-track-size.js +0 -23
- package/lib/use-tween-array.js +0 -60
- package/lib/utils-amount.js +0 -131
- package/lib/utils-data.js +0 -42
- package/lib/utils-date.js +0 -194
- package/lib/utils-datetime.js +0 -66
- package/lib/utils-number.js +0 -111
- package/lib/utils-time.js +0 -112
- package/lib/utils.js +0 -17
package/lib/utils-date.js
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { toLocalISOString, ensureDate } from '@neovici/cosmoz-utils/date';
|
|
2
|
-
import { get } from '@polymer/polymer/lib/utils/path';
|
|
3
|
-
import { toNumber } from './utils-number';
|
|
4
|
-
|
|
5
|
-
export const /**
|
|
6
|
-
* Calculates the local timezone offset and formats it to ISO Timezone string.
|
|
7
|
-
* @param {String} localISOString an ISO date string
|
|
8
|
-
* @return {String} the ISO timezone
|
|
9
|
-
*/
|
|
10
|
-
getTimezoneString = (localISOString) => {
|
|
11
|
-
const off = -new Date(localISOString).getTimezoneOffset() / 60;
|
|
12
|
-
return (
|
|
13
|
-
(off < 0 ? '-' : '+') + ['0', Math.abs(off)].join('').substr(-2) + ':00'
|
|
14
|
-
);
|
|
15
|
-
},
|
|
16
|
-
/**
|
|
17
|
-
* Computes the local timezone and adds it to a local ISO string
|
|
18
|
-
* @param {String} localISOString an ISO date string, without timezone info
|
|
19
|
-
* @return {String} an ISO date string, with timezone info
|
|
20
|
-
*/
|
|
21
|
-
getAbsoluteISOString = (localISOString) => {
|
|
22
|
-
// Most browsers use local timezone when no timezone is specified
|
|
23
|
-
// but Safari uses UTC, so we set it implicitly
|
|
24
|
-
// TODO: Consider removing this when/if Safari handles local timezone correctly
|
|
25
|
-
if (localISOString.length === 19) {
|
|
26
|
-
return localISOString + getTimezoneString(localISOString);
|
|
27
|
-
}
|
|
28
|
-
return localISOString;
|
|
29
|
-
},
|
|
30
|
-
parseDate = (value) => {
|
|
31
|
-
if (value == null || value === '') {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// convert value to Date
|
|
36
|
-
let date = value;
|
|
37
|
-
if (!(date instanceof Date)) {
|
|
38
|
-
// if the value is an ISO string, make sure that it has an explicit timezone
|
|
39
|
-
if (typeof value === 'string') {
|
|
40
|
-
date = getAbsoluteISOString(date);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
date = ensureDate(date);
|
|
44
|
-
|
|
45
|
-
if (!date) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (Number.isNaN(date.getTime())) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return date;
|
|
55
|
-
},
|
|
56
|
-
/**
|
|
57
|
-
* Get comparable number from date
|
|
58
|
-
*
|
|
59
|
-
* @param {String} valuePath Property path
|
|
60
|
-
* @param {Object} item Item to be processed
|
|
61
|
-
* @returns {Number|void} Valid value or void
|
|
62
|
-
*/
|
|
63
|
-
getComparableValue = ({ valuePath }, item) => {
|
|
64
|
-
if (item == null) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
let value = item;
|
|
68
|
-
if (valuePath != null) {
|
|
69
|
-
value = get(item, valuePath);
|
|
70
|
-
}
|
|
71
|
-
value = parseDate(value);
|
|
72
|
-
|
|
73
|
-
if (value == null) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
return toNumber(value.getTime());
|
|
77
|
-
},
|
|
78
|
-
/**
|
|
79
|
-
* Converts an value to date optionaly limiting it.
|
|
80
|
-
*
|
|
81
|
-
* @param {Date|String} value Value to convert to date
|
|
82
|
-
* @param {Date|String} limit Value used to limit the date
|
|
83
|
-
* @param {Function} limitFunc Function used to limit the date (Math.min|Math.max)
|
|
84
|
-
* @returns {Date|void} Value converted to date optionaly limitated
|
|
85
|
-
*/
|
|
86
|
-
toDate = (value, limit, limitFunc) => {
|
|
87
|
-
const date = parseDate(value);
|
|
88
|
-
|
|
89
|
-
if (date == null) {
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (limitFunc == null || limit == null) {
|
|
94
|
-
return date;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const lDate = toDate(limit);
|
|
98
|
-
if (lDate == null) {
|
|
99
|
-
return date;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const comparableDate = getComparableValue({}, date),
|
|
103
|
-
comparableLDate = getComparableValue({}, lDate),
|
|
104
|
-
limitedValue = limitFunc(comparableDate, comparableLDate);
|
|
105
|
-
return limitedValue === comparableDate ? date : lDate;
|
|
106
|
-
},
|
|
107
|
-
renderValue = (value, formatter) => {
|
|
108
|
-
if (formatter == null) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
const date = toDate(value);
|
|
112
|
-
if (date == null) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
return formatter.format(date);
|
|
116
|
-
},
|
|
117
|
-
formatters = {},
|
|
118
|
-
getFormatter = (locale) => {
|
|
119
|
-
const key = locale || '';
|
|
120
|
-
|
|
121
|
-
if (formatters[key]) {
|
|
122
|
-
return formatters[key];
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
formatters[key] = new Intl.DateTimeFormat(locale || undefined);
|
|
126
|
-
|
|
127
|
-
return formatters[key];
|
|
128
|
-
},
|
|
129
|
-
getString = ({ valuePath, locale }, item) => {
|
|
130
|
-
let value = get(item, valuePath);
|
|
131
|
-
if (value === undefined) {
|
|
132
|
-
return '';
|
|
133
|
-
}
|
|
134
|
-
value = toDate(value);
|
|
135
|
-
if (value === null) {
|
|
136
|
-
return 'Invalid Date';
|
|
137
|
-
}
|
|
138
|
-
return renderValue(value, getFormatter(locale));
|
|
139
|
-
},
|
|
140
|
-
toInputString = (value) => {
|
|
141
|
-
const date = toDate(value);
|
|
142
|
-
if (date == null) {
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
return toLocalISOString(date).slice(0, 10);
|
|
146
|
-
},
|
|
147
|
-
getInputString = ({ valuePath }, item) => toInputString(get(item, valuePath)),
|
|
148
|
-
fromInputString = (value, property) => {
|
|
149
|
-
const date = toDate(value);
|
|
150
|
-
if (date == null) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (property === 'min') {
|
|
154
|
-
date.setHours(0, 0, 0, 0);
|
|
155
|
-
}
|
|
156
|
-
if (property === 'max') {
|
|
157
|
-
date.setHours(23, 59, 59);
|
|
158
|
-
}
|
|
159
|
-
return date;
|
|
160
|
-
},
|
|
161
|
-
toHashString = (value) => {
|
|
162
|
-
const string = toInputString(value);
|
|
163
|
-
if (string == null) {
|
|
164
|
-
return '';
|
|
165
|
-
}
|
|
166
|
-
return string;
|
|
167
|
-
},
|
|
168
|
-
toXlsxValue = ({ valuePath }, item) => {
|
|
169
|
-
if (!valuePath) {
|
|
170
|
-
return '';
|
|
171
|
-
}
|
|
172
|
-
const date = toDate(get(item, valuePath));
|
|
173
|
-
if (!date) {
|
|
174
|
-
return '';
|
|
175
|
-
}
|
|
176
|
-
const localDate = toDate(toLocalISOString(date));
|
|
177
|
-
if (!localDate) {
|
|
178
|
-
return '';
|
|
179
|
-
}
|
|
180
|
-
localDate.setHours(0, 0, 0, 0);
|
|
181
|
-
return localDate;
|
|
182
|
-
},
|
|
183
|
-
applySingleFilter = (column, filter) => (item) => {
|
|
184
|
-
const value = getComparableValue(column, item);
|
|
185
|
-
|
|
186
|
-
if (value == null) {
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
const min = getComparableValue({ ...column, valuePath: 'min' }, filter),
|
|
191
|
-
max = getComparableValue({ ...column, valuePath: 'max' }, filter);
|
|
192
|
-
|
|
193
|
-
return !(value < min || value > max);
|
|
194
|
-
};
|
package/lib/utils-datetime.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { toLocalISOString } from '@neovici/cosmoz-utils/date';
|
|
2
|
-
import { get } from '@polymer/polymer/lib/utils/path';
|
|
3
|
-
import { renderValue, toDate } from './utils-date';
|
|
4
|
-
|
|
5
|
-
export const formatters = {},
|
|
6
|
-
getFormatter = (locale) => {
|
|
7
|
-
const key = locale || '';
|
|
8
|
-
|
|
9
|
-
if (formatters[key]) {
|
|
10
|
-
return formatters[key];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const timeFormatOption = {
|
|
14
|
-
year: 'numeric',
|
|
15
|
-
month: 'numeric',
|
|
16
|
-
day: 'numeric',
|
|
17
|
-
hour: 'numeric',
|
|
18
|
-
minute: 'numeric',
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
formatters[key] = new Intl.DateTimeFormat(
|
|
22
|
-
locale || undefined,
|
|
23
|
-
timeFormatOption,
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
return formatters[key];
|
|
27
|
-
},
|
|
28
|
-
getString = ({ valuePath, locale }, item) => {
|
|
29
|
-
const value = toDate(get(item, valuePath));
|
|
30
|
-
if (value === undefined) {
|
|
31
|
-
return '';
|
|
32
|
-
}
|
|
33
|
-
if (value === null) {
|
|
34
|
-
return 'Invalid Date';
|
|
35
|
-
}
|
|
36
|
-
return renderValue(value, getFormatter(locale));
|
|
37
|
-
},
|
|
38
|
-
toXlsxValue = ({ valuePath }, item) => {
|
|
39
|
-
if (!valuePath) {
|
|
40
|
-
return '';
|
|
41
|
-
}
|
|
42
|
-
return get(item, valuePath);
|
|
43
|
-
},
|
|
44
|
-
toHashString = (value) => {
|
|
45
|
-
const date = toDate(value);
|
|
46
|
-
if (date == null) {
|
|
47
|
-
return '';
|
|
48
|
-
}
|
|
49
|
-
//Use utc in hash
|
|
50
|
-
return date.toISOString().slice(0, 19).replace(/:/gu, '.');
|
|
51
|
-
},
|
|
52
|
-
fromHashString = (value) => {
|
|
53
|
-
if (value == null || value === '') {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
//Parse utc from hash string
|
|
57
|
-
return toDate(value.replace(/\./gu, ':') + 'Z');
|
|
58
|
-
},
|
|
59
|
-
toInputString = (value) => {
|
|
60
|
-
const date = toDate(value);
|
|
61
|
-
if (date == null) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
return toLocalISOString(date).slice(0, 19);
|
|
65
|
-
},
|
|
66
|
-
getInputString = ({ valuePath }, item) => toInputString(get(item, valuePath));
|
package/lib/utils-number.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { get } from '@polymer/polymer/lib/utils/path';
|
|
2
|
-
import { memoooize } from '@neovici/cosmoz-utils/memoize';
|
|
3
|
-
|
|
4
|
-
export const /**
|
|
5
|
-
* Converts a value to number optionaly limiting it.
|
|
6
|
-
*
|
|
7
|
-
* @param {Number|*} value The value to convert to number
|
|
8
|
-
* @param {Number|*} limit The value used to limit the number
|
|
9
|
-
* @param {Function} limitFunc The function used to limit the number (Math.min|Math.max)
|
|
10
|
-
* @returns {Number|void} Value converted to Number or void
|
|
11
|
-
*/
|
|
12
|
-
toNumber = (value, limit, limitFunc) => {
|
|
13
|
-
if (value == null || value === '') {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const number = typeof value === 'number' ? value : Number(value);
|
|
17
|
-
if (Number.isNaN(number)) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (limitFunc == null || limit == null) {
|
|
21
|
-
return number;
|
|
22
|
-
}
|
|
23
|
-
const lNumber = toNumber(limit);
|
|
24
|
-
if (lNumber == null) {
|
|
25
|
-
return number;
|
|
26
|
-
}
|
|
27
|
-
return limitFunc(number, lNumber);
|
|
28
|
-
},
|
|
29
|
-
toInputString = (value) => {
|
|
30
|
-
const val = toNumber(value);
|
|
31
|
-
if (val == null) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return val.toString();
|
|
35
|
-
},
|
|
36
|
-
getInputString = ({ valuePath }, item) => {
|
|
37
|
-
const value = toNumber(get(item, valuePath));
|
|
38
|
-
return toInputString(value);
|
|
39
|
-
},
|
|
40
|
-
toHashString = (value) => {
|
|
41
|
-
const string = toInputString(value);
|
|
42
|
-
if (string == null) {
|
|
43
|
-
return '';
|
|
44
|
-
}
|
|
45
|
-
return string;
|
|
46
|
-
},
|
|
47
|
-
getComparableValue = ({ valuePath, maximumFractionDigits }, item) => {
|
|
48
|
-
if (item == null) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
let value = item;
|
|
52
|
-
if (valuePath != null) {
|
|
53
|
-
value = get(item, valuePath);
|
|
54
|
-
}
|
|
55
|
-
value = toNumber(value);
|
|
56
|
-
if (value == null) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (maximumFractionDigits !== null) {
|
|
61
|
-
return toNumber(value.toFixed(maximumFractionDigits));
|
|
62
|
-
}
|
|
63
|
-
return value;
|
|
64
|
-
},
|
|
65
|
-
makeFormatter = memoooize(
|
|
66
|
-
(locale, minimumFractionDigits, maximumFractionDigits) => {
|
|
67
|
-
const options = {
|
|
68
|
-
localeMatcher: 'best fit', // chrome expects this when using custom options
|
|
69
|
-
};
|
|
70
|
-
if (minimumFractionDigits !== null) {
|
|
71
|
-
options.minimumFractionDigits = minimumFractionDigits;
|
|
72
|
-
}
|
|
73
|
-
if (maximumFractionDigits !== null) {
|
|
74
|
-
options.maximumFractionDigits = maximumFractionDigits;
|
|
75
|
-
}
|
|
76
|
-
return new Intl.NumberFormat(locale || undefined, options);
|
|
77
|
-
},
|
|
78
|
-
),
|
|
79
|
-
getString = (
|
|
80
|
-
{ valuePath, locale, minimumFractionDigits, maximumFractionDigits },
|
|
81
|
-
item,
|
|
82
|
-
) => {
|
|
83
|
-
const value = get(item, valuePath);
|
|
84
|
-
|
|
85
|
-
if (value == null) {
|
|
86
|
-
return '';
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const number = toNumber(value);
|
|
90
|
-
if (number == null) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const formatter = makeFormatter(
|
|
94
|
-
locale,
|
|
95
|
-
minimumFractionDigits,
|
|
96
|
-
maximumFractionDigits,
|
|
97
|
-
);
|
|
98
|
-
return formatter.format(number);
|
|
99
|
-
},
|
|
100
|
-
applySingleFilter = (column, filter) => (item) => {
|
|
101
|
-
const value = getComparableValue(column, item);
|
|
102
|
-
|
|
103
|
-
if (value == null) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const min = getComparableValue({ ...column, valuePath: 'min' }, filter),
|
|
108
|
-
max = getComparableValue({ ...column, valuePath: 'max' }, filter);
|
|
109
|
-
|
|
110
|
-
return !(value < min || value > max);
|
|
111
|
-
};
|
package/lib/utils-time.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { toLocalISOString } from '@neovici/cosmoz-utils/date';
|
|
2
|
-
import { get } from '@polymer/polymer/lib/utils/path';
|
|
3
|
-
import {
|
|
4
|
-
getAbsoluteISOString,
|
|
5
|
-
renderValue,
|
|
6
|
-
toDate as superToDate,
|
|
7
|
-
} from './utils-date';
|
|
8
|
-
import { toNumber } from './utils-number';
|
|
9
|
-
|
|
10
|
-
export const _fixedDate = '1970-01-01',
|
|
11
|
-
/**
|
|
12
|
-
* Converts time to date optionaly limiting it.
|
|
13
|
-
*
|
|
14
|
-
* @param {Date|Number} value Date or Timestamp ( miliseconds since property _fixedDate ) to be converted
|
|
15
|
-
* @param {Date|Number} limit Optional value to limit the date.
|
|
16
|
-
* @param {Function} limitFunc Function used to limit the date (Math.min|Math.max)
|
|
17
|
-
* @returns {Date|void} Value converted to date optionaly limitated
|
|
18
|
-
*/
|
|
19
|
-
toDate = (value, limit, limitFunc) => {
|
|
20
|
-
// Most browsers use local timezone when no timezone is specified
|
|
21
|
-
// but Safari uses UTC, so we set it implicitly
|
|
22
|
-
// TODO: Consider removing this when/if Safari handles local timezone correctly
|
|
23
|
-
const date =
|
|
24
|
-
typeof value === 'string' && value.length > 3 && value.length <= 9
|
|
25
|
-
? getAbsoluteISOString(_fixedDate + 'T' + value)
|
|
26
|
-
: value;
|
|
27
|
-
return superToDate(date, limit, limitFunc);
|
|
28
|
-
},
|
|
29
|
-
formatters = {},
|
|
30
|
-
getFormatter = (locale) => {
|
|
31
|
-
const key = locale || '';
|
|
32
|
-
|
|
33
|
-
if (formatters[key]) {
|
|
34
|
-
return formatters[key];
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const timeFormatOption = {
|
|
38
|
-
hour: 'numeric',
|
|
39
|
-
minute: 'numeric',
|
|
40
|
-
second: 'numeric',
|
|
41
|
-
};
|
|
42
|
-
formatters[key] = new Intl.DateTimeFormat(
|
|
43
|
-
locale || undefined,
|
|
44
|
-
timeFormatOption,
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
return formatters[key];
|
|
48
|
-
},
|
|
49
|
-
getString = ({ valuePath, locale }, item) => {
|
|
50
|
-
const value = toDate(get(item, valuePath));
|
|
51
|
-
if (value === undefined) {
|
|
52
|
-
return '';
|
|
53
|
-
}
|
|
54
|
-
if (value === null) {
|
|
55
|
-
return 'Invalid Date';
|
|
56
|
-
}
|
|
57
|
-
return renderValue(value, getFormatter(locale));
|
|
58
|
-
},
|
|
59
|
-
toXlsxValue = (column, item) => {
|
|
60
|
-
if (!column.valuePath) {
|
|
61
|
-
return '';
|
|
62
|
-
}
|
|
63
|
-
return getString(column, item);
|
|
64
|
-
},
|
|
65
|
-
toInputString = (value) => {
|
|
66
|
-
const date = toDate(value);
|
|
67
|
-
if (date == null) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return toLocalISOString(date).slice(11, 19);
|
|
71
|
-
},
|
|
72
|
-
getComparableValue = ({ valuePath }, item) => {
|
|
73
|
-
if (item == null) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
let value = toInputString(valuePath == null ? item : get(item, valuePath));
|
|
77
|
-
if (value == null) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
value = toDate(getAbsoluteISOString(_fixedDate + 'T' + value));
|
|
81
|
-
if (value == null) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
return toNumber(value.getTime());
|
|
85
|
-
},
|
|
86
|
-
applySingleFilter = (column, filter) => (item) => {
|
|
87
|
-
const value = getComparableValue(column, item);
|
|
88
|
-
|
|
89
|
-
if (value == null) {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const min = getComparableValue({ ...column, valuePath: 'min' }, filter),
|
|
94
|
-
max = getComparableValue({ ...column, valuePath: 'max' }, filter);
|
|
95
|
-
|
|
96
|
-
return !(value < min || value > max);
|
|
97
|
-
},
|
|
98
|
-
toHashString = (value) => {
|
|
99
|
-
const date = toDate(value);
|
|
100
|
-
if (date == null) {
|
|
101
|
-
return '';
|
|
102
|
-
}
|
|
103
|
-
//Use utc in hash
|
|
104
|
-
return date.toISOString().slice(11, 19).replace(/:/gu, '.');
|
|
105
|
-
},
|
|
106
|
-
fromHashString = (value) => {
|
|
107
|
-
if (value == null || value === '') {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
//Parse utc from hash string
|
|
111
|
-
return toDate(value.replace(/\./gu, ':') + 'Z');
|
|
112
|
-
};
|
package/lib/utils.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const indexSymbol = Symbol('index');
|
|
2
|
-
|
|
3
|
-
export { indexSymbol };
|
|
4
|
-
|
|
5
|
-
export const findLastIndex = (array, predicate) => {
|
|
6
|
-
if (Array.prototype.findLastIndex) {
|
|
7
|
-
return array.findLastIndex(predicate);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
for (let i = array.length - 1; i >= 0; i--) {
|
|
11
|
-
if (predicate(array[i], i, array)) {
|
|
12
|
-
return i;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return -1;
|
|
17
|
-
};
|