discourse/app/assets/javascripts/select-kit/components/admin-group-selector.js.es6

35 lines
873 B
JavaScript

import MultiSelectComponent from "select-kit/components/multi-select";
import discourseComputed from "discourse-common/utils/decorators";
const { makeArray } = Ember;
export default MultiSelectComponent.extend({
pluginApiIdentifiers: ["admin-group-selector"],
classNames: "admin-group-selector",
selected: null,
available: null,
allowAny: false,
buffer: null,
@discourseComputed("buffer")
values(buffer) {
return buffer === null
? makeArray(this.selected).map(s => this.valueForContentItem(s))
: buffer;
},
computeContent() {
return makeArray(this.available);
},
computeContentItem(contentItem, name) {
let computedContentItem = this._super(contentItem, name);
computedContentItem.locked = contentItem.automatic;
return computedContentItem;
},
mutateValues(values) {
this.set("buffer", values);
}
});