From e6833eca6a133d3fb678f5f24b1a15bc226802d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20G=C3=A4rtner?= <andreas.gaertner@mni.thm.de> Date: Mon, 26 Sep 2016 19:30:33 +0200 Subject: [PATCH] Add questionDetailsPanel ui changes for flashcard variant --- .../webapp/app/view/QuestionStatusButton.js | 17 ++++++++-- .../app/view/speaker/QuestionDetailsPanel.js | 31 ++++++++++++++++--- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/main/webapp/app/view/QuestionStatusButton.js b/src/main/webapp/app/view/QuestionStatusButton.js index 2ed2c1785..6ef56ec99 100644 --- a/src/main/webapp/app/view/QuestionStatusButton.js +++ b/src/main/webapp/app/view/QuestionStatusButton.js @@ -27,6 +27,11 @@ Ext.define('ARSnova.view.QuestionStatusButton', { }, slideWording: { release: Messages.RELEASE_SLIDE + }, + flashcardWording: { + release: Messages.RELEASE_FLASHCARD, + confirm: Messages.CONFIRM_CLOSE_FLASHCARD, + confirmMessage: Messages.CONFIRM_CLOSE_FLASHCARD_MESSAGE } }, @@ -43,8 +48,16 @@ Ext.define('ARSnova.view.QuestionStatusButton', { this.parentPanel = args.parentPanel; this.isOpen = this.questionObj && this.questionObj.active; - var label = this.questionObj && this.questionObj.questionType === 'slide' ? - this.getSlideWording().release : this.getWording().release; + var label = this.getWording().release; + + if (this.questionObj) { + if (this.questionObj.questionType === 'slide') { + label = this.getSlideWording().release; + } else if (this.questionObj.questionType === 'flashcard') { + label = this.getFlashcardWording().release; + this.setWording(this.getFlashcardWording()); + } + } this.button = Ext.create('ARSnova.view.MatrixButton', { buttonConfig: 'togglefield', diff --git a/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js b/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js index 68b3e06a5..30464927d 100644 --- a/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js +++ b/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js @@ -539,6 +539,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { field.setDisabled(false); break; case Messages.QUESTION: + case Messages.FLASHCARD_FRONT_PAGE: field.setDisabled(false); break; case Messages.DURATION: @@ -561,6 +562,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { field.setDisabled(true); break; case Messages.QUESTION: + case Messages.FLASHCARD_FRONT_PAGE: field.setDisabled(true); break; case Messages.DURATION: @@ -585,7 +587,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { }); this.toolbar = Ext.create('Ext.Toolbar', { - title: this.isSlide ? Messages.SLIDE : this.getType() + '-' + Messages.QUESTION, + title: this.getType() + '-' + Messages.QUESTION, cls: 'speakerTitleText', docked: 'top', ui: 'light', @@ -609,7 +611,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { this.releaseStatisticButton = Ext.create('ARSnova.view.MatrixButton', { buttonConfig: 'togglefield', cls: actionButtonCls, - text: this.isSlide ? Messages.RELEASE_COMMENTS : Messages.RELEASE_STATISTIC, + text: Messages.RELEASE_STATISTIC, toggleConfig: { scope: this, label: false, @@ -698,7 +700,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { hidden: this.isFlashcard, buttonConfig: 'icon', cls: actionButtonCls, - text: this.isSlide ? Messages.DELETE_COMMENTS : Messages.DELETE_ANSWERS, + text: Messages.DELETE_ANSWERS, imageCls: 'icon-close warningIconColor', scope: this, handler: function () { @@ -720,7 +722,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { }); this.statisticButton = Ext.create('ARSnova.view.MatrixButton', { - text: this.isSlide ? Messages.SHOW_COMMENTS : Messages.SHOW_STATISTIC, + text: Messages.SHOW_STATISTIC, buttonConfig: 'icon', imageCls: this.questionObj.questionType === 'slide' ? 'icon-comment' : 'icon-chart', cls: actionButtonCls, @@ -735,7 +737,7 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { xtype: 'button', cls: actionButtonCls, buttonConfig: 'icon', - text: this.isSlide ? Messages.DELETE_SLIDE : Messages.DELETE_QUESTION, + text: Messages.DELETE_QUESTION, imageCls: 'icon-close', scope: this, handler: function () { @@ -1046,12 +1048,15 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { this.possibleAnswers = {}; if (this.questionObj.questionType === 'flashcard') { + this.textarea.setLabel(Messages.FLASHCARD_FRONT_PAGE); this.answerListPanel = Ext.create('ARSnova.view.MathJaxMarkDownPanel', { style: 'word-wrap: break-word;', cls: '' }); } + this.applyUIChanges(); + /* END QUESTION DETAILS */ this.add([ @@ -1558,5 +1563,21 @@ Ext.define('ARSnova.view.speaker.QuestionDetailsPanel', { this.grid.setEditable(false); this.grid.setGridIsHidden(true); } + }, + + applyUIChanges: function () { + if (this.isSlide) { + this.toolbar.setTitle(Messages.SLIDE); + this.statisticButton.setButtonText(Messages.SHOW_COMMENTS); + this.deleteAnswersButton.setButtonText(Messages.DELETE_COMMENTS); + this.deleteQuestionButton.setButtonText(Messages.DELETE_SLIDE); + this.releaseStatisticButton.setButtonText(Messages.RELEASE_COMMENTS); + } + + if (this.isFlashcard) { + this.toolbar.setTitle(Messages.FLASHCARD); + this.deleteQuestionButton.setButtonText(Messages.DELETE_FLASHCARD); + this.deleteAnswersButton.setButtonText(Messages.DELETE_FLASHCARD_VIEWS); + } } }); -- GitLab