summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulie Lala <jules@okfoc.us>2014-06-13 02:24:38 -0400
committerJulie Lala <jules@okfoc.us>2014-06-13 02:24:38 -0400
commit6b00fdd02612f4e5068f436627faa8b702b5f914 (patch)
tree43de05a59f2719d60c2fa015282fd131ef8993e7
parentff0b10665ed839f2ae5855b90cc8dd26d3ef740e (diff)
delete media
-rw-r--r--public/assets/javascripts/ui/editor/EditorToolbar.js1
-rw-r--r--public/assets/javascripts/ui/editor/MediaViewer.js34
-rw-r--r--public/assets/javascripts/ui/editor/WallpaperPicker.js6
-rw-r--r--public/assets/javascripts/ui/z_misc.js20
-rw-r--r--server/index.js1
-rw-r--r--server/lib/api/media.js18
-rw-r--r--views/builder.ejs4
-rwxr-xr-xviews/editor.ejs4
8 files changed, 55 insertions, 33 deletions
diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js
index 6be068b..4b30228 100644
--- a/public/assets/javascripts/ui/editor/EditorToolbar.js
+++ b/public/assets/javascripts/ui/editor/EditorToolbar.js
@@ -34,6 +34,7 @@ var EditorToolbar = View.extend({
},
deleteMedia: function(){
+ $("body").toggleClass("deleteActive", isActive);
},
toggleWallpaper: function(){
diff --git a/public/assets/javascripts/ui/editor/MediaViewer.js b/public/assets/javascripts/ui/editor/MediaViewer.js
index 3911d3b..4ae6f97 100644
--- a/public/assets/javascripts/ui/editor/MediaViewer.js
+++ b/public/assets/javascripts/ui/editor/MediaViewer.js
@@ -1,13 +1,13 @@
var MediaViewer = ModalView.extend({
el: ".mediaDrawer.mediaViewer",
- createAction: "/api/docs/new",
- updateAction: "/api/docs/edit",
- destroyAction: "/api/docs/destroy",
+ destroyAction: "/api/media/destroy",
events: {
'click .foundToggle': "foundToggle",
'click .yourMedia': "userToggle",
+ 'click #deleteMedia': "deleteArmed",
+ 'mousedown .mediaContainer': "pick",
},
foundToggle: function(){
@@ -69,11 +69,35 @@ var MediaViewer = ModalView.extend({
this.$(".myMedia").prepend($span)
},
- destroy: function(name, cb){
+ deleteIsArmed: false,
+ deleteArmed: function(e, state){
+ if (typeof state != "boolean") {
+ state = ! this.deleteIsArmed
+ }
+ console.log(state)
+ this.deleteIsArmed = state
+ $("body").toggleClass("deleteArmed", state)
+ },
+
+ pick: function(e){
+ var target = e.currentTarget
+ var $target = $(target)
+ var media = $target.data('media')
+
+ if (this.deleteIsArmed) {
+ this.destroy(media._id)
+ $target.remove()
+ }
+ else {
+ // pick this image ...
+ }
+ },
+
+ destroy: function(_id, cb){
$.ajax({
type: "delete",
url: this.destroyAction,
- data: { name: name, _csrf: $("[name=_csrf]").val() }
+ data: { _id: _id, _csrf: $("[name=_csrf]").val() }
}).complete(cb || function(){})
},
diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js
index 59dc7dd..ffbd935 100644
--- a/public/assets/javascripts/ui/editor/WallpaperPicker.js
+++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js
@@ -3,6 +3,7 @@ var WallpaperPicker = View.extend({
el: ".wallpaper",
events: {
+ "click .paper1": 'pick',
},
toggle: function(){
@@ -10,5 +11,10 @@ var WallpaperPicker = View.extend({
// toggle the class that makes the cursor a paintbucket
// $("body").removeClass("pastePaper");
},
+
+ pick: function(e){
+ $("body").toggleClass("pastePaper");
+ $(e.currentTarget).toggleClass("active");
+ }
})
diff --git a/public/assets/javascripts/ui/z_misc.js b/public/assets/javascripts/ui/z_misc.js
index f2620b7..c0f7983 100644
--- a/public/assets/javascripts/ui/z_misc.js
+++ b/public/assets/javascripts/ui/z_misc.js
@@ -59,22 +59,6 @@ function bind () {
$(this).toggleClass('hidden');
});
- $(".paper1").click(function(){
- $("body").toggleClass("pastePaper");
- $(this).toggleClass("active");
- });
-
- $(".icon-ios7-sunny-outline").clickToToggle(function(isActive){
- $(".lightcontrol").toggleClass("active", isActive);
- });
- $(".delete-image-toggle").clickToToggle(function(isActive){
- $("body").toggleClass("deleteActive", isActive);
- });
- $(".icon-key").clickToToggle(function(isActive){
- $(".settings").toggleClass("active", isActive);
- });
-
-
$(".edit-text-toggle").clickToToggle(function(isActive){
$(".image").toggleClass("editText", isActive);
@@ -91,10 +75,6 @@ function bind () {
$("#moveText").toggleClass("show");
});
-
- $(".deleteArmed .mediaContainer").click(function(){
- $(this).addClass("deleted");
- });
$(document).on("click", ".icon-close", disable_mode)
diff --git a/server/index.js b/server/index.js
index d55d182..f76c40b 100644
--- a/server/index.js
+++ b/server/index.js
@@ -128,6 +128,7 @@ site.route = function () {
app.get('/api/media/user', middleware.ensureAuthenticated, api.media.user)
app.post('/api/media/new', middleware.ensureAuthenticated, api.media.create)
app.post('/api/media/upload', middleware.ensureAuthenticated, api.media.upload)
+ app.delete('/api/media/destroy', middleware.ensureAuthenticated, api.media.destroy)
}
diff --git a/server/lib/api/media.js b/server/lib/api/media.js
index 9898727..48446ca 100644
--- a/server/lib/api/media.js
+++ b/server/lib/api/media.js
@@ -48,7 +48,25 @@ var media = {
res.json(rec)
})
}
+ },
+
+ destroy: function(req, res){
+ var _id = util.sanitize(req.body._id)
+ if (! _id || ! _id.length) {
+ res.json({ error: 404 })
+ return
+ }
+ Media.findOne({ _id: _id }, function(err, doc){
+ if (! doc) { return res.json({ error: 404 }) }
+ if (String(doc.user_id) !== String(req.user._id)) {
+ return res.json({ error: "access denied" })
+ }
+ Media.remove({ _id: _id }, function(err){
+ res.json({ status: "OK" })
+ })
+ })
}
+
}
module.exports = media
diff --git a/views/builder.ejs b/views/builder.ejs
index 8e887e3..61e84c3 100644
--- a/views/builder.ejs
+++ b/views/builder.ejs
@@ -35,10 +35,6 @@
<div id="hud">
<div id="map" style="display: block">
</div>
-
- <div id="info">
- <div id="intersects"></div>
- </div>
</div>
</div>
diff --git a/views/editor.ejs b/views/editor.ejs
index f4c303d..cd31b41 100755
--- a/views/editor.ejs
+++ b/views/editor.ejs
@@ -39,10 +39,6 @@
<div id="hud">
<div id="map" style="display: block">
</div>
-
- <div id="info">
- <div id="intersects"></div>
- </div>
</div>
</div>