FIX: adds support for name changes tracking

This commit is contained in:
Joffrey JAFFEUX 2017-11-22 13:49:45 +01:00 committed by GitHub
parent 86b8f6b238
commit b14d9529b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 0 deletions

View File

@ -60,6 +60,7 @@ export default Ember.Component.extend(UtilsMixin, PluginApiMixin, DomHelpersMixi
content: null,
computedContent: null,
limitMatches: 100,
nameChanges: false,
init() {
this._super();
@ -74,6 +75,14 @@ export default Ember.Component.extend(UtilsMixin, PluginApiMixin, DomHelpersMixi
if ((this.site && this.site.isMobileDevice) || $(window).outerWidth(false) <= 420) {
this.setProperties({ filterable: false, autoFilterable: false });
}
if (this.get("nameChanges")) {
this.addObserver(`content.@each.${this.get("nameProperty")}`, this, this._compute);
}
},
willDestroyElement() {
this.removeObserver(`content.@each.${this.get("nameProperty")}`, this, this._compute);
},
willComputeAttributes() {},

View File

@ -398,3 +398,28 @@ componentTest('support modifying on select behavior through plugin api', {
andThen(() => clearCallbacks());
}
});
componentTest('with nameChanges', {
template: '{{single-select content=content nameChanges=true}}',
beforeEach() {
this.set("robin", { id: "1", name: "robin"});
this.set("content", [this.get("robin")]);
},
test(assert) {
expandSelectKit();
andThen(() => {
assert.equal(selectKit().header.name(), "robin");
});
andThen(() => {
this.set("robin.name", "robin2");
});
andThen(() => {
assert.equal(selectKit().header.name(), "robin2");
});
}
});