enyo.kind({ name: "biblez.settings", kind: "enyo.FittableRows", fit: true, events: { onBack: "", onChange: "" }, components: [ {name: "messagePopup", kind: "onyx.Popup", scrim: true, centered: true, floating: true, classes: "message-popup"}, {kind: "onyx.MoreToolbar", components: [ {kind: "onyx.IconButton", src: "assets/back.png", ontap: "handleBack"}, {content: $L("Preferences")}, ]}, {kind: "enyo.Scroller", touch: true, fit: true, components: [ {classes: "settings-container", components: [ {name: "container", kind: "onyx.Groupbox", components: [ {kind: "onyx.GroupboxHeader", content: $L("General")}, {kind: "enyo.FittableColumns", classes: "settings-row", components: [ {content: $L("Enable Linebreak"), classes: "settings-item", fit: true}, {name: "tbLinebreak", key: "linebreak", kind: "onyx.ToggleButton", onChange: "handleSettings"} ]}, {kind: "enyo.FittableColumns", classes: "settings-row", components: [ {content: $L("Enable Headings"), classes: "settings-item", fit: true}, {name: "tbHeadings", key: "headings", kind: "onyx.ToggleButton", onChange: "handleSettings"} ]}, {kind: "enyo.FittableColumns", classes: "settings-row", components: [ {content: $L("Enable Footnotes"), classes: "settings-item", fit: true}, {name: "tbFootnote", key: "footnotes", kind: "onyx.ToggleButton", onChange: "handleSettings"} ]}, {kind: "enyo.FittableColumns", classes: "settings-row", components: [ {content: $L("Enable Cross-References"), classes: "settings-item", fit: true}, {name: "tbCrossRef", key: "crossReferences", kind: "onyx.ToggleButton", onChange: "handleSettings"} ]}, {kind: "enyo.FittableColumns", classes: "settings-row", components: [ {content: $L("Enable Words of Christ in Red"), classes: "settings-item", fit: true}, {name: "tbWoc", key: "woc", kind: "onyx.ToggleButton", onChange: "handleSettings"} ]}, {kind: "enyo.FittableColumns", classes: "settings-row", components: [ {content: $L("Enable Introductions"), classes: "settings-item", fit: true}, {name: "tbIntro", key: "introductions", kind: "onyx.ToggleButton", onChange: "handleSettings"} ]} ]}, /*{tag: "br"}, {kind: "onyx.Groupbox", components: [ {kind: "onyx.GroupboxHeader", content: $L("Be careful!")}, {kind: "enyo.FittableRows", classes: "settings-row", components: [ {kind: "onyx.Button", content: "Delete all modules!", classes: "onyx-negative", style: "margin: 3px;", ontap: "deleteModules"}, {kind: "onyx.Button", content: "Delete all app data!", classes: "onyx-negative", style: "margin: 3px;", ontap: "deleteDatabases"} ]} ]}*/ ]} ]} ], changed: false, rendered: function () { this.inherited(arguments); this.$.container.resized(); }, handleBack: function() { if (this.changed) this.doChange(); this.doBack(); }, setSettings: function () { api.get("settings", enyo.bind(this, function(inError, inSettings) { if(!inError) { if(inSettings) { this.$.tbLinebreak.value = inSettings.hasOwnProperty("linebreak") ? inSettings.linebreak : false; this.$.tbLinebreak.updateVisualState(); this.$.tbHeadings.value = inSettings.hasOwnProperty("headings") ? inSettings.headings : true; this.$.tbHeadings.updateVisualState(); this.$.tbFootnote.value = inSettings.hasOwnProperty("footnotes") ? inSettings.footnotes : false; this.$.tbFootnote.updateVisualState(); this.$.tbCrossRef.value = inSettings.hasOwnProperty("crossReferences") ? inSettings.crossReferences : false; this.$.tbCrossRef.updateVisualState(); this.$.tbIntro.value = inSettings.hasOwnProperty("introductions") ? inSettings.introductions : false; this.$.tbIntro.updateVisualState(); this.$.tbWoc.value = inSettings.hasOwnProperty("woc") ? inSettings.woc : false; this.$.tbWoc.updateVisualState(); } } })); }, handleSettings: function (inSender, inEvent) { api.putSetting(inSender.key, inSender.getValue(), enyo.bind(this, function (inError, inId) { if(!inError) this.changed = true; //this.doChange({setting: inSender.key, value: inSender.getValue()}); })); return true; }, deleteModules: function () { sword.dataMgr.clearDatabase(); }, deleteDatabases: function () { api.deleteDatabases(); }, handleError: function (inMessage) { if (inMessage.message) inMessage = inMessage.message; this.$.messagePopup.setContent(inMessage); this.$.messagePopup.show(); } });