summaryrefslogtreecommitdiffstats
path: root/isteven-multi-select.js
diff options
context:
space:
mode:
authortkrym <tomasz.krym@kodegenix.pl>2015-02-23 01:51:20 +0100
committertkrym <tomasz.krym@kodegenix.pl>2015-02-23 01:51:20 +0100
commit5ceb9c4d7adbeddf4ce2685d4f12dac468930a6f (patch)
treede897c38df10ab745aeca4816b0dc99fdbb8c0a6 /isteven-multi-select.js
parentb33a51992f76c668906f12b5e728c63cc8ac0d63 (diff)
downloadangular-multi-select-5ceb9c4d7adbeddf4ce2685d4f12dac468930a6f.zip
angular-multi-select-5ceb9c4d7adbeddf4ce2685d4f12dac468930a6f.tar.gz
angular-multi-select-5ceb9c4d7adbeddf4ce2685d4f12dac468930a6f.tar.bz2
e templateUrl instead of template in directives declaration #197
Diffstat (limited to 'isteven-multi-select.js')
-rw-r--r--isteven-multi-select.js153
1 files changed, 78 insertions, 75 deletions
diff --git a/isteven-multi-select.js b/isteven-multi-select.js
index 1cacbc2..b477609 100644
--- a/isteven-multi-select.js
+++ b/isteven-multi-select.js
@@ -47,7 +47,7 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect'
// settings based on attribute
buttonLabel : '@',
directiveId : '@',
- helperElements : '@',
+ helperElements : '@',
isDisabled : '=',
itemLabel : '@',
maxLabels : '@',
@@ -75,80 +75,8 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect'
// i18n
translation : '=' // 3.0.0 - OK
},
-
- template:
- '<span class="multiSelect inlineBlock" id={{directiveId}}>' +
- '<button type="button"' +
- 'ng-click="toggleCheckboxes( $event ); refreshSelectedItems(); refreshButton(); prepareGrouping; prepareIndex();"' +
- 'ng-bind-html="varButtonLabel">' +
- '</button>' +
- '<div class="checkboxLayer">' +
-
- '<div class="helperContainer" ng-if="displayHelper( \'filter\' ) || displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
- '<div class="line" ng-if="displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
-
- '<button type="button" class="helperButton"' +
- 'ng-if="!isDisabled && displayHelper( \'all\' )"' +
- 'ng-click="select( \'all\', $event );"' +
- 'ng-bind-html="lang.selectAll">' +
- '</button>'+
-
- '<button type="button" class="helperButton"' +
- 'ng-if="!isDisabled && displayHelper( \'none\' )"' +
- 'ng-click="select( \'none\', $event );"' +
- 'ng-bind-html="lang.selectNone">' +
- '</button>'+
-
- '<button type="button" class="helperButton reset"' +
- 'ng-if="!isDisabled && displayHelper( \'reset\' )"' +
- 'ng-click="select( \'reset\', $event );"' +
- 'ng-bind-html="lang.reset">'+
- '</button>' +
- '</div>' +
-
- '<div class="line" style="position:relative" ng-if="displayHelper( \'filter\' )">'+
-
- '<input placeholder="{{lang.search}}" type="text"' +
- 'ng-click="select( \'filter\', $event )" '+
- 'ng-model="inputLabel.labelFilter" '+
- 'ng-change="searchChanged()" class="inputFilter"'+
- '/>'+
-
- '<button type="button" class="clearButton" ng-click="clearClicked( $event )" >×</button> '+
- '</div> '+
- '</div> '+
-
- '<div class="checkBoxContainer">'+
- '<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">'+
+ templateUrl: 'isteven-multi-select.html',
- '</div> '+
-
- '<div class="acol">'+
-
- '<label>'+
- '<input class="checkbox focusable" type="checkbox" '+
- 'ng-disabled="itemIsDisabled( item )" '+
- 'ng-checked="item[ tickProperty ]" '+
- 'ng-click="syncItems( item, $event, $index )" />'+
-
- '<span '+
- 'ng-class="{disabled:itemIsDisabled( item )}" '+
- 'ng-bind-html="writeLabel( item, \'itemLabel\' )">'+
- '</span>'+
- '</label>'+
- '</div>'+
-
- '<span class="tickMark" ng-if="item[ groupProperty ] !== true && item[ tickProperty ] === true">✔</span>'+
- '</div>'+
- '</div>'+
- '</div>'+
- '</span>',
link: function ( $scope, element, attrs ) {
@@ -1042,5 +970,80 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect'
});
}
}
-}]);
+}]).run(['$templateCache', function($templateCache){
+ var template =
+ '<span class="multiSelect inlineBlock" id={{directiveId}}>' +
+ '<button type="button"' +
+ 'ng-click="toggleCheckboxes( $event ); refreshSelectedItems(); refreshButton(); prepareGrouping; prepareIndex();"' +
+ 'ng-bind-html="varButtonLabel">' +
+ '</button>' +
+ '<div class="checkboxLayer">' +
+
+ '<div class="helperContainer" ng-if="displayHelper( \'filter\' ) || displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
+ '<div class="line" ng-if="displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
+
+ '<button type="button" class="helperButton"' +
+ 'ng-if="!isDisabled && displayHelper( \'all\' )"' +
+ 'ng-click="select( \'all\', $event );"' +
+ 'ng-bind-html="lang.selectAll">' +
+ '</button>'+
+
+ '<button type="button" class="helperButton"' +
+ 'ng-if="!isDisabled && displayHelper( \'none\' )"' +
+ 'ng-click="select( \'none\', $event );"' +
+ 'ng-bind-html="lang.selectNone">' +
+ '</button>'+
+
+ '<button type="button" class="helperButton reset"' +
+ 'ng-if="!isDisabled && displayHelper( \'reset\' )"' +
+ 'ng-click="select( \'reset\', $event );"' +
+ 'ng-bind-html="lang.reset">'+
+ '</button>' +
+ '</div>' +
+
+ '<div class="line" style="position:relative" ng-if="displayHelper( \'filter\' )">'+
+
+ '<input placeholder="{{lang.search}}" type="text"' +
+ 'ng-click="select( \'filter\', $event )" '+
+ 'ng-model="inputLabel.labelFilter" '+
+ 'ng-change="searchChanged()" class="inputFilter"'+
+ '/>'+
+
+ '<button type="button" class="clearButton" ng-click="clearClicked( $event )" >×</button> '+
+ '</div> '+
+ '</div> '+
+
+ '<div class="checkBoxContainer">'+
+ '<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>'+
+ '<input class="checkbox focusable" type="checkbox" '+
+ 'ng-disabled="itemIsDisabled( item )" '+
+ 'ng-checked="item[ tickProperty ]" '+
+ 'ng-click="syncItems( item, $event, $index )" />'+
+
+ '<span '+
+ 'ng-class="{disabled:itemIsDisabled( item )}" '+
+ 'ng-bind-html="writeLabel( item, \'itemLabel\' )">'+
+ '</span>'+
+ '</label>'+
+ '</div>'+
+
+ '<span class="tickMark" ng-if="item[ groupProperty ] !== true && item[ tickProperty ] === true">✔</span>'+
+ '</div>'+
+ '</div>'+
+ '</div>'+
+ '</span>';
+ $templateCache.put('isteven-multi-select.html', template);
+ }]); ;