Fix #773 allow filepicker work inside lists, respond to mutation event

This commit is contained in:
Flavio Copes
2016-09-16 15:19:54 +02:00
parent 6712b32bed
commit 9ebecb7910
2 changed files with 21 additions and 2 deletions

View File

@@ -5,6 +5,7 @@
* Fix [#1034](https://github.com/getgrav/grav/issues/1034) redirect of page creation procedure when system.home.hide_in_urls is enabled
* Media (Page): Do not extend parent metehod for sending files since Safari and IE API for FormData dont implement `delete` ([#772](https://github.com/getgrav/grav-plugin-admin/issues/772))
* Clean up POST keys containing square brackets, allows for regex ranges in routes ([#776](https://github.com/getgrav/grav-plugin-admin/issues/776))
* Fix [#773](https://github.com/getgrav/grav-plugin-admin/issues/773) allow filepicker work inside lists, respond to mutation event
# v1.2.2
## 09/08/2016

View File

@@ -5,11 +5,29 @@ import request from '../../utils/request';
export default class FilePickerField {
constructor(options) {
$('[data-grav-filepicker]').each((index, element) => this.add(element));
this.items = $();
this.options = Object.assign({}, this.defaults, options);
$('[data-grav-filepicker]').each((index, element) => this.addItem(element));
$('body').on('mutation._grav', this._onAddedNodes.bind(this));
}
add(element) {
_onAddedNodes(event, target/* , record, instance */) {
let fields = $(target).find('[data-grav-filepicker]');
if (!fields.length) { return; }
fields.each((index, field) => {
field = $(field);
if (!~this.items.index(field)) {
this.addItem(field);
}
});
}
addItem(element) {
element = $(element);
this.items = this.items.add(element);
let tag = element.prop('tagName').toLowerCase();
let isInput = tag === 'input' || tag === 'select';