summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/editor/WallpaperPicker.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/editor/WallpaperPicker.js')
-rw-r--r--public/assets/javascripts/ui/editor/WallpaperPicker.js46
1 files changed, 37 insertions, 9 deletions
diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js
index 6e0d5c6..2d60f11 100644
--- a/public/assets/javascripts/ui/editor/WallpaperPicker.js
+++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js
@@ -7,11 +7,12 @@ var WallpaperPicker = UploadView.extend({
uploadAction: "/api/media/upload",
events: {
+ "contextmenu": 'contextmenu',
"mousedown": 'stopPropagation',
"click .swatch": 'pick',
"click .wallpaperRemove": 'remove',
"input [data-role='wallpaper-scale']": 'updateScale',
- "change .url": "tileWalls",
+ "change .url": "enterUrl",
"keydown .url": "enterSetUrl",
},
@@ -120,8 +121,22 @@ var WallpaperPicker = UploadView.extend({
$(".floatingSwatch").addClass("scissors")
}
},
+
+ contextmenu: function(e){
+ if (Scenery.nextWallpaper) {
+ e.preventDefault()
+ this.cancel()
+ }
+ },
+ cancel: function(){
+ if (Scenery.nextWallpaper) {
+ Scenery.nextWallpaper = null
+ app.tube('cancel-wallpaper')
+ }
+ },
follow: function(e, wallpaper, icon){
+ var base = this
icon = icon || wallpaper
var $floatingSwatch = $(".floatingSwatch")
@@ -130,6 +145,8 @@ var WallpaperPicker = UploadView.extend({
Scenery.nextWallpaper = wallpaper
+ $(".floodMessage").show()
+
setTimeout(function(){
function _followCursor(e) {
$floatingSwatch.css({
@@ -138,11 +155,18 @@ var WallpaperPicker = UploadView.extend({
});
}
function _hideCursor (e) {
+ $(window).off('keydown', _floodRoom)
$(window).off('mousemove', _followCursor)
- // $(window).off('click', _hideCursor)
app.off('cancel-wallpaper', _hideCursor)
$floatingSwatch.removeClass("scissors").hide()
+ $(".floodMessage").hide()
+ }
+ function _floodRoom (e) {
+ if (e.keyCode == 13) {
+ base.flood()
+ }
}
+ $(window).on('keydown', _floodRoom)
$(window).on('mousemove', _followCursor)
// $(window).one('click', _hideCursor);
app.on('cancel-wallpaper', _hideCursor)
@@ -169,22 +193,26 @@ var WallpaperPicker = UploadView.extend({
this.wall.wallpaperPosition({ scale: scale })
},
- tileWalls: function(){
+ enterUrl: function(){
var url = this.$url.sanitize()
- if (url.length && url.indexOf("http") == 0) {
- Walls.setWallpaper.wall({ src: url })
- Walls.setWallpaper.floor({ src: url })
- Walls.setWallpaper.ceiling({ src: url })
- }
this.addUrl(url)
this.$url.val("")
},
enterSetUrl: function (e) {
e.stopPropagation()
if (e.keyCode == 13) {
- setTimeout(this.tileWalls.bind(this), 100)
+ setTimeout(this.enterUrl.bind(this), 100)
}
},
+
+ flood: function(url){
+ url = url || Scenery.nextWallpaper
+ if (! url) return
+ Walls.setWallpaper.wall({ src: url })
+ Walls.setWallpaper.floor({ src: url })
+ Walls.setWallpaper.ceiling({ src: url })
+ this.cancel()
+ },
initializePositionCursor: function(){
var base = this