| | |
| | | this.fields.set(fieldId, config); |
| | | |
| | | //Check for stored selected terms in hidden input |
| | | let selected = new Set(); |
| | | input.value.value.trim() |
| | | .split(',') |
| | | .map(id => parseInt(id.trim())) |
| | | .filter(id => !isNaN(id)) |
| | | .forEach(id => selected.add(id)); |
| | | this.selectedTerms.set(fieldId, selected); |
| | | this.setSelectedFromValue(input); |
| | | |
| | | |
| | | if (this.isInitializing) { |
| | | this.batchFetch.add(config.taxonomy); |
| | |
| | | return fieldId; |
| | | } |
| | | |
| | | setSelectedFromValue(fieldId, input) { |
| | | let selected = new Set(); |
| | | input.value.value.trim() |
| | | .split(',') |
| | | .map(id => parseInt(id.trim())) |
| | | .filter(id => !isNaN(id)) |
| | | .forEach(id => selected.add(id)); |
| | | this.selectedTerms.set(fieldId, selected); |
| | | } |
| | | |
| | | addSelected(termId, fieldId = null) { |
| | | if (!fieldId) fieldId = this.activeField; |
| | | |
| | |
| | | this.setCheckboxes(disabled); |
| | | } |
| | | |
| | | updateFieldFromInput(input) { |
| | | const fieldId = this.getFieldId(input); |
| | | const field = this.fields.get(fieldId); |
| | | if (!fieldId || !field) return; |
| | | |
| | | this.setSelectedFromValue(fieldId, input); |
| | | this.updateFieldUI(fieldId); |
| | | } |
| | | |
| | | updateFieldUI(fieldId) { |
| | | const field = this.fields.get(fieldId); |
| | | let selected = this.selectedTerms.get(fieldId); |