summaryrefslogtreecommitdiff
path: root/public/assets/js/lib/views/keywords/newkeyword.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/lib/views/keywords/newkeyword.js')
-rw-r--r--public/assets/js/lib/views/keywords/newkeyword.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/public/assets/js/lib/views/keywords/newkeyword.js b/public/assets/js/lib/views/keywords/newkeyword.js
new file mode 100644
index 0000000..9db528a
--- /dev/null
+++ b/public/assets/js/lib/views/keywords/newkeyword.js
@@ -0,0 +1,34 @@
+var NewKeywordForm = FormView.extend({
+
+ el: "#new_keyword",
+
+ action: "/api/keyword/new",
+
+ initialize: function(){
+ this.__super__.initialize.call(this)
+ var $color = this.$('[name=color]')
+ Object.keys(COLORS).forEach((color) => {
+ var option = document.createElement('option')
+ option.value = color
+ option.innerHTML = color
+ $color.append(option)
+ })
+ $color.val(choice(Object.keys(COLORS)))
+ },
+
+ validate: function(){
+ var errors = []
+ var keyword = $("[name=keyword]").val().trim()
+ if (! keyword || ! keyword.length) {
+ errors.push("Please enter a keyword.")
+ }
+ if (keyword === "new") {
+ errors.push("Keyword cannot be called 'new'.")
+ }
+ return errors.length ? errors : null
+ },
+
+ success: function(data){
+ window.location.href = "/post/" + data.keyword.keyword
+ }
+})