diff options
Diffstat (limited to 'public/assets/javascripts/ui')
| -rw-r--r-- | public/assets/javascripts/ui/_router.js (renamed from public/assets/javascripts/ui/SiteRouter.js) | 10 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/editor/EditorToolbar.js | 38 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/reader/ReaderView.js | 28 |
3 files changed, 68 insertions, 8 deletions
diff --git a/public/assets/javascripts/ui/SiteRouter.js b/public/assets/javascripts/ui/_router.js index 3a6b589..6d41d5b 100644 --- a/public/assets/javascripts/ui/SiteRouter.js +++ b/public/assets/javascripts/ui/_router.js @@ -91,8 +91,14 @@ var SiteRouter = Router.extend({ app.mode.editor = true app.launch() - this.editorView = new EditorView() - this.editorView.load(name) + if ($(".aboutRoom").length) { + this.readerView = new ReaderView() + this.readerView.load(name) + } + else { + this.editorView = new EditorView() + this.editorView.load(name) + } }, diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js index c3589db..210ef6c 100644 --- a/public/assets/javascripts/ui/editor/EditorToolbar.js +++ b/public/assets/javascripts/ui/editor/EditorToolbar.js @@ -29,21 +29,46 @@ var EditorToolbar = View.extend({ openMediaViewer: function(){ this.parent.mediaViewer.show() this.parent.mediaUpload.show() + this.resetMode() }, - resizeMedia: function(e){ - var state = editor.permissions.toggle("resize") + resetMode: function(){ + this.resizeMedia(false) + this.destroyMedia(false) + }, + + resetControls: function(){ + this.parent.wallpaperPicker.hide() + this.parent.lightControl.hide() + }, + + resizeMedia: function(e, state){ + 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") - $(e.currentTarget).toggleClass("inuse", state) + $("[data-role='resize-media']").toggleClass("inuse", state) if (state) { Scenery.resize.hide() } }, - destroyMedia: function(e){ - var state = editor.permissions.toggle("destroy") + destroyMedia: function(e, state){ + 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") - $(e.currentTarget).toggleClass("inuse", state) + $("[data-role='destroy-media']").toggleClass("inuse", state) $("body").toggleClass("destroyActive", state) }, @@ -62,6 +87,7 @@ var EditorToolbar = View.extend({ var editor = new function(){ this.permissions = new Permissions({ + 'move': true, 'resize': false, 'destroy': false, }) diff --git a/public/assets/javascripts/ui/reader/ReaderView.js b/public/assets/javascripts/ui/reader/ReaderView.js new file mode 100644 index 0000000..001d097 --- /dev/null +++ b/public/assets/javascripts/ui/reader/ReaderView.js @@ -0,0 +1,28 @@ + +var ReaderView = View.extend({ + el: "#readerView", + + projectAction: "/api/projects/", + + events: { + }, + + initialize: function(){ + }, + + load: function(name){ + name = sanitize(name) + $.get(this.projectAction + name, $.proxy(this.ready, this)) + }, + + ready: function(data){ + $("#map").hide() + + data.rooms && Rooms.deserialize(data.rooms) + data.media && Scenery.deserialize(data.media) + data.startPosition && scene.camera.move(data.startPosition) + + editor.permissions.clear() + } + +}) |
