FIX: Use internal value for poll builder.

This commit is contained in:
Guo Xiang Tan 2016-06-20 12:40:24 +08:00
parent 3d0be0d47c
commit 01c563ca85
No known key found for this signature in database
GPG Key ID: 19C321C8952B0F72
2 changed files with 20 additions and 15 deletions

View File

@ -2,27 +2,32 @@ import { default as computed, observes } from 'ember-addons/ember-computed-decor
export default Ember.Controller.extend({ export default Ember.Controller.extend({
needs: ['modal'], needs: ['modal'],
numberPollType: 'number',
multiplePollType: 'multiple',
init() { init() {
this._super(); this._super();
this._setupPoll(); this._setupPoll();
}, },
@computed @computed("numberPollType", "multiplePollType")
pollTypes() { pollTypes(numberPollType, multiplePollType) {
return [I18n.t("poll.ui_builder.poll_type.number"), I18n.t("poll.ui_builder.poll_type.multiple")].map(type => { let types = [];
return { name: type, value: type };
}); types.push({ name: I18n.t("poll.ui_builder.poll_type.number"), value: numberPollType });
types.push({ name: I18n.t("poll.ui_builder.poll_type.multiple"), value: multiplePollType });
return types;
}, },
@computed("pollType", "pollOptionsCount") @computed("pollType", "pollOptionsCount", "multiplePollType")
isMultiple(pollType, count) { isMultiple(pollType, count, multiplePollType) {
return (pollType === I18n.t("poll.ui_builder.poll_type.multiple")) && count > 0; return (pollType === multiplePollType) && count > 0;
}, },
@computed("pollType") @computed("pollType", "numberPollType")
isNumber(pollType) { isNumber(pollType, numberPollType) {
return pollType === I18n.t("poll.ui_builder.poll_type.number"); return pollType === numberPollType;
}, },
@computed("isNumber", "isMultiple") @computed("isNumber", "isMultiple")

View File

@ -6,7 +6,7 @@ test("isMultiple", function() {
const controller = this.subject(); const controller = this.subject();
controller.setProperties({ controller.setProperties({
pollType: I18n.t("poll.ui_builder.poll_type.multiple"), pollType: controller.get("multiplePollType"),
pollOptionsCount: 1 pollOptionsCount: 1
}); });
@ -29,7 +29,7 @@ test("isNumber", function() {
equal(controller.get("isNumber"), false, "it should be false"); equal(controller.get("isNumber"), false, "it should be false");
controller.set("pollType", I18n.t("poll.ui_builder.poll_type.number")); controller.set("pollType", controller.get("numberPollType"));
equal(controller.get("isNumber"), true, "it should be true"); equal(controller.get("isNumber"), true, "it should be true");
}); });
@ -159,7 +159,7 @@ test("number pollOutput", function() {
controller.setProperties({ controller.setProperties({
isNumber: true, isNumber: true,
pollType: I18n.t("poll.ui_builder.poll_type.number"), pollType: controller.get("numberPollType"),
pollMin: 1 pollMin: 1
}); });
@ -208,7 +208,7 @@ test("multiple pollOutput", function() {
controller.setProperties({ controller.setProperties({
isMultiple: true, isMultiple: true,
pollType: I18n.t("poll.ui_builder.poll_type.multiple"), pollType: controller.get("multiplePollType"),
pollMin: 1, pollMin: 1,
pollOptions: "1\n2" pollOptions: "1\n2"
}); });