Skip to content

Commit a639e44

Browse files
committed
FEATURE: Add JSONifying list data for multiselect
1 parent 1967d30 commit a639e44

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

assets/javascripts/discourse/pre-initializers/add-dropdown-type.js.es6

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import UserField from "admin/models/user-field";
2+
import { withPluginApi } from 'discourse/lib/plugin-api';
23
import { i18n } from "discourse/lib/computed";
4+
import { observes, on } from "ember-addons/ember-computed-decorators";
35

46
const UserFieldType = Ember.Object.extend({
57
name: i18n("id", "admin.user_fields.field_types.%@")
@@ -23,5 +25,23 @@ export default{
2325
return this._fieldTypes;
2426
},
2527
});
28+
29+
withPluginApi('0.8.12', api => {
30+
api.modifyClass('component:user-field',{
31+
values: [],
32+
33+
@on("init")
34+
init_values(){
35+
if (this.field.field_type == "multiselect-dropdown" && this.get("value")) {
36+
this.set("values", JSON.parse(this.get("value")));
37+
}
38+
},
39+
40+
@observes("values")
41+
setValue(){
42+
this.set("value", JSON.stringify(this.get("values")));
43+
},
44+
});
45+
});
2646
}
2747
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<label class="control-label" for="{{concat 'user-' elementId}}">{{{field.name}}}</label>
22
<div class='controls'>
3-
{{multi-select id=(concat 'user-' elementId) content=field.options value=value none=noneLabel}}
3+
{{multi-select id=(concat 'user-' elementId) content=field.options values=values none=noneLabel}}
4+
45
{{#if field.required}}<span class='required'>*</span>{{/if}}
56
<div class="instructions">{{{field.description}}}</div>
67
</div>

0 commit comments

Comments
 (0)