diff options
| -rw-r--r-- | public/assets/javascripts/rectangles/engine/map/ui.js | 4 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/SiteRouter.js | 15 | ||||
| -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.js | 67 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/site/NewProjectModal.js | 17 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/z_misc.js | 13 | ||||
| -rwxr-xr-x | public/assets/stylesheets/app.css | 4 | ||||
| -rw-r--r-- | server/index.js | 15 | ||||
| -rw-r--r-- | views/controls/builder/settings.ejs | 2 | ||||
| -rw-r--r-- | views/modal.ejs | 3 | ||||
| -rw-r--r-- | views/partials/header.ejs | 6 | ||||
| -rw-r--r-- | views/partials/scripts.ejs | 4 | ||||
| -rw-r--r-- | views/profile.ejs | 2 | ||||
| -rw-r--r-- | views/projects/layouts-modal.ejs | 26 | ||||
| -rw-r--r-- | views/projects/new-project.ejs | 18 |
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> |
