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/_router.js22
-rw-r--r--public/assets/javascripts/ui/editor/EditorSettings.js2
-rw-r--r--public/assets/javascripts/ui/editor/EditorToolbar.js15
-rw-r--r--public/assets/javascripts/ui/editor/LightControl.js10
-rw-r--r--public/assets/javascripts/ui/editor/WallpaperPicker.js10
-rw-r--r--public/assets/javascripts/ui/lib/Router.js21
-rw-r--r--public/assets/javascripts/ui/site/LayoutsModal.js8
7 files changed, 61 insertions, 27 deletions
diff --git a/public/assets/javascripts/ui/_router.js b/public/assets/javascripts/ui/_router.js
index 4ff3581..d07810e 100644
--- a/public/assets/javascripts/ui/_router.js
+++ b/public/assets/javascripts/ui/_router.js
@@ -36,11 +36,18 @@ var SiteRouter = Router.extend({
"/project": 'projectPicker',
"/project/new": 'newProject',
"/project/new/:layout": 'projectNewWithLayout',
- "/project/:name": 'project',
+ "/project/:name": 'projectViewer',
+ "/project/:name/edit": 'projectEditor',
"/project/:name/view": 'projectViewer',
"/test/wallpaper": 'testWallpaper',
},
+
+ mobileRoutes: {
+ "/": 'home',
+ "/profile": 'profile',
+ "/project/:name": 'projectViewer',
+ },
initialize: function(){
this.signUpModal = new SignUpModal()
@@ -56,6 +63,11 @@ var SiteRouter = Router.extend({
this.route()
+ if (is_mobile) {
+ $(".topLinks").hide()
+ $(".share").hide()
+ }
+
$("body").removeClass("loading")
},
@@ -123,14 +135,6 @@ var SiteRouter = Router.extend({
this.readerView.load(name)
},
-/*
- editProject: function(e){
- e && e.preventDefault()
- window.history.pushState(null, document.title, "/project/edit")
- this.editProjectModal.load()
- },
-*/
-
signup: function(e){
e && e.preventDefault()
window.history.pushState(null, document.title, "/signup")
diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js
index 13a6f60..d6a79fb 100644
--- a/public/assets/javascripts/ui/editor/EditorSettings.js
+++ b/public/assets/javascripts/ui/editor/EditorSettings.js
@@ -130,7 +130,7 @@ var EditorSettings = FormView.extend({
this.$name.val(data.name)
this.action = this.updateAction
- window.history.pushState(null, document.title, "/project/" + data.slug)
+ window.history.pushState(null, document.title, "/project/" + data.slug + "/edit")
},
})
diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js
index a3abc5a..5e0da7e 100644
--- a/public/assets/javascripts/ui/editor/EditorToolbar.js
+++ b/public/assets/javascripts/ui/editor/EditorToolbar.js
@@ -30,6 +30,7 @@ var EditorToolbar = View.extend({
this.parent.mediaViewer.show()
this.parent.mediaUpload.show()
this.resetMode()
+ this.resetControls()
},
resetMode: function(){
@@ -43,6 +44,7 @@ var EditorToolbar = View.extend({
},
resizeMedia: function(e, state){
+ this.resetControls()
if (! state && typeof e == "boolean") {
state = e
editor.permissions.assign("resize", state)
@@ -59,6 +61,7 @@ var EditorToolbar = View.extend({
},
destroyMedia: function(e, state){
+ this.resetControls()
if (! state && typeof e == "boolean") {
state = e
editor.permissions.assign("destroy", state)
@@ -73,11 +76,19 @@ var EditorToolbar = View.extend({
},
toggleWallpaper: function(){
- this.parent.wallpaperPicker.toggle()
+ var state = ! $("[data-role='toggle-wallpaper-panel']").hasClass("inuse")
+ this.resetMode()
+ $("[data-role='toggle-wallpaper-panel']").toggleClass("inuse", state)
+ this.parent.lightControl.hide()
+ this.parent.wallpaperPicker.toggle(state)
},
toggleLightControl: function(){
- this.parent.lightControl.toggle()
+ var state = ! $("[data-role='toggle-light-control']").hasClass("inuse")
+ this.resetMode()
+ $("[data-role='toggle-light-control']").toggleClass("inuse", state)
+ this.parent.wallpaperPicker.hide()
+ this.parent.lightControl.toggle(state)
},
editWallText: function(){
diff --git a/public/assets/javascripts/ui/editor/LightControl.js b/public/assets/javascripts/ui/editor/LightControl.js
index 93d97ed..c3e80c2 100644
--- a/public/assets/javascripts/ui/editor/LightControl.js
+++ b/public/assets/javascripts/ui/editor/LightControl.js
@@ -6,12 +6,18 @@ var LightControl = View.extend({
"mousedown": "stopPropagation",
},
- toggle: function(){
- this.$el.toggleClass("active");
+ toggle: function(state){
+ this.$el.toggleClass("active", state);
// toggle the class that makes the cursor a paintbucket
// $("body").removeClass("pastePaper");
},
+ show: function(){
+ this.toggle(true)
+ },
+ hide: function(){
+ this.toggle(false)
+ },
/*
$("#shadow-control").on({
diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js
index cb1e361..9ee441b 100644
--- a/public/assets/javascripts/ui/editor/WallpaperPicker.js
+++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js
@@ -23,11 +23,17 @@ var WallpaperPicker = View.extend({
wm.init()
},
- toggle: function(){
- this.$el.toggleClass("active");
+ toggle: function(state){
+ this.$el.toggleClass("active", state);
// toggle the class that makes the cursor a paintbucket
// $("body").removeClass("pastePaper");
},
+ show: function(){
+ this.toggle(true)
+ },
+ hide: function(){
+ this.toggle(false)
+ },
pick: function(e){
var $swatch = $(e.currentTarget)
diff --git a/public/assets/javascripts/ui/lib/Router.js b/public/assets/javascripts/ui/lib/Router.js
index 5877f93..0b6385c 100644
--- a/public/assets/javascripts/ui/lib/Router.js
+++ b/public/assets/javascripts/ui/lib/Router.js
@@ -4,7 +4,8 @@ var Router = View.extend({
this.originalPath = window.location.pathname
- var pathname = window.location.pathname,
+ var routes = is_mobile ? this.mobileRoutes : this.routes,
+ pathname = window.location.pathname,
path = pathname.split("/");
for (var i = 0; i < path.length; i++) {
@@ -13,7 +14,7 @@ var Router = View.extend({
}
}
- if (pathname in this.routes) {
+ if (pathname in routes) {
this[this.routes[pathname]](null)
}
@@ -21,35 +22,39 @@ var Router = View.extend({
path.pop()
}
- for (var route in this.routes) {
+ for (var route in routes) {
var routePath = route.split("/")
if (routePath[1] == path[1]) {
if (routePath[2] && routePath[2].indexOf(":") !== -1 && path[2] && (path[3] === routePath[3]) ) {
this[this.routes[route]](null, path[2])
- break;
+ return
}
else if (routePath[2] == path[2]) {
if (routePath[3] && path[3]) {
if (routePath[3].indexOf(":") !== -1) {
this[this.routes[route]](null, path[3])
- break;
+ return
}
else if (routePath[3] == path[3]) {
this[this.routes[route]](null)
- break;
+ return
}
}
else if (! routePath[3] && ! path[3]) {
this[this.routes[route]](null)
- break;
+ return
}
}
else if (! routePath[2] && (! path[2].length || ! path[2])) {
this[this.routes[route]](null)
- break;
+ return
}
}
}
+
+ if (is_mobile) {
+ window.location.href = "/"
+ }
}
})
diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js
index 4948b0e..f109ec3 100644
--- a/public/assets/javascripts/ui/site/LayoutsModal.js
+++ b/public/assets/javascripts/ui/site/LayoutsModal.js
@@ -19,6 +19,7 @@ var LayoutsIndex = View.extend({
this.$form.hide()
this.$noTemplates.show()
}
+ this.$templates.empty()
data.forEach(function(room){
var $span = $("<span>")
// $span.html(JSON.stringify(room))
@@ -58,7 +59,7 @@ var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({
$layout.addClass("active")
// actually do
- window.location.pathname = "/project/" + $layout.data("slug")
+ window.location.pathname = "/project/" + $layout.data("slug") + "/edit"
},
newProject: function(e){
@@ -103,7 +104,7 @@ var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
action: "/api/layout",
events: {
- "click .templates span": 'toggleActive',
+ "click .templates span": 'choose',
"submit form": 'choose',
},
@@ -115,7 +116,8 @@ var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
choose: function(e){
e && e.preventDefault()
- var layout = this.$(".templates .active").data("slug")
+// var layout = this.$(".templates .active").data("slug")
+ var layout = $(e.currentTarget).data("slug")
if (! layout || ! layout.length) return
window.location.pathname = "/project/new/" + layout
}