Marionette = require 'backbone.marionette' Radio = require 'backbone.radio' ProjectView = require './project.view.coffee' class ProjectSelectionView extends Marionette.CollectionView tagName: 'select' className: 'ui fluid loading search selection dropdown' childView: ProjectView constructor: ( ) -> super() @collection = Radio.channel('app').request('getProjectsCollection') @collection.fetch({ success: ( ) => $(@$el).parent().removeClass('loading') }) @collection onDropdownChange: ( value, text, choice ) -> Radio.channel('app').trigger('project:selected', value) onAttach: ( ) -> $(@$el).dropdown({ sortSelect: true fullTextSearch: true forceSelection: false selectOnKeydown: false showOnFocus: false message: noResults: 'No projects to display' onChange: @onDropdownChange.bind(this) }) module.exports = ProjectSelectionView