diff --git a/step-web/src/main/webapp/js/backbone/views/view_display_passage.js b/step-web/src/main/webapp/js/backbone/views/view_display_passage.js
index 6d76e5d4b..3cc121e23 100644
--- a/step-web/src/main/webapp/js/backbone/views/view_display_passage.js
+++ b/step-web/src/main/webapp/js/backbone/views/view_display_passage.js
@@ -117,6 +117,7 @@ var PassageDisplayView = DisplayView.extend({
this._doVerseNumbers(passageId, passageHtml, options, interlinearMode, version);
this._doHideEmptyNotesPane(passageHtml);
this._adjustTextAlignment(passageHtml);
+ step.util.restoreReaderMode(this.model, passageHtml);
step.util.restoreFontSize(this.model, passageHtml);
this._addStrongHandlers(passageId, passageHtml);
this._doDuplicateNotice(passageId, passageHtml);
diff --git a/step-web/src/main/webapp/js/backbone/views/view_display_search.js b/step-web/src/main/webapp/js/backbone/views/view_display_search.js
index eb562a2ec..18e67aef8 100644
--- a/step-web/src/main/webapp/js/backbone/views/view_display_search.js
+++ b/step-web/src/main/webapp/js/backbone/views/view_display_search.js
@@ -136,6 +136,7 @@ var SearchDisplayView = DisplayView.extend({
var passageId = this.model.get("passageId");
step.util.restoreFontSize(this.model, results.find(".passageContentHolder"));
+ step.util.restoreReaderMode(this.model, results.find(".passageContentHolder"));
if (append) {
//already appended?
diff --git a/step-web/src/main/webapp/js/backbone/views/view_menu_passage.js b/step-web/src/main/webapp/js/backbone/views/view_menu_passage.js
index c64a4bd66..9385c9686 100644
--- a/step-web/src/main/webapp/js/backbone/views/view_menu_passage.js
+++ b/step-web/src/main/webapp/js/backbone/views/view_menu_passage.js
@@ -18,6 +18,7 @@ var PassageMenuView = Backbone.View.extend({
fontButtons: '
<%= __s.font_sizes %> btn-group">' +
'',
+ readerMode: 'Reader Mode">', // FIXME: Translate
quickLexicon: '<%= __s.quick_lexicon %>">',
similarWord: '<%= __s.similar_word %>">',
// enWithEsLexicon: '<%= __s.en_with_es_lexicon %>">',
@@ -434,6 +435,23 @@ var PassageMenuView = Backbone.View.extend({
});
//create menu options
+ var currentReaderModeSetting = self.model.get("isReaderMode");
+ if (currentReaderModeSetting == null) {
+ this.model.save({isReaderMode: false});
+ currentReaderModeSetting = false;
+ }
+ dropdown.append($(_.template(this.readerMode)({isReaderMode: currentReaderModeSetting})).click(function (e) {
+ //prevent the bubbling up
+ e.stopPropagation();
+
+ //set the setting
+ var readerMode = !self.model.get("isReaderMode");
+ self.model.save({isReaderMode: readerMode});
+ step.util.changeSpecificReaderMode(readerMode, self.model.get("passageId"));
+
+ //toggle the tick
+ self._setVisible(this, readerMode);
+ }));
var currentQuickLexiconSetting = self.model.get("isQuickLexicon");
if (currentQuickLexiconSetting == null) {
this.model.save({isQuickLexicon: true});
diff --git a/step-web/src/main/webapp/js/step.util.js b/step-web/src/main/webapp/js/step.util.js
index 055a64cb8..e961673b7 100644
--- a/step-web/src/main/webapp/js/step.util.js
+++ b/step-web/src/main/webapp/js/step.util.js
@@ -909,6 +909,15 @@ step.util = {
// getMainLanguage: function (passageModel) {
// return (passageModel.get("languageCode") || ["en"])[0];
// },
+ restoreReaderMode: function (passageModel, element) {
+ var passageId = passageModel.get("passageId");
+ var passageModel = step.passages.findWhere({ passageId: passageId});
+ if (passageModel.get("isReaderMode")) {
+ element.each(function (e, el) {
+ el.style.setProperty("--clrStrongText", "var(--clrText)");
+ });
+ }
+ },
restoreFontSize: function (passageModel, element) {
var fontArray = ["defaultfont", "hbFont", "unicodeFont", "arabicFont", "burmeseFont", "chineseFont", "copticFont", "farsiFont", "khmerFont", "syriacFont"];
var passageId = passageModel.get("passageId");
@@ -940,6 +949,22 @@ step.util = {
}
}
},
+ changeSpecificReaderMode: function(enabled, panelNumber) {
+ if (typeof panelNumber === "number") {
+ var passageModel = step.passages.findWhere({ passageId: panelNumber});
+ panelId = passageModel.attributes.id;
+ elements = $(".passageContentHolder", step.util.getPassageContainer(panelNumber));
+ }
+ else elements = $(".passageContentHolder", step.util.getPassageContainer(".passageOptionsGroup"));
+ for (var i = 0; i < elements.length; i++) {
+ var element = elements[i];
+ if (enabled) {
+ element.style.setProperty("--clrStrongText", "var(--clrText)")
+ } else {
+ element.style.removeProperty("--clrStrongText");
+ }
+ }
+ },
changeSpecificFontSize: function (fontName, increment, panelNumber) {
var key = fontName;
var currentFontSize = 0;
diff --git a/step-web/src/main/webapp/js/step_ready.js b/step-web/src/main/webapp/js/step_ready.js
index 3f7a7c8cb..570d3bdf8 100644
--- a/step-web/src/main/webapp/js/step_ready.js
+++ b/step-web/src/main/webapp/js/step_ready.js
@@ -370,6 +370,7 @@
modelZero.save(window.tempModel, {silent: true});
modelZero.save({
+ isReaderMode: likelyPreviousPassage ? likelyPreviousPassage.get("isReaderMode") : false,
isQuickLexicon: likelyPreviousPassage ? likelyPreviousPassage.get("isQuickLexicon") : true,
isSimilarWord: likelyPreviousPassage ? likelyPreviousPassage.get("isSimilarWord") : true,
// isEnWithEsLexicon: likelyPreviousPassage ? likelyPreviousPassage.get("isEnWithZhLexicon") : true,