From 45d3d905990f6891a209c3fcfcd41039f6b70724 Mon Sep 17 00:00:00 2001 From: rajush Date: Sat, 16 Mar 2019 17:29:32 -0700 Subject: [PATCH 1/4] - allowing pre-selection of individual item onload -Adding 'preSelectItem' config property. - Checking 'preSelectAll' property before pre-selecting individual item. - Adding favicon for example html --- dist/angular-dropdownMultiselect.min.js | 2 +- src/app.js | 12 +- src/assets/angular-dropdownMultiselect.js | 329 ++++++++++++---------- src/favicon.ico | Bin 0 -> 32038 bytes src/index.html | 61 ++-- 5 files changed, 220 insertions(+), 184 deletions(-) create mode 100644 src/favicon.ico diff --git a/dist/angular-dropdownMultiselect.min.js b/dist/angular-dropdownMultiselect.min.js index d081d08..926bc7d 100644 --- a/dist/angular-dropdownMultiselect.min.js +++ b/dist/angular-dropdownMultiselect.min.js @@ -1 +1 @@ -!function(){"use strict";angular.module("dropdown-multiselect",[]).directive("dropdownMultiselect",["$timeout",function(e){return{restrict:"AE",replace:!0,transclude:!0,template:'',scope:{config:"=dropdownConfig",primaryKey:"@dropdownTrackby",disableDropdown:"=dropdownDisable",dropdownType:"=",model:"=?",dropdownOptions:"=dropdownOptions",notifyParent:"&dropdownSelected"},controller:["$scope",function(n){function o(){n.preSelectAll&&n.multiSelect&&e(n.selectAll)}function t(){var e=[];for(var o in n.options[0])e.push(o);n.leftKey=e[0],n.rightKey=e[1]}function r(e){if(angular.isUndefined(e)&&(e=n.options[0].hasOwnProperty("Id")?"Id":!!n.options[0].hasOwnProperty("id")&&"id",n.trackByKey=e,e===!1))throw'ReferenceError: Expecting property "Id" in an object from an array binded to "dropdown-options" attribute. Consider providing "dropdown-trackby" attribute or make sure property "Id" exists in binded array\'s object.'}function l(e,o){for(var t=0;t1}}}])}(); \ No newline at end of file +!function(){"use strict";angular.module("dropdown-multiselect",[]).directive("dropdownMultiselect",["$timeout",function(e){return{restrict:"AE",replace:!0,transclude:!0,template:'',scope:{config:"=dropdownConfig",primaryKey:"@dropdownTrackby",disableDropdown:"=dropdownDisable",dropdownType:"=",model:"=?",dropdownOptions:"=dropdownOptions",notifyParent:"&dropdownSelected"},controller:["$scope",function(n){function o(){!n.preSelectAll&&n.preSelectItem&&e(n.preSelect)}function t(){n.preSelectAll&&n.multiSelect&&e(n.selectAll)}function r(){var e=[];for(var o in n.options[0])e.push(o);n.leftKey=e[0],n.rightKey=e[1]}function l(e){if(angular.isUndefined(e)&&(e=n.options[0].hasOwnProperty("Id")?"Id":!!n.options[0].hasOwnProperty("id")&&"id",n.trackByKey=e,e===!1))throw'ReferenceError: Expecting property "Id" in an object from an array binded to "dropdown-options" attribute. Consider providing "dropdown-trackby" attribute or make sure property "Id" exists in binded array\'s object.'}function i(e,o){for(var t=0;t1}}}])}(); \ No newline at end of file diff --git a/src/app.js b/src/app.js index 7c06fa4..b5c09ee 100644 --- a/src/app.js +++ b/src/app.js @@ -1,9 +1,9 @@ -(function(){ +(function () { "use strict"; angular.module("myApp", ["dropdown-multiselect"]) - .controller("AppController", ["$scope", function($scope){ + .controller("AppController", ["$scope", function ($scope) { console.log("controller started"); @@ -19,10 +19,13 @@ $scope.options.push(obj); } + // pre-select the second option + $scope.options[1].selected = true; + $scope.config = { options: $scope.options, trackBy: 'StoreId', - displayBy: [ 'StoreId', 'StoreDesc' ], + displayBy: ['StoreId', 'StoreDesc'], divider: ':', icon: 'glyphicon glyphicon-heart', // icon: 'fa fa-check-square-o', @@ -30,7 +33,8 @@ filter: true, height: '200px', multiSelect: true, - // preSelectAll: true + preSelectItem: true, + preSelectAll: false // 'preSelectAll' property will overwrite 'preSelectItem' property }; }]); diff --git a/src/assets/angular-dropdownMultiselect.js b/src/assets/angular-dropdownMultiselect.js index 83169d9..8420c36 100644 --- a/src/assets/angular-dropdownMultiselect.js +++ b/src/assets/angular-dropdownMultiselect.js @@ -4,13 +4,13 @@ * https://github.com/rajush/angular-dropdown-multiselect */ -(function(){ +(function () { 'use strict'; angular - .module( 'dropdown-multiselect', [] ) - .directive( 'dropdownMultiselect', [ '$timeout', function ( $timeout ) { + .module('dropdown-multiselect', []) + .directive('dropdownMultiselect', ['$timeout', function ($timeout) { return { restrict: 'AE', replace: true, @@ -43,7 +43,7 @@ '