Socket
Socket
Sign inDemoInstall

angular-bootstrap-multiselect

Package Overview
Dependencies
0
Maintainers
3
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.7 to 1.1.9

index.js

16

dist/angular-bootstrap-multiselect.js

@@ -31,3 +31,4 @@ (function () {

labels: '=?',
showTooltip: '=?'
showTooltip: '=?',
placeholder: '@?'
},

@@ -51,5 +52,2 @@ require: 'ngModel',

$scope.toggleDropdown = function () {
$scope.open = !$scope.open;
};

@@ -89,2 +87,8 @@ var closeHandler = function (event) {

$scope.toggleDropdown = function () {
$scope.open = !$scope.open;
$scope.resolvedOptions = $scope.options;
updateSelectionLists();
};
$ngModelCtrl.$render = function () {

@@ -124,3 +128,3 @@ updateSelectionLists();

if (totalSelected === 0) {
return $scope.labels && $scope.labels.select ? $scope.labels.select : 'Select';
return $scope.labels && $scope.labels.select ? $scope.labels.select : ($scope.placeholder || 'Select');
} else {

@@ -130,3 +134,3 @@ return totalSelected + ' ' + ($scope.labels && $scope.labels.itemsSelected ? $scope.labels.itemsSelected : 'selected');

} else {
return $scope.labels && $scope.labels.select ? $scope.labels.select : 'Select';
return $scope.labels && $scope.labels.select ? $scope.labels.select : ($scope.placeholder || 'Select');
}

@@ -133,0 +137,0 @@ };

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

!function(){"use strict";var a=angular.module("btorfs.multiselect",["btorfs.multiselect.templates"]);a.getRecursiveProperty=function(a,b){return b.split(".").reduce(function(a,b){return a?a[b]:null},a)},a.directive("multiselect",["$filter","$document","$log",function(b,c,d){return{restrict:"AE",scope:{options:"=",displayProp:"@",idProp:"@",searchLimit:"=?",selectionLimit:"=?",showSelectAll:"=?",showUnselectAll:"=?",showSearch:"=?",searchFilter:"=?",disabled:"=?ngDisabled",labels:"=?",showTooltip:"=?"},require:"ngModel",templateUrl:"multiselect.html",link:function(b,e,f,g){b.selectionLimit=b.selectionLimit||0,b.searchLimit=b.searchLimit||25,b.searchFilter="",b.resolvedOptions=[],"function"!=typeof b.options&&(b.resolvedOptions=b.options),"undefined"!=typeof f.disabled&&(b.disabled=!0),b.toggleDropdown=function(){b.open=!b.open};var h=function(a){e[0].contains(a.target)||b.$apply(function(){b.open=!1})};c.on("click",h);var i=function(){g.$viewValue?(b.selectedOptions=b.resolvedOptions.filter(function(a){for(var c=b.getId(a),d=0;d<g.$viewValue.length;d++){var e=b.getId(g.$viewValue[d]);if(c===e)return!0}return!1}),b.unselectedOptions=b.resolvedOptions.filter(function(a){return b.selectedOptions.indexOf(a)<0})):(b.selectedOptions&&(b.selectedOptions=[]),b.unselectedOptions=b.resolvedOptions.slice())};g.$render=function(){i()},g.$viewChangeListeners.push(function(){i()}),g.$isEmpty=function(a){return!a||0===a.length};var j=b.$watch("selectedOptions",function(){g.$setViewValue(angular.copy(b.selectedOptions))},!0);b.$on("$destroy",function(){c.off("click",h),j&&j()}),b.getButtonText=function(){if(b.selectedOptions&&1===b.selectedOptions.length)return b.getDisplay(b.selectedOptions[0]);if(b.selectedOptions&&b.selectedOptions.length>1){var a=angular.isDefined(b.selectedOptions)?b.selectedOptions.length:0;return 0===a?b.labels&&b.labels.select?b.labels.select:"Select":a+" "+(b.labels&&b.labels.itemsSelected?b.labels.itemsSelected:"selected")}return b.labels&&b.labels.select?b.labels.select:"Select"},b.selectAll=function(){b.selectedOptions=b.resolvedOptions.slice(),b.unselectedOptions=[]},b.unselectAll=function(){b.selectedOptions=[],b.unselectedOptions=b.resolvedOptions.slice()},b.toggleItem=function(a){"undefined"==typeof b.selectedOptions&&(b.selectedOptions=[]);var c=b.selectedOptions.indexOf(a),d=c!==-1;if(d)b.unselectedOptions.push(b.selectedOptions[c]),b.selectedOptions.splice(c,1);else if(!d&&(0===b.selectionLimit||b.selectedOptions.length<b.selectionLimit)){var e=b.unselectedOptions.indexOf(a);b.unselectedOptions.splice(e,1),b.selectedOptions.push(a)}},b.getId=function(c){return angular.isString(c)?c:angular.isObject(c)?b.idProp?a.getRecursiveProperty(c,b.idProp):(d.error("Multiselect: when using objects as model, a idProp value is mandatory."),""):c},b.getDisplay=function(c){return angular.isString(c)?c:angular.isObject(c)?b.displayProp?a.getRecursiveProperty(c,b.displayProp):(d.error("Multiselect: when using objects as model, a displayProp value is mandatory."),""):c},b.isSelected=function(a){if(!b.selectedOptions)return!1;for(var c=b.getId(a),d=0;d<b.selectedOptions.length;d++){var e=b.selectedOptions[d];if(b.getId(e)===c)return!0}return!1},b.updateOptions=function(){"function"==typeof b.options&&b.options().then(function(a){b.resolvedOptions=a,i()})},b.search=function(){var a=0;return function(c){if(a>b.searchLimit)return!1;var d=b.getDisplay(c);if(d){var e=d.toLowerCase().indexOf(b.searchFilter.toLowerCase())>-1;return e&&a++,e}}}}}}])}(),angular.module("btorfs.multiselect.templates",["multiselect.html"]),angular.module("multiselect.html",[]).run(["$templateCache",function(a){a.put("multiselect.html",'<div class="btn-group" style="width: 100%">\n <button type="button" class="btn btn-default btn-block dropdown-toggle" ng-click="toggleDropdown()" ng-disabled="disabled">\n {{getButtonText()}}&nbsp;<span class="caret"></span>\n </button>\n <ul class="dropdown-menu dropdown-menu-form"\n ng-style="{display: open ? \'block\' : \'none\'}" style="width: 100%; overflow-x: auto">\n\n <li ng-show="showSelectAll">\n <a ng-click="selectAll()" href="">\n <span class="glyphicon glyphicon-ok"></span> {{labels.selectAll || \'Select All\'}}\n </a>\n </li>\n <li ng-show="showUnselectAll">\n <a ng-click="unselectAll()" href="">\n <span class="glyphicon glyphicon-remove"></span> {{labels.unselectAll || \'Unselect All\'}}\n </a>\n </li>\n <li ng-show="(showSelectAll || showUnselectAll)"\n class="divider">\n </li>\n\n <li role="presentation" ng-repeat="option in selectedOptions" class="active">\n <a class="item-selected" href="" title="{{showTooltip ? getDisplay(option) : \'\'}}" ng-click="toggleItem(option); $event.stopPropagation()">\n <span class="glyphicon glyphicon-remove"></span>\n {{getDisplay(option)}}\n </a>\n </li>\n <li ng-show="selectedOptions.length > 0" class="divider"></li>\n\n <li ng-show="showSearch">\n <div class="dropdown-header">\n <input type="text" class="form-control input-sm" style="width: 100%;"\n ng-model="searchFilter" placeholder="{{labels.search || \'Search...\'}}" ng-change="updateOptions()"/>\n </div>\n </li>\n\n <li ng-show="showSearch" class="divider"></li>\n <li role="presentation" ng-repeat="option in unselectedOptions | filter:search() | limitTo: searchLimit"\n ng-if="!isSelected(option)"\n ng-class="{disabled : selectionLimit && selectedOptions.length >= selectionLimit}">\n <a class="item-unselected" href="" title="{{showTooltip ? getDisplay(option) : \'\'}}" ng-click="toggleItem(option); $event.stopPropagation()">\n {{getDisplay(option)}}\n </a>\n </li>\n\n <li class="divider" ng-show="selectionLimit > 1"></li>\n <li role="presentation" ng-show="selectionLimit > 1">\n <a>{{selectedOptions.length || 0}} / {{selectionLimit}} {{labels.itemsSelected || \'selected\'}}</a>\n </li>\n\n </ul>\n</div>\n')}]);
!function(){"use strict";var a=angular.module("btorfs.multiselect",["btorfs.multiselect.templates"]);a.getRecursiveProperty=function(a,b){return b.split(".").reduce(function(a,b){return a?a[b]:null},a)},a.directive("multiselect",["$filter","$document","$log",function(b,c,d){return{restrict:"AE",scope:{options:"=",displayProp:"@",idProp:"@",searchLimit:"=?",selectionLimit:"=?",showSelectAll:"=?",showUnselectAll:"=?",showSearch:"=?",searchFilter:"=?",disabled:"=?ngDisabled",labels:"=?",showTooltip:"=?",placeholder:"@?"},require:"ngModel",templateUrl:"multiselect.html",link:function(b,e,f,g){b.selectionLimit=b.selectionLimit||0,b.searchLimit=b.searchLimit||25,b.searchFilter="",b.resolvedOptions=[],"function"!=typeof b.options&&(b.resolvedOptions=b.options),"undefined"!=typeof f.disabled&&(b.disabled=!0);var h=function(a){e[0].contains(a.target)||b.$apply(function(){b.open=!1})};c.on("click",h);var i=function(){g.$viewValue?(b.selectedOptions=b.resolvedOptions.filter(function(a){for(var c=b.getId(a),d=0;d<g.$viewValue.length;d++){var e=b.getId(g.$viewValue[d]);if(c===e)return!0}return!1}),b.unselectedOptions=b.resolvedOptions.filter(function(a){return b.selectedOptions.indexOf(a)<0})):(b.selectedOptions&&(b.selectedOptions=[]),b.unselectedOptions=b.resolvedOptions.slice())};b.toggleDropdown=function(){b.open=!b.open,b.resolvedOptions=b.options,i()},g.$render=function(){i()},g.$viewChangeListeners.push(function(){i()}),g.$isEmpty=function(a){return!a||0===a.length};var j=b.$watch("selectedOptions",function(){g.$setViewValue(angular.copy(b.selectedOptions))},!0);b.$on("$destroy",function(){c.off("click",h),j&&j()}),b.getButtonText=function(){if(b.selectedOptions&&1===b.selectedOptions.length)return b.getDisplay(b.selectedOptions[0]);if(b.selectedOptions&&b.selectedOptions.length>1){var a=angular.isDefined(b.selectedOptions)?b.selectedOptions.length:0;return 0===a?b.labels&&b.labels.select?b.labels.select:b.placeholder||"Select":a+" "+(b.labels&&b.labels.itemsSelected?b.labels.itemsSelected:"selected")}return b.labels&&b.labels.select?b.labels.select:b.placeholder||"Select"},b.selectAll=function(){b.selectedOptions=b.resolvedOptions.slice(),b.unselectedOptions=[]},b.unselectAll=function(){b.selectedOptions=[],b.unselectedOptions=b.resolvedOptions.slice()},b.toggleItem=function(a){"undefined"==typeof b.selectedOptions&&(b.selectedOptions=[]);var c=b.selectedOptions.indexOf(a),d=c!==-1;if(d)b.unselectedOptions.push(b.selectedOptions[c]),b.selectedOptions.splice(c,1);else if(!d&&(0===b.selectionLimit||b.selectedOptions.length<b.selectionLimit)){var e=b.unselectedOptions.indexOf(a);b.unselectedOptions.splice(e,1),b.selectedOptions.push(a)}},b.getId=function(c){return angular.isString(c)?c:angular.isObject(c)?b.idProp?a.getRecursiveProperty(c,b.idProp):(d.error("Multiselect: when using objects as model, a idProp value is mandatory."),""):c},b.getDisplay=function(c){return angular.isString(c)?c:angular.isObject(c)?b.displayProp?a.getRecursiveProperty(c,b.displayProp):(d.error("Multiselect: when using objects as model, a displayProp value is mandatory."),""):c},b.isSelected=function(a){if(!b.selectedOptions)return!1;for(var c=b.getId(a),d=0;d<b.selectedOptions.length;d++){var e=b.selectedOptions[d];if(b.getId(e)===c)return!0}return!1},b.updateOptions=function(){"function"==typeof b.options&&b.options().then(function(a){b.resolvedOptions=a,i()})},b.search=function(){var a=0;return function(c){if(a>b.searchLimit)return!1;var d=b.getDisplay(c);if(d){var e=d.toLowerCase().indexOf(b.searchFilter.toLowerCase())>-1;return e&&a++,e}}}}}}])}(),angular.module("btorfs.multiselect.templates",["multiselect.html"]),angular.module("multiselect.html",[]).run(["$templateCache",function(a){a.put("multiselect.html",'<div class="btn-group" style="width: 100%">\n <button type="button" class="btn btn-default btn-block dropdown-toggle" ng-click="toggleDropdown()" ng-disabled="disabled">\n {{getButtonText()}}&nbsp;<span class="caret"></span>\n </button>\n <ul class="dropdown-menu dropdown-menu-form"\n ng-style="{display: open ? \'block\' : \'none\'}" style="width: 100%; overflow-x: auto">\n\n <li ng-show="showSelectAll">\n <a ng-click="selectAll()" href="">\n <span class="glyphicon glyphicon-ok"></span> {{labels.selectAll || \'Select All\'}}\n </a>\n </li>\n <li ng-show="showUnselectAll">\n <a ng-click="unselectAll()" href="">\n <span class="glyphicon glyphicon-remove"></span> {{labels.unselectAll || \'Unselect All\'}}\n </a>\n </li>\n <li ng-show="(showSelectAll || showUnselectAll)"\n class="divider">\n </li>\n\n <li role="presentation" ng-repeat="option in selectedOptions" class="active">\n <a class="item-selected" href="" title="{{showTooltip ? getDisplay(option) : \'\'}}" ng-click="toggleItem(option); $event.stopPropagation()">\n <span class="glyphicon glyphicon-remove"></span>\n {{getDisplay(option)}}\n </a>\n </li>\n <li ng-show="selectedOptions.length > 0" class="divider"></li>\n\n <li ng-show="showSearch">\n <div class="dropdown-header">\n <input type="text" class="form-control input-sm" style="width: 100%;"\n ng-model="searchFilter" placeholder="{{labels.search || \'Search...\'}}" ng-change="updateOptions()"/>\n </div>\n </li>\n\n <li ng-show="showSearch" class="divider"></li>\n <li role="presentation" ng-repeat="option in unselectedOptions | filter:search() | limitTo: searchLimit"\n ng-if="!isSelected(option)"\n ng-class="{disabled : selectionLimit && selectedOptions.length >= selectionLimit}">\n <a class="item-unselected" href="" title="{{showTooltip ? getDisplay(option) : \'\'}}" ng-click="toggleItem(option); $event.stopPropagation()">\n {{getDisplay(option)}}\n </a>\n </li>\n\n <li class="divider" ng-show="selectionLimit > 1"></li>\n <li role="presentation" ng-show="selectionLimit > 1">\n <a>{{selectedOptions.length || 0}} / {{selectionLimit}} {{labels.itemsSelected || \'selected\'}}</a>\n </li>\n\n </ul>\n</div>\n')}]);
{
"name": "angular-bootstrap-multiselect",
"version": "1.1.7",
"version": "1.1.9",
"homepage": "http://bentorfs.github.io/angular-bootstrap-multiselect/",

@@ -10,2 +10,3 @@ "license": "MIT",

},
"main": "index.js",
"devDependencies": {

@@ -37,5 +38,5 @@ "grunt": "~1.0.1",

"scripts": {
"install": "node node_modules/protractor/bin/webdriver-manager update",
"pretest": "node node_modules/protractor/bin/webdriver-manager update",
"test": "grunt ci"
}
}

@@ -31,3 +31,4 @@ (function () {

labels: '=?',
showTooltip: '=?'
showTooltip: '=?',
placeholder: '@?'
},

@@ -51,5 +52,2 @@ require: 'ngModel',

$scope.toggleDropdown = function () {
$scope.open = !$scope.open;
};

@@ -89,2 +87,8 @@ var closeHandler = function (event) {

$scope.toggleDropdown = function () {
$scope.open = !$scope.open;
$scope.resolvedOptions = $scope.options;
updateSelectionLists();
};
$ngModelCtrl.$render = function () {

@@ -124,3 +128,3 @@ updateSelectionLists();

if (totalSelected === 0) {
return $scope.labels && $scope.labels.select ? $scope.labels.select : 'Select';
return $scope.labels && $scope.labels.select ? $scope.labels.select : ($scope.placeholder || 'Select');
} else {

@@ -130,3 +134,3 @@ return totalSelected + ' ' + ($scope.labels && $scope.labels.itemsSelected ? $scope.labels.itemsSelected : 'selected');

} else {
return $scope.labels && $scope.labels.select ? $scope.labels.select : 'Select';
return $scope.labels && $scope.labels.select ? $scope.labels.select : ($scope.placeholder || 'Select');
}

@@ -133,0 +137,0 @@ };

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc