Newer
Older
/* eslint-disable func-names */
import './base';
import jQuery from 'jquery';
import datatables from 'datatables.net';
import datatablesBs from 'datatables.net-bs5/js/dataTables.bootstrap5';
import 'datatables.net-bs5/css/dataTables.bootstrap5.css';
import datatablesFixedColumns from 'datatables.net-fixedcolumns/js/dataTables.fixedColumns';
import 'datatables.net-fixedcolumns-bs5/css/fixedColumns.bootstrap5.css';
import 'datatables.net-fixedcolumns-bs5/js/fixedColumns.bootstrap5';
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/* eslint-disable camelcase, import/extensions */
import language_es_CO from 'datatables.net-plugins/i18n/es-CO.mjs';
import language_es_CL from 'datatables.net-plugins/i18n/es-CL.mjs';
import language_es_MX from 'datatables.net-plugins/i18n/es-MX.mjs';
import language_ca from 'datatables.net-plugins/i18n/ca.mjs';
import language_en_GB from 'datatables.net-plugins/i18n/en-GB.mjs';
import language_pt_BR from 'datatables.net-plugins/i18n/pt-BR.mjs';
import language_it_IT from 'datatables.net-plugins/i18n/it-IT.mjs';
import language_fr_FR from 'datatables.net-plugins/i18n/fr-FR.mjs';
import language_nl_NL from 'datatables.net-plugins/i18n/nl-NL.mjs';
import language_fa from 'datatables.net-plugins/i18n/fa.mjs';
import language_ru from 'datatables.net-plugins/i18n/ru.mjs';
import language_pl from 'datatables.net-plugins/i18n/pl.mjs';
import language_zh from 'datatables.net-plugins/i18n/zh.mjs';
import language_he from 'datatables.net-plugins/i18n/he.mjs';
import language_ar from 'datatables.net-plugins/i18n/ar.mjs';
import language_ro from 'datatables.net-plugins/i18n/ro.mjs';
import language_lv from 'datatables.net-plugins/i18n/lv.mjs';
import language_vi from 'datatables.net-plugins/i18n/vi.mjs';
import language_es_ES from 'datatables.net-plugins/i18n/es-ES.mjs';
import language_km from 'datatables.net-plugins/i18n/km.mjs';
import language_sr_SP from 'datatables.net-plugins/i18n/sr-SP.mjs';
import language_lt from 'datatables.net-plugins/i18n/lt.mjs';
import language_cs from 'datatables.net-plugins/i18n/cs.mjs';
import language_sk from 'datatables.net-plugins/i18n/sk.mjs';
import language_sv_SE from 'datatables.net-plugins/i18n/sv-SE.mjs';
import language_id from 'datatables.net-plugins/i18n/id.mjs';
import language_tr from 'datatables.net-plugins/i18n/tr.mjs';
import language_pt_PT from 'datatables.net-plugins/i18n/pt-PT.mjs';
import language_de_DE from 'datatables.net-plugins/i18n/de-DE.mjs';
import language_sq from 'datatables.net-plugins/i18n/sq.mjs';
import language_da from 'datatables.net-plugins/i18n/da.mjs';
import language_zh_HANT from 'datatables.net-plugins/i18n/zh-HANT.mjs';
import language_bn from 'datatables.net-plugins/i18n/bn.mjs';
import language_hu from 'datatables.net-plugins/i18n/hu.mjs';
import language_th from 'datatables.net-plugins/i18n/th.mjs';
import language_eu from 'datatables.net-plugins/i18n/eu.mjs';
import language_no_NB from 'datatables.net-plugins/i18n/no-NB.mjs';
import language_hr from 'datatables.net-plugins/i18n/hr.mjs';
import language_uz from 'datatables.net-plugins/i18n/uz.mjs';
import language_el from 'datatables.net-plugins/i18n/el.mjs';
import language_gl from 'datatables.net-plugins/i18n/gl.mjs';
import language_uk from 'datatables.net-plugins/i18n/uk.mjs';
import language_ka from 'datatables.net-plugins/i18n/ka.mjs';
import language_bg from 'datatables.net-plugins/i18n/bg.mjs';
import language_sl from 'datatables.net-plugins/i18n/sl.mjs';
import language_az_AZ from 'datatables.net-plugins/i18n/az-AZ.mjs';
/* eslint-enable camelcase, import/extensions */
function stripLanguageTag(localeId) {
const hyphenPos = localeId.indexOf('-');
if (hyphenPos !== -1) {
return localeId.substring(0, hyphenPos);
}
return null;
}
function addFallbacks(tbl) {
const newtbl = { ...tbl };
Object.keys(tbl).forEach((localeId) => {
const strippedId = stripLanguageTag(localeId);
if (strippedId) {
if (!(strippedId in newtbl)) {
newtbl[strippedId] = tbl[localeId];
}
}
});
return newtbl;
}
/* eslint-disable camelcase, quote-props */
const i18nTables = addFallbacks({
'es-CO': language_es_CO,
'es-CL': language_es_CL,
'es-MX': language_es_MX,
'ca': language_ca,
'en-GB': language_en_GB,
'pt-BR': language_pt_BR,
'it-IT': language_it_IT,
'fr-FR': language_fr_FR,
'nl-NL': language_nl_NL,
'fa': language_fa,
'ru': language_ru,
'pl': language_pl,
'zh': language_zh,
'he': language_he,
'ar': language_ar,
'ro': language_ro,
'lv': language_lv,
'vi': language_vi,
'es-ES': language_es_ES,
'km': language_km,
'sr-SP': language_sr_SP,
'lt': language_lt,
'cs': language_cs,
'sk': language_sk,
'sv-SE': language_sv_SE,
'id': language_id,
'tr': language_tr,
'pt-PT': language_pt_PT,
'de-DE': language_de_DE,
'sq': language_sq,
'da': language_da,
'zh-HANT': language_zh_HANT,
'bn': language_bn,
'hu': language_hu,
'th': language_th,
'eu': language_eu,
'no-NB': language_no_NB,
'hr': language_hr,
'uz': language_uz,
'el': language_el,
'gl': language_gl,
'uk': language_uk,
'ka': language_ka,
'bg': language_bg,
'sl': language_sl,
'az-AZ': language_az_AZ,
});
/* eslint-enable camelcase, quote-props */
datatables(window, jQuery);
datatablesBs(window, jQuery);
datatablesFixedColumns(window, jQuery);
// eslint-disable-next-line import/prefer-default-export
export function getI18nTable(localeId) {
if (localeId in i18nTables) {
return i18nTables[localeId];
}
const strippedId = stripLanguageTag(localeId);
if (strippedId in i18nTables) {
return i18nTables[strippedId];
}
return null;
}
// {{{ custom sort
function removeTags(s) {
return s.replace(/(<([^>]+)>)/g, '');
}
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
'name-asc': function (s1, s2) {
return removeTags(s1).localeCompare(removeTags(s2));
},
'name-desc': function (s1, s2) {
return removeTags(s2).localeCompare(removeTags(s1));
},
});
// }}}
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
// raw list of datatables translations with 'good' completion, from
// https://datatables.net/plug-ins/i18n/:
// es-CO
// es-CL
// es-MX
// ca
// en-GB
// pt-BR
// it-IT
// fr-FR
// nl-NL
// fa
// ru
// pl
// zh
// he
// ar
// ro
// lv
// vi
// es-ES
// km
// sr-SP
// lt
// cs
// sk
// sv-SE
// id
// tr
// pt-PT
// de-DE
// sq
// da
// zh-HANT
// bn
// hu
// th
// eu
// no-NB
// hr
// uz
// el
// gl
// uk
// ka
// bg
// sl
// az-AZ
// vim: foldmethod=marker