From a61602ba2a76fa23c816454a8bd5e24c12d6899c Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 20 Jun 2014 18:15:41 -0400 Subject: layouts toolbar toggles working --- .../javascripts/rectangles/engine/map/ui_editor.js | 18 ++++++++++++++--- .../javascripts/rectangles/engine/rooms/_rooms.js | 1 + .../javascripts/ui/builder/BuilderToolbar.js | 23 +++++++++++++++++----- .../assets/javascripts/ui/editor/EditorToolbar.js | 8 ++++---- 4 files changed, 38 insertions(+), 12 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/engine/map/ui_editor.js b/public/assets/javascripts/rectangles/engine/map/ui_editor.js index 262272b..ea7a356 100644 --- a/public/assets/javascripts/rectangles/engine/map/ui_editor.js +++ b/public/assets/javascripts/rectangles/engine/map/ui_editor.js @@ -20,6 +20,13 @@ Map.UI.Editor = function(map){ update: mousewheel, }) + base.permissions = new Permissions({ + create: true, + move: true, + resize: true, + destroy: false, + }) + // function down (e, cursor){ @@ -43,12 +50,17 @@ Map.UI.Editor = function(map){ return r.focused = r.rect.contains(cursor.x.a, cursor.y.a) }) - if (intersects.length) { + if (intersects.length && base.permissions.destroy) { + base.mouse.down = false + Rooms.remove(intersects[0]) + return + } + else if (intersects.length && (base.permissions.move || base.permissions.resize)) { base.dragging = intersects[0] - base.resizing = base.dragging.rect.nearEdge(cursor.x.a, cursor.y.a, resize_margin / map.zoom) + base.resizing = base.permissions.resize && base.dragging.rect.nearEdge(cursor.x.a, cursor.y.a, resize_margin / map.zoom) base.dragging.rect.translation.sides = base.resizing } - else { + else if (base.permissions.create) { base.creating = true } diff --git a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js index 0186e9a..48931e9 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js +++ b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js @@ -30,6 +30,7 @@ var Rooms = new function(){ base.remove = function(room){ delete base.list[room.id] + Rooms.clipper.update() } base.removeAll = function(){ diff --git a/public/assets/javascripts/ui/builder/BuilderToolbar.js b/public/assets/javascripts/ui/builder/BuilderToolbar.js index 4ca2e6c..df98ab0 100644 --- a/public/assets/javascripts/ui/builder/BuilderToolbar.js +++ b/public/assets/javascripts/ui/builder/BuilderToolbar.js @@ -6,7 +6,7 @@ var BuilderToolbar = View.extend({ "click [data-role='toggle-map-view']": 'toggleMap', "click [data-role='toggle-layout-settings']": 'toggleSettings', "click [data-role='undo']": 'undo', - "click [data-role='draw-mode']": 'draw', + "click [data-role='create-mode']": 'create', "click [data-role='resize-mode']": 'resize', "click [data-role='move-mode']": 'move', "click [data-role='destroy-mode']": 'destroy', @@ -14,6 +14,7 @@ var BuilderToolbar = View.extend({ initialize: function(opt){ this.parent = opt.parent + map.ui.permissions.toggle() }, toggleMap: function(){ @@ -27,16 +28,28 @@ var BuilderToolbar = View.extend({ undo: function(){ }, - draw: function(){ + create: function(e){ + var state = map.ui.permissions.toggle("create") + $(".inuse").removeClass("inuse") + $(e.currentTarget).toggleClass("inuse", state) }, - resize: function(){ + resize: function(e){ + var state = map.ui.permissions.toggle("resize") + $(".inuse").removeClass("inuse") + $(e.currentTarget).toggleClass("inuse", state) }, - move: function(){ + move: function(e){ + var state = map.ui.permissions.toggle("move") + $(".inuse").removeClass("inuse") + $(e.currentTarget).toggleClass("inuse", state) }, - destroy: function(){ + destroy: function(e){ + var state = map.ui.permissions.toggle("destroy") + $(".inuse").removeClass("inuse") + $(e.currentTarget).toggleClass("inuse", state) }, }) diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js index d5d3c4e..c3589db 100644 --- a/public/assets/javascripts/ui/editor/EditorToolbar.js +++ b/public/assets/javascripts/ui/editor/EditorToolbar.js @@ -31,19 +31,19 @@ var EditorToolbar = View.extend({ this.parent.mediaUpload.show() }, - resizeMedia: function(){ + resizeMedia: function(e){ var state = editor.permissions.toggle("resize") $(".inuse").removeClass("inuse") - $("[data-role='resize-media']").toggleClass("inuse", state) + $(e.currentTarget).toggleClass("inuse", state) if (state) { Scenery.resize.hide() } }, - destroyMedia: function(){ + destroyMedia: function(e){ var state = editor.permissions.toggle("destroy") $(".inuse").removeClass("inuse") - $("[data-role='destroy-media']").toggleClass("inuse", state) + $(e.currentTarget).toggleClass("inuse", state) $("body").toggleClass("destroyActive", state) }, -- cgit v1.2.3-70-g09d2