32 lines
852 B
JavaScript
32 lines
852 B
JavaScript
import Controller from '@ember/controller';
|
|
import { inject as service } from '@ember/service';
|
|
import { get } from '@ember/object';
|
|
|
|
export default Controller.extend({
|
|
builder: service('form'),
|
|
dom: service('dom'),
|
|
init: function() {
|
|
this._super(...arguments);
|
|
this.form = get(this, 'builder').form('acl');
|
|
},
|
|
setProperties: function(model) {
|
|
// essentially this replaces the data with changesets
|
|
this._super(
|
|
Object.keys(model).reduce((prev, key, i) => {
|
|
switch (key) {
|
|
case 'item':
|
|
prev[key] = this.form.setData(prev[key]).getData();
|
|
break;
|
|
}
|
|
return prev;
|
|
}, model)
|
|
);
|
|
},
|
|
actions: {
|
|
change: function(e, value, item) {
|
|
const event = get(this, 'dom').normalizeEvent(e, value);
|
|
get(this, 'form').handleEvent(event);
|
|
},
|
|
},
|
|
});
|