| | |
| | | } |
| | | |
| | | handleItemUpdate(e) { |
| | | |
| | | let item = window.targetCheck(e, '[data-item-id]'); |
| | | if (!item) return; |
| | | |
| | | let field = e.target.closest('[data-field-type="repeater"],[data-field-type="tag-list"],[data-field]'); |
| | | let name = field.dataset.field; |
| | | let value = this.forms.getFieldValue(e.target); |
| | | // Check if inside a collection field first |
| | | const collection = e.target.closest('[data-field-type="repeater"], [data-field-type="tag-list"]'); |
| | | |
| | | let name, value; |
| | | if (collection) { |
| | | name = collection.dataset.field; |
| | | value = this.forms.getFieldValue(collection); |
| | | } else { |
| | | let field = e.target.closest('[data-field]'); |
| | | name = field.dataset.field; |
| | | value = this.forms.getFieldValue(e.target); |
| | | } |
| | | |
| | | item.dataset.itemId.split(',').forEach(itemId => { |
| | | this.updateItem(itemId, name, value); |
| | | }); |