Files
dss/static/js/libs/backgrid/extensions/select2-cell/backgrid-select2-cell.min.js
2013-06-19 19:24:50 +01:00

8 lines
1.4 KiB
JavaScript
Executable File

/*
backgrid-select2-cell
http://github.com/wyuenho/backgrid
Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
Licensed under the MIT @license.
*/
(function(e,t,i,s,n){var l=n.Extension.Select2CellEditor=n.SelectCellEditor.extend({events:{close:"save",change:"save"},select2Options:null,initialize:function(){n.SelectCellEditor.prototype.initialize.apply(this,arguments),this.close=i.bind(this.close,this)},setSelect2Options:function(e){this.select2Options=i.extend({containerCssClass:"select2-container"},e||{})},render:function(){return n.SelectCellEditor.prototype.render.apply(this,arguments),this.$el.select2(this.select2Options),this.delegateEvents(),this},postRender:function(){var e=this;this.$el.parent().find("."+this.select2Options.containerCssClass).on("blur",function(t){t.relatedTarget||e.close(t)}).on("keydown",this.close).attr("tabindex",-1).focus()},remove:function(){return this.$el.select2("destroy"),n.SelectCellEditor.prototype.remove.apply(this,arguments)}});n.Extension.Select2Cell=n.SelectCell.extend({className:"select2-cell",editor:l,select2Options:null,initialize:function(e){n.SelectCell.prototype.initialize.apply(this,arguments),this.select2Options=e.select2Options||this.select2Options,this.listenTo(this.model,"backgrid:edit",function(e,t,i,s){t.get("name")==this.column.get("name")&&s.setSelect2Options(this.select2Options)})}})})(window,jQuery,_,Backbone,Backgrid);