UX: Automatically generate poll name for poll builder.

This commit is contained in:
Guo Xiang Tan 2016-07-05 22:14:59 +08:00
parent 949be591da
commit 3cb8bbb851
4 changed files with 9 additions and 13 deletions

View file

@ -487,6 +487,7 @@ export default Ember.Component.extend({
applySurround: (head, tail, exampleKey) => this._applySurround(selected, head, tail, exampleKey),
applyList: (head, exampleKey) => this._applyList(selected, head, exampleKey),
addText: text => this._addText(selected, text),
getText: () => this.get('value'),
};
if (button.sendAction) {

View file

@ -91,12 +91,17 @@ export default Ember.Controller.extend({
return this._comboboxOptions(1, (parseInt(pollMax) || 1) + 1);
},
@computed("isNumber", "showMinMax", "pollName", "pollType", "publicPoll", "pollOptions", "pollMin", "pollMax", "pollStep")
pollOutput(isNumber, showMinMax, pollName, pollType, publicPoll, pollOptions, pollMin, pollMax, pollStep) {
@computed("isNumber", "showMinMax", "pollType", "publicPoll", "pollOptions", "pollMin", "pollMax", "pollStep")
pollOutput(isNumber, showMinMax, pollType, publicPoll, pollOptions, pollMin, pollMax, pollStep) {
let pollHeader = '[poll';
let output = '';
if (pollName) pollHeader += ` name=${pollName.trim().replace(/\s/g, '-')}`;
const match = this.get("toolbarEvent").getText().match(/\[poll(\s+name=[^\s\]]+)*.*\]/igm);
if (match) {
pollHeader += ` name=poll${match.length + 1}`;
};
if (pollType) pollHeader += ` type=${pollType}`;
if (pollMin && showMinMax) pollHeader += ` min=${pollMin}`;
if (pollMax) pollHeader += ` max=${pollMax}`;
@ -137,8 +142,6 @@ export default Ember.Controller.extend({
_setupPoll() {
this.setProperties({
pollName: '',
pollNamePlaceholder: I18n.t("poll.ui_builder.poll_name.placeholder"),
pollType: null,
publicPoll: false,
pollOptions: '',

View file

@ -1,10 +1,5 @@
<div class="modal-body poll-ui-builder">
<form class="poll-ui-builder-form form-horizontal">
<div class="input-group">
<label class="input-group-label">{{i18n 'poll.ui_builder.poll_name.label'}}</label>
{{input name="poll-name" value=pollName placeholder=pollNamePlaceholder}}
</div>
<div class="input-group">
<label class="input-group-label">{{i18n 'poll.ui_builder.poll_type.label'}}</label>
{{combo-box content=pollTypes

View file

@ -74,9 +74,6 @@ en:
insert: Insert Poll
help:
options_count: Enter at least 2 options
poll_name:
label: Name
placeholder: Enter Name
poll_type:
label: Type
regular: Single Choice