Skip to content

Commit f1be6df

Browse files
committed
Added Localizations and Default settings
1 parent 8cab577 commit f1be6df

File tree

6 files changed

+78
-35
lines changed

6 files changed

+78
-35
lines changed
204 Bytes
Binary file not shown.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
(function ($) {
2+
"use strict";
3+
4+
$.fn.meGridView.locales['en'] = {
5+
PageSizeText: "Page Size",
6+
PageText: "Page",
7+
PreviousPage: "Previous Page",
8+
NextPage: "Next Page"
9+
};
10+
11+
$.extend($.fn.meGridView.defaults, $.fn.meGridView.locales['en']);
12+
})(jQuery);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
(function ($) {
2+
"use strict";
3+
4+
$.fn.meGridView.locales['tr'] = {
5+
PageSizeText: "Sayfa Büyüklüğü",
6+
PageText: "Sayfa",
7+
PreviousPage: "Önceki Sayfa",
8+
NextPage: "Sonraki Sayfa"
9+
};
10+
11+
$.extend($.fn.meGridView.defaults, $.fn.meGridView.locales['tr']);
12+
})(jQuery);

mesoft.gridview/Scripts/megridview.js

Lines changed: 43 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,40 @@
11
/*
2-
megridview v0.3.1
2+
megridview v0.3.2
33
Developed By Mesut Talebi ([email protected])
44
Open Source And no licence :) free to use
55
*/
6-
(function ($) {
7-
$.fn.meGridView = function () {
6+
(function ($) {
7+
$.fn.meGridView = function (options) {
88

99
var $gridviewObject = new Object();
1010

11-
var options = {
12-
ShowPageOptions : true,
13-
ItemsPerPage : 10,
14-
PageOptions: [10, 20, 50, 100],
15-
PageSizeText: "Page Size",
16-
PageText: "Page"
17-
}
18-
11+
var defaults = $.extend({}, $.fn.meGridView.defaults, options);
12+
1913
//A function to Automatically insert page options
2014
var writePagerHtml = function (obj) {
2115
var pagerHtml =
2216
'<!-- Pager Left-->' +
2317
'<div class="col-sm-6 col-xs-12">' +
2418
'<!-- Page Size Area -->' +
2519
'<div class="gridview-itemization">';
26-
if (options.ShowPageOptions === true) {
27-
pagerHtml += '<span>Page Size</span>' +
20+
if (defaults.ShowPageOptions === true) {
21+
pagerHtml += '<span> ' + defaults.PageSizeText + ' </span>' +
2822
'<div class="btn-group selectlist dropup" data-resize="auto">' +
2923
'<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">' +
30-
'<span class="selected-label">' + options.ItemsPerPage + '</span>' +
24+
'<span class="selected-label"> ' + defaults.ItemsPerPage + ' </span>' +
3125
'<span class="caret"></span>' +
32-
'<span class="sr-only">' + options.PageSizeText + '&nbsp;</span>' +
26+
'<span class="sr-only"> ' + defaults.PageSizeText + '&nbsp;</span>' +
3327
'</button>' +
3428
'<ul class="dropdown-menu" role="menu">';
35-
for (var i = 0; i < options.PageOptions.length ; i++) {
36-
pagerHtml += '<li data-value="' + options.PageOptions[i] + '"><a href="#">' + options.PageOptions[i] + '</a></li>';
29+
for (var i = 0; i < defaults.PageOptions.length ; i++) {
30+
pagerHtml += '<li data-value="' + defaults.PageOptions[i] + '"><a href="#">' + defaults.PageOptions[i] + '</a></li>';
3731
}
3832
pagerHtml += '</ul>' +
3933
'<input class="hidden hidden-field" name="itemsPerPage" readonly="readonly" aria-hidden="true" type="text">' +
4034
'</div>';
4135
}
42-
pagerHtml += '<span>' +
43-
'<span class="gridview-start">1</span> - <span class="gridview-end">' + options.ItemsPerPage + '</span>' +
36+
pagerHtml += '<span> ' +
37+
'<span class="gridview-start">1</span> - <span class="gridview-end">' + defaults.ItemsPerPage + '</span>' +
4438
'(<span class="gridview-count">0</span>)' +
4539
'</span>' +
4640
'</div>' +
@@ -54,11 +48,11 @@
5448
'<span class="fa fa-chevron-left"></span>' +
5549
'<span class="sr-only">Previous Page</span>' +
5650
'</button>' +
57-
'<label class="page-label" id="myPageLabel">&nbsp;' + options.PageText + '&nbsp;</label>' +
51+
'<label class="page-label" id="myPageLabel">&nbsp;' + defaults.PageText + '&nbsp;</label>' +
5852
'<input type="number" class="form-control gridview-secondaryPaging active" aria-labelledby="myPageLabel" value="1">' +
5953
'<span>' +
60-
'/ <span class="gridview-pages">0</span>' +
61-
'</span>' +
54+
' / <span class="gridview-pages">0</span>' +
55+
'</span>&nbsp;' +
6256
'<button type="button" class="btn btn-default btn-sm gridview-next">' +
6357
'<span class="fa fa-chevron-right"></span>' +
6458
'<span class="sr-only">Next Page</span>' +
@@ -76,7 +70,7 @@
7670

7771
//The gridview object that we are working on it
7872
var gridview = this;
79-
73+
8074
//Inserts Pager Html
8175
writePagerHtml(gridview);
8276

@@ -85,7 +79,7 @@
8579
LoadFirstPage(gridview);
8680

8781
//Btn gridview-next click event
88-
$(gridview).on('click', 'button.gridview-next', function () {
82+
$(gridview).on('click', 'button.gridview-next', function () {
8983
if ($('button.gridview-next', gridview).is(':enabled')) {
9084
NextPage(gridview);
9185
}
@@ -107,7 +101,7 @@
107101
var size = $($li).data('value');
108102
var pageSize = $gridviewObject.ItemsPerPage;
109103
if (size != pageSize)
110-
ChangePageSize(size, gridview);
104+
ChangePageSize(size, gridview);
111105
});
112106

113107
//Pressing Enter event for page number input
@@ -130,7 +124,7 @@
130124
});
131125

132126
//Searching data
133-
$(gridview).on('click', '.search button', function() {
127+
$(gridview).on('click', '.search button', function () {
134128
var $searchTerm = $('.search input[type=search]', gridview).val();
135129

136130
if ($searchTerm.length >= 0) {
@@ -179,7 +173,7 @@
179173
var obj = $('.active', p)[0].nodeName.toLowerCase();
180174

181175
$(obj + '.active', p).removeClass('active');
182-
$(this).parents(obj).addClass('active');
176+
$(this).parents(obj).addClass('active');
183177
});
184178
});
185179

@@ -221,7 +215,7 @@
221215
LoadData(gridview);
222216
}
223217
}
224-
218+
225219
function Init(obj) {
226220
//add icon place holder for sortable fields
227221
$('th.sortable', obj).append('<span class="pull-right fa"></span>');
@@ -241,15 +235,15 @@
241235
}
242236

243237
function LoadData(obj) {
244-
238+
245239
var data = {
246240
"CurrentPage": $gridviewObject.CurrentPage,
247241
"ItemsPerPage": $gridviewObject.ItemsPerPage,
248242
"SearchTerm": $gridviewObject.SearchTerm,
249243
"Sort": $gridviewObject.Sort,
250244
"Filters": $gridviewObject.Filters
251245
};
252-
246+
253247
GetData(data, obj);
254248
}
255249

@@ -406,6 +400,23 @@
406400
$gridviewObject.CurrentPage = 1;
407401
$gridviewObject.ItemsPerPage = $gridviewObject.PageOptions[0];
408402
LoadData(obj);
409-
}
410-
};
403+
}
404+
};
405+
406+
$.fn.meGridView.defaults = {
407+
ShowPageOptions: true,
408+
ItemsPerPage: 10,
409+
PageOptions: [10, 20, 50, 100]
410+
};
411+
412+
$.fn.meGridView.locales = [];
413+
414+
$.fn.meGridView.locales['en'] = {
415+
PageSizeText: "Page Size",
416+
PageText: "Page",
417+
PreviousPage: "Previous Page",
418+
NextPage: "Next Page"
419+
};
420+
421+
$.extend($.fn.meGridView.defaults, $.fn.meGridView.locales['en']);
411422
}(jQuery));

mesoft.gridview/Views/Home/Index.cshtml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
@{
1+
@using System.Threading
2+
@{
23
ViewBag.Title = "Home Page";
34
}
45

56
<div class="jumbotron">
6-
<h1>MeSoft Gridview V0.3.1</h1>
7+
<h1>MeSoft Gridview V0.3.2</h1>
78
<p class="lead">No Magic! Simple To Use, Simple to Develop</p>
89
<p><a href="#" class="btn btn-primary btn-lg">Learn more &raquo;</a></p>
910
</div>
@@ -14,7 +15,12 @@
1415
</div>
1516

1617
@section Scripts {
17-
<script>
18+
19+
@{
20+
string culture = Thread.CurrentThread.CurrentCulture.Name;
21+
}
22+
<script src=@(Url.Content(string.Format("~/Scripts/locales/megridview.{0}.js", culture.Substring(0, culture.IndexOf("-") == 0 ? culture.Length : culture.IndexOf("-")))))></script>
23+
<script>
1824
$('.gridview1').meGridView();
1925
//$('.gridview2').meGridView();
2026
</script>

mesoft.gridview/mesoft.gridview.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@
172172
<Content Include="Scripts\jquery.validate.min.js" />
173173
<Content Include="Scripts\jquery.validate.unobtrusive.js" />
174174
<Content Include="Scripts\jquery.validate.unobtrusive.min.js" />
175+
<Content Include="Scripts\locales\megridview.en.js" />
176+
<Content Include="Scripts\locales\megridview.tr.js" />
175177
<Content Include="Scripts\megridview.js" />
176178
<Content Include="Scripts\modernizr-2.8.3.js" />
177179
<Content Include="Scripts\npm.js" />

0 commit comments

Comments
 (0)