1+ <!DOCTYPE html>
2+ < html >
3+ < head lang ="en ">
4+ < meta charset ="UTF-8 ">
5+ < title > Angular Data Grid - 100k example</ title >
6+ < link rel ="icon " href ="https://angularjs.org/favicon.ico " type ="image/x-icon ">
7+ < link rel ="stylesheet " href ="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css ">
8+ < link rel ="stylesheet " href ="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css ">
9+ < link rel ="stylesheet " href ="css/angular-data-grid.bootstrap.css ">
10+ </ head >
11+ < body ng-app ="myApp " ng-controller ="myAppController " ng-cloak >
12+ < nav class ="navbar navbar-inverse ">
13+ < div class ="container ">
14+ < a href ="# " class ="navbar-brand "> Angular Data Grid - 100k Example</ a >
15+ < ul class ="nav navbar-nav navbar-right ">
16+ < li > < a href ="../bootstrap/ "> Basic demo</ a > </ li >
17+ </ ul >
18+ </ div >
19+ </ nav >
20+ < div class ="container ">
21+ < div >
22+ < h3 > Angular Data Grid 100k Example</ h3 >
23+ This demonstrates client-side sorting / pagination / filtering performance of the data grid with < strong > 100 000 rows</ strong > loaded at once.
24+ It's not likely that someone will need to operate so huge data at client side in a real life, but for performance testing purposes it definitely works)
25+ < a href ="https://github.com/angular-data-grid/angular-data-grid.github.io " target ="_blank "> Project GitHub</ a >
26+ </ div >
27+ < hr >
28+ < div class ="row ">
29+ < div >
30+ < div class ="col-md-4 ">
31+ < div class ="form-group ">
32+ < label for ="orderIdFilter "> Search by User ID</ label >
33+ < input id ="orderIdFilter " type ="text " class ="form-control order-search-box "
34+ placeholder ="Enter User ID "
35+ ng-change ="gridActions.filter() "
36+ ng-model ="id "
37+ filter-by ="id "
38+ filter-type ="text ">
39+ </ div >
40+ </ div >
41+ < div class ="col-md-4 ">
42+ < div class ="form-group ">
43+ < label for ="dateFromFilter "> Date From</ label >
44+
45+ < div class ="input-group ">
46+ < input type ="text "
47+ id ="dateFromFilter "
48+ class ="form-control "
49+ uib-datepicker-popup ="dd/MM/yyyy "
50+ placeholder ="DD/MM/YYYY "
51+ max-date ="dateTo "
52+ close-text ="Close "
53+ ng-model ="dateFrom "
54+ show-weeks ="true "
55+ is-open ="dateFromOpened "
56+ ng-click ="dateFromOpened = true "
57+ filter-by ="date "
58+ filter-type ="dateFrom "
59+ ng-blur ="gridActions.filter() "
60+ ng-focus ="gridActions.filter() "
61+ show-weeks ="false "
62+ close-text ="Close "/>
63+ < span class ="input-group-btn ">
64+ < label for ="dateFromFilter " class ="btn btn-default ">
65+ < i class ="fa fa-calendar "> </ i > </ label >
66+ </ span >
67+ </ div >
68+ </ div >
69+ </ div >
70+ < div class ="col-md-4 ">
71+ < div class ="form-group ">
72+ < label for ="dateToInput "> Date To</ label >
73+
74+ < div class ="input-group ">
75+ < input type ="text "
76+ id ="dateToInput "
77+ class ="form-control "
78+ uib-datepicker-popup ="dd/MM/yyyy "
79+ placeholder ="DD/MM/YYYY "
80+ min-date ="dateFrom "
81+ close-text ="Close "
82+ ng-model ="dateTo "
83+ show-weeks ="true "
84+ is-open ="dateToOpened "
85+ ng-click ="dateToOpened = true "
86+ filter-by ="date "
87+ filter-type ="dateTo "
88+ ng-blur ="gridActions.filter() "
89+ ng-focus ="gridActions.filter() "
90+ show-weeks ="false "
91+ close-text ="Close ">
92+ < span class ="input-group-btn ">
93+ < label for ="dateToInput " class ="btn btn-default ">
94+ < i class ="fa fa-calendar "> </ i > </ label >
95+ </ span >
96+ </ div >
97+ </ div >
98+ < div ng-show ="dateTo || dateFrom " class ="buttons-right ">
99+ < a href ="" ng-click ="dateTo = ''; dateFrom = ''; reloadGrid(); "> Clear Dates</ a >
100+ </ div >
101+ </ div >
102+ </ div >
103+ </ div >
104+ < hr >
105+ < div class ="row ">
106+ < div class ="col-md-12 ">
107+ < div grid-data id ='test ' grid-options ="gridOptions " grid-actions ="gridActions ">
108+ < div class ="row ">
109+ < div class ="col-md-3 " ng-cloak >
110+ < span class ="items " ng-bind ="filtered.length "> {{filtered.length}} users total</ span >
111+ < div > Time stats</ div >
112+ < div > Copy time: {{_time.copy}}</ div >
113+ < div > Filter time: {{_time.filters}}</ div >
114+ < div > Sort time: {{_time.sort}}</ div >
115+ < div > All time: {{_time.all}}</ div >
116+ </ div >
117+ < div class ="col-md-9 text-right ">
118+ < form class ="form-inline pull-right margin-bottom-basic ">
119+ < div class ="form-group ">
120+ < grid-pagination max-size ="5 "
121+ boundary-links ="true "
122+ class ="pagination-sm "
123+ total-items ="paginationOptions.totalItems "
124+ ng-model ="paginationOptions.currentPage "
125+ ng-change ="reloadGrid() "
126+ items-per-page ="paginationOptions.itemsPerPage "> </ grid-pagination >
127+ </ div >
128+ < div class ="form-group items-per-page ">
129+ < label for ="itemsOnPageSelect1 "> Items per page:</ label >
130+ < select id ="itemsOnPageSelect1 " class ="form-control input-sm "
131+ ng-init ="paginationOptions.itemsPerPage = '10' "
132+ ng-model ="paginationOptions.itemsPerPage " ng-change ="reloadGrid() ">
133+ < option > 10</ option >
134+ < option > 25</ option >
135+ < option > 50</ option >
136+ < option > 75</ option >
137+ </ select >
138+ </ div >
139+ </ form >
140+ </ div >
141+ </ div >
142+ < table class ="table table-bordered table-striped ">
143+ < thead >
144+ < tr >
145+ < th sortable ="id " class ="sortable ">
146+ User Id
147+ </ th >
148+
149+ < th sortable ='name ' class ="sortable ">
150+ Name
151+ </ th >
152+ < th sortable ='phone ' class ="sortable ">
153+ Phone
154+ </ th >
155+ < th sortable ="date " class ="sortable ">
156+ Date Of Birth
157+ </ th >
158+ </ tr >
159+ </ thead >
160+ < tbody >
161+ < tr grid-item >
162+ < td width ="30% " ng-bind ="item.id "> </ td >
163+ < td ng-bind ="item.name "> </ td >
164+ < td ng-bind ="item.phone "> </ td >
165+ < td width ="30% " ng-bind ="item.date | date:'MM/dd/yyyy' "> </ td >
166+ </ tr >
167+ </ tbody >
168+ </ table >
169+ < form class ="form-inline pull-right margin-bottom-basic ">
170+ < div class ="form-group ">
171+ < grid-pagination max-size ="5 "
172+ boundary-links ="true "
173+ class ="pagination-sm "
174+ total-items ="paginationOptions.totalItems "
175+ ng-model ="paginationOptions.currentPage "
176+ ng-change ="reloadGrid() "
177+ items-per-page ="paginationOptions.itemsPerPage "> </ grid-pagination >
178+ </ div >
179+ < div class ="form-group items-per-page ">
180+ < label for ="itemsOnPageSelect2 "> Items per page:</ label >
181+ < select id ="itemsOnPageSelect2 " class ="form-control input-sm "
182+ ng-init ="paginationOptions.itemsPerPage = '10' "
183+ ng-model ="paginationOptions.itemsPerPage " ng-change ="reloadGrid() ">
184+ < option > 10</ option >
185+ < option > 25</ option >
186+ < option > 50</ option >
187+ < option > 75</ option >
188+ </ select >
189+ </ div >
190+ </ form >
191+ </ div >
192+ </ div >
193+ </ div >
194+ < hr >
195+ <!--<div>-->
196+ <!--<button class="btn btn-info margin-bottom-basic" ng-click="showCode = !showCode">CodePen</button>-->
197+ <!--<div ng-show="showCode">-->
198+ <!--<p data-height="768" data-theme-id="21603" data-slug-hash="xZddZm" data-default-tab="html"-->
199+ <!--data-user="AngularDataGrid" class='codepen'>See the Pen <a-->
200+ <!--href='http://codepen.io/AngularDataGrid/pen/xZddZm/'>xZddZm</a> by AngularDataGrid (<a-->
201+ <!--href='http://codepen.io/AngularDataGrid'>@AngularDataGrid</a>) on <a href='http://codepen.io'>CodePen</a>.-->
202+ <!--</p>-->
203+ <!--<script async src="//assets.codepen.io/assets/embed/ei.js"></script>-->
204+ <!--</div>-->
205+ <!--</div>-->
206+ <!--<hr>-->
207+ </ div >
208+ </ body >
209+ < script src ="https://code.jquery.com/jquery-1.11.3.min.js "> </ script >
210+ < script src ="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js "> </ script >
211+ < script src ="https://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.3.js "> </ script >
212+ < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js "> </ script >
213+ < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js "> </ script >
214+ < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js "> </ script >
215+ < script src ="../../dist/pagination.min.js "> </ script >
216+ < script src ="../../dist/dataGrid.js "> </ script >
217+ < script src ="js/demoApp.js "> </ script >
218+
219+ </ html >
0 commit comments