summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/assets/javascripts/rectangles/engine/map/ui.js4
-rw-r--r--public/assets/javascripts/ui/SiteRouter.js15
-rw-r--r--public/assets/javascripts/ui/lib/FormView.js (renamed from public/assets/javascripts/ui/lib/ModalFormView.js)18
-rw-r--r--public/assets/javascripts/ui/site/LayoutsModal.js67
-rw-r--r--public/assets/javascripts/ui/site/NewProjectModal.js17
-rw-r--r--public/assets/javascripts/ui/z_misc.js13
-rwxr-xr-xpublic/assets/stylesheets/app.css4
-rw-r--r--server/index.js15
-rw-r--r--views/controls/builder/settings.ejs2
-rw-r--r--views/modal.ejs3
-rw-r--r--views/partials/header.ejs6
-rw-r--r--views/partials/scripts.ejs4
-rw-r--r--views/profile.ejs2
-rw-r--r--views/projects/layouts-modal.ejs26
-rw-r--r--views/projects/new-project.ejs18
15 files changed, 136 insertions, 78 deletions
diff --git a/public/assets/javascripts/rectangles/engine/map/ui.js b/public/assets/javascripts/rectangles/engine/map/ui.js
index 63e8e18..97baf88 100644
--- a/public/assets/javascripts/rectangles/engine/map/ui.js
+++ b/public/assets/javascripts/rectangles/engine/map/ui.js
@@ -26,7 +26,7 @@ var MapUI = function(map){
cursor.y.div(h).sub(0.5).mul(map.bounds.b / map.zoom).sub(map.center.b)
if (e.ctrlKey || e.which === 3) {
- cursor.quantize(1)
+ cursor.quantize(1/map.zoom)
map.center.a = cursor.x.a
map.center.b = -cursor.y.a
console.log(map.center+"")
@@ -52,7 +52,7 @@ var MapUI = function(map){
}
if (e.shiftKey && base.dragging) {
- base.dragging.rect.quantize(10)
+ base.dragging.rect.quantize(10/map.zoom)
}
}
diff --git a/public/assets/javascripts/ui/SiteRouter.js b/public/assets/javascripts/ui/SiteRouter.js
index c02b19c..92816be 100644
--- a/public/assets/javascripts/ui/SiteRouter.js
+++ b/public/assets/javascripts/ui/SiteRouter.js
@@ -11,6 +11,7 @@ var SiteRouter = Router.extend({
"click [data-role='new-document-modal']": 'newDocument',
"click [data-role='edit-document-modal']": 'editDocument',
"click [data-role='delete-document-modal']": 'destroyDocument',
+ "click [data-role='show-layouts-modal']": 'showLayoutsModal',
},
routes: {
@@ -22,13 +23,15 @@ var SiteRouter = Router.extend({
"/about/:name/edit": 'editDocument',
"/about/new": 'newDocument',
"/editor": 'launchEditor',
- "/builder": 'launchBuilder',
+ "/builder": 'showLayoutsModal',
+ "/builder/new": 'launchBuilder',
+ "/builder/:name": 'launchBuilder',
},
initialize: function(){
this.signUpModal = new SignUpModal()
this.signInModal = new SignInModal()
- this.newProjectModal = new NewProjectModal()
+ this.layoutsModal = new LayoutsModal()
this.editProjectModal = new EditProjectModal()
this.editProfileModal = new EditProfileModal()
this.documentModal = new DocumentModal()
@@ -47,6 +50,12 @@ var SiteRouter = Router.extend({
this.builderView = new BuilderView()
this.builderView.load()
},
+
+ showLayoutsModal: function(e){
+ e && e.preventDefault()
+ window.history.pushState(null, document.title, "/builder")
+ this.layoutsModal.load("builder")
+ },
launchEditor: function(){
app.mode.editor = true
@@ -72,7 +81,7 @@ var SiteRouter = Router.extend({
e && e.preventDefault()
window.history.pushState(null, document.title, "/project/new")
- this.newProjectModal.load()
+ this.layoutsModal.load()
},
editProject: function(e){
diff --git a/public/assets/javascripts/ui/lib/ModalFormView.js b/public/assets/javascripts/ui/lib/FormView.js
index d084031..2de4554 100644
--- a/public/assets/javascripts/ui/lib/ModalFormView.js
+++ b/public/assets/javascripts/ui/lib/FormView.js
@@ -1,5 +1,4 @@
-
-var ModalFormView = ModalView.extend({
+var FormView = View.extend({
method: "post",
@@ -17,11 +16,6 @@ var ModalFormView = ModalView.extend({
this.$("input,textarea").not("[type='submit']").not("[type='hidden']").val("")
},
- load: function(){
- this.reset()
- this.show()
- },
-
showErrors: function(errors){
if (errors && errors.length) {
this.$errorList.empty();
@@ -94,3 +88,13 @@ var ModalFormView = ModalView.extend({
}
})
+
+
+var ModalFormView = ModalView.extend(FormView.prototype).extend({
+
+ load: function(){
+ this.reset()
+ this.show()
+ }
+
+})
diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js
new file mode 100644
index 0000000..f80a6cc
--- /dev/null
+++ b/public/assets/javascripts/ui/site/LayoutsModal.js
@@ -0,0 +1,67 @@
+
+var LayoutsIndex = View.extend({
+
+ load: function(type){
+ this.show()
+
+ $.get("/api/layouts", $.proxy(function(data){
+ console.log(data)
+ data.forEach($.proxy(function(room){
+ var $span = $("<span>")
+ $span.html(JSON.stringify(room))
+ this.$(".templates").append($span)
+ }, this))
+ this.show()
+ }, this))
+
+ }
+
+})
+
+
+var LayoutsModal = ModalView.extend(LayoutsIndex.prototype).extend({
+ el: ".mediaDrawer.layouts",
+
+ events: {
+ "click .templates span": 'toggleActive',
+ "submit form": 'newBuilder',
+ },
+
+ toggleActive: function(e){
+ e.preventDefault()
+ this.$(".templates .active").removeClass("active")
+ $(e.currentTarget).addClass("active")
+
+ // actually do
+ // window.location.pathname = "/builder/" + $(this).data("name")
+ },
+
+ newBuilder: function(e){
+ e && e.preventDefault()
+ window.location.pathname = "/builder/new"
+ }
+
+})
+
+
+
+
+var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
+ el: ".mediaDrawer.newProject",
+
+ events: {
+ "click .templates span": 'toggleActive',
+ "submit form": 'choose',
+ },
+
+ toggleActive: function(e){
+ e.preventDefault()
+ this.$(".templates .active").removeClass("active")
+ $(e.currentTarget).addClass("active")
+ },
+
+ choose: function(e){
+ e && e.preventDefault()
+ }
+
+})
diff --git a/public/assets/javascripts/ui/site/NewProjectModal.js b/public/assets/javascripts/ui/site/NewProjectModal.js
deleted file mode 100644
index cf2044f..0000000
--- a/public/assets/javascripts/ui/site/NewProjectModal.js
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-var NewProjectModal = ModalFormView.extend({
- el: ".mediaDrawer.newProject",
- action: "/project/new",
-
- load: function(){
- this.reset()
- this.show()
- },
-
- success: function(){
- //
- }
-
-})
-
diff --git a/public/assets/javascripts/ui/z_misc.js b/public/assets/javascripts/ui/z_misc.js
index 612057e..37e41c6 100644
--- a/public/assets/javascripts/ui/z_misc.js
+++ b/public/assets/javascripts/ui/z_misc.js
@@ -120,18 +120,7 @@ function bind () {
$(".deleteArmed .mediaContainer").click(function(){
$(this).addClass("deleted");
});
-
-
- $("#createProject").click(function(){
- $(".mediaDrawer.newProject").toggleClass("active");
- $("body").addClass("noOverflow")
- });
-
- $(".templates span").click(function(){
- $(".templates span").removeClass("active");
- $(this).toggleClass("active");
- });
-
+
$(document).on("click", ".icon-close", disable_mode)
function disable_mode(){
diff --git a/public/assets/stylesheets/app.css b/public/assets/stylesheets/app.css
index 55e8d37..b20c669 100755
--- a/public/assets/stylesheets/app.css
+++ b/public/assets/stylesheets/app.css
@@ -581,7 +581,7 @@ h5{
.logo {
float:left;
padding:10px;
- z-index:3;
+ z-index:4;
position:relative;
}
.logo:hover {
@@ -686,7 +686,7 @@ h5{
left:0;
width:100%;
height:100%;
- z-index:2;
+ z-index:3;
overflow-y:scroll;
}
diff --git a/server/index.js b/server/index.js
index 9fe8edf..65234d4 100644
--- a/server/index.js
+++ b/server/index.js
@@ -108,15 +108,14 @@ site.route = function () {
app.post('/api/docs/edit', middleware.ensureAuthenticated, middleware.ensureIsStaff, api.docs.update)
app.delete('/api/docs/destroy', middleware.ensureAuthenticated, middleware.ensureIsStaff, api.docs.destroy)
- app.use('/builder', middleware.ensureAuthenticated)
- app.get('/builder', views.builder)
- app.get('/builder/:name', views.builder)
+ app.get('/builder', middleware.ensureAuthenticated, views.modal)
+ app.get('/builder/:name', middleware.ensureAuthenticated, views.builder)
- app.get('/api/layout', middleware.ensureAuthenticated, api.layout.index)
- app.get('/api/layout/show', middleware.ensureAuthenticated, api.layout.show)
- app.post('/api/layout/new', middleware.ensureAuthenticated, api.layout.create)
- app.post('/api/layout/edit', middleware.ensureAuthenticated, api.layout.update)
- app.delete('/api/layout/destroy', middleware.ensureAuthenticated, api.layout.destroy)
+ app.get('/api/layouts', middleware.ensureAuthenticated, api.layout.index)
+ app.get('/api/layouts/show', middleware.ensureAuthenticated, api.layout.show)
+ app.post('/api/layouts/new', middleware.ensureAuthenticated, api.layout.create)
+ app.post('/api/layouts/edit', middleware.ensureAuthenticated, api.layout.update)
+ app.delete('/api/layouts/destroy', middleware.ensureAuthenticated, api.layout.destroy)
}
diff --git a/views/controls/builder/settings.ejs b/views/controls/builder/settings.ejs
index c91f7b5..52cb586 100644
--- a/views/controls/builder/settings.ejs
+++ b/views/controls/builder/settings.ejs
@@ -8,7 +8,7 @@
</div>
<div class="setting">
- <input type="text" placeholder="room name" />
+ <input type="text" placeholder="layout name">
</div>
<div class="setting">
diff --git a/views/modal.ejs b/views/modal.ejs
index a2ea680..4550aff 100644
--- a/views/modal.ejs
+++ b/views/modal.ejs
@@ -10,10 +10,9 @@
<div style="height: 70%; clear: both;"></div>
- [[ include partials/alert-modal ]]
[[ include partials/confirm-modal ]]
[[ include partials/sign-in ]]
- [[ include projects/new-project ]]
+ [[ include projects/layouts-modal ]]
[[ include projects/edit-project ]]
[[ include partials/footer ]]
diff --git a/views/partials/header.ejs b/views/partials/header.ejs
index c73cc47..55c8545 100644
--- a/views/partials/header.ejs
+++ b/views/partials/header.ejs
@@ -2,7 +2,7 @@
<span class="topLinks">
[[ if (logged_in) { ]]
- <a href="/builder" class="topLink">Layouts</a>
+ <a href="/builder" data-role="show-layouts-modal" class="topLink">Layouts</a>
<a href="/editor" class="topLink">Projects</a>
[[ if (profile && String(user._id) == String(profile._id)) { ]]
<a href="/profile" data-role="edit-profile-modal" class="topLink editProfile">Edit Profile <span class="icon-ios7-gear-outline"></span></a>
@@ -10,7 +10,7 @@
<a href="/profile" class="topLink">Profile</a>
[[ } ]]
[[ } else { ]]
- <a href="#" data-role="show-signup-modal" class="signUp topLink">Sign Up</a>
- <a href="#" data-role="show-signin-modal" class="signIn topLink">Sign In</a>
+ <a href="/signup" data-role="show-signup-modal" class="signUp topLink">Sign Up</a>
+ <a href="/login" data-role="show-signin-modal" class="signIn topLink">Sign In</a>
[[ } ]]
</span>
diff --git a/views/partials/scripts.ejs b/views/partials/scripts.ejs
index e9ec5a5..ced15c1 100644
--- a/views/partials/scripts.ejs
+++ b/views/partials/scripts.ejs
@@ -45,13 +45,13 @@
<script type="text/javascript" src="/assets/javascripts/ui/lib/View.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/lib/Router.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/lib/ModalView.js"></script>
-<script type="text/javascript" src="/assets/javascripts/ui/lib/ModalFormView.js"></script>
+<script type="text/javascript" src="/assets/javascripts/ui/lib/FormView.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/lib/AlertModal.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/lib/ConfirmModal.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/site/SignInModal.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/site/SignUpModal.js"></script>
-<script type="text/javascript" src="/assets/javascripts/ui/site/NewProjectModal.js"></script>
+<script type="text/javascript" src="/assets/javascripts/ui/site/LayoutsModal.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/site/EditProjectModal.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/site/EditProfileModal.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/site/DocumentModal.js"></script>
diff --git a/views/profile.ejs b/views/profile.ejs
index f3309dd..5ca62dc 100644
--- a/views/profile.ejs
+++ b/views/profile.ejs
@@ -41,7 +41,7 @@
[[ include projects/list-projects ]]
- <a href="#" data-role="new-project-modal" class="viewMore" id="createProject">create project</a>
+ <a href="#" data-role="new-project-modal" class="viewMore">create project</a>
[[ include partials/edit-profile ]]
[[ include projects/new-project ]]
diff --git a/views/projects/layouts-modal.ejs b/views/projects/layouts-modal.ejs
new file mode 100644
index 0000000..90585c3
--- /dev/null
+++ b/views/projects/layouts-modal.ejs
@@ -0,0 +1,26 @@
+<div class="mediaDrawer fixed animate layouts">
+ <span class="close">X</span>
+ <div class="box">
+
+ <div class="templates">
+ <h1>Edit Room Layouts</h1>
+ </div>
+ <form>
+ <input data-role="create-new-layout" class="button_text" type="submit" value="New Layout">
+ </form>
+ </div>
+</div>
+
+
+<div class="mediaDrawer fixed animate newProject">
+ <span class="close">X</span>
+ <div class="box">
+
+ <div class="templates">
+ <h1>Choose Room Template</h1>
+ </div>
+ <form>
+ <input class="button_text" type="submit" value="Create Project">
+ </form>
+ </div>
+</div>
diff --git a/views/projects/new-project.ejs b/views/projects/new-project.ejs
deleted file mode 100644
index e151f3a..0000000
--- a/views/projects/new-project.ejs
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="mediaDrawer fixed animate newProject">
- <span class="close">X</span>
- <div class="box">
-
- <div class="templates">
- <h1>Choose Room Template</h1>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- </div>
- <form>
- <input id="saveForm" class="button_text" type="submit" name="submit" value="Create Project" />
- </form>
- </div>
-</div>