summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui')
-rw-r--r--public/assets/javascripts/ui/editor/Presets.js29
1 files changed, 23 insertions, 6 deletions
diff --git a/public/assets/javascripts/ui/editor/Presets.js b/public/assets/javascripts/ui/editor/Presets.js
index ac77d6b..1327e03 100644
--- a/public/assets/javascripts/ui/editor/Presets.js
+++ b/public/assets/javascripts/ui/editor/Presets.js
@@ -4,7 +4,6 @@ var Presets = View.extend({
events: {
"mousedown": "stopPropagation",
"click .presets span": "selectPreset",
- "click .swatches span": "selectColor",
},
presets: {
@@ -53,7 +52,9 @@ var Presets = View.extend({
}.bind(this))
},
- modified: false,
+ modified: true,
+ lastPreset: "wireframe",
+
toggle: function(state){
this.$el.toggleClass("active", state)
this.parent.cursor.message(state ? "presets" : "start")
@@ -75,15 +76,31 @@ var Presets = View.extend({
if (! this.presets[preset]) return
this.$(".active").removeClass('active')
$(e.currentTarget).addClass('active')
+ if (this.modified) {
+ UndoStack.push({
+ type: "choose-preset",
+ undo: { walls: Walls.serialize(), colors: Walls.copyColors(Walls.colors) },
+ redo: preset,
+ })
+ Minotaur.watch( app.router.editorView.settings )
+ }
+ else {
+ UndoStack.push({
+ type: "choose-another-preset",
+ undo: this.lastPreset,
+ redo: preset,
+ })
+ Minotaur.watch( app.router.editorView.settings )
+ }
+ this.lastPreset = preset
this.load(this.presets[preset])
this.modified = false
},
- selectColor: function(e){
- var preset = $(e.currentTarget).data('color')
- console.log(preset)
+ loadByName: function(name){
+ var preset = this.presets[name]
+ this.load(preset)
},
-
load: function(preset){
this.parent.colorControl.modes.forEach(function(mode){
var color