diff --git a/config/assets.yml b/config/assets.yml index e2a445ec6a71440a32aaff5ac398643702e98bca..570bcac7f801457948d6a501d4bc7c2e691d8861 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -71,6 +71,7 @@ javascripts: - public/javascripts/vendor/bootstrap/bootstrap-twipsy.js - public/javascripts/vendor/bootstrap/bootstrap-popover.js + - public/javascripts/vendor/bootstrap/bootstrap-dropdown.js login: - public/javascripts/login.js diff --git a/public/javascripts/app/templates/aspects-dropdown.handlebars b/public/javascripts/app/templates/aspects-dropdown.handlebars new file mode 100644 index 0000000000000000000000000000000000000000..b1e6ae6d7f4879f00c7c1037f721df6fb1dbd328 --- /dev/null +++ b/public/javascripts/app/templates/aspects-dropdown.handlebars @@ -0,0 +1,25 @@ +<div class="btn-group aspect_ids check-group"> + <a class="btn btn-info dropdown-toggle" data-toggle="dropdown" href="#">All Aspects <span class="caret"></span></a> + <ul class="dropdown-menu"> + <li> + <label class="checkbox"> + <input type="checkbox" value="public"/>Public + </label> + </li> + <li> + <label class="checkbox"> + <input type="checkbox" value="all"/>All Aspects + </label> + </li> + <li class="divider"></li> + + {{#each current_user.aspects}} + + <li> + <label class="checkbox"> + <input type="checkbox" value="{{id}}"/> {{name}} + </label> + </li> + {{/each}} + </ul> +</div> \ No newline at end of file diff --git a/public/javascripts/app/templates/post-form.handlebars b/public/javascripts/app/templates/post-form.handlebars index 0c8ffb88ca7597b38a24ffe10f532e0dc7771f45..f57dd6c1bf2a5e165dc7319fd1b177e9ede34352 100644 --- a/public/javascripts/app/templates/post-form.handlebars +++ b/public/javascripts/app/templates/post-form.handlebars @@ -1,4 +1,11 @@ -<form class="new-post"> - <label>text<textarea class="text"/></label> - <input type="submit" class="btn-primary" value="Share"></input> -</form> +<div class='row'> + <div class='span12'> + <form class="new-post well"> + <label>text<textarea class="text"/></label> + <input type="submit" class="btn-primary" value="Share"></input> + + <div class="aspect_selector"/> + + </form> + </div> +</div> diff --git a/public/javascripts/app/views/post_form_view.js b/public/javascripts/app/views/post_form_view.js index e29bd54b9d179a9755e5894c857806b086796f2a..eea8a58057db9a2b4906bef4a2e545af90724c38 100644 --- a/public/javascripts/app/views/post_form_view.js +++ b/public/javascripts/app/views/post_form_view.js @@ -5,10 +5,18 @@ app.views.PostForm = app.views.Base.extend({ 'submit form' : 'setModelAttributes' }, +// subviews : { +// ".aspect_form" : "aspectDropdown" +// }, + formAttrs : { ".text" : "text" }, +// initialize : function(){ +//// this.aspectsDropdown = new app.views.AspectDropdown() +// }, + setModelAttributes : function(evt){ if(evt){ evt.preventDefault(); } diff --git a/public/javascripts/vendor/bootstrap/bootstrap-dropdown.js b/public/javascripts/vendor/bootstrap/bootstrap-dropdown.js new file mode 100644 index 0000000000000000000000000000000000000000..f80995ca2f9a936199a35c3cf5ef669c76f6a6fa --- /dev/null +++ b/public/javascripts/vendor/bootstrap/bootstrap-dropdown.js @@ -0,0 +1,92 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.0.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function( $ ){ + + "use strict" + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle="dropdown"]' + , Dropdown = function ( element ) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function ( e ) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + , isActive + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + isActive = $parent.hasClass('open') + + clearMenus() + !isActive && $parent.toggleClass('open') + + return false + } + + } + + function clearMenus() { + $(toggle).parent().removeClass('open') + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html').on('click.dropdown.data-api', clearMenus) + $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) + }) + +}( window.jQuery ); \ No newline at end of file