@oiz/stzh-components 2.9.0-alpha → 2.9.0-beta
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/cjs/{app-globals-15ef98d9.js → app-globals-51c074d3.js} +39 -10
- package/dist/cjs/app-globals-51c074d3.js.map +1 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stzh-components.cjs.js +2 -2
- package/dist/cjs/stzh-datatable.cjs.entry.js +83 -8
- package/dist/cjs/stzh-datatable.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-message.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-richtext_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-richtext_2.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-skin-storybook-preview.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-storybook-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-table.cjs.entry.js +1 -1
- package/dist/cjs/stzh-table.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-toastbar.cjs.entry.js +1 -1
- package/dist/cjs/stzh-toastbar.cjs.entry.js.map +1 -1
- package/dist/collection/components/stzh-datatable/stzh-datatable.css +6 -3
- package/dist/collection/components/stzh-datatable/stzh-datatable.js +241 -9
- package/dist/collection/components/stzh-datatable/stzh-datatable.js.map +1 -1
- package/dist/collection/components/stzh-datatable/stzh-datatable.stories.js +16 -5
- package/dist/collection/components/stzh-message/stzh-message.js.map +1 -1
- package/dist/collection/components/stzh-richtext/stzh-richtext.css +4 -0
- package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +8 -0
- package/dist/collection/components/stzh-skin-storybook-preview/stzh-skin-storybook-preview.css +5 -0
- package/dist/collection/components/stzh-table/stzh-table.css +6 -3
- package/dist/collection/components/stzh-toastbar/stzh-toastbar.css +2 -3
- package/dist/collection/global/js/helpers/utils.js +37 -8
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +38 -9
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/stzh-datatable.js +86 -9
- package/dist/components/stzh-datatable.js.map +1 -1
- package/dist/components/stzh-message.js.map +1 -1
- package/dist/components/stzh-richtext2.js +1 -1
- package/dist/components/stzh-richtext2.js.map +1 -1
- package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
- package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
- package/dist/components/stzh-skin-storybook-preview.js +1 -1
- package/dist/components/stzh-skin-storybook-preview.js.map +1 -1
- package/dist/components/stzh-table.js +1 -1
- package/dist/components/stzh-table.js.map +1 -1
- package/dist/components/stzh-toastbar.js +1 -1
- package/dist/components/stzh-toastbar.js.map +1 -1
- package/dist/esm/{app-globals-664fb15a.js → app-globals-b350c01d.js} +39 -10
- package/dist/esm/app-globals-b350c01d.js.map +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/stzh-components.js +2 -2
- package/dist/esm/stzh-datatable.entry.js +84 -9
- package/dist/esm/stzh-datatable.entry.js.map +1 -1
- package/dist/esm/stzh-message.entry.js.map +1 -1
- package/dist/esm/stzh-richtext_2.entry.js +1 -1
- package/dist/esm/stzh-richtext_2.entry.js.map +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
- package/dist/esm/stzh-skin-storybook-preview.entry.js +1 -1
- package/dist/esm/stzh-skin-storybook-preview.entry.js.map +1 -1
- package/dist/esm/stzh-table.entry.js +1 -1
- package/dist/esm/stzh-table.entry.js.map +1 -1
- package/dist/esm/stzh-toastbar.entry.js +1 -1
- package/dist/esm/stzh-toastbar.entry.js.map +1 -1
- package/dist/esm-es5/{app-globals-664fb15a.js → app-globals-b350c01d.js} +2 -2
- package/dist/esm-es5/{app-globals-664fb15a.js.map → app-globals-b350c01d.js.map} +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/stzh-components.js +1 -1
- package/dist/esm-es5/stzh-components.js.map +1 -1
- package/dist/esm-es5/stzh-datatable.entry.js +2 -2
- package/dist/esm-es5/stzh-datatable.entry.js.map +1 -1
- package/dist/esm-es5/stzh-message.entry.js.map +1 -1
- package/dist/esm-es5/stzh-richtext_2.entry.js +1 -1
- package/dist/esm-es5/stzh-richtext_2.entry.js.map +1 -1
- package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js.map +1 -1
- package/dist/esm-es5/stzh-skin-storybook-preview.entry.js +1 -1
- package/dist/esm-es5/stzh-skin-storybook-preview.entry.js.map +1 -1
- package/dist/esm-es5/stzh-table.entry.js +1 -1
- package/dist/esm-es5/stzh-table.entry.js.map +1 -1
- package/dist/esm-es5/stzh-toastbar.entry.js +1 -1
- package/dist/esm-es5/stzh-toastbar.entry.js.map +1 -1
- package/dist/stzh-components/index.esm.js.map +1 -1
- package/dist/stzh-components/{p-46a1ed5a.system.js → p-0e061116.system.js} +2 -2
- package/dist/stzh-components/{p-46a1ed5a.system.js.map → p-0e061116.system.js.map} +1 -1
- package/dist/stzh-components/{p-cb387de2.entry.js → p-128a4694.entry.js} +2 -2
- package/dist/stzh-components/{p-cb387de2.entry.js.map → p-128a4694.entry.js.map} +1 -1
- package/dist/stzh-components/p-2b394f69.entry.js +2 -0
- package/dist/stzh-components/{p-1dd43a6c.entry.js.map → p-2b394f69.entry.js.map} +1 -1
- package/dist/stzh-components/{p-819e80c9.entry.js → p-2df0f259.entry.js} +2 -2
- package/dist/stzh-components/{p-819e80c9.entry.js.map → p-2df0f259.entry.js.map} +1 -1
- package/dist/stzh-components/p-35ec50a1.system.js +2 -0
- package/dist/stzh-components/{p-851bbc2e.system.js.map → p-35ec50a1.system.js.map} +1 -1
- package/dist/stzh-components/p-45d0b549.entry.js +2 -0
- package/dist/stzh-components/{p-3d4553f7.entry.js.map → p-45d0b549.entry.js.map} +1 -1
- package/dist/stzh-components/p-61b0e7da.system.entry.js.map +1 -1
- package/dist/stzh-components/p-9ee80bcc.entry.js +10 -0
- package/dist/stzh-components/p-9ee80bcc.entry.js.map +1 -0
- package/dist/stzh-components/{p-0c52518d.system.entry.js → p-a2b700d2.system.entry.js} +2 -2
- package/dist/stzh-components/p-a2b700d2.system.entry.js.map +1 -0
- package/dist/stzh-components/p-a43b5c3d.entry.js +2 -0
- package/dist/stzh-components/p-a43b5c3d.entry.js.map +1 -0
- package/dist/stzh-components/{p-b4860ba4.js → p-ace81cde.js} +2 -2
- package/dist/stzh-components/{p-b4860ba4.js.map → p-ace81cde.js.map} +1 -1
- package/dist/stzh-components/p-b5c456f5.system.entry.js +2 -0
- package/dist/stzh-components/{p-78669470.system.entry.js.map → p-b5c456f5.system.entry.js.map} +1 -1
- package/dist/stzh-components/p-be4e2975.system.entry.js +2 -0
- package/dist/stzh-components/{p-c003c90c.system.entry.js.map → p-be4e2975.system.entry.js.map} +1 -1
- package/dist/stzh-components/p-c250e795.entry.js.map +1 -1
- package/dist/stzh-components/{p-9343aec6.system.entry.js → p-d175949a.system.entry.js} +2 -2
- package/dist/stzh-components/{p-9343aec6.system.entry.js.map → p-d175949a.system.entry.js.map} +1 -1
- package/dist/stzh-components/{p-8523e488.system.entry.js → p-d93b1fcd.system.entry.js} +3 -3
- package/dist/stzh-components/p-d93b1fcd.system.entry.js.map +1 -0
- package/dist/stzh-components/p-eaa65f52.system.js.map +1 -1
- package/dist/stzh-components/{p-e611a738.system.entry.js → p-f40c7884.system.entry.js} +2 -2
- package/dist/stzh-components/{p-e611a738.system.entry.js.map → p-f40c7884.system.entry.js.map} +1 -1
- package/dist/stzh-components/stzh-components.esm.js +1 -1
- package/dist/stzh-components/stzh-components.esm.js.map +1 -1
- package/dist/stzh-components/stzh-components.js +1 -1
- package/dist/types/components.d.ts +44 -6
- package/dist/types/index.d.ts +34 -0
- package/dist/vscode-data.json +20 -4
- package/package.json +1 -1
- package/dist/cjs/app-globals-15ef98d9.js.map +0 -1
- package/dist/esm/app-globals-664fb15a.js.map +0 -1
- package/dist/stzh-components/p-0c52518d.system.entry.js.map +0 -1
- package/dist/stzh-components/p-1dd43a6c.entry.js +0 -2
- package/dist/stzh-components/p-3d4553f7.entry.js +0 -2
- package/dist/stzh-components/p-78669470.system.entry.js +0 -2
- package/dist/stzh-components/p-851bbc2e.system.js +0 -2
- package/dist/stzh-components/p-8523e488.system.entry.js.map +0 -1
- package/dist/stzh-components/p-b329c334.entry.js +0 -2
- package/dist/stzh-components/p-b329c334.entry.js.map +0 -1
- package/dist/stzh-components/p-c003c90c.system.entry.js +0 -2
- package/dist/stzh-components/p-e194091a.entry.js +0 -10
- package/dist/stzh-components/p-e194091a.entry.js.map +0 -1
|
@@ -1,10 +1,35 @@
|
|
|
1
|
-
import { Host, h } from "@stencil/core";
|
|
1
|
+
import { Host, h, } from "@stencil/core";
|
|
2
2
|
import { Document } from 'flexsearch/dist/flexsearch.bundle.js';
|
|
3
3
|
/**
|
|
4
4
|
* @slot action-button - Slot for action `stzh-button` element
|
|
5
5
|
*/
|
|
6
6
|
export class StzhDatatable {
|
|
7
7
|
constructor() {
|
|
8
|
+
this.handleRowClick = (event, row) => {
|
|
9
|
+
this.stzhRowClick.emit({
|
|
10
|
+
component: "stzh-datatable",
|
|
11
|
+
row,
|
|
12
|
+
originalEvent: event
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
this.handleCellClick = (event, row, column, cellIndex, rowIndex) => {
|
|
16
|
+
this.stzhCellClick.emit({
|
|
17
|
+
component: "stzh-datatable",
|
|
18
|
+
row,
|
|
19
|
+
column,
|
|
20
|
+
cellIndex,
|
|
21
|
+
rowIndex,
|
|
22
|
+
originalEvent: event
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
this.handleSortClick = (event, column) => {
|
|
26
|
+
this.stzhSortClick.emit({
|
|
27
|
+
component: "stzh-datatable",
|
|
28
|
+
column,
|
|
29
|
+
originalEvent: event
|
|
30
|
+
});
|
|
31
|
+
this.toggleSort(column.key);
|
|
32
|
+
};
|
|
8
33
|
this.updateScrollStates = () => {
|
|
9
34
|
if (!this.tableWrapper) {
|
|
10
35
|
return;
|
|
@@ -58,12 +83,14 @@ export class StzhDatatable {
|
|
|
58
83
|
this.page = event.detail.page;
|
|
59
84
|
}
|
|
60
85
|
};
|
|
86
|
+
this.tableLayout = "auto";
|
|
61
87
|
this.localization = undefined;
|
|
62
88
|
this.label = "";
|
|
63
89
|
this.sortBy = "";
|
|
64
90
|
this.sortDirection = "asc";
|
|
65
91
|
this.tokenize = "forward";
|
|
66
92
|
this.idField = "id";
|
|
93
|
+
this.hideSearch = false;
|
|
67
94
|
this.showList = false;
|
|
68
95
|
this.page = 1;
|
|
69
96
|
this.pageSize = null;
|
|
@@ -106,6 +133,28 @@ export class StzhDatatable {
|
|
|
106
133
|
}
|
|
107
134
|
this.buildSearchIndex();
|
|
108
135
|
}
|
|
136
|
+
sortByWatcher(value, oldValue) {
|
|
137
|
+
this.stzhSortByChange.emit({
|
|
138
|
+
component: "stzh-datatable",
|
|
139
|
+
value,
|
|
140
|
+
oldValue
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
sortDirectionWatcher(value, oldValue) {
|
|
144
|
+
this.stzhSortDirectionChange.emit({
|
|
145
|
+
component: "stzh-datatable",
|
|
146
|
+
value,
|
|
147
|
+
oldValue
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
handleHeadingCellClick(event, column, index) {
|
|
151
|
+
this.stzhHeadingCellClick.emit({
|
|
152
|
+
component: "stzh-datatable",
|
|
153
|
+
column,
|
|
154
|
+
index,
|
|
155
|
+
originalEvent: event
|
|
156
|
+
});
|
|
157
|
+
}
|
|
109
158
|
buildSearchIndex() {
|
|
110
159
|
if (!this._rows || this._rows.length === 0
|
|
111
160
|
|| !this._columns || this._columns.length === 0) {
|
|
@@ -139,6 +188,7 @@ export class StzhDatatable {
|
|
|
139
188
|
this.updateScrollStates();
|
|
140
189
|
}
|
|
141
190
|
componentWillRender() {
|
|
191
|
+
var _a, _b;
|
|
142
192
|
this._rowsShown = [];
|
|
143
193
|
this._rowsFiltered = [];
|
|
144
194
|
if (this.query) {
|
|
@@ -159,9 +209,22 @@ export class StzhDatatable {
|
|
|
159
209
|
this._rowsFiltered = [...this._rows];
|
|
160
210
|
}
|
|
161
211
|
if (this.sortBy) {
|
|
212
|
+
const columnConfig = this._columns.find((column) => column.key === this.sortBy);
|
|
213
|
+
const column = ((_a = columnConfig === null || columnConfig === void 0 ? void 0 : columnConfig.sort) === null || _a === void 0 ? void 0 : _a.field) || this.sortBy;
|
|
214
|
+
const type = (_b = columnConfig === null || columnConfig === void 0 ? void 0 : columnConfig.sort) === null || _b === void 0 ? void 0 : _b.type;
|
|
162
215
|
this._rowsFiltered.sort((rowA, rowB) => {
|
|
163
|
-
|
|
164
|
-
|
|
216
|
+
if (type === "numerical") {
|
|
217
|
+
if (this.sortDirection === "asc") {
|
|
218
|
+
return Number(rowA[column]) - Number(rowB[column]);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return Number(rowB[column]) - Number(rowA[column]);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
const comparison = rowA[column].localeCompare(rowB[column]);
|
|
226
|
+
return this.sortDirection === "asc" ? comparison : comparison / -1;
|
|
227
|
+
}
|
|
165
228
|
});
|
|
166
229
|
}
|
|
167
230
|
if (this.pageSize !== null) {
|
|
@@ -192,7 +255,11 @@ export class StzhDatatable {
|
|
|
192
255
|
"has-list": this.showList,
|
|
193
256
|
};
|
|
194
257
|
const totalPages = Math.ceil(this._rowsFiltered.length / this.pageSize);
|
|
195
|
-
return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-datatable__header" }, h("div", { class: "stzh-datatable__heading" }, h("slot", { name: "heading" })), h("div", { class: "stzh-datatable__sub-header" },
|
|
258
|
+
return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-datatable__header" }, h("div", { class: "stzh-datatable__heading" }, h("slot", { name: "heading" })), h("div", { class: "stzh-datatable__sub-header" }, !this.hideSearch &&
|
|
259
|
+
h("stzh-input", { ref: (el) => (this.input = el), class: "stzh-datatable__search", size: "small", name: "stzh-datatable-search", onStzhChange: this.onInputChange, label: this.localization.searchLabel }), h("div", { class: "stzh-datatable__action-button" }, h("slot", { name: "action-button" })))), h("div", { class: "stzh-datatable__outer-wrapper" }, h("div", { ref: (el) => (this.tableWrapper = el), class: "stzh-datatable__wrapper", onScroll: this.handleScroll }, h("table", { class: {
|
|
260
|
+
"stzh-datatable__table": true,
|
|
261
|
+
"has-layout-fixed": this.tableLayout === "fixed",
|
|
262
|
+
} }, h("thead", { class: "stzh-datatable__thead" }, h("tr", { class: "stzh-datatable__row stzh-datatable__row--head" }, this._columns.map((column, index) => h("th", { onClick: (event) => this.handleHeadingCellClick(event, column, index), style: column.style, class: {
|
|
196
263
|
"stzh-datatable__cell stzh-datatable__cell--head": true,
|
|
197
264
|
"is-sticky-left": column.fixed === "left",
|
|
198
265
|
"is-sticky-right": column.fixed === "right",
|
|
@@ -204,11 +271,11 @@ export class StzhDatatable {
|
|
|
204
271
|
[`align-${column.align}`]: column.align,
|
|
205
272
|
[`valign-${column.valign}`]: column.valign
|
|
206
273
|
} }, column.sort ?
|
|
207
|
-
h("button", { class: "stzh-datatable__sort-button", type: "button", onClick: () => this.
|
|
274
|
+
h("button", { class: "stzh-datatable__sort-button", type: "button", onClick: (event) => this.handleSortClick(event, column), "s-object-id": column.analyticsId || `${column.text} ${this.localization.columnSort}` }, h("span", null, column.text), h("stzh-icon", { name: "arrow-up", class: "stzh-datatable__sort-icon", a11yTitle: this.localization.columnSort }))
|
|
208
275
|
:
|
|
209
|
-
h("span", null, column.text))))), h("tbody", null, this._rowsShown.map((row) => h("tr", { class: "stzh-datatable__row stzh-datatable__row--body" }, this._columns.map((column, index) => {
|
|
276
|
+
h("span", null, column.text))))), h("tbody", null, this._rowsShown.map((row, rowIndex) => h("tr", { class: "stzh-datatable__row stzh-datatable__row--body", onClick: (event) => this.handleRowClick(event, row) }, this._columns.map((column, index) => {
|
|
210
277
|
var _a, _b, _c, _d, _e;
|
|
211
|
-
return h("td", { innerHTML: ((_a = row[column.key]) === null || _a === void 0 ? void 0 : _a.text) || row[column.key] || "", class: {
|
|
278
|
+
return h("td", { onClick: (event) => this.handleCellClick(event, row, column, index, rowIndex), innerHTML: ((_a = row[column.key]) === null || _a === void 0 ? void 0 : _a.text) || row[column.key] || "", style: column.style, class: {
|
|
212
279
|
"stzh-datatable__cell stzh-datatable__cell--body": true,
|
|
213
280
|
"is-sticky-left": column.fixed === "left",
|
|
214
281
|
"is-sticky-right": column.fixed === "right",
|
|
@@ -240,6 +307,24 @@ export class StzhDatatable {
|
|
|
240
307
|
}
|
|
241
308
|
static get properties() {
|
|
242
309
|
return {
|
|
310
|
+
"tableLayout": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"mutable": false,
|
|
313
|
+
"complexType": {
|
|
314
|
+
"original": "\"auto\" | \"fixed\"",
|
|
315
|
+
"resolved": "\"auto\" | \"fixed\"",
|
|
316
|
+
"references": {}
|
|
317
|
+
},
|
|
318
|
+
"required": false,
|
|
319
|
+
"optional": false,
|
|
320
|
+
"docs": {
|
|
321
|
+
"tags": [],
|
|
322
|
+
"text": "Table layout"
|
|
323
|
+
},
|
|
324
|
+
"attribute": "table-layout",
|
|
325
|
+
"reflect": false,
|
|
326
|
+
"defaultValue": "\"auto\""
|
|
327
|
+
},
|
|
243
328
|
"localization": {
|
|
244
329
|
"type": "unknown",
|
|
245
330
|
"mutable": false,
|
|
@@ -350,6 +435,24 @@ export class StzhDatatable {
|
|
|
350
435
|
"reflect": false,
|
|
351
436
|
"defaultValue": "\"id\""
|
|
352
437
|
},
|
|
438
|
+
"hideSearch": {
|
|
439
|
+
"type": "boolean",
|
|
440
|
+
"mutable": false,
|
|
441
|
+
"complexType": {
|
|
442
|
+
"original": "boolean",
|
|
443
|
+
"resolved": "boolean",
|
|
444
|
+
"references": {}
|
|
445
|
+
},
|
|
446
|
+
"required": false,
|
|
447
|
+
"optional": false,
|
|
448
|
+
"docs": {
|
|
449
|
+
"tags": [],
|
|
450
|
+
"text": ""
|
|
451
|
+
},
|
|
452
|
+
"attribute": "hide-search",
|
|
453
|
+
"reflect": true,
|
|
454
|
+
"defaultValue": "false"
|
|
455
|
+
},
|
|
353
456
|
"showList": {
|
|
354
457
|
"type": "boolean",
|
|
355
458
|
"mutable": false,
|
|
@@ -434,7 +537,7 @@ export class StzhDatatable {
|
|
|
434
537
|
"optional": false,
|
|
435
538
|
"docs": {
|
|
436
539
|
"tags": [],
|
|
437
|
-
"text": "
|
|
540
|
+
"text": "Array of objects including the row data that must at least include `id` attribute (name can be changed with `idField` property).\n\nExample: [{\"id\":\"1\",\"text\":\"Foo\"}, ...]"
|
|
438
541
|
},
|
|
439
542
|
"attribute": "rows",
|
|
440
543
|
"reflect": false,
|
|
@@ -452,7 +555,7 @@ export class StzhDatatable {
|
|
|
452
555
|
"optional": false,
|
|
453
556
|
"docs": {
|
|
454
557
|
"tags": [],
|
|
455
|
-
"text": "
|
|
558
|
+
"text": "Array of objects including the columns data that must include `key` and `text` attribute.\n\nExample: [{ \"key\": \"id\", \"text\": \"ID\", \"align\": \"right\", \"sort\": true, \"fixed\": \"right\", style: { width: \"53px\" } }]"
|
|
456
559
|
},
|
|
457
560
|
"attribute": "columns",
|
|
458
561
|
"reflect": false,
|
|
@@ -470,6 +573,129 @@ export class StzhDatatable {
|
|
|
470
573
|
"cellsStickyRight": {}
|
|
471
574
|
};
|
|
472
575
|
}
|
|
576
|
+
static get events() {
|
|
577
|
+
return [{
|
|
578
|
+
"method": "stzhRowClick",
|
|
579
|
+
"name": "stzhRowClick",
|
|
580
|
+
"bubbles": true,
|
|
581
|
+
"cancelable": true,
|
|
582
|
+
"composed": true,
|
|
583
|
+
"docs": {
|
|
584
|
+
"tags": [],
|
|
585
|
+
"text": "Datatable row click event"
|
|
586
|
+
},
|
|
587
|
+
"complexType": {
|
|
588
|
+
"original": "StzhDatatableRowClickEvent",
|
|
589
|
+
"resolved": "{ component: \"stzh-datatable\"; row: any; originalEvent: MouseEvent; }",
|
|
590
|
+
"references": {
|
|
591
|
+
"StzhDatatableRowClickEvent": {
|
|
592
|
+
"location": "import",
|
|
593
|
+
"path": "../../index"
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
}, {
|
|
598
|
+
"method": "stzhCellClick",
|
|
599
|
+
"name": "stzhCellClick",
|
|
600
|
+
"bubbles": true,
|
|
601
|
+
"cancelable": true,
|
|
602
|
+
"composed": true,
|
|
603
|
+
"docs": {
|
|
604
|
+
"tags": [],
|
|
605
|
+
"text": "Datatable cell click event"
|
|
606
|
+
},
|
|
607
|
+
"complexType": {
|
|
608
|
+
"original": "StzhDatatableCellClickEvent",
|
|
609
|
+
"resolved": "{ component: \"stzh-datatable\"; row: any; column: any; cellIndex: number; rowIndex: number; originalEvent: MouseEvent; }",
|
|
610
|
+
"references": {
|
|
611
|
+
"StzhDatatableCellClickEvent": {
|
|
612
|
+
"location": "import",
|
|
613
|
+
"path": "../../index"
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}, {
|
|
618
|
+
"method": "stzhHeadingCellClick",
|
|
619
|
+
"name": "stzhHeadingCellClick",
|
|
620
|
+
"bubbles": true,
|
|
621
|
+
"cancelable": true,
|
|
622
|
+
"composed": true,
|
|
623
|
+
"docs": {
|
|
624
|
+
"tags": [],
|
|
625
|
+
"text": "Datatable heading cell click event"
|
|
626
|
+
},
|
|
627
|
+
"complexType": {
|
|
628
|
+
"original": "StzhDatatableHeadingCellClickEvent",
|
|
629
|
+
"resolved": "{ component: \"stzh-datatable\"; column: any; index: number; originalEvent: MouseEvent; }",
|
|
630
|
+
"references": {
|
|
631
|
+
"StzhDatatableHeadingCellClickEvent": {
|
|
632
|
+
"location": "import",
|
|
633
|
+
"path": "../../index"
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
}, {
|
|
638
|
+
"method": "stzhSortClick",
|
|
639
|
+
"name": "stzhSortClick",
|
|
640
|
+
"bubbles": true,
|
|
641
|
+
"cancelable": true,
|
|
642
|
+
"composed": true,
|
|
643
|
+
"docs": {
|
|
644
|
+
"tags": [],
|
|
645
|
+
"text": "Datatable sort click event"
|
|
646
|
+
},
|
|
647
|
+
"complexType": {
|
|
648
|
+
"original": "StzhDatatableSortClickEvent",
|
|
649
|
+
"resolved": "{ component: \"stzh-datatable\"; column: any; originalEvent: MouseEvent; }",
|
|
650
|
+
"references": {
|
|
651
|
+
"StzhDatatableSortClickEvent": {
|
|
652
|
+
"location": "import",
|
|
653
|
+
"path": "../../index"
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
}, {
|
|
658
|
+
"method": "stzhSortByChange",
|
|
659
|
+
"name": "stzhSortByChange",
|
|
660
|
+
"bubbles": true,
|
|
661
|
+
"cancelable": true,
|
|
662
|
+
"composed": true,
|
|
663
|
+
"docs": {
|
|
664
|
+
"tags": [],
|
|
665
|
+
"text": "Datatable sort by change event"
|
|
666
|
+
},
|
|
667
|
+
"complexType": {
|
|
668
|
+
"original": "StzhDatatableSortByChangeEvent",
|
|
669
|
+
"resolved": "{ component: \"stzh-datatable\"; value: string; oldValue: string; }",
|
|
670
|
+
"references": {
|
|
671
|
+
"StzhDatatableSortByChangeEvent": {
|
|
672
|
+
"location": "import",
|
|
673
|
+
"path": "../../index"
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}, {
|
|
678
|
+
"method": "stzhSortDirectionChange",
|
|
679
|
+
"name": "stzhSortDirectionChange",
|
|
680
|
+
"bubbles": true,
|
|
681
|
+
"cancelable": true,
|
|
682
|
+
"composed": true,
|
|
683
|
+
"docs": {
|
|
684
|
+
"tags": [],
|
|
685
|
+
"text": "Datatable sort direction change event"
|
|
686
|
+
},
|
|
687
|
+
"complexType": {
|
|
688
|
+
"original": "StzhDatatableSortDirectionChangeEvent",
|
|
689
|
+
"resolved": "{ component: \"stzh-datatable\"; value: \"asc\" | \"desc\"; oldValue: \"asc\" | \"desc\"; }",
|
|
690
|
+
"references": {
|
|
691
|
+
"StzhDatatableSortDirectionChangeEvent": {
|
|
692
|
+
"location": "import",
|
|
693
|
+
"path": "../../index"
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}];
|
|
698
|
+
}
|
|
473
699
|
static get methods() {
|
|
474
700
|
return {
|
|
475
701
|
"toggleSort": {
|
|
@@ -501,6 +727,12 @@ export class StzhDatatable {
|
|
|
501
727
|
}, {
|
|
502
728
|
"propName": "columns",
|
|
503
729
|
"methodName": "columnsWatcher"
|
|
730
|
+
}, {
|
|
731
|
+
"propName": "sortBy",
|
|
732
|
+
"methodName": "sortByWatcher"
|
|
733
|
+
}, {
|
|
734
|
+
"propName": "sortDirection",
|
|
735
|
+
"methodName": "sortDirectionWatcher"
|
|
504
736
|
}];
|
|
505
737
|
}
|
|
506
738
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stzh-datatable.js","sourceRoot":"","sources":["../../../src/components/stzh-datatable/stzh-datatable.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Method,\n State\n} from \"@stencil/core\";\n\nimport {\n StzhPaginationChangeEvent\n} from \"../../index\";\n\nimport { Document } from 'flexsearch/dist/flexsearch.bundle.js';\n\nimport { StzhDatatableLocalizedText } from './stzh-datatable.localization';\n\n/**\n * @slot action-button - Slot for action `stzh-button` element\n */\n@Component({\n tag: \"stzh-datatable\",\n styleUrl: \"stzh-datatable.scss\"\n})\nexport class StzhDatatable {\n /** Translation strings */\n @Prop() localization: StzhDatatableLocalizedText;\n\n /** Label */\n @Prop() label: string = \"\";\n\n /** Sort by given column key */\n @Prop({ mutable: true }) sortBy: string = \"\";\n\n /** Sort direction */\n @Prop({ mutable: true }) sortDirection: \"asc\" | \"desc\" = \"asc\";\n\n /** Tokenize type */\n @Prop() tokenize: \"strict\" | \"forward\" | \"reverse\" | \"full\" = \"forward\";\n\n /** ID field */\n @Prop() idField = \"id\";\n\n /** Whether to show table data as list on mikro breakpoint */\n @Prop({ reflect: true }) showList = false;\n\n /** Current page */\n @Prop({ mutable: true }) page: number = 1;\n\n /** If pagination should be shown, set a number of items to be shown by each page. */\n @Prop() pageSize: number = null;\n\n /**\n * Whether to disable min-width of the table.\n *\n * If `false`, the default `min-width` is `700px`\n * If `true`, the `min-width` is `none`, so the table will try to squeeze down content as much as possible.\n *\n * You can also overwrite the min-width via CSS with the custom property `--min-width`.\n */\n @Prop({ reflect: true }) disableMinWidth: boolean = false;\n\n /** Rows */\n @Prop() rows: any[] | string = [];\n private _rows: any[];\n private _rowsShown: any[];\n private _rowsFiltered: any[];\n\n /** Columns */\n @Prop() columns: any[] | string = [];\n private _columns: any[];\n\n @State() query: string = \"\";\n @State() hasScrollLeft: boolean = false;\n @State() hasScrollRight: boolean = false;\n @State() isScrollable: boolean = false;\n @State() cellsStickyLeft: number[] = [];\n @State() cellsStickyRight: number[] = [];\n\n @Element() element: HTMLStzhDatatableElement;\n\n /** Toggle sort by a given column key like when clicking on a column header */\n @Method()\n async toggleSort(columnKey: string) {\n this.page = 1;\n\n if (columnKey === this.sortBy) {\n this.sortDirection = this.sortDirection === \"asc\" ? \"desc\" : \"asc\";\n } else {\n this.sortDirection = \"asc\";\n this.sortBy = columnKey;\n }\n }\n\n @Watch(\"rows\")\n rowsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._rows = JSON.parse(newValue);\n } else {\n this._rows = newValue;\n }\n\n this.buildSearchIndex();\n }\n\n @Watch(\"columns\")\n columnsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._columns = JSON.parse(newValue);\n } else {\n this._columns = newValue;\n }\n\n this.buildSearchIndex();\n }\n\n private input: HTMLStzhInputElement;\n private searchIndex: Document;\n private tableWrapper: HTMLDivElement;\n private debounceScroll: number;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n\n private updateScrollStates = () => {\n if (!this.tableWrapper) {\n return;\n }\n\n const wrapperScrollLeft = this.tableWrapper.scrollLeft;\n const wrapperScrollWidth = this.tableWrapper.scrollWidth;\n const wrapperClientWidth = this.tableWrapper.clientWidth;\n\n this.isScrollable = wrapperScrollWidth > wrapperClientWidth;\n this.hasScrollLeft = wrapperScrollLeft > 0;\n this.hasScrollRight = wrapperScrollLeft < wrapperScrollWidth - wrapperClientWidth;\n\n const rows: HTMLTableRowElement[] = Array.from(this.tableWrapper.querySelectorAll(\"tr\"));\n const firstRow = rows[0];\n\n if (!firstRow) {\n return;\n }\n\n this.cellsStickyLeft = [];\n this.cellsStickyRight = [];\n const cells: Element[] = Array.from(firstRow.children);\n\n cells.forEach((cell: HTMLTableCellElement, index: number) => {\n const offsetLeft = cell.offsetLeft;\n const offsetRight = offsetLeft + cell.offsetWidth;\n\n if (\n this.hasScrollLeft\n && this._columns[index].fixed === \"left\"\n && Math.ceil(wrapperScrollLeft) >= offsetLeft\n ) {\n this.cellsStickyLeft.push(index);\n }\n\n if (\n this.hasScrollRight\n && this._columns[index].fixed === \"right\"\n && Math.ceil(wrapperScrollLeft) + wrapperClientWidth <= offsetRight\n ) {\n this.cellsStickyRight.push(index);\n }\n });\n }\n\n private handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.updateScrollStates);\n }\n\n private handleScroll = () => {\n if (this.debounceScroll) {\n window.cancelAnimationFrame(this.debounceScroll);\n }\n\n this.debounceScroll = requestAnimationFrame(this.updateScrollStates);\n }\n\n private buildSearchIndex() {\n if (!this._rows || this._rows.length === 0\n || !this._columns || this._columns.length === 0\n ) {\n return;\n }\n\n this.searchIndex = new Document({\n tokenize: this.tokenize,\n matcher: {\n '[äà]': 'a',\n '[öó]': 'o',\n '[üûúù]': 'u',\n '[éè]': 'e'\n },\n document: {\n id: this.idField,\n index: this._columns.map(column => column.key)\n }\n });\n\n this._rows.forEach(row => {\n this.searchIndex.add(row);\n });\n }\n\n private onInputChange = () => {\n this.query = this.input.value;\n }\n\n private onPaginationChange = (event: CustomEvent<StzhPaginationChangeEvent>) => {\n if (event.detail.component === \"stzh-pagination\") {\n this.page = event.detail.page;\n }\n }\n\n async componentWillLoad() {\n this.columnsWatcher(this.columns);\n this.rowsWatcher(this.rows);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"datatable\");\n }\n }\n\n componentDidLoad() {\n this.updateScrollStates();\n }\n\n componentWillRender() {\n this._rowsShown = [];\n this._rowsFiltered = [];\n\n if (this.query) {\n let resultIds = [];\n\n this.searchIndex.search(this.query).forEach((result) => {\n resultIds = [...resultIds, ...result.result];\n });\n\n resultIds = resultIds.filter(function (item, pos) {\n return resultIds.indexOf(item) === pos;\n });\n\n this._rows.forEach((row) => {\n if (resultIds.indexOf(row[this.idField]) > -1) {\n this._rowsFiltered.push(row);\n }\n });\n } else {\n this._rowsFiltered = [...this._rows];\n }\n\n if (this.sortBy) {\n this._rowsFiltered.sort((rowA, rowB) => {\n const comparison = rowA[this.sortBy].localeCompare(rowB[this.sortBy])\n return this.sortDirection === \"asc\" ? comparison : comparison / -1;\n });\n }\n\n if (this.pageSize !== null) {\n const pageEnd = this.page * this.pageSize;\n this._rowsShown = this._rowsFiltered.slice(pageEnd - this.pageSize, pageEnd);\n } else {\n this._rowsShown = [...this._rowsFiltered];\n }\n }\n\n connectedCallback() {\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-datatable\": true,\n \"is-scrollable\": this.isScrollable,\n \"has-scroll-left\": this.hasScrollLeft,\n \"has-scroll-right\": this.hasScrollRight,\n \"has-scroll-left-shadow\": this.hasScrollLeft && this.cellsStickyLeft.length === 0,\n \"has-scroll-right-shadow\": this.hasScrollRight && this.cellsStickyRight.length === 0,\n \"has-list\": this.showList,\n };\n\n const totalPages = Math.ceil(this._rowsFiltered.length / this.pageSize);\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-datatable__header\">\n <div class=\"stzh-datatable__heading\">\n <slot name=\"heading\"></slot>\n </div>\n <div class=\"stzh-datatable__sub-header\">\n <stzh-input\n ref={(el) => (this.input = el as HTMLStzhInputElement)}\n class=\"stzh-datatable__search\"\n size=\"small\"\n name=\"stzh-datatable-search\"\n onStzhChange={this.onInputChange}\n label={this.localization.searchLabel}\n ></stzh-input>\n <div class=\"stzh-datatable__action-button\">\n <slot name=\"action-button\"></slot>\n </div>\n </div>\n </div>\n\n <div class=\"stzh-datatable__outer-wrapper\">\n <div\n ref={(el) => (this.tableWrapper = el as HTMLDivElement)}\n class=\"stzh-datatable__wrapper\"\n onScroll={this.handleScroll}\n >\n <table class=\"stzh-datatable__table\">\n <thead class=\"stzh-datatable__thead\">\n <tr class=\"stzh-datatable__row stzh-datatable__row--head\">\n {this._columns.map((column, index) =>\n <th\n class={{\n \"stzh-datatable__cell stzh-datatable__cell--head\": true,\n \"is-sticky-left\": column.fixed === \"left\",\n \"is-sticky-right\": column.fixed === \"right\",\n \"is-sortable\": column.sort,\n \"has-sticked\": this.cellsStickyLeft.indexOf(index) > -1 || this.cellsStickyRight.indexOf(index) > -1,\n \"has-sorted\": column.key === this.sortBy,\n \"has-sorted-asc\": column.key === this.sortBy && this.sortDirection === \"asc\",\n \"has-sorted-desc\": column.key === this.sortBy && this.sortDirection === \"desc\",\n [`align-${column.align}`]: column.align,\n [`valign-${column.valign}`]: column.valign\n }}\n >\n {column.sort ?\n <button\n class=\"stzh-datatable__sort-button\"\n type=\"button\"\n onClick={() => this.toggleSort(column.key)}\n s-object-id={column.analyticsId || `${column.text} ${this.localization.columnSort}`}\n >\n <span>{column.text}</span>\n <stzh-icon name=\"arrow-up\" class=\"stzh-datatable__sort-icon\" a11yTitle={this.localization.columnSort}></stzh-icon>\n </button>\n :\n <span>{column.text}</span>\n }\n </th>\n )}\n </tr>\n </thead>\n <tbody>\n {this._rowsShown.map((row) =>\n <tr class=\"stzh-datatable__row stzh-datatable__row--body\">\n {this._columns.map((column, index) =>\n <td\n innerHTML={row[column.key]?.text || row[column.key] || \"\"}\n class={{\n \"stzh-datatable__cell stzh-datatable__cell--body\": true,\n \"is-sticky-left\": column.fixed === \"left\",\n \"is-sticky-right\": column.fixed === \"right\",\n \"is-sortable\": column.sort,\n \"has-sticked\": this.cellsStickyLeft.indexOf(index) > -1 || this.cellsStickyRight.indexOf(index) > -1,\n \"has-sorted\": column.key === this.sortBy,\n \"has-sorted-asc\": column.key === this.sortBy && this.sortDirection === \"asc\",\n \"has-sorted-desc\": column.key === this.sortBy && this.sortDirection === \"desc\",\n [`align-${row[column.key]?.align || column.align}`]: row[column.key]?.align || column.align,\n [`valign-${row[column.key]?.valign || column.valign}`]: row[column.key]?.valign || column.valign\n }}\n ></td>\n )}\n </tr>\n )}\n </tbody>\n </table>\n </div>\n </div>\n\n {this.showList &&\n <div class=\"stzh-datatable__list-wrapper\">\n <stzh-card-list>\n {this._rowsShown.map((row) =>\n <stzh-card>\n <stzh-datalist slot=\"content\" direction={\"horizontal\"}>\n {this._columns.map((column) =>\n <stzh-datalist-item\n label={column.text}\n value={row[column.key]?.text || row[column.key] || \"\"}\n ></stzh-datalist-item>\n )}\n </stzh-datalist>\n </stzh-card>\n )}\n </stzh-card-list>\n </div>\n }\n\n {this.pageSize !== null && totalPages > 1 &&\n <div class=\"stzh-datatable__pagination-wrapper\">\n <stzh-pagination\n value={this.page}\n total={totalPages}\n onStzhChange={this.onPaginationChange}\n ></stzh-pagination>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"stzh-datatable.js","sourceRoot":"","sources":["../../../src/components/stzh-datatable/stzh-datatable.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Method,\n State,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n StzhPaginationChangeEvent,\n StzhDatatableRowClickEvent,\n StzhDatatableCellClickEvent,\n StzhDatatableHeadingCellClickEvent,\n StzhDatatableSortClickEvent,\n StzhDatatableSortByChangeEvent,\n StzhDatatableSortDirectionChangeEvent,\n} from \"../../index\";\n\nimport { Document } from 'flexsearch/dist/flexsearch.bundle.js';\n\nimport { StzhDatatableLocalizedText } from './stzh-datatable.localization';\n\n/**\n * @slot action-button - Slot for action `stzh-button` element\n */\n@Component({\n tag: \"stzh-datatable\",\n styleUrl: \"stzh-datatable.scss\"\n})\nexport class StzhDatatable {\n /** Table layout */\n @Prop() tableLayout: \"auto\" | \"fixed\" = \"auto\";\n\n /** Translation strings */\n @Prop() localization: StzhDatatableLocalizedText;\n\n /** Label */\n @Prop() label: string = \"\";\n\n /** Sort by given column key */\n @Prop({ mutable: true }) sortBy: string = \"\";\n\n /** Sort direction */\n @Prop({ mutable: true }) sortDirection: \"asc\" | \"desc\" = \"asc\";\n\n /** Tokenize type */\n @Prop() tokenize: \"strict\" | \"forward\" | \"reverse\" | \"full\" = \"forward\";\n\n /** ID field */\n @Prop() idField = \"id\";\n\n /* Whether to hide search */\n @Prop({ reflect: true }) hideSearch = false;\n\n /** Whether to show table data as list on mikro breakpoint */\n @Prop({ reflect: true }) showList = false;\n\n /** Current page */\n @Prop({ mutable: true }) page: number = 1;\n\n /** If pagination should be shown, set a number of items to be shown by each page. */\n @Prop() pageSize: number = null;\n\n /**\n * Whether to disable min-width of the table.\n *\n * If `false`, the default `min-width` is `700px`\n * If `true`, the `min-width` is `none`, so the table will try to squeeze down content as much as possible.\n *\n * You can also overwrite the min-width via CSS with the custom property `--min-width`.\n */\n @Prop({ reflect: true }) disableMinWidth: boolean = false;\n\n /**\n * Array of objects including the row data that must at least include `id` attribute (name can be changed with `idField` property).\n *\n * Example: [{\"id\":\"1\",\"text\":\"Foo\"}, ...]\n */\n @Prop() rows: any[] | string = [];\n private _rows: any[];\n private _rowsShown: any[];\n private _rowsFiltered: any[];\n\n /**\n * Array of objects including the columns data that must include `key` and `text` attribute.\n *\n * Example: [{ \"key\": \"id\", \"text\": \"ID\", \"align\": \"right\", \"sort\": true, \"fixed\": \"right\", style: { width: \"53px\" } }]\n */\n @Prop() columns: any[] | string = [];\n private _columns: any[];\n\n @State() query: string = \"\";\n @State() hasScrollLeft: boolean = false;\n @State() hasScrollRight: boolean = false;\n @State() isScrollable: boolean = false;\n @State() cellsStickyLeft: number[] = [];\n @State() cellsStickyRight: number[] = [];\n\n @Element() element: HTMLStzhDatatableElement;\n\n /** Datatable row click event */\n @Event() stzhRowClick: EventEmitter<StzhDatatableRowClickEvent>;\n\n /** Datatable cell click event */\n @Event() stzhCellClick: EventEmitter<StzhDatatableCellClickEvent>;\n\n /** Datatable heading cell click event */\n @Event() stzhHeadingCellClick: EventEmitter<StzhDatatableHeadingCellClickEvent>;\n\n /** Datatable sort click event */\n @Event() stzhSortClick: EventEmitter<StzhDatatableSortClickEvent>;\n\n /** Datatable sort by change event */\n @Event() stzhSortByChange: EventEmitter<StzhDatatableSortByChangeEvent>;\n\n /** Datatable sort direction change event */\n @Event() stzhSortDirectionChange: EventEmitter<StzhDatatableSortDirectionChangeEvent>;\n\n /** Toggle sort by a given column key like when clicking on a column header */\n @Method()\n async toggleSort(columnKey: string) {\n this.page = 1;\n\n if (columnKey === this.sortBy) {\n this.sortDirection = this.sortDirection === \"asc\" ? \"desc\" : \"asc\";\n } else {\n this.sortDirection = \"asc\";\n this.sortBy = columnKey;\n }\n }\n\n @Watch(\"rows\")\n rowsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._rows = JSON.parse(newValue);\n } else {\n this._rows = newValue;\n }\n\n this.buildSearchIndex();\n }\n\n @Watch(\"columns\")\n columnsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._columns = JSON.parse(newValue);\n } else {\n this._columns = newValue;\n }\n\n this.buildSearchIndex();\n }\n\n @Watch(\"sortBy\")\n sortByWatcher(value: string, oldValue: string) {\n this.stzhSortByChange.emit({\n component: \"stzh-datatable\",\n value,\n oldValue\n });\n }\n\n @Watch(\"sortDirection\")\n sortDirectionWatcher(value: \"asc\" | \"desc\", oldValue: \"asc\" | \"desc\") {\n this.stzhSortDirectionChange.emit({\n component: \"stzh-datatable\",\n value,\n oldValue\n });\n }\n\n private input: HTMLStzhInputElement;\n private searchIndex: Document;\n private tableWrapper: HTMLDivElement;\n private debounceScroll: number;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n\n private handleRowClick = (event: MouseEvent, row: any) => {\n this.stzhRowClick.emit({\n component: \"stzh-datatable\",\n row,\n originalEvent: event\n });\n }\n\n private handleCellClick = (event: MouseEvent, row: any, column: any, cellIndex: number, rowIndex: number) => {\n this.stzhCellClick.emit({\n component: \"stzh-datatable\",\n row,\n column,\n cellIndex,\n rowIndex,\n originalEvent: event\n });\n }\n\n private handleHeadingCellClick(event: MouseEvent, column: any, index: number) {\n this.stzhHeadingCellClick.emit({\n component: \"stzh-datatable\",\n column,\n index,\n originalEvent: event\n });\n }\n\n private handleSortClick = (event: MouseEvent, column: any) => {\n this.stzhSortClick.emit({\n component: \"stzh-datatable\",\n column,\n originalEvent: event\n });\n\n this.toggleSort(column.key);\n }\n\n private updateScrollStates = () => {\n if (!this.tableWrapper) {\n return;\n }\n\n const wrapperScrollLeft = this.tableWrapper.scrollLeft;\n const wrapperScrollWidth = this.tableWrapper.scrollWidth;\n const wrapperClientWidth = this.tableWrapper.clientWidth;\n\n this.isScrollable = wrapperScrollWidth > wrapperClientWidth;\n this.hasScrollLeft = wrapperScrollLeft > 0;\n this.hasScrollRight = wrapperScrollLeft < wrapperScrollWidth - wrapperClientWidth;\n\n const rows: HTMLTableRowElement[] = Array.from(this.tableWrapper.querySelectorAll(\"tr\"));\n const firstRow = rows[0];\n\n if (!firstRow) {\n return;\n }\n\n this.cellsStickyLeft = [];\n this.cellsStickyRight = [];\n const cells: Element[] = Array.from(firstRow.children);\n\n cells.forEach((cell: HTMLTableCellElement, index: number) => {\n const offsetLeft = cell.offsetLeft;\n const offsetRight = offsetLeft + cell.offsetWidth;\n\n if (\n this.hasScrollLeft\n && this._columns[index].fixed === \"left\"\n && Math.ceil(wrapperScrollLeft) >= offsetLeft\n ) {\n this.cellsStickyLeft.push(index);\n }\n\n if (\n this.hasScrollRight\n && this._columns[index].fixed === \"right\"\n && Math.ceil(wrapperScrollLeft) + wrapperClientWidth <= offsetRight\n ) {\n this.cellsStickyRight.push(index);\n }\n });\n }\n\n private handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.updateScrollStates);\n }\n\n private handleScroll = () => {\n if (this.debounceScroll) {\n window.cancelAnimationFrame(this.debounceScroll);\n }\n\n this.debounceScroll = requestAnimationFrame(this.updateScrollStates);\n }\n\n private buildSearchIndex() {\n if (!this._rows || this._rows.length === 0\n || !this._columns || this._columns.length === 0\n ) {\n return;\n }\n\n this.searchIndex = new Document({\n tokenize: this.tokenize,\n matcher: {\n '[äà]': 'a',\n '[öó]': 'o',\n '[üûúù]': 'u',\n '[éè]': 'e'\n },\n document: {\n id: this.idField,\n index: this._columns.map(column => column.key)\n }\n });\n\n this._rows.forEach(row => {\n this.searchIndex.add(row);\n });\n }\n\n private onInputChange = () => {\n this.query = this.input.value;\n }\n\n private onPaginationChange = (event: CustomEvent<StzhPaginationChangeEvent>) => {\n if (event.detail.component === \"stzh-pagination\") {\n this.page = event.detail.page;\n }\n }\n\n async componentWillLoad() {\n this.columnsWatcher(this.columns);\n this.rowsWatcher(this.rows);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"datatable\");\n }\n }\n\n componentDidLoad() {\n this.updateScrollStates();\n }\n\n componentWillRender() {\n this._rowsShown = [];\n this._rowsFiltered = [];\n\n if (this.query) {\n let resultIds = [];\n\n this.searchIndex.search(this.query).forEach((result) => {\n resultIds = [...resultIds, ...result.result];\n });\n\n resultIds = resultIds.filter(function (item, pos) {\n return resultIds.indexOf(item) === pos;\n });\n\n this._rows.forEach((row) => {\n if (resultIds.indexOf(row[this.idField]) > -1) {\n this._rowsFiltered.push(row);\n }\n });\n } else {\n this._rowsFiltered = [...this._rows];\n }\n\n if (this.sortBy) {\n const columnConfig = this._columns.find((column) => column.key === this.sortBy);\n const column = columnConfig?.sort?.field || this.sortBy;\n const type = columnConfig?.sort?.type;\n\n this._rowsFiltered.sort((rowA, rowB) => {\n if (type === \"numerical\") {\n if (this.sortDirection === \"asc\") {\n return Number(rowA[column]) - Number(rowB[column]);\n } else {\n return Number(rowB[column]) - Number(rowA[column]);\n }\n } else {\n const comparison = rowA[column].localeCompare(rowB[column])\n return this.sortDirection === \"asc\" ? comparison : comparison / -1;\n }\n });\n }\n\n if (this.pageSize !== null) {\n const pageEnd = this.page * this.pageSize;\n this._rowsShown = this._rowsFiltered.slice(pageEnd - this.pageSize, pageEnd);\n } else {\n this._rowsShown = [...this._rowsFiltered];\n }\n }\n\n connectedCallback() {\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-datatable\": true,\n \"is-scrollable\": this.isScrollable,\n \"has-scroll-left\": this.hasScrollLeft,\n \"has-scroll-right\": this.hasScrollRight,\n \"has-scroll-left-shadow\": this.hasScrollLeft && this.cellsStickyLeft.length === 0,\n \"has-scroll-right-shadow\": this.hasScrollRight && this.cellsStickyRight.length === 0,\n \"has-list\": this.showList,\n };\n\n const totalPages = Math.ceil(this._rowsFiltered.length / this.pageSize);\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-datatable__header\">\n <div class=\"stzh-datatable__heading\">\n <slot name=\"heading\"></slot>\n </div>\n <div class=\"stzh-datatable__sub-header\">\n {!this.hideSearch &&\n <stzh-input\n ref={(el) => (this.input = el as HTMLStzhInputElement)}\n class=\"stzh-datatable__search\"\n size=\"small\"\n name=\"stzh-datatable-search\"\n onStzhChange={this.onInputChange}\n label={this.localization.searchLabel}\n ></stzh-input>\n }\n <div class=\"stzh-datatable__action-button\">\n <slot name=\"action-button\"></slot>\n </div>\n </div>\n </div>\n\n <div class=\"stzh-datatable__outer-wrapper\">\n <div\n ref={(el) => (this.tableWrapper = el as HTMLDivElement)}\n class=\"stzh-datatable__wrapper\"\n onScroll={this.handleScroll}\n >\n <table class={{\n \"stzh-datatable__table\": true,\n \"has-layout-fixed\": this.tableLayout === \"fixed\",\n }}>\n <thead class=\"stzh-datatable__thead\">\n <tr class=\"stzh-datatable__row stzh-datatable__row--head\">\n {this._columns.map((column, index) =>\n <th\n onClick={(event) => this.handleHeadingCellClick(event, column, index)}\n style={column.style}\n class={{\n \"stzh-datatable__cell stzh-datatable__cell--head\": true,\n \"is-sticky-left\": column.fixed === \"left\",\n \"is-sticky-right\": column.fixed === \"right\",\n \"is-sortable\": column.sort,\n \"has-sticked\": this.cellsStickyLeft.indexOf(index) > -1 || this.cellsStickyRight.indexOf(index) > -1,\n \"has-sorted\": column.key === this.sortBy,\n \"has-sorted-asc\": column.key === this.sortBy && this.sortDirection === \"asc\",\n \"has-sorted-desc\": column.key === this.sortBy && this.sortDirection === \"desc\",\n [`align-${column.align}`]: column.align,\n [`valign-${column.valign}`]: column.valign\n }}\n >\n {column.sort ?\n <button\n class=\"stzh-datatable__sort-button\"\n type=\"button\"\n onClick={(event) => this.handleSortClick(event, column)}\n s-object-id={column.analyticsId || `${column.text} ${this.localization.columnSort}`}\n >\n <span>{column.text}</span>\n <stzh-icon name=\"arrow-up\" class=\"stzh-datatable__sort-icon\" a11yTitle={this.localization.columnSort}></stzh-icon>\n </button>\n :\n <span>{column.text}</span>\n }\n </th>\n )}\n </tr>\n </thead>\n <tbody>\n {this._rowsShown.map((row, rowIndex) =>\n <tr\n class=\"stzh-datatable__row stzh-datatable__row--body\"\n onClick={(event) => this.handleRowClick(event, row)}\n >\n {this._columns.map((column, index) =>\n <td\n onClick={(event) => this.handleCellClick(event, row, column, index, rowIndex)}\n innerHTML={row[column.key]?.text || row[column.key] || \"\"}\n style={column.style}\n class={{\n \"stzh-datatable__cell stzh-datatable__cell--body\": true,\n \"is-sticky-left\": column.fixed === \"left\",\n \"is-sticky-right\": column.fixed === \"right\",\n \"is-sortable\": column.sort,\n \"has-sticked\": this.cellsStickyLeft.indexOf(index) > -1 || this.cellsStickyRight.indexOf(index) > -1,\n \"has-sorted\": column.key === this.sortBy,\n \"has-sorted-asc\": column.key === this.sortBy && this.sortDirection === \"asc\",\n \"has-sorted-desc\": column.key === this.sortBy && this.sortDirection === \"desc\",\n [`align-${row[column.key]?.align || column.align}`]: row[column.key]?.align || column.align,\n [`valign-${row[column.key]?.valign || column.valign}`]: row[column.key]?.valign || column.valign\n }}\n ></td>\n )}\n </tr>\n )}\n </tbody>\n </table>\n </div>\n </div>\n\n {this.showList &&\n <div class=\"stzh-datatable__list-wrapper\">\n <stzh-card-list>\n {this._rowsShown.map((row) =>\n <stzh-card>\n <stzh-datalist slot=\"content\" direction={\"horizontal\"}>\n {this._columns.map((column) =>\n <stzh-datalist-item\n label={column.text}\n value={row[column.key]?.text || row[column.key] || \"\"}\n ></stzh-datalist-item>\n )}\n </stzh-datalist>\n </stzh-card>\n )}\n </stzh-card-list>\n </div>\n }\n\n {this.pageSize !== null && totalPages > 1 &&\n <div class=\"stzh-datatable__pagination-wrapper\">\n <stzh-pagination\n value={this.page}\n total={totalPages}\n onStzhChange={this.onPaginationChange}\n ></stzh-pagination>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -19,6 +19,16 @@ export default {
|
|
|
19
19
|
component: COMPONENT_NAME,
|
|
20
20
|
parameters: {
|
|
21
21
|
layout: 'padded',
|
|
22
|
+
actions: {
|
|
23
|
+
handles: [
|
|
24
|
+
'stzhRowClick',
|
|
25
|
+
'stzhCellClick',
|
|
26
|
+
'stzhHeadingCellClick',
|
|
27
|
+
'stzhSortClick',
|
|
28
|
+
'stzhSortByChange',
|
|
29
|
+
'stzhSortDirectionChange'
|
|
30
|
+
]
|
|
31
|
+
},
|
|
22
32
|
docs: {
|
|
23
33
|
description: {
|
|
24
34
|
component: readme
|
|
@@ -48,7 +58,7 @@ export const Default = {
|
|
|
48
58
|
render: (args) => story(args, TEMPLATE),
|
|
49
59
|
args: {
|
|
50
60
|
columns: [
|
|
51
|
-
{ "key": "id", "text": "ID", "align": "right" },
|
|
61
|
+
{ "key": "id", "text": "ID", "align": "right", "sort": { type: 'numerical', field: 'id' } },
|
|
52
62
|
{ "key": "theme", "text": "Theme", "sort": true },
|
|
53
63
|
{ "key": "text", "text": "Text" },
|
|
54
64
|
{ "key": "text2", "text": "Text 2" }
|
|
@@ -87,13 +97,14 @@ export const WithList = {
|
|
|
87
97
|
export const WithPagination = {
|
|
88
98
|
render: (args) => story(args, TEMPLATE),
|
|
89
99
|
args: {
|
|
100
|
+
'table-layout': 'fixed',
|
|
90
101
|
page: 1,
|
|
91
102
|
'page-size': 2,
|
|
92
103
|
columns: [
|
|
93
|
-
{ "key": "id", "text": "ID", "align": "right" },
|
|
94
|
-
{ "key": "theme", "text": "Theme", "sort": true, "
|
|
95
|
-
{ "key": "text", "text": "Text" },
|
|
96
|
-
{ "key": "text2", "text": "Text 2" }
|
|
104
|
+
{ "key": "id", "text": "ID", "align": "right", style: { width: "53px" } },
|
|
105
|
+
{ "key": "theme", "text": "Theme", "sort": true, style: { width: "90px", maxWidth: "90px", overflow: "hidden", textOverflow: "ellipsis" } },
|
|
106
|
+
{ "key": "text", "text": "Text", style: { width: "50%" } },
|
|
107
|
+
{ "key": "text2", "text": "Text 2", style: { width: "50%" } }
|
|
97
108
|
],
|
|
98
109
|
rows
|
|
99
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stzh-message.js","sourceRoot":"","sources":["../../../src/components/stzh-message/stzh-message.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,EACJ,KAAK,EAEL,MAAM,EACN,KAAK,EACN,MAAM,eAAe,CAAC;AAEvB,OAAO,MAAM,MAAM,WAAW,CAAC;AAM/B,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,WAAW;;IA4Dd,uBAAkB,GAAG,GAAG,EAAE;MAChC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC,CAAA;iBA5DuB,EAAE;uBAGI,EAAE;oBAOL,EAAE;gBAG6C,MAAM;qBASnD,KAAK;;gBAcT,IAAI;;EAG7B,KAAK,CAAC,IAAI;IACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;MACjB,SAAS,EAAE,cAAc;KAC1B,CAAC,
|
|
1
|
+
{"version":3,"file":"stzh-message.js","sourceRoot":"","sources":["../../../src/components/stzh-message/stzh-message.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n Method,\n State\n} from \"@stencil/core\";\n\nimport Cookie from \"js-cookie\";\n\nimport { StzhMessageOpenEvent, StzhMessageCloseEvent } from \"../../index\";\n\nimport { StzhMessageLocalizedText } from \"./stzh-message.localization\"\n\nconst KEY_PREFIX_CLOSE = \"stzh-components-message-close\";\n\n/**\n * @slot - Slot for description content (use instead of description property)\n * @slot link - Slot for optional stzh-link element\n */\n@Component({\n tag: \"stzh-message\",\n styleUrl: \"stzh-message.scss\",\n scoped: true\n})\nexport class StzhMessage {\n /** Label */\n @Prop() label: string = \"\";\n\n /** Description (use instead of default slot) */\n @Prop() description: string = \"\";\n\n /**\n * Close cookie name key.\n * Component will check for the cookie (stzh-components-message-close-{name})\n * and if not empty (message already closed before) will hide the message.\n */\n @Prop() closeKey: string = \"\";\n\n /** Type */\n @Prop({ reflect: true }) type: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\"\n\n // high priority variants are currently not allowed to use\n // (discussion will be resumed in relaunch, when colors are a topic)\n\n // /** Prority */\n // @Prop({ reflect: true }) priority: \"default\" | \"high\" = \"default\";\n\n /** Whether to hide close button */\n @Prop() hideClose: boolean = false;\n\n /** Translation strings. */\n @Prop() localization: StzhMessageLocalizedText;\n\n /** Message open event */\n @Event() stzhOpen: EventEmitter<StzhMessageOpenEvent>;\n\n /** Message close event */\n @Event() stzhClose: EventEmitter<StzhMessageCloseEvent>;\n\n @Element() element: HTMLStzhMessageElement;\n\n /** Open state */\n @State() open: boolean = true;\n\n @Method()\n async show() {\n this.open = true;\n this.stzhOpen.emit({\n component: \"stzh-message\"\n });\n }\n\n @Method()\n async hide(setCloseKey: boolean = true) {\n this.open = false;\n this.stzhClose.emit({\n component: \"stzh-message\"\n });\n\n if (this.closeKey && setCloseKey) {\n Cookie.set(`${KEY_PREFIX_CLOSE}-${this.closeKey}`, Date.now().toString());\n }\n }\n\n private onCloseButtonClick = () => {\n this.hide();\n }\n\n async componentWillLoad() {\n if (this.closeKey) {\n const timeClosed = Cookie.get(`${KEY_PREFIX_CLOSE}-${this.closeKey}`);\n if (timeClosed) {\n this.hide(false);\n }\n }\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"message\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-message\": true,\n \"stzh-message--has-close-hidden\": this.hideClose,\n [`stzh-message--type-${this.type}`]: !!this.type,\n // [`stzh-message--priority-${this.priority}`]: !!this.priority\n };\n\n return (\n <Host hidden={!this.open}>\n <div class={classes}>\n <div class=\"stzh-message__content\">\n <div class=\"stzh-message__icon-wrapper\">\n <stzh-icon\n class=\"stzh-message__icon\"\n name={\n this.type === 'info' && \"info-help\"\n || this.type === 'success' && \"checkmark-circle\"\n || this.type === 'warning' && \"warning\"\n || this.type === 'error' && \"important-warning\"\n }\n ></stzh-icon>\n </div>\n <div class=\"stzh-message__text-wrapper\">\n <div class=\"stzh-message__label\">\n {this.label}\n </div>\n <div class=\"stzh-message__description\">\n {this.description ? this.description : <slot></slot>}\n </div>\n <div class=\"stzh-message__link\">\n <slot name=\"link\"></slot>\n </div>\n </div>\n </div>\n\n {!this.hideClose &&\n <stzh-button\n class=\"stzh-message__close\"\n onClick={this.onCloseButtonClick}\n a11yLabel={this.localization.close}\n variant=\"tertiary\"\n size=\"small\"\n iconOnly={true}\n icon=\"close\"\n ></stzh-button>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css
CHANGED
|
@@ -1500,6 +1500,10 @@ main table {
|
|
|
1500
1500
|
width: 100%;
|
|
1501
1501
|
border-spacing: 0;
|
|
1502
1502
|
min-width: var(--min-width);
|
|
1503
|
+
/* Fixed layout */
|
|
1504
|
+
}
|
|
1505
|
+
main table.has-layout-fixed {
|
|
1506
|
+
table-layout: fixed;
|
|
1503
1507
|
}
|
|
1504
1508
|
main thead {
|
|
1505
1509
|
position: -webkit-sticky;
|
|
@@ -3465,6 +3469,10 @@ main .ql-editor table {
|
|
|
3465
3469
|
width: 100%;
|
|
3466
3470
|
border-spacing: 0;
|
|
3467
3471
|
min-width: var(--min-width);
|
|
3472
|
+
/* Fixed layout */
|
|
3473
|
+
}
|
|
3474
|
+
main .ql-editor table.has-layout-fixed {
|
|
3475
|
+
table-layout: fixed;
|
|
3468
3476
|
}
|
|
3469
3477
|
main .ql-editor thead {
|
|
3470
3478
|
position: -webkit-sticky;
|
package/dist/collection/components/stzh-skin-storybook-preview/stzh-skin-storybook-preview.css
CHANGED
|
@@ -905,6 +905,11 @@
|
|
|
905
905
|
width: 100%;
|
|
906
906
|
border-spacing: 0;
|
|
907
907
|
min-width: var(--min-width);
|
|
908
|
+
/* Fixed layout */
|
|
909
|
+
}
|
|
910
|
+
.sbdocs-content > table.has-layout-fixed,
|
|
911
|
+
.sbdocs-content > div > table.has-layout-fixed {
|
|
912
|
+
table-layout: fixed;
|
|
908
913
|
}
|
|
909
914
|
.sbdocs-content > thead,
|
|
910
915
|
.sbdocs-content > div > thead {
|
|
@@ -204,6 +204,7 @@ stzh-table[disable-min-width]:not([disable-min-width=false]) {
|
|
|
204
204
|
}
|
|
205
205
|
.stzh-table__header .stzh-table__search {
|
|
206
206
|
flex-grow: 1;
|
|
207
|
+
margin-right: var(--stzh-space-medium);
|
|
207
208
|
}
|
|
208
209
|
@media screen and (min-width: 600px) {
|
|
209
210
|
.stzh-table__header .stzh-table__search {
|
|
@@ -213,9 +214,7 @@ stzh-table[disable-min-width]:not([disable-min-width=false]) {
|
|
|
213
214
|
}
|
|
214
215
|
.stzh-table__action-button {
|
|
215
216
|
flex-shrink: 0;
|
|
216
|
-
|
|
217
|
-
.stzh-table__action-button:not(:empty) {
|
|
218
|
-
margin-left: var(--stzh-space-medium);
|
|
217
|
+
margin-left: auto;
|
|
219
218
|
}
|
|
220
219
|
.stzh-table__outer-wrapper {
|
|
221
220
|
position: relative;
|
|
@@ -277,6 +276,10 @@ stzh-table[disable-min-width]:not([disable-min-width=false]) {
|
|
|
277
276
|
width: 100%;
|
|
278
277
|
border-spacing: 0;
|
|
279
278
|
min-width: var(--min-width);
|
|
279
|
+
/* Fixed layout */
|
|
280
|
+
}
|
|
281
|
+
.stzh-table table.has-layout-fixed {
|
|
282
|
+
table-layout: fixed;
|
|
280
283
|
}
|
|
281
284
|
.stzh-table thead {
|
|
282
285
|
position: -webkit-sticky;
|