@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.
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridRow.d.ts","sourceRoot":"","sources":["../../rows/DataGridRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAgC,kBAAkB,EAAqB,MAAM,WAAW,CAAA;AAGlI,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA8E,MAAM,aAAa,CAAA;AAEhI;;;;;;;;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;IACpE,SAAS,CAAC,OAAO,UAAQ;IAElC,IAAI,cAAc,gCAEjB;cAEkB,SAAS;cAIT,YAAY;cAIZ,WAAW;IAKrB,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,uBAa9B;IAED,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAWlG,SAAS,KAAK,6BAA6B,uBAS1C;IAED,SAAS,KAAK,eAAe,uBAK5B;IAED,OAAO,CAAC,YAAY;IAkCpB,SAAS,CAAC,kBAAkB;IAiB5B,OAAO,CAAC,cAAc,CAAC,CAAQ;IAE/B,OAAO,CAAC,cAAc;cAgBN,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"}
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"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { nothing, css, property, Component, html, state, queryAll, style, LitElement, event } from '@a11d/lit';
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
- dataToSelect = [...dataToSelect, this.data];
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 && this.dataGrid.editability !== "on-row-click" /* DataGridEditability.OnRowClick */) {
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 === true && this.dataGrid.editability !== "on-row-click" /* DataGridEditability.OnRowClick */) {
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);