From 211da757666a6f9ee89160472e363bcf4732d1c9 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 10 Oct 2014 16:48:26 -0400 Subject: show max 6 projects at a time --- public/assets/javascripts/ui/editor/MediaUpload.js | 1 + 1 file changed, 1 insertion(+) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/ui/editor/MediaUpload.js b/public/assets/javascripts/ui/editor/MediaUpload.js index 3f425c3..bab4679 100644 --- a/public/assets/javascripts/ui/editor/MediaUpload.js +++ b/public/assets/javascripts/ui/editor/MediaUpload.js @@ -56,6 +56,7 @@ var MediaUpload = UploadView.extend({ console.log(media) this.parent.mediaViewer.add(media, this.parent.mediaViewer.$myMedia) this.parent.mediaViewer.$deleteMedia.show() + this.parent.mediaViewer.$noMedia.hide() }, beforeUpload: function(){ -- cgit v1.2.3-70-g09d2 From be603d871e7a0117698177405f98cd07be7d12ed Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 10 Oct 2014 18:50:32 -0400 Subject: load more --- public/assets/javascripts/ui/lib/Router.js | 1 + public/assets/javascripts/ui/site/ProjectList.js | 28 +++++- server/index.js | 1 + server/lib/views/index.js | 123 +++++++++++++++-------- views/projects/list-projects.ejs | 6 +- 5 files changed, 112 insertions(+), 47 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/ui/lib/Router.js b/public/assets/javascripts/ui/lib/Router.js index 0b6385c..28905b2 100644 --- a/public/assets/javascripts/ui/lib/Router.js +++ b/public/assets/javascripts/ui/lib/Router.js @@ -16,6 +16,7 @@ var Router = View.extend({ if (pathname in routes) { this[this.routes[pathname]](null) + return } if (path[path.length-1] == null) { diff --git a/public/assets/javascripts/ui/site/ProjectList.js b/public/assets/javascripts/ui/site/ProjectList.js index ebb0a96..27c8aca 100644 --- a/public/assets/javascripts/ui/site/ProjectList.js +++ b/public/assets/javascripts/ui/site/ProjectList.js @@ -1,14 +1,17 @@ var projectListTimeout = null +window.fuck = 'suck' var ProjectList = View.extend({ el: ".projectList", events: { + "click .viewMore": 'viewMore', "mouseenter .room": 'enter', "mouseleave .room": 'leave', }, initialize: function(){ + this.$viewMore = this.$(".viewMore") this.$(".images").each(function(){ $divs = $(this).children("div") $divs.hide() @@ -41,7 +44,30 @@ var ProjectList = View.extend({ $divs.eq(index).hide() $divs.eq(nextIndex).show() $images.data("index", nextIndex) - } + }, + + viewMore: function(e){ + e.preventDefault() + var criteria = {} + criteria.offset = this.$(".projectItem").length + if (window.location.pathname == "/" || window.location.pathname.match("/home")) { + criteria.home = 1 + } + else { + criteria.user_id = this.$(".projectItem").first().data("userid") + } + + $.get("/api/project/paginate", criteria, function(data){ + var offset = this.$viewMore.offset() + var $data = $(data) + var $els = $data.find(".projectItem") + $els.insertBefore( this.$viewMore ) + if (! $data.find(".viewMore").length) { + this.$viewMore.hide() + } + $("body,html").animate({ scrollTop: offset.top - 80 }, 300) + }.bind(this)) + }, /* spinOn: function(e){ diff --git a/server/index.js b/server/index.js index f6636dd..8f66418 100644 --- a/server/index.js +++ b/server/index.js @@ -133,6 +133,7 @@ site.route = function () { app.delete('/api/layout/destroy', middleware.ensureAuthenticated, middleware.ensureIsStaff, api.layouts.destroy) app.get('/api/project', middleware.ensureAuthenticated, api.projects.index) + app.get('/api/project/paginate', views.projectsPaginate) app.get('/api/project/:slug', api.projects.show) app.get('/api/rooms/:slug', api.rooms.show) app.post('/api/project/new', middleware.ensureAuthenticated, api.projects.create) diff --git a/server/lib/views/index.js b/server/lib/views/index.js index 5b1a72e..eacff1f 100644 --- a/server/lib/views/index.js +++ b/server/lib/views/index.js @@ -78,27 +78,16 @@ var views = module.exports = { }, home: function (req, res) { - if (req.user) { - Project.find({ featured: true }) - .sort('-created_at') - .limit(6) - .exec(function(err, projects){ - projects = projects.map(function(project){ - project = project.toObject() - project.date = moment(project.updated_at).format("M/DD/YYYY") - if (! project.colors || project.colors.wall && project.colors.wall[0] == project.colors.wall[1] && project.colors.wall[1] == project.colors.wall[2] && project.colors.wall[2] > 238) { - project.color = [238,238,238] - } else { - project.color = project.colors.wall - } - return project - }) - res.render('home', { projects: projects || [] }) - }) - } - else { - res.send("") + // while in development, blank homepage if not logged in + if (! req.user) { + res.send("") + return } + views_middleware.fetchProjects({ featured: true }, null, null, function(err, projects){ + res.render('home', { + projects: projects || [] + }) + }) }, docs: function (req, res){ @@ -131,45 +120,93 @@ var views = module.exports = { profile: function (req, res) { var username = req.params.username || (req.user && req.user.username) + var user, isOwnProfile = false if (username) { - User.findOne({ username: username }, function (err, user) { - user ? next(user) : done(err, {}, []) + User.findOne({ username: username }, function (err, profileUser) { + if (profileUser) { + user = profileUser + isOwnProfile = (String(user._id) == (req.user && String(req.user._id))) + next() + } + else { + done(err, []) + } }) } else { done() } - function next(user){ + function next(){ var criteria = { user_id: user._id } - if ( ! (req.user && req.user._id && req.user._id == user._id) ) { + if ( ! isOwnProfile ) { criteria.privacy = false } - Project.find(criteria) - .sort('-created_at') - .exec(function(err, projects){ - projects = projects.map(function(project){ - project = project.toObject() - project.date = moment(project.updated_at).format("M/DD/YYYY") - if (! project.colors || project.colors.wall && project.colors.wall[0] == project.colors.wall[1] && project.colors.wall[1] == project.colors.wall[2] && project.colors.wall[2] > 238) { - project.color = [238,238,238] - } else { - project.color = project.colors.wall - } - return project - }) - done(err, user, projects) - }) + views_middleware.fetchProjects(criteria, null, null, done) } - function done(err, user, projects){ + function done(err, projects){ if (! user) { return res.redirect('/') } res.render('profile', { - isOwnProfile: String(user._id) == (req.user && String(req.user._id)), + isOwnProfile: isOwnProfile, profile: user, projects: projects || [], }) } - } + }, + + projectsPaginate: function(req, res) { + var criteria = {} + var offset = Number(req.query.offset || 0) + var user_id, isOwnProfile + + if (req.query.home) { + criteria.featured = true + criteria.privacy = false + } + else if (req.query.user_id) { + user_id = req.query.user_id + isOwnProfile = (String(user_id) == (req.user && String(req.user._id))) + + criteria.user_id = user_id + if ( ! isOwnProfile ) { + criteria.privacy = false + } + } + else { + res.end("") + return + } + + views_middleware.fetchProjects(criteria, null, offset, function(err, projects){ + res.render('projects/list-projects', { + projects: projects || [] + }) + }) + }, -} \ No newline at end of file +} + +var views_middleware = { + fetchProjects: function (criteria, limit, offset, next) { + limit = limit || 7 + offset = offset || 0 + Project.find(criteria) + .sort('-created_at') + .skip(offset) + .limit(limit) + .exec(function(err, projects){ + projects = projects.map(function(project){ + project = project.toObject() + project.date = moment(project.updated_at).format("M/D/YYYY") + if (! project.colors || project.colors.wall && project.colors.wall[0] == project.colors.wall[1] && project.colors.wall[1] == project.colors.wall[2] && project.colors.wall[2] > 238) { + project.color = [238,238,238] + } else { + project.color = project.colors.wall + } + return project + }) + next(err, projects) + }) + } +} diff --git a/views/projects/list-projects.ejs b/views/projects/list-projects.ejs index eb66449..5ecaec1 100644 --- a/views/projects/list-projects.ejs +++ b/views/projects/list-projects.ejs @@ -1,13 +1,13 @@ [[ if (projects.length) { ]] - +
[[ projects.forEach(function(project, i) { ]] [[ if (i > 5) { return } ]] [[ if (String(user._id) == String(project.user_id)) { ]] - + [[ } else { ]] - + [[ } ]] -- cgit v1.2.3-70-g09d2 From 68a2750a283b9ccddca6c4164944a9d4d65155a8 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 10 Oct 2014 18:54:54 -0400 Subject: white outlines on inverse preset --- public/assets/javascripts/ui/editor/LightControl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/ui/editor/LightControl.js b/public/assets/javascripts/ui/editor/LightControl.js index 51e6be7..6100762 100644 --- a/public/assets/javascripts/ui/editor/LightControl.js +++ b/public/assets/javascripts/ui/editor/LightControl.js @@ -136,7 +136,7 @@ var LightControl = View.extend({ }, inverse: { wall: [0,0,0], - outline: [0,230,255], + outline: [255,255,255], floor: [0,0,0], ceiling: [0,0,0], }, -- cgit v1.2.3-70-g09d2 From 43b34606dcdc7996e8069998b2ff7d9f40c4dc25 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 10 Oct 2014 19:18:48 -0400 Subject: disable room movement when clicking in things with .vvbox class --- public/assets/javascripts/rectangles/models/surface.js | 2 +- public/assets/javascripts/ui/builder/BuilderInfo.js | 1 + public/assets/javascripts/ui/builder/BuilderSettings.js | 1 + public/assets/javascripts/ui/builder/BuilderToolbar.js | 1 + public/assets/javascripts/ui/editor/Collaborators.js | 1 + public/assets/javascripts/ui/editor/EditorSettings.js | 1 + public/assets/javascripts/ui/editor/MediaUpload.js | 1 + public/assets/javascripts/ui/editor/MediaViewer.js | 1 + public/assets/javascripts/ui/editor/TextEditor.js | 1 + 9 files changed, 9 insertions(+), 1 deletion(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/models/surface.js b/public/assets/javascripts/rectangles/models/surface.js index c85682a..3a6c449 100644 --- a/public/assets/javascripts/rectangles/models/surface.js +++ b/public/assets/javascripts/rectangles/models/surface.js @@ -108,7 +108,7 @@ this.clamp_delta( this.bounds, dimension, position, delta ) var new_delta = delta.clone() - if (this.clamp_delta(old_bounds, dimension, position, new_delta).eq(delta)) { + if (old_bounds && this.clamp_delta(old_bounds, dimension, position, new_delta).eq(delta)) { return old_bounds } diff --git a/public/assets/javascripts/ui/builder/BuilderInfo.js b/public/assets/javascripts/ui/builder/BuilderInfo.js index e6b7e97..f7753a3 100644 --- a/public/assets/javascripts/ui/builder/BuilderInfo.js +++ b/public/assets/javascripts/ui/builder/BuilderInfo.js @@ -3,6 +3,7 @@ var BuilderInfo = View.extend({ el: "#builderInfo", events: { + "mousedown": "stopPropagation", "keydown": 'stopPropagation', "change [name=x]": 'changeX', "change [name=y]": 'changeY', diff --git a/public/assets/javascripts/ui/builder/BuilderSettings.js b/public/assets/javascripts/ui/builder/BuilderSettings.js index 7ae6294..fe67e9b 100644 --- a/public/assets/javascripts/ui/builder/BuilderSettings.js +++ b/public/assets/javascripts/ui/builder/BuilderSettings.js @@ -7,6 +7,7 @@ var BuilderSettings = FormView.extend({ destroyAction: "/api/layout/destroy", events: { + "mousedown": "stopPropagation", "keydown": 'stopPropagation', "keydown [name=name]": 'enterSubmit', "click [data-role='save-layout']": 'clickSave', diff --git a/public/assets/javascripts/ui/builder/BuilderToolbar.js b/public/assets/javascripts/ui/builder/BuilderToolbar.js index 2eb7590..6c218be 100644 --- a/public/assets/javascripts/ui/builder/BuilderToolbar.js +++ b/public/assets/javascripts/ui/builder/BuilderToolbar.js @@ -3,6 +3,7 @@ var BuilderToolbar = View.extend({ el: "#builderToolbar", events: { + "mousedown": "stopPropagation", "click [data-role='toggle-map-view']": 'toggleMap', "click [data-role='toggle-layout-settings']": 'toggleSettings', "click [data-role='undo']": 'undo', diff --git a/public/assets/javascripts/ui/editor/Collaborators.js b/public/assets/javascripts/ui/editor/Collaborators.js index 452ad15..b57510d 100644 --- a/public/assets/javascripts/ui/editor/Collaborators.js +++ b/public/assets/javascripts/ui/editor/Collaborators.js @@ -9,6 +9,7 @@ var Collaborators = ModalFormView.extend({ destroyAction: function(){ return "/api/collaborator/" + this.parent.data.slug + "/destroy" }, events: { + "mousedown": "stopPropagation", "keydown [name=email]": "enterSubmit", "click [data-role=destroy-collaborator]": "destroy", }, diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js index 0c08369..45a2e43 100644 --- a/public/assets/javascripts/ui/editor/EditorSettings.js +++ b/public/assets/javascripts/ui/editor/EditorSettings.js @@ -7,6 +7,7 @@ var EditorSettings = FormView.extend({ destroyAction: "/api/project/destroy", events: { + "mousedown": "stopPropagation", "keydown": 'stopPropagation', "keydown [name=name]": 'enterSubmit', "click [data-role='show-collaborators']": 'showCollaborators', diff --git a/public/assets/javascripts/ui/editor/MediaUpload.js b/public/assets/javascripts/ui/editor/MediaUpload.js index bab4679..fddfefc 100644 --- a/public/assets/javascripts/ui/editor/MediaUpload.js +++ b/public/assets/javascripts/ui/editor/MediaUpload.js @@ -6,6 +6,7 @@ var MediaUpload = UploadView.extend({ uploadAction: "/api/media/upload", events: { + 'mousedown': "stopPropagation", "keydown .url": "enterSubmit", }, diff --git a/public/assets/javascripts/ui/editor/MediaViewer.js b/public/assets/javascripts/ui/editor/MediaViewer.js index 1414e16..c18fb49 100644 --- a/public/assets/javascripts/ui/editor/MediaViewer.js +++ b/public/assets/javascripts/ui/editor/MediaViewer.js @@ -6,6 +6,7 @@ var MediaViewer = ModalView.extend({ loaded: false, events: { + 'mousedown': "stopPropagation", 'click .foundToggle': "foundToggle", 'click .userToggle': "userToggle", 'click #deleteMedia': "deleteArmed", diff --git a/public/assets/javascripts/ui/editor/TextEditor.js b/public/assets/javascripts/ui/editor/TextEditor.js index 0aa5aad..c8879b3 100644 --- a/public/assets/javascripts/ui/editor/TextEditor.js +++ b/public/assets/javascripts/ui/editor/TextEditor.js @@ -92,6 +92,7 @@ var TextEditor = FormView.extend({ this.unbind() } + this.parent.settings.hide() Scenery.resize.show(scenery) Scenery.hovering = true -- cgit v1.2.3-70-g09d2 From c777456e398fc0f7aed955596505720e0f13e1a8 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 10 Oct 2014 19:30:19 -0400 Subject: Presets --- .../assets/javascripts/ui/editor/EditorToolbar.js | 42 +++++++-------- public/assets/javascripts/ui/editor/EditorView.js | 1 + .../assets/javascripts/ui/editor/LightControl.js | 34 ------------- public/assets/javascripts/ui/editor/Presets.js | 59 ++++++++++++++++++++++ public/assets/stylesheets/app.css | 6 +-- views/controls/editor/presets.ejs | 2 +- views/partials/scripts.ejs | 1 + 7 files changed, 83 insertions(+), 62 deletions(-) create mode 100644 public/assets/javascripts/ui/editor/Presets.js (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js index 49decc2..4f12a7b 100644 --- a/public/assets/javascripts/ui/editor/EditorToolbar.js +++ b/public/assets/javascripts/ui/editor/EditorToolbar.js @@ -7,8 +7,8 @@ var EditorToolbar = View.extend({ "click [data-role='toggle-map-view']": 'toggleMap', "click [data-role='toggle-project-settings']": 'toggleSettings', "click [data-role='open-media-viewer']": 'openMediaViewer', -// "click [data-role='resize-media']": 'resizeMedia', - "click [data-role='destroy-media']": 'destroyMedia', + "click [data-role='toggle-presets']": 'togglePresets', +// "click [data-role='destroy-media']": 'destroyMedia', "click [data-role='toggle-wallpaper-panel']": 'toggleWallpaper', "click [data-role='toggle-light-control']": 'toggleLightControl', "click [data-role='toggle-text-editor']": 'toggleTextEditor', @@ -26,6 +26,7 @@ var EditorToolbar = View.extend({ toggleSettings: function(){ // this.resetMode() this.parent.textEditor.hide() + this.parent.presets.hide() this.parent.lightControl.hide() this.parent.wallpaperPicker.hide() this.parent.mediaEditor.hide() @@ -52,6 +53,7 @@ var EditorToolbar = View.extend({ $(".inuse").removeClass("inuse") this.parent.textEditor.hide() this.parent.wallpaperPicker.hide() + this.parent.presets.hide() this.parent.lightControl.hide() this.parent.settings.hide() }, @@ -62,28 +64,6 @@ var EditorToolbar = View.extend({ editor.permissions.add("resize") editor.permissions.remove("destroy") }, - -// resizeMedia: function(e, state){ -// this.resetControls() -// 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") -// $("[data-role='resize-media']").toggleClass("inuse", state) -// if (state) { -// if (this.parent.mediaEditor.scenery) { -// Scenery.resize.show( this.parent.mediaEditor.scenery ) -// } -// } -// else { -// Scenery.resize.hide() -// } -// }, destroyMedia: function(e, state){ this.resetControls() @@ -113,6 +93,7 @@ var EditorToolbar = View.extend({ this.parent.lightControl.hide() this.parent.textEditor.hide() this.parent.settings.hide() + this.parent.presets.hide() this.parent.wallpaperPicker.toggle(state) }, @@ -124,6 +105,7 @@ var EditorToolbar = View.extend({ this.parent.wallpaperPicker.hide() this.parent.textEditor.hide() this.parent.settings.hide() + this.parent.presets.hide() this.parent.lightControl.toggle(state) }, @@ -135,9 +117,21 @@ var EditorToolbar = View.extend({ this.parent.wallpaperPicker.hide() this.parent.lightControl.hide() this.parent.settings.hide() + this.parent.presets.hide() this.parent.textEditor.toggle(state) }, + togglePresets: function(){ + var state = ! $("[data-role='toggle-presets']").hasClass("inuse") + this.resetMode() + $("[data-role='toggle-presets']").toggleClass("inuse", state) + this.parent.mediaEditor.hide() + this.parent.wallpaperPicker.hide() + this.parent.textEditor.hide() + this.parent.settings.hide() + this.parent.lightControl.hide() + this.parent.presets.toggle(state) + }, }) var editor = new function(){ diff --git a/public/assets/javascripts/ui/editor/EditorView.js b/public/assets/javascripts/ui/editor/EditorView.js index f60b149..b35c872 100644 --- a/public/assets/javascripts/ui/editor/EditorView.js +++ b/public/assets/javascripts/ui/editor/EditorView.js @@ -18,6 +18,7 @@ var EditorView = View.extend({ this.lightControl = new LightControl ({ parent: this }) this.textEditor = new TextEditor ({ parent: this }) this.collaborators = new Collaborators ({ parent: this }) + this.presets = new Presets ({ parent: this }) }, load: function(name){ diff --git a/public/assets/javascripts/ui/editor/LightControl.js b/public/assets/javascripts/ui/editor/LightControl.js index 6100762..3eb2861 100644 --- a/public/assets/javascripts/ui/editor/LightControl.js +++ b/public/assets/javascripts/ui/editor/LightControl.js @@ -10,7 +10,6 @@ var LightControl = View.extend({ "input #brightness-control": "updateBrightness", "input #outline-hue": "updateShadow", "input #wall-hue": "updateShadow", - "click .presets span": "selectPreset", }, initialize: function(){ @@ -115,39 +114,6 @@ var LightControl = View.extend({ this.setMode(mode) }, - presets: { - wireframe: { - wall: [255,255,255], - outline: [0,0,0], - floor: [246,246,246], - ceiling: [255,255,255], - }, - shaded: { - wall: [205,205,204], - outline: [0,0,0], - floor: [109,116,106], - ceiling: [159,163,157], - }, - pfunk: { - wall: [255,63,78], - outline: [255,246,0], - floor: [255,255,0], - ceiling: [225,118,252], - }, - inverse: { - wall: [0,0,0], - outline: [255,255,255], - floor: [0,0,0], - ceiling: [0,0,0], - }, - }, - selectPreset: function(e){ - var preset = $(e.currentTarget).data('preset') - if (! this.presets[preset]) return - this.load(this.presets[preset]) - $(e.currentTarget).addClass('active') - }, - beginBrightness: function(){ this.begin() $(window).one("mouseup", this.finalize.bind(this)) diff --git a/public/assets/javascripts/ui/editor/Presets.js b/public/assets/javascripts/ui/editor/Presets.js new file mode 100644 index 0000000..a7e92b6 --- /dev/null +++ b/public/assets/javascripts/ui/editor/Presets.js @@ -0,0 +1,59 @@ +var Presets = View.extend({ + el: "#presets", + + events: { + "click .presets span": "selectPreset", + }, + + presets: { + wireframe: { + wall: [255,255,255], + outline: [0,0,0], + floor: [246,246,246], + ceiling: [255,255,255], + }, + shaded: { + wall: [205,205,204], + outline: [0,0,0], + floor: [109,116,106], + ceiling: [159,163,157], + }, + pfunk: { + wall: [255,63,78], + outline: [255,246,0], + floor: [255,255,0], + ceiling: [225,118,252], + }, + inverse: { + wall: [0,0,0], + outline: [255,255,255], + floor: [0,0,0], + ceiling: [0,0,0], + }, + }, + + initialize: function(opt){ + this.parent = opt.parent + }, + + toggle: function(state){ + this.$el.toggleClass("active", state); + }, + + show: function(){ + this.toggle(true) + }, + + hide: function(){ + this.toggle(false) + }, + + selectPreset: function(e){ + var preset = $(e.currentTarget).data('preset') + if (! this.presets[preset]) return + this.parent.lightControl.load(this.presets[preset]) + this.$(".active").removeClass('active') + $(e.currentTarget).addClass('active') + }, + +}) \ No newline at end of file diff --git a/public/assets/stylesheets/app.css b/public/assets/stylesheets/app.css index a40c131..4bae1de 100755 --- a/public/assets/stylesheets/app.css +++ b/public/assets/stylesheets/app.css @@ -1430,7 +1430,7 @@ border-left: 1px solid black; /* WALLPAPER PICKER */ -.wallpaper, .presets { +.wallpaper, #presets { right: 80px; margin-top: 77px; width: 172px; @@ -1440,7 +1440,7 @@ border-left: 1px solid black; transform: translateX(400px); padding: 5px 5px 9px 5px; } -.wallpaper.active, .presets:active { +.wallpaper.active, #presets.active { display:inline-block; -webkit-transform: translateX(0px); transform: translateX(0px); @@ -1629,10 +1629,10 @@ input[type="range"]::-webkit-slider-thumb { .color-swatches { margin-top: 10px; } + .presets { margin-top: 10px; } - .presets span { font-size:12px; font-weight:500; diff --git a/views/controls/editor/presets.ejs b/views/controls/editor/presets.ejs index 2ea4995..a41c527 100644 --- a/views/controls/editor/presets.ejs +++ b/views/controls/editor/presets.ejs @@ -1,4 +1,4 @@ -
+

Preset Styles

diff --git a/views/partials/scripts.ejs b/views/partials/scripts.ejs index 21bed03..07ee7a5 100644 --- a/views/partials/scripts.ejs +++ b/views/partials/scripts.ejs @@ -107,6 +107,7 @@ + -- cgit v1.2.3-70-g09d2 From 86153d1221e38615d0a7dea8a8029a184fb25ece Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 10 Oct 2014 20:32:31 -0400 Subject: rooms editor in builder --- .../javascripts/mx/extensions/mx.movements.js | 2 +- .../rectangles/engine/map/ui_minimap.js | 2 -- .../assets/javascripts/rectangles/models/wall.js | 2 ++ .../assets/javascripts/ui/editor/EditorToolbar.js | 8 ++++++-- public/assets/javascripts/ui/editor/EditorView.js | 6 ++++++ public/assets/javascripts/ui/site/LayoutsModal.js | 5 +++++ views/controls/builder/info.ejs | 2 +- views/controls/editor/toolbar.ejs | 23 +++++++++++----------- views/editor.ejs | 1 + 9 files changed, 34 insertions(+), 17 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/mx/extensions/mx.movements.js b/public/assets/javascripts/mx/extensions/mx.movements.js index 065c93b..0ce03db 100644 --- a/public/assets/javascripts/mx/extensions/mx.movements.js +++ b/public/assets/javascripts/mx/extensions/mx.movements.js @@ -113,7 +113,7 @@ MX.Movements = function (cam) { app.controller.mediaViewer.hide() } else { - map && map.toggle && map.toggle() + app.controller.toolbar.toggleMap() } break } diff --git a/public/assets/javascripts/rectangles/engine/map/ui_minimap.js b/public/assets/javascripts/rectangles/engine/map/ui_minimap.js index d7280b9..fabbdb9 100644 --- a/public/assets/javascripts/rectangles/engine/map/ui_minimap.js +++ b/public/assets/javascripts/rectangles/engine/map/ui_minimap.js @@ -7,7 +7,6 @@ Map.UI.Minimap = function(map){ base.creating = base.dragging = base.resizing = false -/* base.mouse = new mouse({ el: map.el, down: down, @@ -16,7 +15,6 @@ Map.UI.Minimap = function(map){ up: up, rightclick: rightclick, }) -*/ base.wheel = new wheel({ el: map.el, diff --git a/public/assets/javascripts/rectangles/models/wall.js b/public/assets/javascripts/rectangles/models/wall.js index fcb2f5e..7ff9015 100644 --- a/public/assets/javascripts/rectangles/models/wall.js +++ b/public/assets/javascripts/rectangles/models/wall.js @@ -114,6 +114,8 @@ // TODO: watch individual scenery object here Minotaur.watch( app.router.editorView.settings ) + + app.controller.pickWall(base, pos) } else { app.controller.pickWall(base, pos) diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js index 4f12a7b..8a707ec 100644 --- a/public/assets/javascripts/ui/editor/EditorToolbar.js +++ b/public/assets/javascripts/ui/editor/EditorToolbar.js @@ -19,8 +19,12 @@ var EditorToolbar = View.extend({ }, toggleMap: function(){ - map.toggle() - // $("#minimap").toggleClass("hide"); + var state = ! $("[data-role='toggle-map-view']").hasClass("inuse") + this.resetControls() + $("[data-role='toggle-map-view']").toggleClass("inuse", state) + map.toggle(state) + $("#minimap").toggleClass("hide", state) + this.parent.info.toggle(state) }, toggleSettings: function(){ diff --git a/public/assets/javascripts/ui/editor/EditorView.js b/public/assets/javascripts/ui/editor/EditorView.js index b35c872..6aff601 100644 --- a/public/assets/javascripts/ui/editor/EditorView.js +++ b/public/assets/javascripts/ui/editor/EditorView.js @@ -11,6 +11,7 @@ var EditorView = View.extend({ initialize: function(){ this.toolbar = new EditorToolbar ({ parent: this }) this.settings = new EditorSettings ({ parent: this }) + this.info = new BuilderInfo ({ parent: this }) this.mediaViewer = new MediaViewer ({ parent: this }) this.mediaUpload = new MediaUpload ({ parent: this }) this.mediaEditor = new MediaEditor ({ parent: this }) @@ -27,6 +28,11 @@ var EditorView = View.extend({ }, loadLayout: function(layout){ + if (layout == "empty") { + this.readyLayout({}) + this.toolbar.toggleMap() + return + } layout = sanitize(layout) $.get(this.layoutAction + layout, this.readyLayout.bind(this)) }, diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js index 99db2a3..73c63e8 100644 --- a/public/assets/javascripts/ui/site/LayoutsModal.js +++ b/public/assets/javascripts/ui/site/LayoutsModal.js @@ -48,6 +48,7 @@ var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({ events: { "click .templates span": 'toggleActive', + "click [data-role='create-new-layout']": 'createNewLayout', "submit form": 'newProject', }, @@ -70,6 +71,10 @@ var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({ window.location.pathname = "/project/" + $layout.data("slug") + "/edit" }, + createNewLayout: function(){ + window.location.pathname = "/layout/new" + }, + newProject: function(e){ e && e.preventDefault() window.location.pathname = "/project/new" diff --git a/views/controls/builder/info.ejs b/views/controls/builder/info.ejs index d92d34c..7ef0b6a 100644 --- a/views/controls/builder/info.ejs +++ b/views/controls/builder/info.ejs @@ -1,4 +1,4 @@ -
+
diff --git a/views/controls/editor/toolbar.ejs b/views/controls/editor/toolbar.ejs index 85800f8..47d7c3c 100644 --- a/views/controls/editor/toolbar.ejs +++ b/views/controls/editor/toolbar.ejs @@ -4,10 +4,10 @@ data-role='open-media-viewer' data-info="add media" class="ion-ios7-photos-outline"> - +