summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/editor/EditorToolbar.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/editor/EditorToolbar.js')
-rw-r--r--public/assets/javascripts/ui/editor/EditorToolbar.js154
1 files changed, 95 insertions, 59 deletions
diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js
index e91da0f..a5ad2dd 100644
--- a/public/assets/javascripts/ui/editor/EditorToolbar.js
+++ b/public/assets/javascripts/ui/editor/EditorToolbar.js
@@ -3,86 +3,86 @@ 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='resize-media']": 'resizeMedia',
- "click [data-role='destroy-media']": 'destroyMedia',
+ "click [data-role='toggle-presets']": 'togglePresets',
"click [data-role='toggle-wallpaper-panel']": 'toggleWallpaper',
- "click [data-role='toggle-light-control']": 'toggleLightControl',
- "click [data-role='edit-wall-text']": 'editWallText',
+ "click [data-role='toggle-color-control']": 'toggleColorControl',
+ "click [data-role='toggle-text-editor']": 'toggleTextEditor',
},
initialize: function(opt){
this.parent = opt.parent
},
- toggleMap: function(){
- map.toggle()
- // $("#minimap").toggleClass("hide");
+ 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()
- $(".inuse").removeClass("inuse")
- this.parent.lightControl.hide()
+// 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.parent.mediaViewer.show()
- this.parent.mediaUpload.show()
this.resetMode()
this.resetControls()
+ this.toggleMap(false)
+ this.parent.mediaViewer.show()
},
-
+
resetMode: function(){
- this.resizeMedia(false)
- this.destroyMedia(false)
+ $(".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.lightControl.hide()
- },
-
- resizeMedia: function(e, state){
- this.resetControls()
- if (! state && typeof e == "boolean") {
- state = e
- editor.permissions.assign("resize", state)
- }
- else {
- state = editor.permissions.toggle("resize")
- }
- ! state && editor.permissions.assign("move", true)
- $(".inuse").removeClass("inuse")
- $("[data-role='resize-media']").toggleClass("inuse", state)
- if (state) {
- if (this.parent.mediaEditor.scenery) {
- Scenery.resize.show( this.parent.mediaEditor.scenery )
- }
- }
- else {
- Scenery.resize.hide()
- }
+ this.parent.presets.hide()
+ this.parent.colorControl.hide()
+ this.parent.settings.hide()
},
- destroyMedia: function(e, state){
- this.resetControls()
- if (! state && typeof e == "boolean") {
- state = e
- editor.permissions.assign("destroy", state)
- }
- else {
- state = editor.permissions.toggle("destroy")
- }
- ! state && editor.permissions.assign("move", true)
- $(".inuse").removeClass("inuse")
- $("[data-role='destroy-media']").toggleClass("inuse", state)
- $("body").toggleClass("destroyActive", state)
+ resetPermissions: function(){
+ editor.permissions.add("pick")
+ editor.permissions.add("move")
+ editor.permissions.add("resize")
+ editor.permissions.remove("destroy")
},
toggleWallpaper: function(){
@@ -90,31 +90,67 @@ var EditorToolbar = View.extend({
this.resetMode()
$("[data-role='toggle-wallpaper-panel']").toggleClass("inuse", state)
this.parent.mediaEditor.hide()
- this.parent.lightControl.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)
},
- toggleLightControl: function(){
- var state = ! $("[data-role='toggle-light-control']").hasClass("inuse")
+ toggleColorControl: function(){
+ var state = ! $("[data-role='toggle-color-control']").hasClass("inuse")
this.resetMode()
- $("[data-role='toggle-light-control']").toggleClass("inuse", state)
+ $("[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.lightControl.toggle(state)
+ this.parent.presets.hide()
+ this.toggleMap(false)
+ this.parent.colorControl.toggle(state)
},
- editWallText: function(){
- },
+ 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': false,
+ 'resize': true,
'destroy': false,
})
} \ No newline at end of file