var EditorToolbar = View.extend({ el: "#editorToolbar", events: { "mousedown": 'stopPropagation', "mouseenter": 'mouseenter', "mouseleave": 'mouseleave', "click [data-role='undo']": 'undo', "click [data-role='toggle-map-view']": 'toggleMap', "click [data-role='toggle-project-settings']": 'toggleSettings', "click [data-role='open-media-viewer']": 'openMediaViewer', "click [data-role='toggle-presets']": 'togglePresets', "click [data-role='toggle-wallpaper-panel']": 'toggleWallpaper', "click [data-role='toggle-color-control']": 'toggleColorControl', "click [data-role='toggle-text-editor']": 'toggleTextEditor', }, initialize: function(opt){ this.parent = opt.parent }, undo: function(e){ if (e.shiftKey) { var canRedo = UndoStack.redo() console.log("can redo", canRedo) } else { var canUndo = UndoStack.undo() console.log("can undo", canUndo) } }, toggleMap: function(state){ // if (typeof state != "boolean") { // state = ! $("[data-role='toggle-map-view']").hasClass("inuse") // this.resetControls() // } // $("[data-role='toggle-map-view']").toggleClass("inuse", state) var state = map.toggle(state) if (state) { map.ui.blur() } $("#minimap").toggleClass("hide", state) this.parent.info.toggle(state) }, toggleSettings: function(){ // this.resetMode() this.toggleMap(false) this.parent.textEditor.hide() this.parent.presets.hide() this.parent.colorControl.hide() this.parent.wallpaperPicker.hide() this.parent.mediaEditor.hide() this.parent.settings.toggle() }, openMediaViewer: function(){ this.resetMode() this.resetControls() this.toggleMap(false) this.parent.mediaViewer.show() }, resetMode: function(){ $(".inuse").removeClass("inuse") $("body").removeClass("addText") this.parent.hideExtras() this.resetPermissions() }, resetControls: function(){ $(".inuse").removeClass("inuse") this.toggleMap(false) this.parent.textEditor.hide() this.parent.wallpaperPicker.hide() this.parent.presets.hide() this.parent.colorControl.hide() this.parent.settings.hide() }, resetPermissions: function(){ editor.permissions.add("pick") editor.permissions.add("move") editor.permissions.add("resize") editor.permissions.remove("destroy") }, toggleWallpaper: function(){ var state = ! $("[data-role='toggle-wallpaper-panel']").hasClass("inuse") this.resetMode() $("[data-role='toggle-wallpaper-panel']").toggleClass("inuse", state) this.parent.mediaEditor.hide() this.parent.colorControl.hide() this.parent.textEditor.hide() this.parent.settings.hide() this.parent.presets.hide() this.toggleMap(false) this.parent.wallpaperPicker.toggle(state) }, toggleColorControl: function(){ var state = ! $("[data-role='toggle-color-control']").hasClass("inuse") this.resetMode() $("[data-role='toggle-color-control']").toggleClass("inuse", state) this.parent.mediaEditor.hide() this.parent.wallpaperPicker.hide() this.parent.textEditor.hide() this.parent.settings.hide() this.parent.presets.hide() this.toggleMap(false) this.parent.colorControl.toggle(state) }, toggleTextEditor: function(){ var state = ! $("[data-role='toggle-text-editor']").hasClass("inuse") this.resetMode() $("[data-role='toggle-text-editor']").toggleClass("inuse", state) this.parent.mediaEditor.hide() this.parent.wallpaperPicker.hide() this.parent.colorControl.hide() this.parent.settings.hide() this.parent.presets.hide() this.toggleMap(false) this.parent.textEditor.toggle(state) }, togglePresets: function(){ var state = ! $("[data-role='toggle-presets']").hasClass("inuse") this.resetMode() $("[data-role='toggle-presets']").toggleClass("inuse", state) this.parent.mediaEditor.hide() this.parent.wallpaperPicker.hide() this.parent.textEditor.hide() this.parent.settings.hide() this.parent.colorControl.hide() this.toggleMap(false) this.parent.presets.toggle(state) }, mouseenter: function(){ this.parent.cursor.hide() }, mouseleave: function(){ this.parent.cursor.show() }, }) var editor = new function(){ this.permissions = new Permissions({ 'pick': true, 'move': true, 'resize': true, 'destroy': false, }) }