New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

backgrid-columnmanager

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

backgrid-columnmanager - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

3

config/webpack.js

@@ -27,2 +27,3 @@ "use strict";

// require("backbone") is external and available on the global var Backbone
"jquery": "jQuery",
"backbone": "Backbone",

@@ -47,3 +48,3 @@ "underscore": "_",

resolve: {
extensions: ["",".js"],
extensions: ["", ".js"],
modulesDirectories: ["node_modules"]

@@ -50,0 +51,0 @@ }

(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("_"), require("Backbone"), require("Backgrid"));
module.exports = factory(require("_"), require("jQuery"), require("Backbone"), require("Backgrid"));
else if(typeof define === 'function' && define.amd)
define(["_", "Backbone", "Backgrid"], factory);
define(["_", "jQuery", "Backbone", "Backgrid"], factory);
else if(typeof exports === 'object')
exports["Backgrid.Extension.ColumnManager"] = factory(require("_"), require("Backbone"), require("Backgrid"));
exports["Backgrid.Extension.ColumnManager"] = factory(require("_"), require("jQuery"), require("Backbone"), require("Backgrid"));
else
root["Backgrid.Extension.ColumnManager"] = factory(root["_"], root["Backbone"], root["Backgrid"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {
root["Backgrid.Extension.ColumnManager"] = factory(root["_"], root["jQuery"], root["Backbone"], root["Backgrid"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__) {
return /******/ (function(modules) { // webpackBootstrap

@@ -67,4 +67,5 @@ /******/ // The module cache

var _ = __webpack_require__(1);
var Backbone = __webpack_require__(2);
var Backgrid = __webpack_require__(3);
var $ = __webpack_require__(2);
var Backbone = __webpack_require__(3);
var Backgrid = __webpack_require__(4);

@@ -110,8 +111,20 @@ /**

Backgrid.Extension.ColumnManager.prototype.setInitialColumnVisibility = function() {
var self = this;
// Loop columns and set renderable property according to settings
var initialColumnsVisible = this.options.initialColumnsVisible;
var initialColumnsVisible = self.options.initialColumnsVisible;
if (this.columns instanceof Backgrid.Columns && initialColumnsVisible) {
this.columns.each(function(col, index) {
col.set("renderable", index < initialColumnsVisible || col.get("alwaysVisible"));
if (self.columns instanceof Backgrid.Columns && initialColumnsVisible) {
self.columns.each(function(col, index) {
col.set("renderable", (col.get("alwaysVisible")) ? true : index < initialColumnsVisible);
// Look for header cell
if (col.get("headerCell") === Backgrid.Extension.ColumnManager.ColumnVisibilityHeaderCell) {
col.set("headerCell", col.get("headerCell").extend({
columnManager: self
}));
}
if (col.get("headerCell") instanceof Backgrid.Extension.ColumnManager.ColumnVisibilityHeaderCell) {
col.get("headerCell").columnManager = self;
}
});

@@ -353,9 +366,13 @@ }

// Align right by default
offset = $button.position().left + $button.outerWidth() - this.$el.outerWidth();
offset = $button.offset().left + $button.outerWidth() - this.$el.outerWidth();
this.$el.css("left", offset + "px");
}
else {
offset = $button.position().left;
offset = $button.offset().left;
this.$el.css("left", offset + "px");
}
// Height position
var offsetHeight = $button.offset().top + $button.outerHeight();
this.$el.css("top", offsetHeight + "px");
},

@@ -379,3 +396,3 @@

* @extends Backbone.View
*/
*/
Backgrid.Extension.ColumnManagerVisibilityControl = Backbone.View.extend({

@@ -513,3 +530,3 @@ /**

this.view.render(); // tell the inner view to render itself
this.$el.append(this.view.el);
$(document.body).append(this.view.el);
return this;

@@ -570,5 +587,2 @@ },

this.view.trigger("dropdown:opened");
// Set position of child view
this.setDropdownPosition();
},

@@ -623,10 +637,2 @@

clearTimeout(this.deferCloseTimeout);
},
/**
* @method setDropdownPosition
* @private
*/
setDropdownPosition: function() {
this.view.$el.css("top", this.$el.height());
}

@@ -647,3 +653,3 @@ });

// Add class
this.$el.addClass("columnVisibility");
this.$el.addClass(this.column.get("name"));
},

@@ -655,3 +661,3 @@ render: function() {

var colVisibilityControl = new Backgrid.Extension.ColumnManagerVisibilityControl({
columnManager: this.column.collection.columnManager
columnManager: this.columnManager
});

@@ -686,2 +692,8 @@

/***/ },
/* 4 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __WEBPACK_EXTERNAL_MODULE_4__;
/***/ }

@@ -688,0 +700,0 @@ /******/ ])

(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("_"), require("Backbone"), require("Backgrid"));
module.exports = factory(require("_"), require("jQuery"), require("Backbone"), require("Backgrid"));
else if(typeof define === 'function' && define.amd)
define(["_", "Backbone", "Backgrid"], factory);
define(["_", "jQuery", "Backbone", "Backgrid"], factory);
else if(typeof exports === 'object')
exports["Backgrid.Extension.ColumnManager"] = factory(require("_"), require("Backbone"), require("Backgrid"));
exports["Backgrid.Extension.ColumnManager"] = factory(require("_"), require("jQuery"), require("Backbone"), require("Backgrid"));
else
root["Backgrid.Extension.ColumnManager"] = factory(root["_"], root["Backbone"], root["Backgrid"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {
root["Backgrid.Extension.ColumnManager"] = factory(root["_"], root["jQuery"], root["Backbone"], root["Backgrid"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__) {
return /******/ (function(modules) { // webpackBootstrap

@@ -67,4 +67,5 @@ /******/ // The module cache

var _ = __webpack_require__(1);
var Backbone = __webpack_require__(2);
var Backgrid = __webpack_require__(3);
var $ = __webpack_require__(2);
var Backbone = __webpack_require__(3);
var Backgrid = __webpack_require__(4);

@@ -110,8 +111,20 @@ /**

Backgrid.Extension.ColumnManager.prototype.setInitialColumnVisibility = function() {
var self = this;
// Loop columns and set renderable property according to settings
var initialColumnsVisible = this.options.initialColumnsVisible;
var initialColumnsVisible = self.options.initialColumnsVisible;
if (this.columns instanceof Backgrid.Columns && initialColumnsVisible) {
this.columns.each(function(col, index) {
col.set("renderable", index < initialColumnsVisible || col.get("alwaysVisible"));
if (self.columns instanceof Backgrid.Columns && initialColumnsVisible) {
self.columns.each(function(col, index) {
col.set("renderable", (col.get("alwaysVisible")) ? true : index < initialColumnsVisible);
// Look for header cell
if (col.get("headerCell") === Backgrid.Extension.ColumnManager.ColumnVisibilityHeaderCell) {
col.set("headerCell", col.get("headerCell").extend({
columnManager: self
}));
}
if (col.get("headerCell") instanceof Backgrid.Extension.ColumnManager.ColumnVisibilityHeaderCell) {
col.get("headerCell").columnManager = self;
}
});

@@ -353,9 +366,13 @@ }

// Align right by default
offset = $button.position().left + $button.outerWidth() - this.$el.outerWidth();
offset = $button.offset().left + $button.outerWidth() - this.$el.outerWidth();
this.$el.css("left", offset + "px");
}
else {
offset = $button.position().left;
offset = $button.offset().left;
this.$el.css("left", offset + "px");
}
// Height position
var offsetHeight = $button.offset().top + $button.outerHeight();
this.$el.css("top", offsetHeight + "px");
},

@@ -379,3 +396,3 @@

* @extends Backbone.View
*/
*/
Backgrid.Extension.ColumnManagerVisibilityControl = Backbone.View.extend({

@@ -513,3 +530,3 @@ /**

this.view.render(); // tell the inner view to render itself
this.$el.append(this.view.el);
$(document.body).append(this.view.el);
return this;

@@ -570,5 +587,2 @@ },

this.view.trigger("dropdown:opened");
// Set position of child view
this.setDropdownPosition();
},

@@ -623,10 +637,2 @@

clearTimeout(this.deferCloseTimeout);
},
/**
* @method setDropdownPosition
* @private
*/
setDropdownPosition: function() {
this.view.$el.css("top", this.$el.height());
}

@@ -647,3 +653,3 @@ });

// Add class
this.$el.addClass("columnVisibility");
this.$el.addClass(this.column.get("name"));
},

@@ -655,3 +661,3 @@ render: function() {

var colVisibilityControl = new Backgrid.Extension.ColumnManagerVisibilityControl({
columnManager: this.column.collection.columnManager
columnManager: this.columnManager
});

@@ -686,2 +692,8 @@

/***/ },
/* 4 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __WEBPACK_EXTERNAL_MODULE_4__;
/***/ }

@@ -688,0 +700,0 @@ /******/ ])

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("Backbone"),require("Backgrid"),require("_")):"function"==typeof define&&define.amd?define(["Backbone","Backgrid","_"],t):"object"==typeof exports?exports["Backgrid.Extension.ColumnManager"]=t(require("Backbone"),require("Backgrid"),require("_")):e["Backgrid.Extension.ColumnManager"]=t(e.Backbone,e.Backgrid,e._)}(this,function(e,t,i){return function(e){function t(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){"use strict";var n=i(3),o=i(1),s=i(2);s.Extension.ColumnManager=function(e,t){var i={initialColumnsVisible:null};this.options=n.extend({},i,t),e instanceof s.Columns?(this.columns=e,e.columnManager=this,this.setInitialColumnVisibility()):console.error("Backgrid.ColumnManager: options.columns is not an instance of Backgrid.Columns")},s.Extension.ColumnManager.prototype.setInitialColumnVisibility=function(){var e=this.options.initialColumnsVisible;this.columns instanceof s.Columns&&e&&this.columns.each(function(t,i){t.set("renderable",e>i||t.get("alwaysVisible"))})},s.Extension.ColumnManager.prototype.getColumn=function(e){return(n.isNumber(e)||n.isString(e))&&(e=this.columns.get(e)),e instanceof s.Column?e:!1},s.Extension.ColumnManager.prototype.hideColumn=function(e){var t=this.getColumn(e);t&&t.set("renderable",!1)},s.Extension.ColumnManager.prototype.showColumn=function(e){var t=this.getColumn(e);t&&t.set("renderable",!0)},s.Extension.ColumnManager.prototype.toggleColumnVisibility=function(e){var t=this.getColumn(e);t&&(t.get("renderable")?this.hideColumn(t):this.showColumn(t))},s.Extension.ColumnManager.prototype.getColumnCollection=function(){return this.columns};var l=o.View.extend({className:"columnmanager-dropdown-item",tagName:"li",initialize:function(e){this.columnManager=e.columnManager,this.column=e.column,this.template=e.template,n.bindAll(this,"render","toggleVisibility"),this.column.on("change:renderable",this.render,this),this.el.addEventListener("click",this.toggleVisibility,!0)},render:function(){return this.$el.empty(),this.$el.append(this.template({label:this.column.get("label")})),this.column.get("renderable")?this.$el.addClass(this.column.get("renderable")?"visible":null):this.$el.removeClass("visible"),this},toggleVisibility:function(e){e&&this.stopPropagation(e),this.columnManager.toggleColumnVisibility(this.column)},stopPropagation:function(e){e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault()}}),r=o.View.extend({className:"columnmanager-dropdown-container",initialize:function(e){this.options=e,this.columnManager=e.columnManager,this.ItemView=e.DropdownItemView instanceof o.View?e.DropdownItemView:l,this.button=e.button,this.on("dropdown:opened",this.open,this),this.on("dropdown:closed",this.close,this),this.columnManager.columns.on("add remove",this.render,this)},render:function(){var e=this;return e.$el.empty(),this.columnManager.columns.each(function(t){t.get("alwaysVisible")||e.$el.append(new e.ItemView({column:t,columnManager:e.columnManager,template:e.options.dropdownItemTemplate}).render().el)}),this},open:function(){this.$el.addClass("open");var e,t=this.$el.parent().find(".dropdown-button").first();if("auto"===this.options.align){var i=document.body.clientWidth||document.body.clientWidth;e=t.offset().left+this.$el.outerWidth()>i?"left":"right"}else e="left"===this.options.align||"right"===this.options.align?"right"===this.options.align?"right":"left":"right";var n;"left"===e?(n=t.position().left+t.outerWidth()-this.$el.outerWidth(),this.$el.css("left",n+"px")):(n=t.position().left,this.$el.css("left",n+"px"))},close:function(){this.$el.removeClass("open")}});s.Extension.ColumnManagerVisibilityControl=o.View.extend({tagName:"div",className:"columnmanager-visibilitycontrol",defaultEvents:{click:"stopPropagation"},defaultOpts:{width:null,closeOnEsc:!0,closeOnClick:!0,openOnInit:!1,columnManager:null,buttonTemplate:n.template("<button class='dropdown-button'>...</button>"),DropdownView:r,dropdownAlign:"auto",DropdownItemView:l,dropdownItemTemplate:n.template("<span class='indicator'></span><span class='column-label'><%= label %></span>")},initialize:function(e){this.options=n.extend({},this.defaultOpts,e),this.events=n.extend({},this.defaultEvents,this.events||{}),this.columnManager=e.columnManager,!this.columnManager instanceof s.Extension.ColumnManager&&console.error("Backgrid.ColumnManager: options.columns is not an instance of Backgrid.Columns"),n.bindAll(this,"deferClose","stopDeferClose","closeOnEsc","toggle","render"),document.body.addEventListener("click",this.deferClose,!0),this.el.addEventListener("click",this.stopDeferClose,!0),this.options.closeOnEsc&&document.body.addEventListener("keyup",this.closeOnEsc,!1),this.el.addEventListener("click",this.toggle,!1),this.setup(),this.view.on("dropdown:close",this.close,this),this.view.on("dropdown:open",this.open,this)},delayStart:function(){clearTimeout(this.closeTimeout),this.delayTimeout=setTimeout(this.open.bind(this),this.options.delay)},delayEnd:function(){clearTimeout(this.delayTimeout),this.closeTimeout=setTimeout(this.close.bind(this),300)},setup:function(){this.options.width&&this.$el.width(this.options.width+"px");var e={columnManager:this.columnManager,DropdownItemView:this.options.DropdownItemView,dropdownItemTemplate:this.options.dropdownItemTemplate,align:this.options.dropdownAlign};this.view=this.options.DropdownView instanceof o.View?new this.options.DropdownView(e):new r(e)},render:function(){return this.$el.empty(),this.$el.append(this.options.buttonTemplate()),this.view.render(),this.$el.append(this.view.el),this},stopPropagation:function(e){e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault()},toggle:function(e){this.isOpen!==!0?this.open(e):this.close(e)},open:function(e){clearTimeout(this.closeTimeout),clearTimeout(this.deferCloseTimeout),e&&e.stopPropagation(),this.isOpen||(this.isOpen=!0,this.$el.addClass("open"),this.trigger("dropdown:opened"),this.view.trigger("dropdown:opened"),this.setDropdownPosition())},close:function(){this.isOpen&&(this.isOpen=!1,this.$el.removeClass("open"),this.trigger("dropdown:closed"),this.view.trigger("dropdown:closed"))},closeOnEsc:function(e){27===e.which&&this.deferClose()},deferClose:function(){this.deferCloseTimeout=setTimeout(this.close.bind(this),0)},stopDeferClose:function(){clearTimeout(this.deferCloseTimeout)},setDropdownPosition:function(){this.view.$el.css("top",this.$el.height())}}),s.Extension.ColumnManager.ColumnVisibilityHeaderCell=s.HeaderCell.extend({initialize:function(){s.HeaderCell.prototype.initialize.apply(this,arguments),this.$el.addClass("columnVisibility")},render:function(){this.$el.empty();var e=new s.Extension.ColumnManagerVisibilityControl({columnManager:this.column.collection.columnManager});return this.$el.html(e.render().el),this.delegateEvents(),this}})},function(t){t.exports=e},function(e){e.exports=t},function(e){e.exports=i}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("Backbone"),require("Backgrid"),require("_"),require("jQuery")):"function"==typeof define&&define.amd?define(["Backbone","Backgrid","_","jQuery"],t):"object"==typeof exports?exports["Backgrid.Extension.ColumnManager"]=t(require("Backbone"),require("Backgrid"),require("_"),require("jQuery")):e["Backgrid.Extension.ColumnManager"]=t(e.Backbone,e.Backgrid,e._,e.jQuery)}(this,function(e,t,n,i){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";var i=n(3),o=n(4),s=n(1),l=n(2);l.Extension.ColumnManager=function(e,t){var n={initialColumnsVisible:null};this.options=i.extend({},n,t),e instanceof l.Columns?(this.columns=e,e.columnManager=this,this.setInitialColumnVisibility()):console.error("Backgrid.ColumnManager: options.columns is not an instance of Backgrid.Columns")},l.Extension.ColumnManager.prototype.setInitialColumnVisibility=function(){var e=this,t=e.options.initialColumnsVisible;e.columns instanceof l.Columns&&t&&e.columns.each(function(n,i){n.set("renderable",n.get("alwaysVisible")?!0:t>i),n.get("headerCell")===l.Extension.ColumnManager.ColumnVisibilityHeaderCell&&n.set("headerCell",n.get("headerCell").extend({columnManager:e})),n.get("headerCell")instanceof l.Extension.ColumnManager.ColumnVisibilityHeaderCell&&(n.get("headerCell").columnManager=e)})},l.Extension.ColumnManager.prototype.getColumn=function(e){return(i.isNumber(e)||i.isString(e))&&(e=this.columns.get(e)),e instanceof l.Column?e:!1},l.Extension.ColumnManager.prototype.hideColumn=function(e){var t=this.getColumn(e);t&&t.set("renderable",!1)},l.Extension.ColumnManager.prototype.showColumn=function(e){var t=this.getColumn(e);t&&t.set("renderable",!0)},l.Extension.ColumnManager.prototype.toggleColumnVisibility=function(e){var t=this.getColumn(e);t&&(t.get("renderable")?this.hideColumn(t):this.showColumn(t))},l.Extension.ColumnManager.prototype.getColumnCollection=function(){return this.columns};var r=s.View.extend({className:"columnmanager-dropdown-item",tagName:"li",initialize:function(e){this.columnManager=e.columnManager,this.column=e.column,this.template=e.template,i.bindAll(this,"render","toggleVisibility"),this.column.on("change:renderable",this.render,this),this.el.addEventListener("click",this.toggleVisibility,!0)},render:function(){return this.$el.empty(),this.$el.append(this.template({label:this.column.get("label")})),this.column.get("renderable")?this.$el.addClass(this.column.get("renderable")?"visible":null):this.$el.removeClass("visible"),this},toggleVisibility:function(e){e&&this.stopPropagation(e),this.columnManager.toggleColumnVisibility(this.column)},stopPropagation:function(e){e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault()}}),a=s.View.extend({className:"columnmanager-dropdown-container",initialize:function(e){this.options=e,this.columnManager=e.columnManager,this.ItemView=e.DropdownItemView instanceof s.View?e.DropdownItemView:r,this.button=e.button,this.on("dropdown:opened",this.open,this),this.on("dropdown:closed",this.close,this),this.columnManager.columns.on("add remove",this.render,this)},render:function(){var e=this;return e.$el.empty(),this.columnManager.columns.each(function(t){t.get("alwaysVisible")||e.$el.append(new e.ItemView({column:t,columnManager:e.columnManager,template:e.options.dropdownItemTemplate}).render().el)}),this},open:function(){this.$el.addClass("open");var e,t=this.$el.parent().find(".dropdown-button").first();if("auto"===this.options.align){var n=document.body.clientWidth||document.body.clientWidth;e=t.offset().left+this.$el.outerWidth()>n?"left":"right"}else e="left"===this.options.align||"right"===this.options.align?"right"===this.options.align?"right":"left":"right";var i;"left"===e?(i=t.offset().left+t.outerWidth()-this.$el.outerWidth(),this.$el.css("left",i+"px")):(i=t.offset().left,this.$el.css("left",i+"px"));var o=t.offset().top+t.outerHeight();this.$el.css("top",o+"px")},close:function(){this.$el.removeClass("open")}});l.Extension.ColumnManagerVisibilityControl=s.View.extend({tagName:"div",className:"columnmanager-visibilitycontrol",defaultEvents:{click:"stopPropagation"},defaultOpts:{width:null,closeOnEsc:!0,closeOnClick:!0,openOnInit:!1,columnManager:null,buttonTemplate:i.template("<button class='dropdown-button'>...</button>"),DropdownView:a,dropdownAlign:"auto",DropdownItemView:r,dropdownItemTemplate:i.template("<span class='indicator'></span><span class='column-label'><%= label %></span>")},initialize:function(e){this.options=i.extend({},this.defaultOpts,e),this.events=i.extend({},this.defaultEvents,this.events||{}),this.columnManager=e.columnManager,!this.columnManager instanceof l.Extension.ColumnManager&&console.error("Backgrid.ColumnManager: options.columns is not an instance of Backgrid.Columns"),i.bindAll(this,"deferClose","stopDeferClose","closeOnEsc","toggle","render"),document.body.addEventListener("click",this.deferClose,!0),this.el.addEventListener("click",this.stopDeferClose,!0),this.options.closeOnEsc&&document.body.addEventListener("keyup",this.closeOnEsc,!1),this.el.addEventListener("click",this.toggle,!1),this.setup(),this.view.on("dropdown:close",this.close,this),this.view.on("dropdown:open",this.open,this)},delayStart:function(){clearTimeout(this.closeTimeout),this.delayTimeout=setTimeout(this.open.bind(this),this.options.delay)},delayEnd:function(){clearTimeout(this.delayTimeout),this.closeTimeout=setTimeout(this.close.bind(this),300)},setup:function(){this.options.width&&this.$el.width(this.options.width+"px");var e={columnManager:this.columnManager,DropdownItemView:this.options.DropdownItemView,dropdownItemTemplate:this.options.dropdownItemTemplate,align:this.options.dropdownAlign};this.view=this.options.DropdownView instanceof s.View?new this.options.DropdownView(e):new a(e)},render:function(){return this.$el.empty(),this.$el.append(this.options.buttonTemplate()),this.view.render(),o(document.body).append(this.view.el),this},stopPropagation:function(e){e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault()},toggle:function(e){this.isOpen!==!0?this.open(e):this.close(e)},open:function(e){clearTimeout(this.closeTimeout),clearTimeout(this.deferCloseTimeout),e&&e.stopPropagation(),this.isOpen||(this.isOpen=!0,this.$el.addClass("open"),this.trigger("dropdown:opened"),this.view.trigger("dropdown:opened"))},close:function(){this.isOpen&&(this.isOpen=!1,this.$el.removeClass("open"),this.trigger("dropdown:closed"),this.view.trigger("dropdown:closed"))},closeOnEsc:function(e){27===e.which&&this.deferClose()},deferClose:function(){this.deferCloseTimeout=setTimeout(this.close.bind(this),0)},stopDeferClose:function(){clearTimeout(this.deferCloseTimeout)}}),l.Extension.ColumnManager.ColumnVisibilityHeaderCell=l.HeaderCell.extend({initialize:function(){l.HeaderCell.prototype.initialize.apply(this,arguments),this.$el.addClass(this.column.get("name"))},render:function(){this.$el.empty();var e=new l.Extension.ColumnManagerVisibilityControl({columnManager:this.columnManager});return this.$el.html(e.render().el),this.delegateEvents(),this}})},function(t){t.exports=e},function(e){e.exports=t},function(e){e.exports=n},function(e){e.exports=i}])});
{
"name": "backgrid-columnmanager",
"version": "0.1.1",
"version": "0.1.2",
"description": "A backgrid column manager. Adds the ability to show/hide columns.",

@@ -5,0 +5,0 @@ "main": "lib/Backgrid.ColumnManager.js",

@@ -7,3 +7,3 @@ # Backgrid.ColumnManager

## Example usage
```
```javascript
// Create column collection

@@ -10,0 +10,0 @@ var columns = new Backgrid.Columns([...]);

@@ -11,2 +11,3 @@ "use strict";

var _ = require("underscore");
var $ = require("jquery");
var Backbone = require("backbone");

@@ -54,8 +55,20 @@ var Backgrid = require("backgrid");

Backgrid.Extension.ColumnManager.prototype.setInitialColumnVisibility = function() {
var self = this;
// Loop columns and set renderable property according to settings
var initialColumnsVisible = this.options.initialColumnsVisible;
var initialColumnsVisible = self.options.initialColumnsVisible;
if (this.columns instanceof Backgrid.Columns && initialColumnsVisible) {
this.columns.each(function(col, index) {
col.set("renderable", index < initialColumnsVisible || col.get("alwaysVisible"));
if (self.columns instanceof Backgrid.Columns && initialColumnsVisible) {
self.columns.each(function(col, index) {
col.set("renderable", (col.get("alwaysVisible")) ? true : index < initialColumnsVisible);
// Look for header cell
if (col.get("headerCell") === Backgrid.Extension.ColumnManager.ColumnVisibilityHeaderCell) {
col.set("headerCell", col.get("headerCell").extend({
columnManager: self
}));
}
if (col.get("headerCell") instanceof Backgrid.Extension.ColumnManager.ColumnVisibilityHeaderCell) {
col.get("headerCell").columnManager = self;
}
});

@@ -297,9 +310,13 @@ }

// Align right by default
offset = $button.position().left + $button.outerWidth() - this.$el.outerWidth();
offset = $button.offset().left + $button.outerWidth() - this.$el.outerWidth();
this.$el.css("left", offset + "px");
}
else {
offset = $button.position().left;
offset = $button.offset().left;
this.$el.css("left", offset + "px");
}
// Height position
var offsetHeight = $button.offset().top + $button.outerHeight();
this.$el.css("top", offsetHeight + "px");
},

@@ -323,3 +340,3 @@

* @extends Backbone.View
*/
*/
Backgrid.Extension.ColumnManagerVisibilityControl = Backbone.View.extend({

@@ -457,3 +474,3 @@ /**

this.view.render(); // tell the inner view to render itself
this.$el.append(this.view.el);
$(document.body).append(this.view.el);
return this;

@@ -514,5 +531,2 @@ },

this.view.trigger("dropdown:opened");
// Set position of child view
this.setDropdownPosition();
},

@@ -567,10 +581,2 @@

clearTimeout(this.deferCloseTimeout);
},
/**
* @method setDropdownPosition
* @private
*/
setDropdownPosition: function() {
this.view.$el.css("top", this.$el.height());
}

@@ -591,3 +597,3 @@ });

// Add class
this.$el.addClass("columnVisibility");
this.$el.addClass(this.column.get("name"));
},

@@ -599,3 +605,3 @@ render: function() {

var colVisibilityControl = new Backgrid.Extension.ColumnManagerVisibilityControl({
columnManager: this.column.collection.columnManager
columnManager: this.columnManager
});

@@ -602,0 +608,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc