Clean up preferences style, add prefs reset
},
components: [
{kind: "Header", content: "Preferences"},
- {kind: "Scroller", flex: 1, horizontal: false, components: [
- {kind: "VFlexBox", align: "center", components: [
- {kind: "RowGroup", name: "prefsContainer", style: "width: 750px"}
+ {kind: "Scroller", flex: 1, components: [
+ {kind: "Control", className: "prefs-center", components: [
+ {kind: "RowGroup", name: "prefsContainer"},
+ {kind: "HFlexBox", pack: "center", components: [
+ {kind: "Button", className: "enyo-button-negative prefs-done-button", caption: "Reset to Defaults", onclick: "resetToDefaults"}
+ ]}
]}
]},
{kind: "Toolbar", className: "enyo-toolbar-light", components: [
case 'Slider':
c = this.$.prefsContainer.createComponent({kind: "HFlexBox", align: "center", components: [{content: p.label, flex: 1}]});
var slider = c.createComponent(p, {owner: this.$.prefsContainer});
- slider.setStyle('width: 400px');
slider.setPosition(values[p.name]);
break;
default:
}
this.doClose(o);
+ this.cleanup();
+ },
+ resetToDefaults: function() {
+ this.doClose(null);
+ this.cleanup();
+ },
+ cleanup: function() {
var controls = this.$.prefsContainer.getControls();
for (var i = 0; i < controls.length; i++) {
// We destroy the parent because we want to destroy the
.prefs-done-button {
width: 300px;
}
+
+.prefs-center {
+ width: 500px;
+ margin: 23px auto 0 auto;
+}
+
+.prefs-center .enyo-slider {
+ width: 300px;
+}
}
},
savePreferences: function(inSender, prefs) {
- enyo.log("Saving prefs: " + JSON.stringify(prefs));
- this.back();
var view = this.$.hacksCarousel.fetchView('center');
- view.setPreferences(prefs);
- view.start();
+ if (prefs == null) {
+ enyo.log("Clearing prefs");
+ view.resetPreferences(prefs);
+ this.selectHack(this, this.index);
+ } else {
+ enyo.log("Saving prefs: " + JSON.stringify(prefs));
+ view.setPreferences(prefs);
+ view.start();
+ }
+ this.back();
},
windowActivated: function() {
this.startHack();
windowDeactivated: function() {
this.stopHack();
},
- selectHack: function(inSender, inValue, inOldValue) {
+ selectHack: function(inSender, inValue) {
this.stopHack();
this.index = inValue;
this.lastScrollPos = 0;
enyo.log("Could not save prefs: " + e.toString());
}
},
+ resetPreferences: function() {
+ delete localStorage['hacks/' + this.kind];
+ },
preferencesChanged: function() { }
});