@neovici/cosmoz-omnitable 14.14.2 → 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 +39 -9
- 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
|
@@ -0,0 +1,123 @@
|
|
|
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';
|
|
5
|
+
window.Cosmoz = window.Cosmoz || {};
|
|
6
|
+
/**
|
|
7
|
+
* @polymer
|
|
8
|
+
* @customElement
|
|
9
|
+
* @appliesMixin translatable
|
|
10
|
+
*/
|
|
11
|
+
class OmnitableColumnListData extends translatable(mixin(Template, PolymerElement)) {
|
|
12
|
+
static get template() {
|
|
13
|
+
return html `
|
|
14
|
+
<style>
|
|
15
|
+
:host {
|
|
16
|
+
display: block;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:host a {
|
|
20
|
+
color: var(--primary-link-color, inherit);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[hidden] {
|
|
24
|
+
display: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
ul {
|
|
28
|
+
list-style-type: none;
|
|
29
|
+
margin: 0.3em 0;
|
|
30
|
+
padding-left: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
li {
|
|
34
|
+
text-overflow: ellipsis;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
|
|
39
|
+
<ul hidden$="[[ isEmpty(items) ]]">
|
|
40
|
+
<li>
|
|
41
|
+
<span>[[ _firstItem(items) ]]</span>
|
|
42
|
+
</li>
|
|
43
|
+
<li class="see-more" hidden$="[[_hideExpand(items, _expanded)]]">
|
|
44
|
+
<a href="#" on-tap="_toggleExpand"
|
|
45
|
+
>[[ _('and {0} more', _othersCount, t) ]]</a
|
|
46
|
+
>
|
|
47
|
+
</li>
|
|
48
|
+
<template
|
|
49
|
+
is="dom-repeat"
|
|
50
|
+
items="[[ _otherItems(items, _expanded) ]]"
|
|
51
|
+
as="item"
|
|
52
|
+
>
|
|
53
|
+
<li>
|
|
54
|
+
<span class="item">[[ item ]]</span>
|
|
55
|
+
</li>
|
|
56
|
+
</template>
|
|
57
|
+
<li class="see-less" hidden$="[[ _hideCollapse(items, _expanded) ]]">
|
|
58
|
+
<a href="#" on-tap="_toggleExpand">[[ _('See less', t) ]]</a>
|
|
59
|
+
</li>
|
|
60
|
+
</ul>
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
static get is() {
|
|
64
|
+
return 'cosmoz-omnitable-column-list-data';
|
|
65
|
+
}
|
|
66
|
+
static get properties() {
|
|
67
|
+
return {
|
|
68
|
+
items: {
|
|
69
|
+
type: Array,
|
|
70
|
+
},
|
|
71
|
+
_expanded: {
|
|
72
|
+
type: Boolean,
|
|
73
|
+
value: false,
|
|
74
|
+
},
|
|
75
|
+
_othersCount: {
|
|
76
|
+
type: Number,
|
|
77
|
+
computed: '_computeOthersCount(items)',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
static get observers() {
|
|
82
|
+
return ['_itemsLengthChanged(items.length)'];
|
|
83
|
+
}
|
|
84
|
+
_itemsLengthChanged() {
|
|
85
|
+
requestAnimationFrame(() => this.dispatchEvent(new CustomEvent('expand', { bubbles: true })));
|
|
86
|
+
}
|
|
87
|
+
_firstItem(items) {
|
|
88
|
+
if (items !== undefined && items !== null && items.length > 0) {
|
|
89
|
+
return items[0];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
_hideExpand(items, expanded) {
|
|
93
|
+
if (items !== undefined && items.length !== null) {
|
|
94
|
+
return items.length <= 2 || expanded;
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
_hideCollapse(items, expanded) {
|
|
99
|
+
if (items !== undefined && items.length !== null) {
|
|
100
|
+
return items.length <= 2 || !expanded;
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
_otherItems(items, expanded) {
|
|
105
|
+
if (items !== undefined && items !== null) {
|
|
106
|
+
if (items.length <= 2 || expanded) {
|
|
107
|
+
return items.slice(1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
_computeOthersCount(items) {
|
|
112
|
+
if (items !== undefined && items !== null) {
|
|
113
|
+
return items.length - 1;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
_toggleExpand(event) {
|
|
117
|
+
this._expanded = !this._expanded;
|
|
118
|
+
event.stopPropagation();
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
customElements.define(OmnitableColumnListData.is, OmnitableColumnListData);
|
|
123
|
+
//# sourceMappingURL=cosmoz-omnitable-column-list-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-column-list-horizontal.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-list-horizontal.js"],"names":[],"mappings":""}
|
|
@@ -1,34 +1,20 @@
|
|
|
1
1
|
import '@neovici/cosmoz-autocomplete';
|
|
2
2
|
import '@neovici/cosmoz-spinner';
|
|
3
|
-
|
|
4
3
|
import { PolymerElement } from '@polymer/polymer/polymer-element';
|
|
5
4
|
import { html } from 'lit-html';
|
|
6
5
|
import { when } from 'lit-html/directives/when.js';
|
|
7
|
-
|
|
8
6
|
import { columnMixin } from './cosmoz-omnitable-column-mixin';
|
|
9
|
-
import {
|
|
10
|
-
getTexts,
|
|
11
|
-
listColumnMixin,
|
|
12
|
-
onChange,
|
|
13
|
-
onFocus,
|
|
14
|
-
onText,
|
|
15
|
-
} from './cosmoz-omnitable-column-list-mixin';
|
|
16
|
-
|
|
7
|
+
import { getTexts, listColumnMixin, onChange, onFocus, onText, } from './cosmoz-omnitable-column-list-mixin';
|
|
17
8
|
/**
|
|
18
9
|
* @polymer
|
|
19
10
|
* @customElement
|
|
20
11
|
* @appliesMixin listColumnMixin
|
|
21
12
|
* @appliesMixin columnMixin
|
|
22
13
|
*/
|
|
23
|
-
class OmnitableColumnListHorizontal extends listColumnMixin(
|
|
24
|
-
|
|
25
|
-
) {
|
|
26
|
-
|
|
27
|
-
const list = getTexts(item, valuePath, textProperty).map(
|
|
28
|
-
(item) => html`<li>${item}</li>`,
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
return html`
|
|
14
|
+
class OmnitableColumnListHorizontal extends listColumnMixin(columnMixin(PolymerElement)) {
|
|
15
|
+
renderCell({ valuePath, textProperty }, { item }) {
|
|
16
|
+
const list = getTexts(item, valuePath, textProperty).map((item) => html `<li>${item}</li>`);
|
|
17
|
+
return html `
|
|
32
18
|
<style>
|
|
33
19
|
ul {
|
|
34
20
|
padding: 0;
|
|
@@ -49,14 +35,12 @@ class OmnitableColumnListHorizontal extends listColumnMixin(
|
|
|
49
35
|
${list}
|
|
50
36
|
</ul>
|
|
51
37
|
`;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
renderHeader(column, { filter, query }, setState, source) {
|
|
59
|
-
return html`<cosmoz-autocomplete-ui
|
|
38
|
+
}
|
|
39
|
+
renderEditCell() {
|
|
40
|
+
return 'not implemented';
|
|
41
|
+
}
|
|
42
|
+
renderHeader(column, { filter, query }, setState, source) {
|
|
43
|
+
return html `<cosmoz-autocomplete-ui
|
|
60
44
|
class="external-values-${column.externalValues}"
|
|
61
45
|
.label=${column.title}
|
|
62
46
|
.source=${source}
|
|
@@ -66,15 +50,9 @@ class OmnitableColumnListHorizontal extends listColumnMixin(
|
|
|
66
50
|
.onChange=${onChange(setState)}
|
|
67
51
|
.onFocus=${onFocus(setState)}
|
|
68
52
|
.onText=${onText(setState)}
|
|
69
|
-
>${when(
|
|
70
|
-
column.loading,
|
|
71
|
-
() => html`<cosmoz-spinner slot="suffix"></cosmoz-spinner>`,
|
|
72
|
-
)}</cosmoz-autocomplete-ui
|
|
53
|
+
>${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
|
|
73
54
|
> `;
|
|
74
|
-
|
|
55
|
+
}
|
|
75
56
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
'cosmoz-omnitable-column-list-horizontal',
|
|
79
|
-
OmnitableColumnListHorizontal,
|
|
80
|
-
);
|
|
57
|
+
customElements.define('cosmoz-omnitable-column-list-horizontal', OmnitableColumnListHorizontal);
|
|
58
|
+
//# sourceMappingURL=cosmoz-omnitable-column-list-horizontal.js.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export function unique(values: any, valueProperty: any): any;
|
|
2
|
+
export function getTexts(item: any, valuePath: any, textProperty: any): any;
|
|
3
|
+
export function getString({ valuePath, textProperty }: {
|
|
4
|
+
valuePath: any;
|
|
5
|
+
textProperty: any;
|
|
6
|
+
}, item: any): any;
|
|
7
|
+
export function toXlsxValue({ valuePath, textProperty }: {
|
|
8
|
+
valuePath: any;
|
|
9
|
+
textProperty: any;
|
|
10
|
+
}, item: any): any;
|
|
11
|
+
export function applyMultiFilter({ valueProperty, valuePath, emptyValue, emptyProperty }: {
|
|
12
|
+
valueProperty: any;
|
|
13
|
+
valuePath: any;
|
|
14
|
+
emptyValue: any;
|
|
15
|
+
emptyProperty: any;
|
|
16
|
+
}, filters: any): (item: any) => any;
|
|
17
|
+
export function onChange(setState: any): (value: any) => any;
|
|
18
|
+
export function onFocus(setState: any): (focused: any) => any;
|
|
19
|
+
export function onText(setState: any): (text: any) => any;
|
|
20
|
+
export function computeSource(column: any, data: any): any;
|
|
21
|
+
export function toAutocompleteSource(values: any, valueProperty: any, textProperty: any): any;
|
|
22
|
+
export function listColumnMixin(base: any): {
|
|
23
|
+
new (): {
|
|
24
|
+
[x: string]: any;
|
|
25
|
+
getConfig(column: any): {
|
|
26
|
+
emptyProperty: any;
|
|
27
|
+
};
|
|
28
|
+
getString(column: any, item: any): any;
|
|
29
|
+
toXlsxValue(column: any, item: any): any;
|
|
30
|
+
cellTitleFn(column: any, item: any): any;
|
|
31
|
+
getComparableValue({ valuePath, valueProperty }: {
|
|
32
|
+
valuePath: any;
|
|
33
|
+
valueProperty: any;
|
|
34
|
+
}, item: any): any;
|
|
35
|
+
getFilterFn(column: any, filters: any): ((item: any) => any) | undefined;
|
|
36
|
+
serializeFilter(column: any, filter: any): string | null;
|
|
37
|
+
deserializeFilter(column: any, filter: any): any;
|
|
38
|
+
computeSource(column: any, data: any): any;
|
|
39
|
+
};
|
|
40
|
+
[x: string]: any;
|
|
41
|
+
get properties(): {
|
|
42
|
+
textProperty: {
|
|
43
|
+
type: StringConstructor;
|
|
44
|
+
};
|
|
45
|
+
valueProperty: {
|
|
46
|
+
type: StringConstructor;
|
|
47
|
+
};
|
|
48
|
+
emptyLabel: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
};
|
|
51
|
+
emptyValue: {
|
|
52
|
+
type: ObjectConstructor;
|
|
53
|
+
};
|
|
54
|
+
emptyProperty: {
|
|
55
|
+
type: StringConstructor;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=cosmoz-omnitable-column-list-mixin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-column-list-mixin.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-list-mixin.js"],"names":[],"mappings":"AAMA,6DAiLG;AAjLH,4EAiLG;AAjLH;;;mBAiLG;AAjLH;;;mBAiLG;AAjLH;;;;;mBAsEG,SAAI,SA2GJ;AAjLH,0CAgF2B,UAAK,SAiG7B;AAjLH,yCAkF0B,YAAO,SA+F9B;AAjLH,wCAoFyB,SAAI,SA6F1B;AAjLH,2DAiLG;AAjLH,8FAiLG;AAjLH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiLG"}
|
|
@@ -0,0 +1,139 @@
|
|
|
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';
|
|
6
|
+
const unique = (values, valueProperty) => {
|
|
7
|
+
if (!Array.isArray(values)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const used = [];
|
|
11
|
+
return values
|
|
12
|
+
.reduce((acc, cur) => {
|
|
13
|
+
if (Array.isArray(cur)) {
|
|
14
|
+
cur.forEach((subcur) => {
|
|
15
|
+
acc.push(subcur);
|
|
16
|
+
});
|
|
17
|
+
return acc;
|
|
18
|
+
}
|
|
19
|
+
acc.push(cur);
|
|
20
|
+
return acc;
|
|
21
|
+
}, [])
|
|
22
|
+
.filter((item, index, array) => {
|
|
23
|
+
if (array.indexOf(item) !== index) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (valueProperty) {
|
|
27
|
+
const value = get(item, valueProperty);
|
|
28
|
+
if (used.indexOf(value) !== -1) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
used.push(value);
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
});
|
|
35
|
+
}, toAutocompleteSource = (values, valueProperty, textProperty) => {
|
|
36
|
+
if (values == null) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
if (Array.isArray(values)) {
|
|
40
|
+
return unique(values, valueProperty);
|
|
41
|
+
}
|
|
42
|
+
if (typeof values === 'object') {
|
|
43
|
+
const valProp = valueProperty ?? 'id', textProp = textProperty ?? 'label';
|
|
44
|
+
return Object.entries(values)
|
|
45
|
+
.map(([id, label]) => ({
|
|
46
|
+
[valProp]: id,
|
|
47
|
+
[textProp]: label,
|
|
48
|
+
}))
|
|
49
|
+
.sort((a, b) => {
|
|
50
|
+
if (a[textProp] < b[textProp]) {
|
|
51
|
+
return -1;
|
|
52
|
+
}
|
|
53
|
+
if (a[textProp] > b[textProp]) {
|
|
54
|
+
return 1;
|
|
55
|
+
}
|
|
56
|
+
return 0;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return [];
|
|
60
|
+
}, getTexts = (item, valuePath, textProperty) => array(valuePath && get(item, valuePath)).map(prop(textProperty)), getString = ({ valuePath, textProperty }, item) => {
|
|
61
|
+
return getTexts(item, valuePath, textProperty)
|
|
62
|
+
.filter((i) => i != null)
|
|
63
|
+
.join(', ');
|
|
64
|
+
}, toXlsxValue = getString, applyMultiFilter = ({ valueProperty, valuePath, emptyValue, emptyProperty }, filters) => (item) => {
|
|
65
|
+
const val = prop(valueProperty), values = array(get(item, valuePath));
|
|
66
|
+
return filters.some((filter) => (values.length === 0 &&
|
|
67
|
+
prop(emptyProperty || valueProperty)(filter) === emptyValue) ||
|
|
68
|
+
values.some((value) => val(value) === val(filter)));
|
|
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) => {
|
|
70
|
+
const source = toAutocompleteSource(rawSource, valueProperty, textProperty);
|
|
71
|
+
if (!emptyLabel ||
|
|
72
|
+
emptyValue === undefined ||
|
|
73
|
+
!textProperty ||
|
|
74
|
+
!(emptyProperty || valueProperty) ||
|
|
75
|
+
!source) {
|
|
76
|
+
return source;
|
|
77
|
+
}
|
|
78
|
+
return [
|
|
79
|
+
{
|
|
80
|
+
[textProperty]: emptyLabel,
|
|
81
|
+
[emptyProperty || valueProperty]: emptyValue,
|
|
82
|
+
},
|
|
83
|
+
...source,
|
|
84
|
+
];
|
|
85
|
+
}, computeSource = (column, data) => computeValues(column, valuesFrom(data, column.valuePath)), listColumnMixin = (base) => class extends base {
|
|
86
|
+
static get properties() {
|
|
87
|
+
return {
|
|
88
|
+
textProperty: { type: String },
|
|
89
|
+
valueProperty: { type: String },
|
|
90
|
+
emptyLabel: { type: String },
|
|
91
|
+
emptyValue: { type: Object },
|
|
92
|
+
emptyProperty: { type: String },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
getConfig(column) {
|
|
96
|
+
return {
|
|
97
|
+
emptyProperty: column.emptyProperty,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
getString(column, item) {
|
|
101
|
+
return getString(column, item);
|
|
102
|
+
}
|
|
103
|
+
toXlsxValue(column, item) {
|
|
104
|
+
return toXlsxValue(column, item);
|
|
105
|
+
}
|
|
106
|
+
cellTitleFn(column, item) {
|
|
107
|
+
return getString(column, item);
|
|
108
|
+
}
|
|
109
|
+
getComparableValue({ valuePath, valueProperty }, item) {
|
|
110
|
+
const value = get(item, valuePath);
|
|
111
|
+
if (valueProperty == null) {
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
114
|
+
const subValues = array(value).reduce((acc, subItem) => {
|
|
115
|
+
acc.push(get(subItem, valueProperty));
|
|
116
|
+
return acc;
|
|
117
|
+
}, []);
|
|
118
|
+
return subValues.sort().join(' ');
|
|
119
|
+
}
|
|
120
|
+
getFilterFn(column, filters) {
|
|
121
|
+
if (!filters || !Array.isArray(filters) || filters.length === 0) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
return applyMultiFilter(column, filters);
|
|
125
|
+
}
|
|
126
|
+
serializeFilter(column, filter) {
|
|
127
|
+
return filter.length === 0 ? null : JSON.stringify(filter);
|
|
128
|
+
}
|
|
129
|
+
deserializeFilter(column, filter) {
|
|
130
|
+
return JSON.parse(decodeURIComponent(filter));
|
|
131
|
+
}
|
|
132
|
+
computeSource(column, data) {
|
|
133
|
+
return column.externalValues || typeof column.values === 'function'
|
|
134
|
+
? async (...args) => computeValues(column, await Promise.resolve(invoke(column.values, ...args)))
|
|
135
|
+
: computeSource(column, data);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
export { unique, getTexts, getString, toXlsxValue, applyMultiFilter, onChange, onFocus, onText, computeSource, toAutocompleteSource, listColumnMixin, };
|
|
139
|
+
//# sourceMappingURL=cosmoz-omnitable-column-list-mixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-column-list.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-list.js"],"names":[],"mappings":""}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import './cosmoz-omnitable-column-list-data';
|
|
2
|
-
|
|
3
2
|
import { PolymerElement } from '@polymer/polymer/polymer-element';
|
|
4
3
|
import { html } from 'lit-html';
|
|
5
4
|
import { when } from 'lit-html/directives/when.js';
|
|
6
|
-
|
|
7
5
|
import { columnMixin } from './cosmoz-omnitable-column-mixin';
|
|
8
|
-
import {
|
|
9
|
-
getString,
|
|
10
|
-
getTexts,
|
|
11
|
-
listColumnMixin,
|
|
12
|
-
onChange,
|
|
13
|
-
onFocus,
|
|
14
|
-
onText,
|
|
15
|
-
} from './cosmoz-omnitable-column-list-mixin';
|
|
6
|
+
import { getString, getTexts, listColumnMixin, onChange, onFocus, onText, } from './cosmoz-omnitable-column-list-mixin';
|
|
16
7
|
import '@neovici/cosmoz-autocomplete';
|
|
17
8
|
import { columnSymbol } from './lib/use-dom-columns';
|
|
18
|
-
|
|
19
9
|
/**
|
|
20
10
|
* @polymer
|
|
21
11
|
* @customElement
|
|
@@ -23,43 +13,37 @@ import { columnSymbol } from './lib/use-dom-columns';
|
|
|
23
13
|
* @appliesMixin columnMixin
|
|
24
14
|
*/
|
|
25
15
|
class OmnitableColumnList extends listColumnMixin(columnMixin(PolymerElement)) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
renderCell({ valuePath, textProperty }, { item }) {
|
|
44
|
-
return html`<cosmoz-omnitable-column-list-data
|
|
16
|
+
static get properties() {
|
|
17
|
+
return {
|
|
18
|
+
keepOpened: { type: Boolean, value: true },
|
|
19
|
+
keepQuery: { type: Boolean },
|
|
20
|
+
textual: { type: Function },
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
getConfig(column) {
|
|
24
|
+
return {
|
|
25
|
+
...super.getConfig?.(column),
|
|
26
|
+
keepOpened: column.keepOpened,
|
|
27
|
+
keepQuery: column.keepQuery,
|
|
28
|
+
textual: column.textual,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
renderCell({ valuePath, textProperty }, { item }) {
|
|
32
|
+
return html `<cosmoz-omnitable-column-list-data
|
|
45
33
|
.items=${getTexts(item, valuePath, textProperty)}
|
|
46
34
|
></cosmoz-omnitable-column-list-data>`;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
onItemChange(event.target.value.split(/,\s*/gu));
|
|
52
|
-
|
|
53
|
-
return html`<cosmoz-input
|
|
35
|
+
}
|
|
36
|
+
renderEditCell(column, { item }, onItemChange) {
|
|
37
|
+
const onChange = (event) => onItemChange(event.target.value.split(/,\s*/gu));
|
|
38
|
+
return html `<cosmoz-input
|
|
54
39
|
no-label-float
|
|
55
40
|
type="text"
|
|
56
41
|
.value=${getString(column, item)}
|
|
57
42
|
@change=${onChange}
|
|
58
43
|
></cosmoz-input>`;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return html`<cosmoz-autocomplete-ui
|
|
44
|
+
}
|
|
45
|
+
renderHeader(column, { filter, query }, setState, source) {
|
|
46
|
+
return html `<cosmoz-autocomplete-ui
|
|
63
47
|
class="external-values-${column.externalValues}"
|
|
64
48
|
?keep-opened=${column.keepOpened}
|
|
65
49
|
?keep-query=${column.keepQuery}
|
|
@@ -75,12 +59,9 @@ class OmnitableColumnList extends listColumnMixin(columnMixin(PolymerElement)) {
|
|
|
75
59
|
.onChange=${onChange(setState)}
|
|
76
60
|
.onFocus=${onFocus(setState)}
|
|
77
61
|
.onText=${onText(setState)}
|
|
78
|
-
>${when(
|
|
79
|
-
column.loading,
|
|
80
|
-
() => html`<cosmoz-spinner slot="suffix"></cosmoz-spinner>`,
|
|
81
|
-
)}</cosmoz-autocomplete-ui
|
|
62
|
+
>${when(column.loading, () => html `<cosmoz-spinner slot="suffix"></cosmoz-spinner>`)}</cosmoz-autocomplete-ui
|
|
82
63
|
>`;
|
|
83
|
-
|
|
64
|
+
}
|
|
84
65
|
}
|
|
85
|
-
|
|
86
66
|
customElements.define('cosmoz-omnitable-column-list', OmnitableColumnList);
|
|
67
|
+
//# sourceMappingURL=cosmoz-omnitable-column-list.js.map
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
export function getString({ valuePath }: {
|
|
2
|
+
valuePath: any;
|
|
3
|
+
}, item: any): any;
|
|
4
|
+
export function toXlsxValue({ valuePath }: {
|
|
5
|
+
valuePath: any;
|
|
6
|
+
}, item: any): any;
|
|
7
|
+
export function getComparableValue({ valuePath }: {
|
|
8
|
+
valuePath: any;
|
|
9
|
+
}, item: any): any;
|
|
10
|
+
export function applySingleFilter({ valuePath }: {
|
|
11
|
+
valuePath: any;
|
|
12
|
+
}, filter: any): (item: any) => any;
|
|
13
|
+
export function serializeFilter(column: any, filter: any): any;
|
|
14
|
+
export function columnMixin(base: any): {
|
|
15
|
+
new (): {
|
|
16
|
+
[x: string]: any;
|
|
17
|
+
notifyFilterChange(filter: any): void;
|
|
18
|
+
legacyFilterToState(filter: any): {
|
|
19
|
+
filter: any;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Override this in column elements if you need a different default width
|
|
23
|
+
*/
|
|
24
|
+
getFilterFn(): void;
|
|
25
|
+
getString(column: any, item: any): any;
|
|
26
|
+
toXlsxValue(column: any, item: any): any;
|
|
27
|
+
cellTitleFn(column: any, item: any): any;
|
|
28
|
+
serializeFilter(column: any, filter: any): any;
|
|
29
|
+
deserializeFilter(column: any, filter: any): any;
|
|
30
|
+
getComparableValue(column: any, item: any): any;
|
|
31
|
+
computeSource(column: any, data: any): any;
|
|
32
|
+
_propertiesChanged(currentProps: any, changedProps: any, oldProps: any): void;
|
|
33
|
+
};
|
|
34
|
+
[x: string]: any;
|
|
35
|
+
get properties(): {
|
|
36
|
+
/**
|
|
37
|
+
* Used to indicate that an element using this behavior is a column definition that can be used
|
|
38
|
+
* in cosmoz-omnitable
|
|
39
|
+
*/
|
|
40
|
+
isOmnitableColumn: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
value: boolean;
|
|
43
|
+
};
|
|
44
|
+
title: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
};
|
|
47
|
+
valuePath: {
|
|
48
|
+
type: StringConstructor;
|
|
49
|
+
notify: boolean;
|
|
50
|
+
};
|
|
51
|
+
values: {
|
|
52
|
+
type: ArrayConstructor;
|
|
53
|
+
notify: boolean;
|
|
54
|
+
};
|
|
55
|
+
filter: {
|
|
56
|
+
type: ObjectConstructor;
|
|
57
|
+
};
|
|
58
|
+
noLocalFilter: {
|
|
59
|
+
type: BooleanConstructor;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* If the column should be disabled until enabled with enabledColumns
|
|
63
|
+
*/
|
|
64
|
+
disabled: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
value: boolean;
|
|
67
|
+
notify: boolean;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* If true, the column will be editable by using an input element for rendering.
|
|
71
|
+
*/
|
|
72
|
+
editable: {
|
|
73
|
+
type: BooleanConstructor;
|
|
74
|
+
notify: boolean;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Indicate that the column is loading/performing work
|
|
78
|
+
*/
|
|
79
|
+
loading: {
|
|
80
|
+
type: BooleanConstructor;
|
|
81
|
+
value: boolean;
|
|
82
|
+
notify: boolean;
|
|
83
|
+
};
|
|
84
|
+
externalValues: {
|
|
85
|
+
type: BooleanConstructor;
|
|
86
|
+
value: boolean;
|
|
87
|
+
notify: boolean;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Column name for use with enabledColumns
|
|
91
|
+
*/
|
|
92
|
+
name: {
|
|
93
|
+
type: StringConstructor;
|
|
94
|
+
};
|
|
95
|
+
sortOn: {
|
|
96
|
+
type: StringConstructor;
|
|
97
|
+
};
|
|
98
|
+
groupOn: {
|
|
99
|
+
type: StringConstructor;
|
|
100
|
+
};
|
|
101
|
+
width: {
|
|
102
|
+
type: StringConstructor;
|
|
103
|
+
value: string;
|
|
104
|
+
};
|
|
105
|
+
minWidth: {
|
|
106
|
+
type: StringConstructor;
|
|
107
|
+
value: string;
|
|
108
|
+
};
|
|
109
|
+
flex: {
|
|
110
|
+
type: StringConstructor;
|
|
111
|
+
value: string;
|
|
112
|
+
};
|
|
113
|
+
cellClass: {
|
|
114
|
+
type: StringConstructor;
|
|
115
|
+
value: string;
|
|
116
|
+
};
|
|
117
|
+
headerCellClass: {
|
|
118
|
+
type: StringConstructor;
|
|
119
|
+
value: string;
|
|
120
|
+
};
|
|
121
|
+
priority: {
|
|
122
|
+
type: NumberConstructor;
|
|
123
|
+
value: number;
|
|
124
|
+
};
|
|
125
|
+
hidden: {
|
|
126
|
+
type: BooleanConstructor;
|
|
127
|
+
notify: boolean;
|
|
128
|
+
};
|
|
129
|
+
preferredDropdownHorizontalAlign: {
|
|
130
|
+
type: StringConstructor;
|
|
131
|
+
value: string;
|
|
132
|
+
};
|
|
133
|
+
renderHeader: {
|
|
134
|
+
type: FunctionConstructor;
|
|
135
|
+
};
|
|
136
|
+
renderCell: {
|
|
137
|
+
type: FunctionConstructor;
|
|
138
|
+
};
|
|
139
|
+
renderEditCell: {
|
|
140
|
+
type: FunctionConstructor;
|
|
141
|
+
};
|
|
142
|
+
renderGroup: {
|
|
143
|
+
type: FunctionConstructor;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* The priority of the column in the mini mode. If missing the column is disabled in the mini mode.
|
|
147
|
+
*/
|
|
148
|
+
mini: {
|
|
149
|
+
type: NumberConstructor;
|
|
150
|
+
value: null;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* An alternative render to use in mini mode. Takes the same params as `renderCell`.
|
|
154
|
+
*/
|
|
155
|
+
renderMini: {
|
|
156
|
+
type: FunctionConstructor;
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
get observers(): string[];
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=cosmoz-omnitable-column-mixin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-column-mixin.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-column-mixin.js"],"names":[],"mappings":"AAEO;;mBAkJJ;AAlJI;;mBAkJJ;AAlJI;;mBAkJJ;AAlJI;;kBAKJ,SAAI,SA6IJ;AAlJI,+DAkJJ;AAlJI;;;;;;;QAkGJ;;WAEG;;;;;;;;;;;;;QA9ED;;;WAGG;;;;;;;;;;;;;;;;;;;;;;QAOH;;WAEG;;;;;;QAEH;;WAEG;;;;;QAEH;;WAEG;;;;;;;;;;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiBH;;WAEG;;;;;QAEH;;WAEG;;;;;;EA4EL"}
|