Add dialog for hacks without prefs, add prefs save/load
[Hacks.git] / Main.js
diff --git a/Main.js b/Main.js
index 9a0a209..c8a2c19 100644 (file)
--- a/Main.js
+++ b/Main.js
@@ -12,6 +12,9 @@ enyo.kind({
                                {name: "hacksListSelector", kind: "ListSelector", popupAlign: "left", onChange: "selectHack", style: "width: 200px"},
                                {kind: "Spacer"},
                                {name: "notice", className: "notice"}
+                       ]},
+                       {name: "noPrefsDialog", kind: "ModalDialog", caption: "No Preferences", components: [
+                               {kind: "Button", content: "Okay", onclick: "closeNoPrefsDialog"}
                        ]}
                ]},
                {name: "preferencesView", kind: "HackPreferences", onClose: "savePreferences"}
@@ -68,15 +71,15 @@ enyo.kind({
        },
        openPreferences: function() {
                var view = this.$.hacksCarousel.fetchView('center');
-               view.stop();
 
                var meta = view.getPreferencesMetadata();
-               if (meta) {
+               if (meta.length) {
+                       view.stop();
                        var values = view.getPreferences();
                        this.$.preferencesView.load(this.hacksList[this.index].name, meta, values);
                        this.selectView(this.$.preferencesView);
                } else {
-                       alert("No prefs");
+                       this.$.noPrefsDialog.openAtCenter();
                }
        },
        savePreferences: function(inSender, prefs) {
@@ -172,5 +175,8 @@ enyo.kind({
        stopScroll: function(inSender) {
                this.lastScrollPos = this.$.hacksCarousel.scrollLeft;
                this.startHack();
+       },
+       closeNoPrefsDialog: function() {
+               this.$.noPrefsDialog.close();
        }
 });