@vaadin/vaadin-crud
Advanced tools
Comparing version 1.1.0-alpha4 to 1.1.0-alpha5
@@ -13,3 +13,3 @@ { | ||
"name": "@vaadin/vaadin-crud", | ||
"version": "1.1.0-alpha4", | ||
"version": "1.1.0-alpha5", | ||
"main": "vaadin-crud.js", | ||
@@ -16,0 +16,0 @@ "author": "Vaadin Ltd", |
@@ -169,3 +169,3 @@ /** | ||
<slot name="grid"> | ||
<vaadin-crud-grid theme\$="[[theme]]" id="grid" include="[[include]]" exclude="[[exclude]]" no-sort="[[noSort]]" no-filter="[[noFilter]]" no-head="[[noHead]]" hide-edit-column="[[clickRowToEdit]]"></vaadin-crud-grid> | ||
<vaadin-crud-grid theme\$="[[theme]]" id="grid" include="[[include]]" exclude="[[exclude]]" no-sort="[[noSort]]" no-filter="[[noFilter]]" no-head="[[noHead]]" hide-edit-column="[[editOnClick]]"></vaadin-crud-grid> | ||
</slot> | ||
@@ -208,3 +208,3 @@ | ||
static get version() { | ||
return '1.1.0-alpha4'; | ||
return '1.1.0-alpha5'; | ||
} | ||
@@ -257,3 +257,3 @@ | ||
*/ | ||
clickRowToEdit: { | ||
editOnClick: { | ||
type: Boolean, | ||
@@ -409,3 +409,3 @@ value: false | ||
'__onI18Change(i18n, _grid)', | ||
'__onClickRowToEditChange(clickRowToEdit, _grid)' | ||
'__onEditOnClickChange(editOnClick, _grid)' | ||
]; | ||
@@ -426,3 +426,3 @@ } | ||
this.__gridSizeListener = this.__onGridSizeChanges.bind(this); | ||
this.__boundClickRowToEditListener = this.__clickRowToEditListener.bind(this); | ||
this.__boundEditOnClickListener = this.__editOnClickListener.bind(this); | ||
this._grid = this.$.grid; | ||
@@ -481,5 +481,5 @@ this._form = this.$.form; | ||
// Force to remove listener on previous grid first | ||
this.__onClickRowToEditChange(false, this._grid); | ||
this.__onEditOnClickChange(false, this._grid); | ||
this._grid = node; | ||
this.__onClickRowToEditChange(this.clickRowToEdit, this._grid); | ||
this.__onEditOnClickChange(this.editOnClick, this._grid); | ||
} else if (node.getAttribute('slot') == 'form') { | ||
@@ -550,3 +550,3 @@ this._form = node; | ||
__onClickRowToEditChange(rowToEditChange, _grid) { | ||
__onEditOnClickChange(rowToEditChange, _grid) { | ||
if (!_grid) { | ||
@@ -557,9 +557,9 @@ return; | ||
if (rowToEditChange) { | ||
_grid.addEventListener('active-item-changed', this.__boundClickRowToEditListener); | ||
_grid.addEventListener('active-item-changed', this.__boundEditOnClickListener); | ||
} else { | ||
_grid.removeEventListener('active-item-changed', this.__boundClickRowToEditListener); | ||
_grid.removeEventListener('active-item-changed', this.__boundEditOnClickListener); | ||
} | ||
} | ||
__clickRowToEditListener(event) { | ||
__editOnClickListener(event) { | ||
const item = event.detail.value; | ||
@@ -574,3 +574,3 @@ if (this.editorOpened && this.__isDirty) { | ||
} else { | ||
this.__cancel(); | ||
this.__closeEditor(); | ||
} | ||
@@ -586,6 +586,9 @@ } | ||
this.$.confirmCancel.opened = true; | ||
const listenOnce = (event) => { | ||
event.preventDefault(); // prevent editor to get closed | ||
this.__edit(item); | ||
if (item) { | ||
this.__edit(item); | ||
} else { | ||
this.__closeEditor(); | ||
} | ||
this.removeEventListener('cancel', listenOnce); | ||
@@ -659,5 +662,13 @@ }; | ||
__setHighlightedItem(item) { | ||
if (this._grid === this.$.grid) { | ||
this._grid.selectedItems = item ? [item] : []; | ||
} | ||
} | ||
__closeEditor() { | ||
this.editorOpened = false; | ||
this.__isDirty = false; | ||
this.__setHighlightedItem(null); | ||
// Delay changing the item in order not to modify editor while closing | ||
@@ -678,2 +689,3 @@ setTimeout(() => this.editedItem = this._grid.activeItem = undefined); | ||
} | ||
this.__setHighlightedItem(item); | ||
this.__openEditor('edit', item); | ||
@@ -680,0 +692,0 @@ } |
76483
1649