@@ -47,7 +47,7 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect'
4747 // settings based on attribute
4848 buttonLabel : '@' ,
4949 directiveId : '@' ,
50- helperElements : '@' ,
50+ helperElements : '@' ,
5151 isDisabled : '=' ,
5252 itemLabel : '@' ,
5353 maxLabels : '@' ,
@@ -75,80 +75,8 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect'
7575 // i18n
7676 translation : '=' // 3.0.0 - OK
7777 } ,
78-
79- template :
80- '<span class="multiSelect inlineBlock" id={{directiveId}}>' +
81- '<button type="button"' +
82- 'ng-click="toggleCheckboxes( $event ); refreshSelectedItems(); refreshButton(); prepareGrouping; prepareIndex();"' +
83- 'ng-bind-html="varButtonLabel">' +
84- '</button>' +
85- '<div class="checkboxLayer">' +
86-
87- '<div class="helperContainer" ng-if="displayHelper( \'filter\' ) || displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
88- '<div class="line" ng-if="displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
89-
90- '<button type="button" class="helperButton"' +
91- 'ng-if="!isDisabled && displayHelper( \'all\' )"' +
92- 'ng-click="select( \'all\', $event );"' +
93- 'ng-bind-html="lang.selectAll">' +
94- '</button>' +
95-
96- '<button type="button" class="helperButton"' +
97- 'ng-if="!isDisabled && displayHelper( \'none\' )"' +
98- 'ng-click="select( \'none\', $event );"' +
99- 'ng-bind-html="lang.selectNone">' +
100- '</button>' +
101-
102- '<button type="button" class="helperButton reset"' +
103- 'ng-if="!isDisabled && displayHelper( \'reset\' )"' +
104- 'ng-click="select( \'reset\', $event );"' +
105- 'ng-bind-html="lang.reset">' +
106- '</button>' +
107- '</div>' +
108-
109- '<div class="line" style="position:relative" ng-if="displayHelper( \'filter\' )">' +
110-
111- '<input placeholder="{{lang.search}}" type="text"' +
112- 'ng-click="select( \'filter\', $event )" ' +
113- 'ng-model="inputLabel.labelFilter" ' +
114- 'ng-change="searchChanged()" class="inputFilter"' +
115- '/>' +
116-
117- '<button type="button" class="clearButton" ng-click="clearClicked( $event )" >×</button> ' +
118- '</div> ' +
119- '</div> ' +
120-
121- '<div class="checkBoxContainer">' +
122- '<div ' +
123- 'ng-repeat="item in filteredModel | filter:removeGroupEndMarker" class="multiSelectItem"' +
124- 'ng-class="{selected: item[ tickProperty ], horizontal: orientationH, vertical: orientationV, multiSelectGroup:item[ groupProperty ], disabled:itemIsDisabled( item )}"' +
125- 'ng-click="syncItems( item, $event, $index );" ' +
126- 'ng-mouseleave="removeFocusStyle( tabIndex );"> ' +
127-
128- '<div class="acol" ng-if="item[ spacingProperty ] > 0" ng-repeat="i in numberToArray( item[ spacingProperty ] ) track by $index">' +
78+ templateUrl : 'isteven-multi-select.html' ,
12979
130- '</div> ' +
131-
132- '<div class="acol">' +
133-
134- '<label>' +
135- '<input class="checkbox focusable" type="checkbox" ' +
136- 'ng-disabled="itemIsDisabled( item )" ' +
137- 'ng-checked="item[ tickProperty ]" ' +
138- 'ng-click="syncItems( item, $event, $index )" />' +
139-
140- '<span ' +
141- 'ng-class="{disabled:itemIsDisabled( item )}" ' +
142- 'ng-bind-html="writeLabel( item, \'itemLabel\' )">' +
143- '</span>' +
144- '</label>' +
145- '</div>' +
146-
147- '<span class="tickMark" ng-if="item[ groupProperty ] !== true && item[ tickProperty ] === true">✔</span>' +
148- '</div>' +
149- '</div>' +
150- '</div>' +
151- '</span>' ,
15280
15381 link : function ( $scope , element , attrs ) {
15482
@@ -1042,5 +970,80 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect'
1042970 } ) ;
1043971 }
1044972 }
1045- } ] ) ;
973+ } ] ) . run ( [ '$templateCache' , function ( $templateCache ) {
974+ var template =
975+ '<span class="multiSelect inlineBlock" id={{directiveId}}>' +
976+ '<button type="button"' +
977+ 'ng-click="toggleCheckboxes( $event ); refreshSelectedItems(); refreshButton(); prepareGrouping; prepareIndex();"' +
978+ 'ng-bind-html="varButtonLabel">' +
979+ '</button>' +
980+ '<div class="checkboxLayer">' +
981+
982+ '<div class="helperContainer" ng-if="displayHelper( \'filter\' ) || displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
983+ '<div class="line" ng-if="displayHelper( \'all\' ) || displayHelper( \'none\' ) || displayHelper( \'reset\' )">' +
984+
985+ '<button type="button" class="helperButton"' +
986+ 'ng-if="!isDisabled && displayHelper( \'all\' )"' +
987+ 'ng-click="select( \'all\', $event );"' +
988+ 'ng-bind-html="lang.selectAll">' +
989+ '</button>' +
990+
991+ '<button type="button" class="helperButton"' +
992+ 'ng-if="!isDisabled && displayHelper( \'none\' )"' +
993+ 'ng-click="select( \'none\', $event );"' +
994+ 'ng-bind-html="lang.selectNone">' +
995+ '</button>' +
996+
997+ '<button type="button" class="helperButton reset"' +
998+ 'ng-if="!isDisabled && displayHelper( \'reset\' )"' +
999+ 'ng-click="select( \'reset\', $event );"' +
1000+ 'ng-bind-html="lang.reset">' +
1001+ '</button>' +
1002+ '</div>' +
1003+
1004+ '<div class="line" style="position:relative" ng-if="displayHelper( \'filter\' )">' +
1005+
1006+ '<input placeholder="{{lang.search}}" type="text"' +
1007+ 'ng-click="select( \'filter\', $event )" ' +
1008+ 'ng-model="inputLabel.labelFilter" ' +
1009+ 'ng-change="searchChanged()" class="inputFilter"' +
1010+ '/>' +
1011+
1012+ '<button type="button" class="clearButton" ng-click="clearClicked( $event )" >×</button> ' +
1013+ '</div> ' +
1014+ '</div> ' +
1015+
1016+ '<div class="checkBoxContainer">' +
1017+ '<div ' +
1018+ 'ng-repeat="item in filteredModel | filter:removeGroupEndMarker" class="multiSelectItem"' +
1019+ 'ng-class="{selected: item[ tickProperty ], horizontal: orientationH, vertical: orientationV, multiSelectGroup:item[ groupProperty ], disabled:itemIsDisabled( item )}"' +
1020+ 'ng-click="syncItems( item, $event, $index );" ' +
1021+ 'ng-mouseleave="removeFocusStyle( tabIndex );"> ' +
1022+
1023+ '<div class="acol" ng-if="item[ spacingProperty ] > 0" ng-repeat="i in numberToArray( item[ spacingProperty ] ) track by $index">' +
1024+
1025+ '</div> ' +
1026+
1027+ '<div class="acol">' +
1028+
1029+ '<label>' +
1030+ '<input class="checkbox focusable" type="checkbox" ' +
1031+ 'ng-disabled="itemIsDisabled( item )" ' +
1032+ 'ng-checked="item[ tickProperty ]" ' +
1033+ 'ng-click="syncItems( item, $event, $index )" />' +
1034+
1035+ '<span ' +
1036+ 'ng-class="{disabled:itemIsDisabled( item )}" ' +
1037+ 'ng-bind-html="writeLabel( item, \'itemLabel\' )">' +
1038+ '</span>' +
1039+ '</label>' +
1040+ '</div>' +
1041+
1042+ '<span class="tickMark" ng-if="item[ groupProperty ] !== true && item[ tickProperty ] === true">✔</span>' +
1043+ '</div>' +
1044+ '</div>' +
1045+ '</div>' +
1046+ '</span>' ;
1047+ $templateCache . put ( 'isteven-multi-select.html' , template ) ;
1048+ } ] ) ; ;
10461049
0 commit comments