summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/assets/javascripts/app.js30
-rw-r--r--public/assets/javascripts/rectangles/_env.js34
-rw-r--r--public/assets/javascripts/ui/_router.js11
-rw-r--r--public/assets/javascripts/ui/builder/BlueprintUpload.js120
-rw-r--r--public/assets/test/ortho4.html9
-rw-r--r--views/modal.ejs3
-rw-r--r--views/partials/scripts.ejs17
7 files changed, 68 insertions, 156 deletions
diff --git a/public/assets/javascripts/app.js b/public/assets/javascripts/app.js
index 6ebcda5..3cafeca 100644
--- a/public/assets/javascripts/app.js
+++ b/public/assets/javascripts/app.js
@@ -21,40 +21,12 @@ app.init = function () {
app.launch = function () {
if ($.browser.msie || ! has3d()) { return app.fallback() }
- scene = new MX.Scene().addTo('#scene')
- scene.width = window.innerWidth
- scene.height = window.innerHeight
- scene.perspective = window.innerHeight
-
- window.onresize = function () {
- scene.width = window.innerWidth
- scene.height = window.innerHeight
- scene.perspective = window.innerHeight
- scene.update()
- }
-
- cam = scene.camera
- cam.y = viewHeight
-
- if (MX.Map) map = app.map = new MX.Map()
-
- if (is_mobile) {
- app.movements = new MX.MobileMovements(cam, viewHeight)
- }
- else {
- app.movements = new MX.Movements(cam, viewHeight)
- }
- app.movements.init()
-
var last_t = 0
function animate (t) {
var dt = t - last_t
last_t = t
requestAnimationFrame(animate)
- environment.update(t)
- window.path && path.update(t)
- app.movements.update(dt || 0)
- scene.update()
+ environment.update(t, dt)
}
var loader = new Loader(function(){
diff --git a/public/assets/javascripts/rectangles/_env.js b/public/assets/javascripts/rectangles/_env.js
index 14f73e3..b3c7d66 100644
--- a/public/assets/javascripts/rectangles/_env.js
+++ b/public/assets/javascripts/rectangles/_env.js
@@ -1,6 +1,22 @@
var environment = new function(){}
environment.init = function(){
+ scene = new MX.Scene().addTo('#scene')
+ scene.width = window.innerWidth
+ scene.height = window.innerHeight
+ scene.perspective = window.innerHeight
+
+ cam = scene.camera
+ cam.y = viewHeight
+
+ if (is_mobile) {
+ app.movements = new MX.MobileMovements(cam, viewHeight)
+ }
+ else {
+ app.movements = new MX.Movements(cam, viewHeight)
+ }
+ app.movements.init()
+
map = new Map ()
if (window.scene) {
@@ -16,7 +32,14 @@ environment.init = function(){
scene.camera.radius = 20
}
-
+
+ window.onresize = function () {
+ scene.width = window.innerWidth
+ scene.height = window.innerHeight
+ scene.perspective = window.innerHeight
+ scene.update()
+ }
+
Rooms.init()
Walls.init()
Scenery.init()
@@ -52,8 +75,13 @@ environment.init = function(){
}
})
}
-environment.update = function(t){
+environment.minimal = function(){
+ environment.update = function(t){}
+}
+environment.update = function(t, dt){
+ app.movements.update(dt || 0)
+ scene.update()
map.update()
- window.minimap && window.minimap.update && minimap.update()
+ window.minimap && minimap.update && minimap.update()
z = false
}
diff --git a/public/assets/javascripts/ui/_router.js b/public/assets/javascripts/ui/_router.js
index 1bdce19..857377c 100644
--- a/public/assets/javascripts/ui/_router.js
+++ b/public/assets/javascripts/ui/_router.js
@@ -44,6 +44,8 @@ var SiteRouter = Router.extend({
"/project/:name": 'projectViewer',
"/project/:name/edit": 'projectEditor',
"/project/:name/view": 'projectViewer',
+
+ "/test/blueprint": 'blueprintEditor',
},
mobileRoutes: {
@@ -157,6 +159,15 @@ var SiteRouter = Router.extend({
this.readerView = app.controller = new ReaderView()
this.readerView.load(name)
},
+
+ blueprintEditor: function(e){
+ environment.init = environment.minimal
+ app.launch()
+ if (app.unsupported) return
+
+ this.blueprintView = app.controller = new BlueprintView ()
+ this.blueprintView.load()
+ },
signup: function(e){
e && e.preventDefault()
diff --git a/public/assets/javascripts/ui/builder/BlueprintUpload.js b/public/assets/javascripts/ui/builder/BlueprintUpload.js
deleted file mode 100644
index dbc6f12..0000000
--- a/public/assets/javascripts/ui/builder/BlueprintUpload.js
+++ /dev/null
@@ -1,120 +0,0 @@
-
-var BlueprintUpload = UploadView.extend({
- el: ".blueprintUpload",
-
- mediaTag: "blueprint",
- createAction: "/api/media/new",
- uploadAction: "/api/media/upload",
- listAction: "/api/media/user",
- destroyAction: "/api/media/destroy",
-
- events: {
- "mousedown": 'stopPropagation',
- "change .url": "enterUrl",
- "keydown .url": "enterSetUrl",
-
- "click .blueprint": "choose",
- "change [name=blueprint-dimensions]": "changeDimensions",
- "change [name=blueprint-units]": "changeUnits",
- "click #saveBlueprint": "save",
- },
-
- initialize: function(opt){
- this.parent = opt.parent
- this.__super__.initialize.call(this)
-
- this.$url = this.$(".url")
-
- this.$blueprintMap = this.$("#blueprintMap")
- this.$blueprintDimensionsRapper = this.$("#blueprintDimensions")
- this.$dimensions = this.$("[name=blueprint-dimensions]")
- this.$units = this.$("[name=blueprint-units]")
- this.$save = this.$("#saveBlueprint")
-
- this.map = new Map ({ type: ortho })
-
- this.load()
- },
-
- loaded: false,
- load: function(){
- $.get(this.listAction, { tag: this.mediaTag }, this.populate.bind(this))
- },
-
- populate: function(data){
- this.loaded = true
- if (data && data.length) {
- data.forEach(this.append.bind(this))
- this.$(".txt").hide()
- }
- else {
- this.$(".txt").show()
- }
- },
-
- append: function(media){
- var $el = $("<div>")
- $el.data("id", media._id)
- $el.addClass("blueprint")
- this.$blueprints.append($el)
- },
-
- pick: function(e){
- var $el = $(e.currentTarget)
- // load map with it
- },
-
- destroy: function(_id, cb){
- $.ajax({
- type: "delete",
- url: this.destroyAction,
- data: { _id: _id, _csrf: $("[name=_csrf]").val() }
- }).complete(cb || function(){})
- },
-
- show: function(){
- this.toggle(true)
- },
- hide: function(){
- this.toggle(false)
- },
- toggle: function (state) {
- this.$el.toggleClass("active", state)
- },
-
- addUrl: function (url){
- Parser.loadImage(url, function(media){
- if (! media) return
- media._csrf = $("[name=_csrf]").val()
- media.tag = this.mediaTag
-
- var request = $.ajax({
- type: "post",
- url: this.createAction,
- data: media,
- })
- request.done(this.add.bind(this))
-
- }.bind(this))
- },
- enterUrl: function(){
- var url = this.$url.sanitize()
- this.addUrl(url)
- this.$url.val("")
- },
- enterSetUrl: function (e) {
- e.stopPropagation()
- if (e.keyCode == 13) {
- setTimeout(this.enterUrl.bind(this), 100)
- }
- },
-
- add: function(media){
- this.append(media)
- },
- changeDimensions: function(){
- },
- changeUnits: function(){
- },
-
-})
diff --git a/public/assets/test/ortho4.html b/public/assets/test/ortho4.html
index 12b6ab2..1c1adef 100644
--- a/public/assets/test/ortho4.html
+++ b/public/assets/test/ortho4.html
@@ -91,14 +91,16 @@ body {
</div>
</div>
-<script src="/assets/javascripts/util.js"></script>
-<script src="/assets/javascripts/defaults.js"></script>
<script src="/assets/javascripts/vendor/bower_components/jquery/dist/jquery.min.js"></script>
<script src="/assets/javascripts/vendor/bower_components/lodash/lodash.min.js"></script>
<script src="/assets/javascripts/vendor/bower_components/hidpi-canvas/dist/hidpi-canvas.js"></script>
<script src="/assets/javascripts/vendor/bower_components/fiber/src/fiber.min.js"></script>
<script src="/assets/javascripts/vendor/polyfill.js"></script>
<script src="/assets/javascripts/vendor/tube.js"></script>
+
+<script src="/assets/javascripts/util.js"></script>
+<script src="/assets/javascripts/defaults.js"></script>
+
<script src="/assets/javascripts/mx/mx.js"></script>
<script src="/assets/javascripts/mx/extensions/mx.scene.js"></script>
<script src="/assets/javascripts/mx/extensions/mx.orbitCamera.js"></script>
@@ -126,8 +128,10 @@ body {
<script src="/assets/javascripts/rectangles/engine/shapes/polyline.js"></script>
<script src="/assets/javascripts/ui/lib/View.js"></script>
<script src="/assets/javascripts/ui/lib/ModalView.js"></script>
+<script src="/assets/javascripts/ui/lib/UploadView.js"></script>
<script src="/assets/javascripts/ui/lib/Parser.js"></script>
<script src="/assets/javascripts/ui/lib/Toolbar.js"></script>
+<script src="/assets/javascripts/ui/builder/BlueprintUpload.js"></script>
<script>
var app = window.app || {}
@@ -199,6 +203,7 @@ OrthographicToolbar.add("eraser-mode", function(){
})
OrthographicToolbar.pick("ortho-polyline-mode")
+var BlueprintUpload = new BlueprintUploadView ({})
document.addEventListener('DOMContentLoaded', build)
function build () {
diff --git a/views/modal.ejs b/views/modal.ejs
index 732953d..433861e 100644
--- a/views/modal.ejs
+++ b/views/modal.ejs
@@ -10,7 +10,8 @@
<div style="height: 70%; clear: both;" id="content"></div>
- [[ include partials/confirm-modal ]]
+ [[ include controls/builder/blueprint ]]
+ [[ include partials/confirm-modal ]]
[[ include partials/sign-in ]]
[[ include projects/layouts-modal ]]
[[ include projects/edit-project ]]
diff --git a/views/partials/scripts.ejs b/views/partials/scripts.ejs
index 2de32fb..64ac135 100644
--- a/views/partials/scripts.ejs
+++ b/views/partials/scripts.ejs
@@ -28,6 +28,8 @@
<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.youtube.js"></script>
<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.vimeo.js"></script>
<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.soundcloud.js"></script>
+<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.grid.js"></script>
+<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.polyline.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/_env.js"></script>
@@ -79,10 +81,20 @@
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/sculpture/types/_object.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/sculpture/types/image.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/shapelist.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/polyline.js"></script>
+
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/_map.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/draw.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/ui/editor.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/ui/minimap.js"></script>
-<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/draw.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/ui/ortho.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/_base.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/arrow.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/eraser.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/ortho.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/polyline.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/position.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/lib/View.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/lib/Router.js"></script>
@@ -115,6 +127,9 @@
<script type="text/javascript" src="/assets/javascripts/ui/builder/BuilderToolbar.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/builder/BuilderInfo.js"></script>
+<script type="text/javascript" src="/assets/javascripts/ui/blueprint/BlueprintView.js"></script>
+<script type="text/javascript" src="/assets/javascripts/ui/blueprint/BlueprintUpload.js"></script>
+
<script type="text/javascript" src="/assets/javascripts/ui/editor/EditorView.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/editor/EditorSettings.js"></script>
<script type="text/javascript" src="/assets/javascripts/ui/editor/EditorToolbar.js"></script>