summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-08-25 14:24:45 -0400
committerJules Laplace <jules@okfoc.us>2014-08-25 14:24:45 -0400
commit124a698130f39992a1b47dcc8f32ef30c61a00eb (patch)
treece37d2bebb8a7975cd060a313f211f1cbe8be17e /public/assets/javascripts/ui
parent099dfd16940c62e931bf01e7f62b7a45f2b8c654 (diff)
stub in collaborator ui
Diffstat (limited to 'public/assets/javascripts/ui')
-rw-r--r--public/assets/javascripts/ui/editor/Collaborators.js64
-rw-r--r--public/assets/javascripts/ui/editor/EditorView.js1
2 files changed, 65 insertions, 0 deletions
diff --git a/public/assets/javascripts/ui/editor/Collaborators.js b/public/assets/javascripts/ui/editor/Collaborators.js
new file mode 100644
index 0000000..bb163f8
--- /dev/null
+++ b/public/assets/javascripts/ui/editor/Collaborators.js
@@ -0,0 +1,64 @@
+
+var Collaborators = ModalFormView.extend({
+ el: ".mediaDrawer.collaborators",
+
+ template: $("#collaborator-template").html(),
+
+ createAction: "/api/collaborator/:slug/create",
+ destroyAction: "/api/collaborator/:slug/destroy",
+
+ events: {
+ "click [data-role=destroy-collaborator]": "destroy",
+ },
+
+ show: function(){
+ if (! this.loaded) {
+ this.load()
+ }
+ else {
+ this.__super__.show.call(this)
+ }
+ },
+
+ load: function(){
+ $.get("/api/collaborator/:slug/index", this.populate.bind(this))
+ },
+
+ populate: function(collaborators){
+ //
+ collaborators.forEach(function(collab){
+ var $el = $( this.template )
+ $el.data("collaborator-id", collab.id)
+
+ if (collab.user) {
+ $el.find(".email").remove()
+
+ $el.find(".user")
+ .attr("href", "/profile/" + collab.username)
+
+ $el.find(".avatar")
+ .css("background-image", "url(" + collab.photo + ")")
+
+ $el.find(".username")
+ .html( collab.displayName )
+ }
+ else {
+ $el.remove(".user")
+ $el.find(".email").html( collab.email )
+ }
+
+ $("#collaborators").append($el)
+ }.bind(this))
+
+ this.__super__.show.call(this)
+ },
+
+ success: function(data){
+ this.populate([data])
+ },
+
+ destroy: function(e){
+ var _id = $(e.currentTarget).closest("li").data("collaborator-id")
+ },
+
+})
diff --git a/public/assets/javascripts/ui/editor/EditorView.js b/public/assets/javascripts/ui/editor/EditorView.js
index 4067c4d..5fc5147 100644
--- a/public/assets/javascripts/ui/editor/EditorView.js
+++ b/public/assets/javascripts/ui/editor/EditorView.js
@@ -16,6 +16,7 @@ var EditorView = View.extend({
this.mediaEditor = new MediaEditor ({ parent: this })
this.wallpaperPicker = new WallpaperPicker ({ parent: this })
this.lightControl = new LightControl ({ parent: this })
+ this.collaborators = new Collaborators ({ parent: this })
},
load: function(name){