summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui')
-rw-r--r--public/assets/javascripts/ui/lib/Parser.js27
-rw-r--r--public/assets/javascripts/ui/site/ProjectList.js3
-rw-r--r--public/assets/javascripts/ui/site/StaffView.js49
3 files changed, 71 insertions, 8 deletions
diff --git a/public/assets/javascripts/ui/lib/Parser.js b/public/assets/javascripts/ui/lib/Parser.js
index 1cf0418..52c96e6 100644
--- a/public/assets/javascripts/ui/lib/Parser.js
+++ b/public/assets/javascripts/ui/lib/Parser.js
@@ -21,7 +21,7 @@ var Parser = {
}
},
tag: function (media) {
- return '<img src="' + media.url + '" onerror="imgError(this);">';
+ return '<img src="' + media.url + '">';
}
}, {
type: 'video',
@@ -43,7 +43,7 @@ var Parser = {
video.load()
},
tag: function (media) {
- return '<video src="' + media.url + '" onerror="imgError(this);">';
+ return '<video src="' + media.url + '">';
}
}, {
type: 'youtube',
@@ -73,7 +73,8 @@ var Parser = {
})
},
tag: function (media) {
- return '<img class="video" type="youtube" vid="'+media.token+'" src="'+media.thumbnail+'"><span class="playvid">&#9654;</span>';
+ // return '<img class="video" type="youtube" vid="'+media.token+'" src="'+media.thumbnail+'"><span class="playvid">&#9654;</span>';
+ return '<div class="video" style="width: ' + media.width + 'px; height: ' + media.height + 'px; overflow: hidden; position: relative;"><iframe frameborder="0" scrolling="no" seamless="seamless" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen" id="okplayer" width="' + media.width + '" height="' + media.height + '" src="http://youtube.com/embed/' + media.token + '?showinfo=0" style="position: absolute; top: 0px; left: 0px; width: ' + media.width + 'px; height: ' + media.height + 'px;"></iframe></div>'
}
}, {
type: 'vimeo',
@@ -101,7 +102,8 @@ var Parser = {
})
},
tag: function (media) {
- return '<img class="video" type="vimeo" vid="'+media.token+'" src="'+media.thumbnail+'"><span class="playvid">&#9654;</span>';
+ // return '<img class="video" type="vimeo" vid="'+media.token+'" src="'+media.thumbnail+'"><span class="playvid">&#9654;</span>';
+ return '<div class="video" style="width: ' + media.width + 'px; height: ' + media.height + 'px; overflow: hidden; position: relative;"><iframe frameborder="0" scrolling="no" seamless="seamless" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen" id="okplayer" src="http://player.vimeo.com/video/' + media.token + '?api=1&js_api=1&title=0&byline=0&portrait=0&playbar=0&player_id=okplayer&loop=0&autoplay=0" width="' + media.width + '" height="' + media.height + '" style="position: absolute; top: 0px; left: 0px; width: ' + media.width + 'px; height: ' + media.height + 'px;"></iframe></div>'
}
},
/*
@@ -165,5 +167,18 @@ var Parser = {
if (! matched) {
cb(null)
}
- }
-} \ No newline at end of file
+ },
+
+ tag: function (media){
+ if (media.type in Parser.lookup) {
+ return Parser.lookup[media.type].tag(media)
+ }
+ return ""
+ },
+
+ thumbnail: function (media) {
+ return '<img src="' + (media.thumbnail || media.url) + '" class="thumb">';
+ },
+
+};
+Parser.lookup = _.indexBy(Parser.integrations, 'type');
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))
+ },
+
+})