Skip to content
This repository was archived by the owner on Dec 16, 2019. It is now read-only.

Commit 7e3b758

Browse files
committed
Added events, grouping, fixed search bug, selection limit, fixed folder structure, bug fixes, more docs
1 parent 9ac6fe8 commit 7e3b758

10 files changed

+242
-32
lines changed

Gruntfile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ module.exports = function(grunt) {
9999
},
100100
build: {
101101
files: {},
102-
src: 'angularjs-dropdown-multiselect.js',
103-
dest: 'angularjs-dropdown-multiselect.min.js'
102+
src: 'src/angularjs-dropdown-multiselect.js',
103+
dest: 'dist/angularjs-dropdown-multiselect.min.js'
104104
}
105105
}
106106
});

angularjs-dropdown-multiselect.min.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

development_index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ <h2>based on Bootstrap's dropdown</h2>
4949
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.0/highlight.min.js"></script>
5050
<script type="text/javascript" src="https://rawgit.com/pc035860/angular-highlightjs/master/angular-highlightjs.js"></script>
5151

52-
<script type="text/javascript" src="angularjs-dropdown-multiselect.js"></script>
52+
<script type="text/javascript" src="src/angularjs-dropdown-multiselect.js"></script>
5353

5454
<script type="text/javascript" src="pages/javascripts/app.js"></script>
5555
<script type="text/javascript" src="pages/javascripts/pages/home/ExampleCtrl.js"></script>

dist/angularjs-dropdown-multiselect.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
"version": "0.0.0",
55
"description": "",
66
"homepage": "",
7-
"dependencies": {},
7+
"dependencies": {
8+
"source-map": "^0.1.34"
9+
},
810
"devDependencies": {
911
"express": "~3.4.4",
1012
"grunt": "^0.4.5",

pages/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ <h2>based on Bootstrap's dropdown</h2>
5151
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.0/highlight.min.js"></script>
5252
<script type="text/javascript" src="https://rawgit.com/pc035860/angular-highlightjs/master/angular-highlightjs.js"></script>
5353

54-
<script type="text/javascript" src="https://rawgit.com/dotansimha/angularjs-dropdown-multiselect/master/angularjs-dropdown-multiselect.js"></script>
54+
<script type="text/javascript"
55+
src="https://rawgit.com/dotansimha/angularjs-dropdown-multiselect/master/src/angularjs-dropdown-multiselect.js"></script>
5556
<!--<script type="text/javascript" src="angularjs-dropdown-multiselect.min.js"></script>-->
5657

5758
<script type="text/javascript" src="javascripts/app.js"></script>

pages/javascripts/pages/home/ExampleCtrl.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,35 @@ angular.module('exampleApp').controller('ExampleCtrl', ['$scope', function($scop
6464
{id: 2, label: "Jhon"},
6565
{id: 3, label: "Danny"}];
6666
$scope.example9settings = {enableSearch: true};
67+
68+
$scope.example10model = [];
69+
$scope.example10data = [
70+
{id: 1, label: "David"},
71+
{id: 2, label: "Jhon"},
72+
{id: 3, label: "Danny"}];
73+
74+
$scope.example10settings = {selectionLimit: 2};
75+
76+
77+
$scope.example11model = [];
78+
$scope.example11data = [
79+
{id: 1, label: "David", gender: 'M'},
80+
{id: 2, label: "Jhon", gender: 'M'},
81+
{id: 3, label: "Lisa", gender: 'F'},
82+
{id: 4, label: "Nicole", gender: 'F'},
83+
{id: 5, label: "Danny", gender: 'M'}];
84+
85+
$scope.example11settings = {
86+
groupByTextProvider: function(groupValue)
87+
{
88+
if (groupValue === 'M')
89+
{
90+
return 'Male';
91+
}
92+
else
93+
{
94+
return 'Female';
95+
}
96+
}
97+
};
6798
}]);

pages/javascripts/pages/home/home.html

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,111 @@ <h3>Code</h3>
130130
</div>
131131
</div>
132132
</div>
133+
<div class="row">
134+
<div class="col-xs-12">
135+
<h2 style="margin-bottom: 0">Selection Limit</h2>
136+
By default, there is no limit on the maximum selected items. <br />
137+
You can limit the selection by providing selectionLimit using the settings attribute.<br />
138+
<strong>Note: limit the selection to 0 is the default and won't limit the selection!</strong><br />
139+
<strong>Note: When using this limit, the "Select All" button will not appear!</strong>
140+
</div>
141+
</div>
142+
<div class="row">
143+
<div class="col-xs-12 col-sm-6">
144+
<h3>Demo</h3>
145+
<div class="well">
146+
<div>
147+
<div ng-dropdown-multiselect options="example10data" selected-model="example10model"
148+
extra-settings="example10settings"></div>
149+
</div>
150+
</div>
151+
</div>
152+
<div class="col-xs-12 col-sm-6">
153+
<h3>The model:</h3>
154+
<pre>{{example10model|json}}</pre>
155+
</div>
156+
</div>
157+
<div class="row">
158+
<div class="col-md-12">
159+
<h3>Code</h3>
160+
<div class="well">
161+
<div>
162+
<div hljs>
163+
// HTML
164+
<div ng-dropdown-multiselect options="example10data" selected-model="example10model"
165+
extra-settings="example10settings"></div>
166+
167+
// JavaScript
168+
$scope.example10model = [];
169+
$scope.example10data = [
170+
{id: 1, label: "David"},
171+
{id: 2, label: "Jhon"},
172+
{id: 3, label: "Danny"}];
173+
$scope.example10settings = {selectionLimit: 2};</div>
174+
</div>
175+
</div>
176+
</div>
177+
</div>
178+
<div class="row">
179+
<div class="col-xs-12">
180+
<h2 style="margin-bottom: 0">Group Items By Property</h2>
181+
You can also group the items by propery that you want, in order to to that, provide the "group-by"
182+
attribute. <br />
183+
Also, you need to provide "groupByTextProvider" callback in the extra-settings attribute, in order to
184+
provide the
185+
header text for each group.<br />
186+
<strong>Note: If you won't specify the "groupByTextProvider" callback in order to get the
187+
header for each group, the value of the group will be displayed!</strong>
188+
</div>
189+
</div>
190+
<div class="row">
191+
<div class="col-xs-12 col-sm-6">
192+
<h3>Demo</h3>
193+
<div class="well">
194+
<div>
195+
<div ng-dropdown-multiselect options="example11data" selected-model="example11model"
196+
extra-settings="example11settings" group-by="gender"></div>
197+
</div>
198+
</div>
199+
</div>
200+
<div class="col-xs-12 col-sm-6">
201+
<h3>The model:</h3>
202+
<pre>{{example11model|json}}</pre>
203+
</div>
204+
</div>
205+
<div class="row">
206+
<div class="col-md-12">
207+
<h3>Code</h3>
208+
<div class="well">
209+
<div>
210+
<div hljs>
211+
// HTML
212+
<div ng-dropdown-multiselect options="example11data"
213+
selected-model="example11model" extra-settings="example11settings" group-by="gender"></div>
214+
215+
// JavaScript
216+
$scope.example11model = [];
217+
$scope.example11data = [
218+
{id: 1, label: "David", gender: 'M'},
219+
{id: 2, label: "Jhon", gender: 'M'},
220+
{id: 3, label: "Lisa", gender: 'F'},
221+
{id: 4, label: "Nicole", gender: 'F'},
222+
{id: 5, label: "Danny", gender: 'M'}];
223+
224+
$scope.example11settings = {
225+
groupByTextProvider: function(groupValue) {
226+
if (groupValue === 'M') {
227+
return 'Male';
228+
}
229+
else {
230+
return 'Female';
231+
}
232+
}
233+
};</div>
234+
</div>
235+
</div>
236+
</div>
237+
</div>
133238
<div class="row">
134239
<div class="col-xs-12">
135240
<h2 style="margin-bottom: 0">Custom ID property</h2>

pages/params.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)