0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-15 22:32:54 +01:00
discourse-custom-wizard/assets/javascripts/wizard/components/wizard-field-category.js.es6

32 Zeilen
915 B
Text

2020-03-21 18:30:11 +01:00
import { observes } from 'discourse-common/utils/decorators';
2019-07-27 08:10:26 +02:00
import Category from 'discourse/models/category';
2019-07-26 10:59:41 +02:00
export default Ember.Component.extend({
2019-07-27 08:10:26 +02:00
didInsertElement() {
2020-04-15 05:21:40 +02:00
const property = this.field.property || 'id';
const value = this.field.value;
2019-07-27 08:10:26 +02:00
if (value) {
2020-04-15 05:21:40 +02:00
this.set('categories', [...value].reduce((result, v) => {
let val = property === 'id' ? Category.findById(v) : Category.findBySlug(v);
if (val) result.push(val);
return result;
}, []));
2019-07-27 08:10:26 +02:00
}
},
2020-04-15 05:21:40 +02:00
2019-07-26 10:59:41 +02:00
@observes('categories')
setValue() {
2020-04-15 05:21:40 +02:00
const categories = (this.categories || []).filter(c => !!c);
const property = this.field.property || 'id';
if (categories.length) {
this.set('field.value', categories.reduce((result, c) => {
if (c && c[property]) {
result.push(c[property])
}
return result;
}, []));
}
2019-07-26 10:59:41 +02:00
}
});