diff options
author | isteven <isteven@server.fake> | 2014-07-07 15:43:45 +0800 |
---|---|---|
committer | isteven <isteven@server.fake> | 2014-07-07 15:43:45 +0800 |
commit | 4d1faad83f50874c026895d1f53a0949a8364a9e (patch) | |
tree | 38f82e6451d8399009b823076f714cb397285ddc | |
parent | 8f87cf360c7c0ea758cbbcadd220bd475e8e99a3 (diff) | |
download | angular-multi-select-4d1faad83f50874c026895d1f53a0949a8364a9e.zip angular-multi-select-4d1faad83f50874c026895d1f53a0949a8364a9e.tar.gz angular-multi-select-4d1faad83f50874c026895d1f53a0949a8364a9e.tar.bz2 |
v2.0.0
-rw-r--r-- | angular-multi-select.js | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/angular-multi-select.js b/angular-multi-select.js index 003c3ce..292849e 100644 --- a/angular-multi-select.js +++ b/angular-multi-select.js @@ -60,6 +60,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ tickProperty : '@', disableProperty : '@', groupProperty : '@', + maxHeight : '@', // callbacks onClose : '&', @@ -84,13 +85,11 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ '<button type="button" class="clearButton" ng-click="inputLabel.labelFilter=\'\';updateFilter();prepareGrouping();prepareIndex();select( \'clear\', $event )">⨯</button> ' + '</div>' + '</div>' + - '<div class="checkBoxContainer">' + - + '<div class="checkBoxContainer" style="{{setHeight();}}">' + '<div ng-repeat="item in filteredModel | filter:removeGroupEndMarker" class="multiSelectItem"' + 'ng-class="{selected: item[ tickProperty ], horizontal: orientationH, vertical: orientationV, multiSelectGroup:item[ groupProperty ], disabled:itemIsDisabled( item )}"' + 'ng-click="syncItems( item, $event, $index );"' + 'ng-mouseleave="removeFocusStyle( tabIndex );">' + - '<div class="acol" ng-if="item[ spacingProperty ] > 0" ng-repeat="i in numberToArray( item[ spacingProperty ] ) track by $index"> </div>' + '<div class="acol">' + '<label>' + @@ -99,9 +98,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ '</label>' + '</div>' + ' ' + - '<span class="tickMark" ng-if="item[ groupProperty ] !== true && item[ tickProperty ] === true">✔</span>' + - '</div>' + '</div>' + '<form>' + @@ -127,6 +124,13 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ helperItems = []; helperItemsLength = 0; + // If user specify a height, call this function + $scope.setHeight = function() { + if ( typeof $scope.maxHeight !== 'undefined' ) { + return 'max-height: ' + $scope.maxHeight + '; overflow-y:scroll'; + } + } + // A little hack so that AngularJS ng-repeat can loop using start and end index like a normal loop // http://stackoverflow.com/questions/16824853/way-to-ng-repeat-defined-number-of-times-instead-of-repeating-over-array $scope.numberToArray = function( num ) { @@ -242,7 +246,8 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ return true; } break; - default: + default: + return false; break; } } |