diff options
Diffstat (limited to 'public/assets/javascripts/ui/site')
| -rw-r--r-- | public/assets/javascripts/ui/site/ProjectList.js | 3 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/site/StaffView.js | 49 |
2 files changed, 50 insertions, 2 deletions
diff --git a/public/assets/javascripts/ui/site/ProjectList.js b/public/assets/javascripts/ui/site/ProjectList.js index d772b20..ee1b89f 100644 --- a/public/assets/javascripts/ui/site/ProjectList.js +++ b/public/assets/javascripts/ui/site/ProjectList.js @@ -1,7 +1,7 @@ var ProjectList = View.extend({ - el: "#projectList", + el: ".projectList", events: { "mouseenter td.border": 'spinOn', @@ -24,4 +24,3 @@ var ProjectList = View.extend({ } }) - diff --git a/public/assets/javascripts/ui/site/StaffView.js b/public/assets/javascripts/ui/site/StaffView.js new file mode 100644 index 0000000..fdf39d2 --- /dev/null +++ b/public/assets/javascripts/ui/site/StaffView.js @@ -0,0 +1,49 @@ +var StaffView = View.extend({ + el: ".page", + + events: { + "click #toggle-staff": "toggleStaff", + }, + + initialize: function() { + this.$toggleStaff = $("#toggle-staff") + this.$mediaEmbed = $("#media-embed") + if (this.$toggleStaff.length && this.$toggleStaff.data().isstaff) { + this.$toggleStaff.html("Is Staff") + } + if (this.$mediaEmbed.length) { + var media = this.$mediaEmbed.data() + this.$mediaEmbed.html( Parser.tag( media ) ) + } + }, + + load: function() { + $(".json").each(function(){ + $(this).JSONView( this.innerText ) + }).show() + + this.projectList = new ProjectList () + }, + + toggleStaff: function(){ + var state = ! this.$toggleStaff.data().isstaff + var verb = state ? "promote this user to staff?" : "remove this user from staff?" + ConfirmModal.confirm("Are you sure you want to " + verb, function(){ + $.ajax({ + type: "put", + dataType: "json", + url: window.location.href + "/bless", + data: { + state: state, + _csrf: $("#_csrf").val(), + }, + success: function(data){ + this.$toggleStaff.data("isstaff", data.state) + this.$toggleStaff.html(data.state ? "Is Staff" : "Make Staff") + $("#is-staff").html(data.state ? "yes" : "no") + }.bind(this) + }) + }.bind(this)) + }, + +}) |
