summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/site
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/site')
-rw-r--r--public/assets/javascripts/ui/site/DocumentModal.js4
-rw-r--r--public/assets/javascripts/ui/site/EditProfileModal.js4
-rw-r--r--public/assets/javascripts/ui/site/EditProjectModal.js4
-rw-r--r--public/assets/javascripts/ui/site/LayoutsModal.js19
-rw-r--r--public/assets/javascripts/ui/site/PasswordForgot.js26
-rw-r--r--public/assets/javascripts/ui/site/PasswordReset.js31
-rw-r--r--public/assets/javascripts/ui/site/ProfileView.js28
-rw-r--r--public/assets/javascripts/ui/site/UsernameTaken.js27
8 files changed, 131 insertions, 12 deletions
diff --git a/public/assets/javascripts/ui/site/DocumentModal.js b/public/assets/javascripts/ui/site/DocumentModal.js
index 6f16169..067977d 100644
--- a/public/assets/javascripts/ui/site/DocumentModal.js
+++ b/public/assets/javascripts/ui/site/DocumentModal.js
@@ -20,7 +20,7 @@ var DocumentModal = ModalFormView.extend({
this.action = this.updateAction
- $.get("/api/docs", { name: name }, $.proxy(function(data){
+ $.get("/api/docs", { name: name }, function(data){
if (data.isNew) {
this.action = this.createAction
}
@@ -31,7 +31,7 @@ var DocumentModal = ModalFormView.extend({
this.$("[name='new_name']").val(name)
this.show()
- }, this))
+ }.bind(this))
},
success: function(res){
diff --git a/public/assets/javascripts/ui/site/EditProfileModal.js b/public/assets/javascripts/ui/site/EditProfileModal.js
index 6b89ad8..b023923 100644
--- a/public/assets/javascripts/ui/site/EditProfileModal.js
+++ b/public/assets/javascripts/ui/site/EditProfileModal.js
@@ -6,7 +6,7 @@ var EditProfileModal = ModalFormView.extend({
load: function(){
this.reset()
- $.get("/api/profile", $.proxy(function(data){
+ $.get("/api/profile", function(data){
console.log(data)
for (var i in data) {
@@ -23,7 +23,7 @@ var EditProfileModal = ModalFormView.extend({
}
this.show()
- }, this))
+ }.bind(this))
},
validate: function(){
diff --git a/public/assets/javascripts/ui/site/EditProjectModal.js b/public/assets/javascripts/ui/site/EditProjectModal.js
index 356d8b7..20baa54 100644
--- a/public/assets/javascripts/ui/site/EditProjectModal.js
+++ b/public/assets/javascripts/ui/site/EditProjectModal.js
@@ -31,7 +31,7 @@ var EditProjectModal = ModalView.extend({
var fields = this.$form.serializeArray()
var request = $.post(this.action, $.param(fields));
- request.done($.proxy(function (response) {
+ request.done(function (response) {
if (response.error) {
this.$errors.show();
for (var key in response.error.errors) {
@@ -42,7 +42,7 @@ var EditProjectModal = ModalView.extend({
else {
window.location.href = "/profile"
}
- }, this));
+ }.bind(this));
}
})
diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js
index 46ed634..4948b0e 100644
--- a/public/assets/javascripts/ui/site/LayoutsModal.js
+++ b/public/assets/javascripts/ui/site/LayoutsModal.js
@@ -3,23 +3,30 @@ var LayoutsIndex = View.extend({
initialize: function(){
this.$templates = this.$(".templates")
+ this.$noTemplates = this.$(".no-templates")
+ this.$form = this.$("form")
},
load: function(type){
this.$templates.children("span").remove()
- $.get(this.action, $.proxy(this.populate, this))
+ $.get(this.action, this.populate.bind(this))
},
populate: function(data){
- data.forEach($.proxy(function(room){
+ if (! data.length) {
+ this.$templates.hide()
+ this.$form.hide()
+ this.$noTemplates.show()
+ }
+ data.forEach(function(room){
var $span = $("<span>")
// $span.html(JSON.stringify(room))
$span.data("slug", room.slug)
$span.css("background-image", "url(" + room.photo + ")")
this.$templates.append($span)
- }, this))
+ }.bind(this))
this.show()
}
@@ -28,7 +35,7 @@ var LayoutsIndex = View.extend({
var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({
el: ".mediaDrawer.projects",
- action: "/api/projects",
+ action: "/api/project",
events: {
"click .templates span": 'toggleActive',
@@ -65,7 +72,7 @@ var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({
var LayoutsModal = ModalView.extend(LayoutsIndex.prototype).extend({
el: ".mediaDrawer.layouts",
- action: "/api/layouts",
+ action: "/api/layout",
events: {
"click .templates span": 'toggleActive',
@@ -93,7 +100,7 @@ var LayoutsModal = ModalView.extend(LayoutsIndex.prototype).extend({
var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
el: ".mediaDrawer.newProject",
- action: "/api/layouts",
+ action: "/api/layout",
events: {
"click .templates span": 'toggleActive',
diff --git a/public/assets/javascripts/ui/site/PasswordForgot.js b/public/assets/javascripts/ui/site/PasswordForgot.js
new file mode 100644
index 0000000..ecbfc07
--- /dev/null
+++ b/public/assets/javascripts/ui/site/PasswordForgot.js
@@ -0,0 +1,26 @@
+var PasswordForgot = ModalFormView.extend({
+ el: ".mediaDrawer.passwordForgot",
+ action: "/auth/forgotPassword",
+
+ validate: function(){
+ var errors = []
+
+ var email = this.$("#emailInput").val()
+
+ if (! email.length) {
+ errors.push("Please enter your email address");
+ }
+ if (email.indexOf("@") === -1) {
+ errors.push("Sorry, that is not a valid email address");
+ }
+
+ return errors
+ },
+
+ success: function(res){
+ AlertModal.alert("Check your email, you should receive further instructions momentarily.", function(e){
+ window.location.href = "/"
+ })
+ },
+
+})
diff --git a/public/assets/javascripts/ui/site/PasswordReset.js b/public/assets/javascripts/ui/site/PasswordReset.js
new file mode 100644
index 0000000..9b87d37
--- /dev/null
+++ b/public/assets/javascripts/ui/site/PasswordReset.js
@@ -0,0 +1,31 @@
+var PasswordReset = ModalFormView.extend({
+ el: ".mediaDrawer.passwordReset",
+ action: "/auth/password",
+
+ load: function(){
+ var opt = JSON.parse( $("#opt").html() )
+ this.$("[name=nonce]").val( opt.nonce )
+ this.__super__.load.call(this)
+ },
+
+ validate: function(){
+ var errors = []
+
+ var pw1 = this.$("#passwordInput1").val()
+ var pw2 = this.$("#passwordInput2").val()
+
+ if (! pw1.length) {
+ errors.push("Please enter a password");
+ }
+ if (pw1 !== pw2) {
+ errors.push("Passwords don't match");
+ }
+
+ return errors
+ },
+
+ success: function(res){
+ window.location.href = "/profile"
+ }
+
+})
diff --git a/public/assets/javascripts/ui/site/ProfileView.js b/public/assets/javascripts/ui/site/ProfileView.js
new file mode 100644
index 0000000..8661bcd
--- /dev/null
+++ b/public/assets/javascripts/ui/site/ProfileView.js
@@ -0,0 +1,28 @@
+
+var ProfileView = View.extend({
+
+ initialize: function() {
+ },
+
+ load: function() {
+ var classes = ['one', 'two', 'three', 'four',
+ 'five', 'six', 'seven', 'eight',
+ 'nine', 'ten', 'eleven', 'twelve',
+ 'thirteen'];
+ $(".bio").addClass(choice(classes));
+
+ $("td.border").each(function() {
+ var iframe = $(this).find("iframe").get('0')
+ if (! iframe) return
+ $(this).on({
+ mouseenter: function(e){
+ iframe.contentWindow.postMessage("spin-on", window.location.origin)
+ },
+ mouseleave: function(e){
+ iframe.contentWindow.postMessage("spin-off", window.location.origin)
+ }
+ })
+ })
+ }
+
+})
diff --git a/public/assets/javascripts/ui/site/UsernameTaken.js b/public/assets/javascripts/ui/site/UsernameTaken.js
new file mode 100644
index 0000000..fc9f50a
--- /dev/null
+++ b/public/assets/javascripts/ui/site/UsernameTaken.js
@@ -0,0 +1,27 @@
+var UsernameTaken = ModalFormView.extend({
+ el: ".mediaDrawer.usernameTaken",
+ action: "/auth/usernameTaken",
+
+ load: function(){
+ var opt = JSON.parse( $("#opt").html() )
+ this.$("#usernameThatIsTaken").html( opt.username )
+ this.__super__.load.call(this)
+ },
+
+ validate: function(){
+ var errors = []
+
+ var username = this.$("#usernameInput").val()
+
+ if (! username.length) {
+ errors.push("Please enter a username");
+ }
+
+ return errors
+ },
+
+ success: function(res){
+ window.location.href = "/profile"
+ }
+
+})