1
+ <!DOCTYPE html>
2
+ < html lang ="en " ng-app ="demo ">
3
+ < head >
4
+ < meta charset ="utf-8 ">
5
+ < title > AngularJS ui-select</ title >
6
+
7
+ <!--
8
+ IE8 support, see AngularJS Internet Explorer Compatibility http://docs.angularjs.org/guide/ie
9
+ For Firefox 3.6, you will also need to include jQuery and ECMAScript 5 shim
10
+ -->
11
+ <!--[if lt IE 9]>
12
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
13
+ <script src="http://cdnjs.cloudflare.com/ajax/libs/es5-shim/2.2.0/es5-shim.js"></script>
14
+ <script>
15
+ document.createElement('ui-select');
16
+ document.createElement('ui-select-match');
17
+ document.createElement('ui-select-choices');
18
+ </script>
19
+ <![endif]-->
20
+
21
+ < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.17/angular.js "> </ script >
22
+ < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.17/angular-sanitize.js "> </ script >
23
+ < link rel ="stylesheet " href ="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.css ">
24
+
25
+ <!-- ui-select files -->
26
+ < script src ="../dist/select.js "> </ script >
27
+ < link rel ="stylesheet " href ="../dist/select.css ">
28
+
29
+ < script src ="demo.js "> </ script >
30
+
31
+ <!-- Select2 theme -->
32
+ < link rel ="stylesheet " href ="http://cdnjs.cloudflare.com/ajax/libs/select2/3.4.5/select2.css ">
33
+
34
+ <!--
35
+ Selectize theme
36
+ Less versions are available at https://github.com/brianreavis/selectize.js/tree/master/dist/less
37
+ -->
38
+ < link rel ="stylesheet " href ="http://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.8.5/css/selectize.default.css ">
39
+ <!-- <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.8.5/css/selectize.bootstrap2.css"> -->
40
+ <!-- <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.8.5/css/selectize.bootstrap3.css"> -->
41
+
42
+ < style >
43
+ body {
44
+ padding : 15px ;
45
+ }
46
+
47
+ .select2 > .select2-choice .ui-select-match {
48
+ /* Because of the inclusion of Bootstrap */
49
+ height : 29px ;
50
+ }
51
+
52
+ .selectize-control > .selectize-dropdown {
53
+ top : 36px ;
54
+ }
55
+ </ style >
56
+ </ head >
57
+
58
+ < body ng-controller ="DemoCtrl ">
59
+ < script src ="demo.js "> </ script >
60
+
61
+ < button class ="btn btn-default btn-xs " ng-click ="enable() "> Enable ui-select</ button >
62
+ < button class ="btn btn-default btn-xs " ng-click ="disable() "> Disable ui-select</ button >
63
+ < button class ="btn btn-default btn-xs " ng-click ="clear() "> Clear ng-model</ button >
64
+
65
+ <!-- <h1>Bootstrap theme</h1>
66
+ <ui-select ng-model="address.selected"
67
+ theme="bootstrap"
68
+ ng-disabled="disabled"
69
+ reset-search-input="false"
70
+ style="width: 300px;">
71
+ <ui-select-match placeholder="Enter an address...">{{$select.selected.formatted_address}}</ui-select-match>
72
+ <ui-select-choices repeat="address in addresses track by $index"
73
+ refresh="refreshAddresses($select.search)"
74
+ refresh-delay="0">
75
+ <div ng-bind-html="address.formatted_address | highlight: $select.search"></div>
76
+ </ui-select-choices>
77
+ </ui-select>
78
+ <p>Selected: {{address.selected.formatted_address}}</p>
79
+
80
+ <h3>Multi select</h3>
81
+ <ui-select multiple ng-model="friends" theme="bootstrap" ng-disabled="disabled" style="width: 300px;">
82
+ <ui-select-match placeholder="Search and select friends...">{{$item.name}}</ui-select-match>
83
+ <ui-select-choices repeat="person in people | propsFilter: {name: $select.search, age: $select.search}">
84
+ <div ng-bind-html="person.name | highlight: $select.search"></div>
85
+ <small>
86
+ age: <span ng-bind-html="''+person.age | highlight: $select.search"></span>
87
+ </small>
88
+ </ui-select-choices>
89
+ </ui-select>
90
+ <p>Selected: {{friends|json}}</p>
91
+ -->
92
+ <!-- <ui-select ng-model="person.selected" theme="select2" ng-disabled="disabled" style="min-width: 300px;">
93
+ <ui-select-match placeholder="Select a person in the list or search his name/age...">{{$select.selected.name}}</ui-select-match>
94
+ <ui-select-choices repeat="person in people | propsFilter: {name: $select.search, age: $select.search}">
95
+ <div ng-bind-html="person.name | highlight: $select.search"></div>
96
+ <small>
97
+ email: {{person.email}}
98
+ age: <span ng-bind-html="''+person.age | highlight: $select.search"></span>
99
+ </small>
100
+ </ui-select-choices>
101
+ </ui-select>
102
+ <p>Selected: {{person.selected}}</p> -->
103
+ <!-- <h1>Selectize theme</h1>
104
+ <ui-select ng-model="country.selected" theme="selectize" ng-disabled="disabled" style="width: 300px;">
105
+ <ui-select-match placeholder="Select or search a country in the list...">{{$select.selected.name}}</ui-select-match>
106
+ <ui-select-choices repeat="country in countries | filter: $select.search">
107
+ <span ng-bind-html="country.name | highlight: $select.search"></span>
108
+ <small ng-bind-html="country.code | highlight: $select.search"></small>
109
+ </ui-select-choices>
110
+ </ui-select>
111
+ <p>Selected: {{country.selected}}</p> -->
112
+
113
+ < h1 > Multi Selection Demos</ h1 >
114
+
115
+ < h3 > Array of strings</ h3 >
116
+ < ui-select multiple ng-model ="multipleDemo.colors " theme ="bootstrap " ng-disabled ="disabled " style ="width: 300px; ">
117
+ < ui-select-match placeholder ="Select colors... "> {{$item}}</ ui-select-match >
118
+ < ui-select-choices repeat ="color in availableColors | filter:$select.search ">
119
+ {{color}}
120
+ </ ui-select-choices >
121
+ </ ui-select >
122
+ < p > Selected: {{multipleDemo.colors}}</ p >
123
+ < hr >
124
+ < h3 > Array of objects</ h3 >
125
+ < ui-select multiple ng-model ="multipleDemo.selectedPeople " theme ="bootstrap " ng-disabled ="disabled " style ="width: 800px; ">
126
+ < ui-select-match placeholder ="Select person... "> {{$item.name}} <{{$item.email}}></ ui-select-match >
127
+ < ui-select-choices repeat ="person in people | propsFilter: {name: $select.search, age: $select.search} ">
128
+ < div ng-bind-html ="person.name | highlight: $select.search "> </ div >
129
+ < small >
130
+ email: {{person.email}}
131
+ age: < span ng-bind-html ="''+person.age | highlight: $select.search "> </ span >
132
+ </ small >
133
+ </ ui-select-choices >
134
+ </ ui-select >
135
+ < p > Selected: {{multipleDemo.selectedPeople}}</ p >
136
+
137
+ < hr >
138
+ < h3 > Array of objects with single property binding</ h3 >
139
+ < ui-select multiple ng-model ="multipleDemo.selectedPeopleSimple " theme ="bootstrap " ng-disabled ="disabled " style ="width: 800px; ">
140
+ < ui-select-match placeholder ="Select person... "> {{$item.name}} <{{$item.email}}></ ui-select-match >
141
+ < ui-select-choices repeat ="person.email as person in people | propsFilter: {name: $select.search, age: $select.search} ">
142
+ < div ng-bind-html ="person.name | highlight: $select.search "> </ div >
143
+ < small >
144
+ email: {{person.email}}
145
+ age: < span ng-bind-html ="''+person.age | highlight: $select.search "> </ span >
146
+ </ small >
147
+ </ ui-select-choices >
148
+ </ ui-select >
149
+ < p > Selected: {{multipleDemo.selectedPeopleSimple}}</ p >
150
+
151
+ < hr >
152
+ < h3 > Array of objects (with groupBy)</ h3 >
153
+ < ui-select multiple ng-model ="multipleDemo.selectedPeopleWithGroupBy " theme ="bootstrap " ng-disabled ="disabled " style ="width: 800px; ">
154
+ < ui-select-match placeholder ="Select person... "> {{$item.name}} <{{$item.email}}></ ui-select-match >
155
+ < ui-select-choices group-by ="someGroupFn " repeat ="person in people | propsFilter: {name: $select.search, age: $select.search} ">
156
+ < div ng-bind-html ="person.name | highlight: $select.search "> </ div >
157
+ < small >
158
+ email: {{person.email}}
159
+ age: < span ng-bind-html ="''+person.age | highlight: $select.search "> </ span >
160
+ </ small >
161
+ </ ui-select-choices >
162
+ </ ui-select >
163
+ < p > Selected: {{multipleDemo.selectedPeopleWithGroupBy}}</ p >
164
+
165
+ < div style ="height:500px "> </ div >
166
+
167
+ </ body >
168
+ </ html >
0 commit comments