summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/editor
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-08-22 19:41:37 -0400
committerJules Laplace <jules@okfoc.us>2014-08-22 19:41:37 -0400
commit2235c34e498499b8141e835998b962067583a0ce (patch)
tree22406e6484a7cccc1c72fb47cc4e5848f57ee2c4 /public/assets/javascripts/ui/editor
parented5751766079a62ce596dcc0abc1a211b5b633dc (diff)
parent4ef340497ef24bb2ecacb2c9c4106c24515c874f (diff)
merge
Diffstat (limited to 'public/assets/javascripts/ui/editor')
-rw-r--r--public/assets/javascripts/ui/editor/EditorSettings.js29
-rw-r--r--public/assets/javascripts/ui/editor/MediaEditor.js1
-rw-r--r--public/assets/javascripts/ui/editor/MediaViewer.js27
3 files changed, 43 insertions, 14 deletions
diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js
index d6a79fb..e9239e4 100644
--- a/public/assets/javascripts/ui/editor/EditorSettings.js
+++ b/public/assets/javascripts/ui/editor/EditorSettings.js
@@ -5,7 +5,7 @@ var EditorSettings = FormView.extend({
createAction: "/api/project/new",
updateAction: "/api/project/edit",
destroyAction: "/api/project/destroy",
-
+
events: {
"keydown": 'stopPropagation',
"keydown [name=name]": 'enterSubmit',
@@ -32,13 +32,17 @@ var EditorSettings = FormView.extend({
data.rooms && Rooms.deserialize(data.rooms)
data.startPosition && scene.camera.move(data.startPosition)
- if (! data.isNew) {
+ if (data.isNew) {
+ this.$name.val( "Room " + moment().format("DD/MM/YYYY ha") )
+ }
+ else {
// console.log(data)
+ this.thumbnailIsStale()
this.$id.val( data._id )
this.$name.val( data.name )
this.$description.val( data.description )
- data.privacy && this.$privacy.find("[value=" + data.privacy + "]").prop('checked', "checked")
+ data.privacy && this.$privacy.find("[value=" + data.privacy + "]").prop("checked", "checked")
data.media && Scenery.deserialize(data.media)
}
@@ -121,15 +125,32 @@ var EditorSettings = FormView.extend({
fd.append( "walls", JSON.stringify( Rooms.serializeWalls() ) )
fd.append( "media", JSON.stringify( Scenery.serialize() ) )
fd.append( "startPosition", JSON.stringify( app.position(scene.camera) ) )
- fd.append( "thumbnail", dataUriToBlob(map.canvas.toDataURL()) )
+
+ if (this.thumbnailIsStale()) {
+ fd.append( "thumbnail", dataUriToBlob(map.canvas.toDataURL()) )
+ }
return fd
},
+ thumbnailState: null,
+ thumbnailIsStale: function(){
+ var newState = JSON.stringify( Rooms.serialize() )
+
+ if (newState !== this.thumbnailState) {
+ this.thumbnailState = newState
+ return true
+ }
+ return false
+ },
+
success: function(data){
this.$id.val(data._id)
this.$name.val(data.name)
this.action = this.updateAction
+ Minotaur.unwatch(this)
+ Minotaur.hide()
+
window.history.pushState(null, document.title, "/project/" + data.slug + "/edit")
},
diff --git a/public/assets/javascripts/ui/editor/MediaEditor.js b/public/assets/javascripts/ui/editor/MediaEditor.js
index e3a8f2e..cc924da 100644
--- a/public/assets/javascripts/ui/editor/MediaEditor.js
+++ b/public/assets/javascripts/ui/editor/MediaEditor.js
@@ -4,6 +4,7 @@ var MediaEditor = FormView.extend({
events: {
"keydown": 'stopPropagation',
+ "focus [name]": "clearMinotaur",
"click [data-role=play-media]": "togglePaused",
"mousedown [name=keyframe]": "stopPropagation",
"mousedown": "stopPropagation",
diff --git a/public/assets/javascripts/ui/editor/MediaViewer.js b/public/assets/javascripts/ui/editor/MediaViewer.js
index 5540023..40bfe80 100644
--- a/public/assets/javascripts/ui/editor/MediaViewer.js
+++ b/public/assets/javascripts/ui/editor/MediaViewer.js
@@ -133,7 +133,9 @@ var MediaViewer = ModalView.extend({
var $floatingImg = $('.floatingImg');
Scenery.nextMedia = media
- console.log(media.type)
+
+// console.log(media.type)
+
switch (media.type) {
case "video":
$floatingImg.attr('src', '/assets/img/playbutton.png')
@@ -150,18 +152,23 @@ var MediaViewer = ModalView.extend({
function _followCursor(e) {
$floatingImg.parent().css({
top: (e.pageY - (height / 2)) + 'px',
- left: (e.pageX - (width / 2)) + 'px'
+ left: (e.pageX - (width / 2)) + 'px',
});
}
- $(window).on('mousemove', _followCursor);
- $(window).one('click', function () {
+ function _hideCursor (e) {
+ if (Scenery.nextMedia) {
+ return
+ }
var $floatingImg = $('.floatingImg')
- $floatingImg.attr('src', '');
- $(window).off('mousemove', _followCursor);
- $floatingImg.parent().removeClass('edit');
- });
- $ants.addClass('edit');
- _followCursor(e);
+ $floatingImg.attr('src', '')
+ $(window).off('mousemove', _followCursor)
+ $(window).off('mousedown', _hideCursor)
+ $floatingImg.parent().removeClass('edit')
+ }
+ $(window).on('mousemove', _followCursor)
+ $(window).on('mousedown', _hideCursor)
+ $ants.addClass('edit')
+ _followCursor(e)
},
})