smithycms 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/initializers/refile.rb +6 -1
- data/lib/smithy/dependencies.rb +0 -3
- data/lib/smithy/version.rb +1 -1
- data/vendor/assets/images/datatables/favicon.ico +0 -0
- data/vendor/assets/images/datatables/sort_asc.png +0 -0
- data/vendor/assets/images/datatables/sort_asc_disabled.png +0 -0
- data/vendor/assets/images/datatables/sort_both.png +0 -0
- data/vendor/assets/images/datatables/sort_desc.png +0 -0
- data/vendor/assets/images/datatables/sort_desc_disabled.png +0 -0
- data/vendor/assets/javascripts/datatables/dataTables.bootstrap.js +220 -0
- data/vendor/assets/javascripts/datatables/dataTables.foundation.js +156 -0
- data/vendor/assets/javascripts/datatables/dataTables.jqueryui.js +164 -0
- data/vendor/assets/javascripts/datatables/jquery.dataTables.js +15212 -0
- data/vendor/assets/javascripts/datatables/jquery.js +5 -0
- data/vendor/assets/javascripts/datatables-responsive/dataTables.responsive.js +1190 -0
- data/vendor/assets/javascripts/datatables-responsive/responsive.bootstrap.js +78 -0
- data/vendor/assets/javascripts/datatables-responsive/responsive.foundation.js +62 -0
- data/vendor/assets/javascripts/datatables-responsive/responsive.jqueryui.js +63 -0
- data/vendor/assets/javascripts/datatables-responsive.js +1 -0
- data/vendor/assets/javascripts/datatables-select/dataTables.select.js +1038 -0
- data/vendor/assets/javascripts/datatables-select.js +1 -0
- data/vendor/assets/javascripts/datatables.js +1 -0
- data/vendor/assets/stylesheets/datatables/dataTables.bootstrap.scss +187 -0
- data/vendor/assets/stylesheets/datatables/dataTables.foundation.scss +117 -0
- data/vendor/assets/stylesheets/datatables/dataTables.jqueryui.scss +482 -0
- data/vendor/assets/stylesheets/datatables/jquery.dataTables.scss +453 -0
- data/vendor/assets/stylesheets/datatables/jquery.dataTables_themeroller.scss +416 -0
- data/vendor/assets/stylesheets/datatables-responsive/responsive.bootstrap.scss +4 -0
- data/vendor/assets/stylesheets/datatables-responsive/responsive.dataTables.scss +241 -0
- data/vendor/assets/stylesheets/datatables-responsive/responsive.foundation.scss +10 -0
- data/vendor/assets/stylesheets/datatables-responsive/responsive.jqueryui.scss +2 -0
- data/vendor/assets/stylesheets/datatables-responsive.scss +1 -0
- data/vendor/assets/stylesheets/datatables-select/select.bootstrap.scss +17 -0
- data/vendor/assets/stylesheets/datatables-select/select.dataTables.scss +139 -0
- data/vendor/assets/stylesheets/datatables-select/select.foundation.scss +18 -0
- data/vendor/assets/stylesheets/datatables-select/select.jqueryui.scss +4 -0
- data/vendor/assets/stylesheets/datatables-select.scss +1 -0
- data/vendor/assets/stylesheets/datatables.scss +1 -0
- metadata +37 -44
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b43750cac7e92b7dbfd3cbe13c92d19d9c735652
|
|
4
|
+
data.tar.gz: 235216f9d7c80ec7a0051e78c363854bdb44f799
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3a2e4b70ac8acfc05831b6a7152e5374df8ced8a101f5cf7705bda9b23dd3854194e75677d2ad3b355debfee5f584d08cb0aba3b79f314cecd976e13e6aae652
|
|
7
|
+
data.tar.gz: 9549ad81b5b11e95be39e9c098e7baad82da3388c312027ccd36632857504a50972ea9fd819c720eb8bebbd7dfe2eb0678874570f30552b1fecf68dd91064286
|
|
@@ -7,6 +7,11 @@ Rails.application.routes.prepend do
|
|
|
7
7
|
mount Refile.app, at: Refile.mount_point, as: :refile_app
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
+
# use a CDN/asset host if the main rails app is using one
|
|
11
|
+
if Rails.application.config.action_controller.asset_host.present?
|
|
12
|
+
Refile.cdn_host = Rails.application.config.action_controller.asset_host
|
|
13
|
+
end
|
|
14
|
+
|
|
10
15
|
if ENV['AWS_ACCESS_KEY_ID'].present? && ENV['AWS_SECRET_ACCESS_KEY'].present? && ENV['AWS_S3_BUCKET'].present?
|
|
11
16
|
aws = {
|
|
12
17
|
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
|
|
@@ -18,4 +23,4 @@ if ENV['AWS_ACCESS_KEY_ID'].present? && ENV['AWS_SECRET_ACCESS_KEY'].present? &&
|
|
|
18
23
|
Refile.store = Refile::S3.new(prefix: "store", **aws)
|
|
19
24
|
else
|
|
20
25
|
Refile.store = Refile::Backend::FileSystem.new(Rails.root.join('public/smithy', Rails.env))
|
|
21
|
-
end
|
|
26
|
+
end
|
data/lib/smithy/dependencies.rb
CHANGED
|
@@ -11,9 +11,6 @@ require 'httparty'
|
|
|
11
11
|
require 'kaminari'
|
|
12
12
|
require 'jquery/rails'
|
|
13
13
|
require 'liquid'
|
|
14
|
-
require 'rails-assets-datatables'
|
|
15
|
-
require 'rails-assets-datatables-select'
|
|
16
|
-
require 'rails-assets-datatables-responsive'
|
|
17
14
|
require 'refile/rails'
|
|
18
15
|
require 'refile/mini_magick'
|
|
19
16
|
require 'remotipart'
|
data/lib/smithy/version.rb
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/*! DataTables Bootstrap 3 integration
|
|
2
|
+
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
|
7
|
+
* DataTables 1.10 or newer.
|
|
8
|
+
*
|
|
9
|
+
* This file sets the defaults and adds options to DataTables to style its
|
|
10
|
+
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
11
|
+
* for further information.
|
|
12
|
+
*/
|
|
13
|
+
(function( factory ){
|
|
14
|
+
if ( typeof define === 'function' && define.amd ) {
|
|
15
|
+
// AMD
|
|
16
|
+
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
17
|
+
return factory( $, window, document );
|
|
18
|
+
} );
|
|
19
|
+
}
|
|
20
|
+
else if ( typeof exports === 'object' ) {
|
|
21
|
+
// CommonJS
|
|
22
|
+
module.exports = function (root, $) {
|
|
23
|
+
if ( ! root ) {
|
|
24
|
+
root = window;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if ( ! $ || ! $.fn.dataTable ) {
|
|
28
|
+
// Require DataTables, which attaches to jQuery, including
|
|
29
|
+
// jQuery if needed and have a $ property so we can access the
|
|
30
|
+
// jQuery object that is used
|
|
31
|
+
$ = require('datatables.net')(root, $).$;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return factory( $, root, root.document );
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// Browser
|
|
39
|
+
factory( jQuery, window, document );
|
|
40
|
+
}
|
|
41
|
+
}(function( $, window, document, undefined ) {
|
|
42
|
+
'use strict';
|
|
43
|
+
var DataTable = $.fn.dataTable;
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
/* Set the defaults for DataTables initialisation */
|
|
47
|
+
$.extend( true, DataTable.defaults, {
|
|
48
|
+
dom:
|
|
49
|
+
"<'row'<'col-sm-6'l><'col-sm-6'f>>" +
|
|
50
|
+
"<'row'<'col-sm-12'tr>>" +
|
|
51
|
+
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
|
52
|
+
renderer: 'bootstrap'
|
|
53
|
+
} );
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/* Default class modification */
|
|
57
|
+
$.extend( DataTable.ext.classes, {
|
|
58
|
+
sWrapper: "dataTables_wrapper form-inline dt-bootstrap",
|
|
59
|
+
sFilterInput: "form-control input-sm",
|
|
60
|
+
sLengthSelect: "form-control input-sm",
|
|
61
|
+
sProcessing: "dataTables_processing panel panel-default"
|
|
62
|
+
} );
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
/* Bootstrap paging button renderer */
|
|
66
|
+
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
|
67
|
+
var api = new DataTable.Api( settings );
|
|
68
|
+
var classes = settings.oClasses;
|
|
69
|
+
var lang = settings.oLanguage.oPaginate;
|
|
70
|
+
var aria = settings.oLanguage.oAria.paginate || {};
|
|
71
|
+
var btnDisplay, btnClass, counter=0;
|
|
72
|
+
|
|
73
|
+
var attach = function( container, buttons ) {
|
|
74
|
+
var i, ien, node, button;
|
|
75
|
+
var clickHandler = function ( e ) {
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
|
78
|
+
api.page( e.data.action ).draw( 'page' );
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
83
|
+
button = buttons[i];
|
|
84
|
+
|
|
85
|
+
if ( $.isArray( button ) ) {
|
|
86
|
+
attach( container, button );
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
btnDisplay = '';
|
|
90
|
+
btnClass = '';
|
|
91
|
+
|
|
92
|
+
switch ( button ) {
|
|
93
|
+
case 'ellipsis':
|
|
94
|
+
btnDisplay = '…';
|
|
95
|
+
btnClass = 'disabled';
|
|
96
|
+
break;
|
|
97
|
+
|
|
98
|
+
case 'first':
|
|
99
|
+
btnDisplay = lang.sFirst;
|
|
100
|
+
btnClass = button + (page > 0 ?
|
|
101
|
+
'' : ' disabled');
|
|
102
|
+
break;
|
|
103
|
+
|
|
104
|
+
case 'previous':
|
|
105
|
+
btnDisplay = lang.sPrevious;
|
|
106
|
+
btnClass = button + (page > 0 ?
|
|
107
|
+
'' : ' disabled');
|
|
108
|
+
break;
|
|
109
|
+
|
|
110
|
+
case 'next':
|
|
111
|
+
btnDisplay = lang.sNext;
|
|
112
|
+
btnClass = button + (page < pages-1 ?
|
|
113
|
+
'' : ' disabled');
|
|
114
|
+
break;
|
|
115
|
+
|
|
116
|
+
case 'last':
|
|
117
|
+
btnDisplay = lang.sLast;
|
|
118
|
+
btnClass = button + (page < pages-1 ?
|
|
119
|
+
'' : ' disabled');
|
|
120
|
+
break;
|
|
121
|
+
|
|
122
|
+
default:
|
|
123
|
+
btnDisplay = button + 1;
|
|
124
|
+
btnClass = page === button ?
|
|
125
|
+
'active' : '';
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if ( btnDisplay ) {
|
|
130
|
+
node = $('<li>', {
|
|
131
|
+
'class': classes.sPageButton+' '+btnClass,
|
|
132
|
+
'id': idx === 0 && typeof button === 'string' ?
|
|
133
|
+
settings.sTableId +'_'+ button :
|
|
134
|
+
null
|
|
135
|
+
} )
|
|
136
|
+
.append( $('<a>', {
|
|
137
|
+
'href': '#',
|
|
138
|
+
'aria-controls': settings.sTableId,
|
|
139
|
+
'aria-label': aria[ button ],
|
|
140
|
+
'data-dt-idx': counter,
|
|
141
|
+
'tabindex': settings.iTabIndex
|
|
142
|
+
} )
|
|
143
|
+
.html( btnDisplay )
|
|
144
|
+
)
|
|
145
|
+
.appendTo( container );
|
|
146
|
+
|
|
147
|
+
settings.oApi._fnBindAction(
|
|
148
|
+
node, {action: button}, clickHandler
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
counter++;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
158
|
+
// inside an iframe or frame.
|
|
159
|
+
var activeEl;
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
// Because this approach is destroying and recreating the paging
|
|
163
|
+
// elements, focus is lost on the select button which is bad for
|
|
164
|
+
// accessibility. So we want to restore focus once the draw has
|
|
165
|
+
// completed
|
|
166
|
+
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
|
167
|
+
}
|
|
168
|
+
catch (e) {}
|
|
169
|
+
|
|
170
|
+
attach(
|
|
171
|
+
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
|
172
|
+
buttons
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
if ( activeEl ) {
|
|
176
|
+
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
/*
|
|
182
|
+
* TableTools Bootstrap compatibility
|
|
183
|
+
* Required TableTools 2.1+
|
|
184
|
+
*/
|
|
185
|
+
if ( DataTable.TableTools ) {
|
|
186
|
+
// Set the classes that TableTools uses to something suitable for Bootstrap
|
|
187
|
+
$.extend( true, DataTable.TableTools.classes, {
|
|
188
|
+
"container": "DTTT btn-group",
|
|
189
|
+
"buttons": {
|
|
190
|
+
"normal": "btn btn-default",
|
|
191
|
+
"disabled": "disabled"
|
|
192
|
+
},
|
|
193
|
+
"collection": {
|
|
194
|
+
"container": "DTTT_dropdown dropdown-menu",
|
|
195
|
+
"buttons": {
|
|
196
|
+
"normal": "",
|
|
197
|
+
"disabled": "disabled"
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"print": {
|
|
201
|
+
"info": "DTTT_print_info"
|
|
202
|
+
},
|
|
203
|
+
"select": {
|
|
204
|
+
"row": "active"
|
|
205
|
+
}
|
|
206
|
+
} );
|
|
207
|
+
|
|
208
|
+
// Have the collection use a bootstrap compatible drop down
|
|
209
|
+
$.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
|
|
210
|
+
"collection": {
|
|
211
|
+
"container": "ul",
|
|
212
|
+
"button": "li",
|
|
213
|
+
"liner": "a"
|
|
214
|
+
}
|
|
215
|
+
} );
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
return DataTable;
|
|
220
|
+
}));
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/*! DataTables Foundation integration
|
|
2
|
+
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DataTables integration for Foundation. This requires Foundation 5 and
|
|
7
|
+
* DataTables 1.10 or newer.
|
|
8
|
+
*
|
|
9
|
+
* This file sets the defaults and adds options to DataTables to style its
|
|
10
|
+
* controls using Foundation. See http://datatables.net/manual/styling/foundation
|
|
11
|
+
* for further information.
|
|
12
|
+
*/
|
|
13
|
+
(function( factory ){
|
|
14
|
+
if ( typeof define === 'function' && define.amd ) {
|
|
15
|
+
// AMD
|
|
16
|
+
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
17
|
+
return factory( $, window, document );
|
|
18
|
+
} );
|
|
19
|
+
}
|
|
20
|
+
else if ( typeof exports === 'object' ) {
|
|
21
|
+
// CommonJS
|
|
22
|
+
module.exports = function (root, $) {
|
|
23
|
+
if ( ! root ) {
|
|
24
|
+
root = window;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if ( ! $ || ! $.fn.dataTable ) {
|
|
28
|
+
$ = require('datatables.net')(root, $).$;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return factory( $, root, root.document );
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Browser
|
|
36
|
+
factory( jQuery, window, document );
|
|
37
|
+
}
|
|
38
|
+
}(function( $, window, document, undefined ) {
|
|
39
|
+
'use strict';
|
|
40
|
+
var DataTable = $.fn.dataTable;
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
$.extend( DataTable.ext.classes, {
|
|
44
|
+
sWrapper: "dataTables_wrapper dt-foundation",
|
|
45
|
+
sProcessing: "dataTables_processing panel"
|
|
46
|
+
} );
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/* Set the defaults for DataTables initialisation */
|
|
50
|
+
$.extend( true, DataTable.defaults, {
|
|
51
|
+
dom:
|
|
52
|
+
"<'row'<'small-6 columns'l><'small-6 columns'f>r>"+
|
|
53
|
+
"t"+
|
|
54
|
+
"<'row'<'small-6 columns'i><'small-6 columns'p>>",
|
|
55
|
+
renderer: 'foundation'
|
|
56
|
+
} );
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
/* Page button renderer */
|
|
60
|
+
DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, buttons, page, pages ) {
|
|
61
|
+
var api = new DataTable.Api( settings );
|
|
62
|
+
var classes = settings.oClasses;
|
|
63
|
+
var lang = settings.oLanguage.oPaginate;
|
|
64
|
+
var aria = settings.oLanguage.oAria.paginate || {};
|
|
65
|
+
var btnDisplay, btnClass;
|
|
66
|
+
|
|
67
|
+
var attach = function( container, buttons ) {
|
|
68
|
+
var i, ien, node, button;
|
|
69
|
+
var clickHandler = function ( e ) {
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
if ( !$(e.currentTarget).hasClass('unavailable') && api.page() != e.data.action ) {
|
|
72
|
+
api.page( e.data.action ).draw( 'page' );
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
77
|
+
button = buttons[i];
|
|
78
|
+
|
|
79
|
+
if ( $.isArray( button ) ) {
|
|
80
|
+
attach( container, button );
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
btnDisplay = '';
|
|
84
|
+
btnClass = '';
|
|
85
|
+
|
|
86
|
+
switch ( button ) {
|
|
87
|
+
case 'ellipsis':
|
|
88
|
+
btnDisplay = '…';
|
|
89
|
+
btnClass = 'unavailable';
|
|
90
|
+
break;
|
|
91
|
+
|
|
92
|
+
case 'first':
|
|
93
|
+
btnDisplay = lang.sFirst;
|
|
94
|
+
btnClass = button + (page > 0 ?
|
|
95
|
+
'' : ' unavailable');
|
|
96
|
+
break;
|
|
97
|
+
|
|
98
|
+
case 'previous':
|
|
99
|
+
btnDisplay = lang.sPrevious;
|
|
100
|
+
btnClass = button + (page > 0 ?
|
|
101
|
+
'' : ' unavailable');
|
|
102
|
+
break;
|
|
103
|
+
|
|
104
|
+
case 'next':
|
|
105
|
+
btnDisplay = lang.sNext;
|
|
106
|
+
btnClass = button + (page < pages-1 ?
|
|
107
|
+
'' : ' unavailable');
|
|
108
|
+
break;
|
|
109
|
+
|
|
110
|
+
case 'last':
|
|
111
|
+
btnDisplay = lang.sLast;
|
|
112
|
+
btnClass = button + (page < pages-1 ?
|
|
113
|
+
'' : ' unavailable');
|
|
114
|
+
break;
|
|
115
|
+
|
|
116
|
+
default:
|
|
117
|
+
btnDisplay = button + 1;
|
|
118
|
+
btnClass = page === button ?
|
|
119
|
+
'current' : '';
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if ( btnDisplay ) {
|
|
124
|
+
node = $('<li>', {
|
|
125
|
+
'class': classes.sPageButton+' '+btnClass,
|
|
126
|
+
'aria-controls': settings.sTableId,
|
|
127
|
+
'aria-label': aria[ button ],
|
|
128
|
+
'tabindex': settings.iTabIndex,
|
|
129
|
+
'id': idx === 0 && typeof button === 'string' ?
|
|
130
|
+
settings.sTableId +'_'+ button :
|
|
131
|
+
null
|
|
132
|
+
} )
|
|
133
|
+
.append( $('<a>', {
|
|
134
|
+
'href': '#'
|
|
135
|
+
} )
|
|
136
|
+
.html( btnDisplay )
|
|
137
|
+
)
|
|
138
|
+
.appendTo( container );
|
|
139
|
+
|
|
140
|
+
settings.oApi._fnBindAction(
|
|
141
|
+
node, {action: button}, clickHandler
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
attach(
|
|
149
|
+
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
|
150
|
+
buttons
|
|
151
|
+
);
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
return DataTable;
|
|
156
|
+
}));
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/*! DataTables jQuery UI integration
|
|
2
|
+
* ©2011-2014 SpryMedia Ltd - datatables.net/license
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DataTables integration for jQuery UI. This requires jQuery UI and
|
|
7
|
+
* DataTables 1.10 or newer.
|
|
8
|
+
*
|
|
9
|
+
* This file sets the defaults and adds options to DataTables to style its
|
|
10
|
+
* controls using jQuery UI. See http://datatables.net/manual/styling/jqueryui
|
|
11
|
+
* for further information.
|
|
12
|
+
*/
|
|
13
|
+
(function( factory ){
|
|
14
|
+
if ( typeof define === 'function' && define.amd ) {
|
|
15
|
+
// AMD
|
|
16
|
+
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
17
|
+
return factory( $, window, document );
|
|
18
|
+
} );
|
|
19
|
+
}
|
|
20
|
+
else if ( typeof exports === 'object' ) {
|
|
21
|
+
// CommonJS
|
|
22
|
+
module.exports = function (root, $) {
|
|
23
|
+
if ( ! root ) {
|
|
24
|
+
root = window;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if ( ! $ || ! $.fn.dataTable ) {
|
|
28
|
+
$ = require('datatables.net')(root, $).$;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return factory( $, root, root.document );
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Browser
|
|
36
|
+
factory( jQuery, window, document );
|
|
37
|
+
}
|
|
38
|
+
}(function( $, window, document, undefined ) {
|
|
39
|
+
'use strict';
|
|
40
|
+
var DataTable = $.fn.dataTable;
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
var sort_prefix = 'css_right ui-icon ui-icon-';
|
|
44
|
+
var toolbar_prefix = 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-';
|
|
45
|
+
|
|
46
|
+
/* Set the defaults for DataTables initialisation */
|
|
47
|
+
$.extend( true, DataTable.defaults, {
|
|
48
|
+
dom:
|
|
49
|
+
'<"'+toolbar_prefix+'tl ui-corner-tr"lfr>'+
|
|
50
|
+
't'+
|
|
51
|
+
'<"'+toolbar_prefix+'bl ui-corner-br"ip>',
|
|
52
|
+
renderer: 'jqueryui'
|
|
53
|
+
} );
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
$.extend( DataTable.ext.classes, {
|
|
57
|
+
"sWrapper": "dataTables_wrapper dt-jqueryui",
|
|
58
|
+
|
|
59
|
+
/* Full numbers paging buttons */
|
|
60
|
+
"sPageButton": "fg-button ui-button ui-state-default",
|
|
61
|
+
"sPageButtonActive": "ui-state-disabled",
|
|
62
|
+
"sPageButtonDisabled": "ui-state-disabled",
|
|
63
|
+
|
|
64
|
+
/* Features */
|
|
65
|
+
"sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+
|
|
66
|
+
"ui-buttonset-multi paging_", /* Note that the type is postfixed */
|
|
67
|
+
|
|
68
|
+
/* Sorting */
|
|
69
|
+
"sSortAsc": "ui-state-default sorting_asc",
|
|
70
|
+
"sSortDesc": "ui-state-default sorting_desc",
|
|
71
|
+
"sSortable": "ui-state-default sorting",
|
|
72
|
+
"sSortableAsc": "ui-state-default sorting_asc_disabled",
|
|
73
|
+
"sSortableDesc": "ui-state-default sorting_desc_disabled",
|
|
74
|
+
"sSortableNone": "ui-state-default sorting_disabled",
|
|
75
|
+
"sSortIcon": "DataTables_sort_icon",
|
|
76
|
+
|
|
77
|
+
/* Scrolling */
|
|
78
|
+
"sScrollHead": "dataTables_scrollHead "+"ui-state-default",
|
|
79
|
+
"sScrollFoot": "dataTables_scrollFoot "+"ui-state-default",
|
|
80
|
+
|
|
81
|
+
/* Misc */
|
|
82
|
+
"sHeaderTH": "ui-state-default",
|
|
83
|
+
"sFooterTH": "ui-state-default"
|
|
84
|
+
} );
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, classes ) {
|
|
88
|
+
// Calculate what the unsorted class should be
|
|
89
|
+
var noSortAppliedClass = sort_prefix+'carat-2-n-s';
|
|
90
|
+
var asc = $.inArray('asc', column.asSorting) !== -1;
|
|
91
|
+
var desc = $.inArray('desc', column.asSorting) !== -1;
|
|
92
|
+
|
|
93
|
+
if ( !column.bSortable || (!asc && !desc) ) {
|
|
94
|
+
noSortAppliedClass = '';
|
|
95
|
+
}
|
|
96
|
+
else if ( asc && !desc ) {
|
|
97
|
+
noSortAppliedClass = sort_prefix+'carat-1-n';
|
|
98
|
+
}
|
|
99
|
+
else if ( !asc && desc ) {
|
|
100
|
+
noSortAppliedClass = sort_prefix+'carat-1-s';
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Setup the DOM structure
|
|
104
|
+
$('<div/>')
|
|
105
|
+
.addClass( 'DataTables_sort_wrapper' )
|
|
106
|
+
.append( cell.contents() )
|
|
107
|
+
.append( $('<span/>')
|
|
108
|
+
.addClass( classes.sSortIcon+' '+noSortAppliedClass )
|
|
109
|
+
)
|
|
110
|
+
.appendTo( cell );
|
|
111
|
+
|
|
112
|
+
// Attach a sort listener to update on sort
|
|
113
|
+
$(settings.nTable).on( 'order.dt', function ( e, ctx, sorting, columns ) {
|
|
114
|
+
if ( settings !== ctx ) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var colIdx = column.idx;
|
|
119
|
+
|
|
120
|
+
cell
|
|
121
|
+
.removeClass( classes.sSortAsc +" "+classes.sSortDesc )
|
|
122
|
+
.addClass( columns[ colIdx ] == 'asc' ?
|
|
123
|
+
classes.sSortAsc : columns[ colIdx ] == 'desc' ?
|
|
124
|
+
classes.sSortDesc :
|
|
125
|
+
column.sSortingClass
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
cell
|
|
129
|
+
.find( 'span.'+classes.sSortIcon )
|
|
130
|
+
.removeClass(
|
|
131
|
+
sort_prefix+'triangle-1-n' +" "+
|
|
132
|
+
sort_prefix+'triangle-1-s' +" "+
|
|
133
|
+
sort_prefix+'carat-2-n-s' +" "+
|
|
134
|
+
sort_prefix+'carat-1-n' +" "+
|
|
135
|
+
sort_prefix+'carat-1-s'
|
|
136
|
+
)
|
|
137
|
+
.addClass( columns[ colIdx ] == 'asc' ?
|
|
138
|
+
sort_prefix+'triangle-1-n' : columns[ colIdx ] == 'desc' ?
|
|
139
|
+
sort_prefix+'triangle-1-s' :
|
|
140
|
+
noSortAppliedClass
|
|
141
|
+
);
|
|
142
|
+
} );
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
/*
|
|
147
|
+
* TableTools jQuery UI compatibility
|
|
148
|
+
* Required TableTools 2.1+
|
|
149
|
+
*/
|
|
150
|
+
if ( DataTable.TableTools ) {
|
|
151
|
+
$.extend( true, DataTable.TableTools.classes, {
|
|
152
|
+
"container": "DTTT_container ui-buttonset ui-buttonset-multi",
|
|
153
|
+
"buttons": {
|
|
154
|
+
"normal": "DTTT_button ui-button ui-state-default"
|
|
155
|
+
},
|
|
156
|
+
"collection": {
|
|
157
|
+
"container": "DTTT_collection ui-buttonset ui-buttonset-multi"
|
|
158
|
+
}
|
|
159
|
+
} );
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
return DataTable;
|
|
164
|
+
}));
|