@3mo/data-grid 0.1.4 → 0.2.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/DataGrid.d.ts +5 -9
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +15 -27
- package/dist/DataGridCell.d.ts +14 -4
- package/dist/DataGridCell.d.ts.map +1 -1
- package/dist/DataGridCell.js +116 -11
- package/dist/DataGridHeader.js +1 -1
- package/dist/columns/DataGridColumn.d.ts +1 -1
- package/dist/columns/DataGridColumn.d.ts.map +1 -1
- package/dist/columns/DataGridColumn.js +3 -2
- package/dist/columns/DataGridColumnBoolean.js +1 -1
- package/dist/columns/DataGridColumnCurrency.js +1 -1
- package/dist/columns/DataGridColumnDate.js +1 -1
- package/dist/columns/DataGridColumnImage.d.ts +1 -1
- package/dist/columns/DataGridColumnImage.d.ts.map +1 -1
- package/dist/columns/DataGridColumnImage.js +4 -3
- package/dist/columns/DataGridColumnNumber.js +1 -1
- package/dist/columns/DataGridColumnNumberBase.d.ts +5 -5
- package/dist/columns/DataGridColumnNumberBase.d.ts.map +1 -1
- package/dist/columns/DataGridColumnPercent.js +1 -1
- package/dist/columns/DataGridColumnText.js +1 -1
- package/dist/rows/DataGridRow.d.ts +0 -5
- package/dist/rows/DataGridRow.d.ts.map +1 -1
- package/dist/rows/DataGridRow.js +12 -36
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridRow.d.ts","sourceRoot":"","sources":["../../rows/DataGridRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,
|
|
1
|
+
{"version":3,"file":"DataGridRow.d.ts","sourceRoot":"","sources":["../../rows/DataGridRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAyB,kBAAkB,EAAqB,MAAM,WAAW,CAAA;AAG3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAyD,MAAM,aAAa,CAAA;AAE3G;;;;;;;;GAQG;AACH,8BAAsB,WAAW,CAAC,KAAK,EAAE,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,CAAE,SAAQ,SAAS;IACzG,QAAQ,CAAC,iBAAiB,EAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAE/B,QAAQ,CAAC,KAAK,EAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;IAEpE,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IAC3C,IAAI,EAAG,KAAK,CAAA;IACI,QAAQ,UAAQ;IAChB,WAAW,UAAQ;IAEnB,SAAS,CAAC,eAAe,UAAQ;IAE7E,IAAI,cAAc,gCAEjB;cAEkB,WAAW;IAIrB,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAQhE,SAAS,KAAK,UAAU,YAEvB;IAED,WAAoB,MAAM,kCAwFzB;IAED,cAAuB,QAAQ,yCAW9B;IAED,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,kBAAkB,CAAA;IAExD,SAAS,KAAK,uBAAuB,uBAepC;IAED,SAAS,KAAK,iBAAiB,uBAc9B;IAED,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAUlG,SAAS,KAAK,6BAA6B,uBAS1C;IAED,SAAS,KAAK,eAAe,uBAK5B;IAED,OAAO,CAAC,YAAY;IAsCpB,SAAS,CAAC,kBAAkB;cAYZ,wBAAwB;IAUlC,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU;IAwB7C,OAAO,KAAK,eAAe,GAI1B;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAEK,gBAAgB;IAKtB,SAAS,CAAC,aAAa;IAIvB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO;CAInC;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;KACxC;CACD"}
|
package/dist/rows/DataGridRow.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { nothing, css, property, Component, html,
|
|
2
|
+
import { nothing, css, property, Component, html, queryAll, style, LitElement, event } from '@a11d/lit';
|
|
3
3
|
import { ContextMenu } from '@3mo/context-menu';
|
|
4
4
|
import { KeyboardController } from '@3mo/keyboard-controller';
|
|
5
5
|
import { DataGridPrimaryContextMenuItem } from '../index.js';
|
|
@@ -18,21 +18,13 @@ export class DataGridRow extends Component {
|
|
|
18
18
|
this.selected = false;
|
|
19
19
|
this.detailsOpen = false;
|
|
20
20
|
this.contextMenuOpen = false;
|
|
21
|
-
this.editing = false;
|
|
22
21
|
}
|
|
23
22
|
get detailsElement() {
|
|
24
23
|
var _a;
|
|
25
24
|
return (_a = this.renderRoot.querySelector('#detailsContainer')) === null || _a === void 0 ? void 0 : _a.firstElementChild;
|
|
26
25
|
}
|
|
27
|
-
connected() {
|
|
28
|
-
this.dataGrid.rowConnected.dispatch(this);
|
|
29
|
-
}
|
|
30
|
-
disconnected() {
|
|
31
|
-
this.dataGrid.rowDisconnected.dispatch(this);
|
|
32
|
-
}
|
|
33
26
|
initialized() {
|
|
34
27
|
this.toggleAttribute('mo-data-grid-row', true);
|
|
35
|
-
this.editing = this.dataGrid.editability === "always" /* DataGridEditability.Always */;
|
|
36
28
|
}
|
|
37
29
|
updated(...parameters) {
|
|
38
30
|
this.cells.forEach(cell => cell.requestUpdate());
|
|
@@ -164,12 +156,13 @@ export class DataGridRow extends Component {
|
|
|
164
156
|
}
|
|
165
157
|
get selectionTemplate() {
|
|
166
158
|
var _a, _b;
|
|
167
|
-
return this.dataGrid.hasSelection === false ? nothing : html `
|
|
159
|
+
return this.dataGrid.hasSelection === false || this.dataGrid.selectionCheckboxesHidden ? nothing : html `
|
|
168
160
|
<mo-flex id='selectionContainer' ${style({ width: 'var(--mo-data-grid-column-selection-width)' })} justifyContent='center' alignItems='center'
|
|
169
161
|
@click=${(e) => e.stopPropagation()}
|
|
170
162
|
@dblclick=${(e) => e.stopPropagation()}
|
|
171
163
|
>
|
|
172
164
|
<mo-checkbox
|
|
165
|
+
tabindex='-1'
|
|
173
166
|
?disabled=${((_b = (_a = this.dataGrid).isDataSelectable) === null || _b === void 0 ? void 0 : _b.call(_a, this.data)) === false}
|
|
174
167
|
?checked=${this.selected}
|
|
175
168
|
@change=${(e) => this.setSelection(e.detail === 'checked')}
|
|
@@ -180,7 +173,6 @@ export class DataGridRow extends Component {
|
|
|
180
173
|
getCellTemplate(column) {
|
|
181
174
|
return column.hidden ? nothing : html `
|
|
182
175
|
<mo-data-grid-cell
|
|
183
|
-
?editing=${this.editing}
|
|
184
176
|
.row=${this}
|
|
185
177
|
.column=${column}
|
|
186
178
|
.value=${getValueByKeyPath(this.data, column.dataSelector)}
|
|
@@ -221,7 +213,12 @@ export class DataGridRow extends Component {
|
|
|
221
213
|
else {
|
|
222
214
|
if (value) {
|
|
223
215
|
if (this.dataGrid.selectionMode === "multiple" /* DataGridSelectionMode.Multiple */) {
|
|
224
|
-
|
|
216
|
+
if (this.dataGrid.selectionCheckboxesHidden) {
|
|
217
|
+
dataToSelect = [this.data];
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
dataToSelect = [...dataToSelect, this.data];
|
|
221
|
+
}
|
|
225
222
|
}
|
|
226
223
|
else if (this.dataGrid.selectionMode === "single" /* DataGridSelectionMode.Single */) {
|
|
227
224
|
dataToSelect = [this.data];
|
|
@@ -236,32 +233,14 @@ export class DataGridRow extends Component {
|
|
|
236
233
|
}
|
|
237
234
|
}
|
|
238
235
|
handleContentClick() {
|
|
239
|
-
if (this.dataGrid.selectOnClick
|
|
240
|
-
this.setSelection(!this.selected);
|
|
236
|
+
if (this.dataGrid.selectOnClick || this.dataGrid.selectionCheckboxesHidden) {
|
|
237
|
+
this.setSelection(this.dataGrid.selectionCheckboxesHidden || !this.selected);
|
|
241
238
|
}
|
|
242
|
-
if (this.dataGrid.detailsOnClick
|
|
239
|
+
if (this.dataGrid.detailsOnClick && this.dataGrid.hasDetails) {
|
|
243
240
|
this.toggleDetails();
|
|
244
241
|
}
|
|
245
|
-
if (this.dataGrid.editability === "on-row-click" /* DataGridEditability.OnRowClick */) {
|
|
246
|
-
this.enableEditMode();
|
|
247
|
-
}
|
|
248
242
|
this.dataGrid.rowClick.dispatch(this);
|
|
249
243
|
}
|
|
250
|
-
enableEditMode() {
|
|
251
|
-
this.dataBeforeEdit = JSON.stringify(this.data);
|
|
252
|
-
this.editing = true;
|
|
253
|
-
const handleClick = (e) => {
|
|
254
|
-
if (e.composedPath().includes(this) === false) {
|
|
255
|
-
const dataAfterEdit = JSON.stringify(this.data);
|
|
256
|
-
if (dataAfterEdit !== this.dataBeforeEdit) {
|
|
257
|
-
this.dataGrid.rowEdit.dispatch(this);
|
|
258
|
-
}
|
|
259
|
-
window.removeEventListener('click', handleClick);
|
|
260
|
-
this.editing = false;
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
window.addEventListener('click', handleClick);
|
|
264
|
-
}
|
|
265
244
|
async handleContentDoubleClick() {
|
|
266
245
|
var _a, _b;
|
|
267
246
|
if (this.dataGrid.primaryContextMenuItemOnDoubleClick === true && this.dataGrid.hasContextMenu === true && this.dataGrid.selectionMode === "none" /* DataGridSelectionMode.None */) {
|
|
@@ -332,6 +311,3 @@ __decorate([
|
|
|
332
311
|
__decorate([
|
|
333
312
|
property({ type: Boolean, reflect: true })
|
|
334
313
|
], DataGridRow.prototype, "contextMenuOpen", void 0);
|
|
335
|
-
__decorate([
|
|
336
|
-
state()
|
|
337
|
-
], DataGridRow.prototype, "editing", void 0);
|