diff options
Diffstat (limited to 'public/assets/js/lib/views/keywords/newkeyword.js')
| -rw-r--r-- | public/assets/js/lib/views/keywords/newkeyword.js | 34 |
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 + } +}) |
