@oat-sa/tao-core-ui 1.58.1 → 1.58.2
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.
- package/dist/actionbar.js +386 -395
- package/dist/adder.js +21 -19
- package/dist/animable/absorbable/absorbable.js +204 -213
- package/dist/animable/absorbable/css/absorb.css +1 -0
- package/dist/animable/absorbable/css/absorb.css.map +1 -1
- package/dist/animable/pulsable/pulsable.js +168 -177
- package/dist/autocomplete/css/autocomplete.css +1 -0
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +68 -66
- package/dist/badge/badge.js +188 -197
- package/dist/badge/css/badge.css +1 -0
- package/dist/badge/css/badge.css.map +1 -1
- package/dist/breadcrumbs.js +275 -284
- package/dist/btngrouper.js +5 -5
- package/dist/bulkActionPopup.js +490 -495
- package/dist/button.js +283 -291
- package/dist/cascadingComboBox.js +249 -258
- package/dist/ckeditor/ckConfigurator.js +26 -19
- package/dist/ckeditor/dtdHandler.js +11 -9
- package/dist/class/selector.js +441 -450
- package/dist/component/resizable.js +1 -1
- package/dist/component/windowed.js +285 -294
- package/dist/component.js +419 -428
- package/dist/contextualPopup.js +417 -426
- package/dist/dashboard.js +300 -309
- package/dist/datalist.js +753 -762
- package/dist/datatable/filterStrategy/multiple.js +1 -1
- package/dist/datatable/filterStrategy/single.js +1 -1
- package/dist/datatable.js +1527 -1550
- package/dist/dateRange/dateRange.js +393 -402
- package/dist/datetime/picker.js +665 -672
- package/dist/deleter.js +368 -377
- package/dist/destination/selector.js +286 -295
- package/dist/dialog/alert.js +3 -3
- package/dist/dialog/confirm.js +1 -1
- package/dist/dialog/confirmDelete.js +216 -225
- package/dist/dialog.js +650 -654
- package/dist/disabler.js +8 -8
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +166 -175
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +518 -527
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +380 -389
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +539 -548
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +369 -378
- package/dist/documentViewer/providers/pdfViewer.js +184 -193
- package/dist/documentViewer.js +292 -301
- package/dist/dropdown.js +383 -392
- package/dist/durationer.js +5 -5
- package/dist/dynamicComponent.js +597 -598
- package/dist/feedback.js +356 -362
- package/dist/figure/FigureStateActive.js +117 -108
- package/dist/filesender.js +2 -2
- package/dist/filter.js +230 -239
- package/dist/form/dropdownForm.js +355 -357
- package/dist/form/form.js +919 -690
- package/dist/form/simpleForm.js +1 -1
- package/dist/form/validator/renderer.js +233 -235
- package/dist/form/validator/validator.js +257 -189
- package/dist/form/widget/definitions.js +1 -1
- package/dist/form/widget/providers/checkBox.js +254 -259
- package/dist/form/widget/providers/comboBox.js +187 -192
- package/dist/form/widget/providers/default.js +8 -9
- package/dist/form/widget/providers/hidden.js +170 -179
- package/dist/form/widget/providers/hiddenBox.js +262 -267
- package/dist/form/widget/providers/radioBox.js +216 -225
- package/dist/form/widget/providers/textArea.js +187 -196
- package/dist/form/widget/providers/textBox.js +2 -3
- package/dist/form/widget/widget.js +473 -475
- package/dist/formValidator/formValidator.js +1 -1
- package/dist/formValidator/highlighters/message.js +1 -1
- package/dist/generis/form/form.js +314 -323
- package/dist/generis/validator/validator.js +209 -218
- package/dist/generis/widget/checkBox/checkBox.js +218 -227
- package/dist/generis/widget/comboBox/comboBox.js +179 -188
- package/dist/generis/widget/hiddenBox/hiddenBox.js +220 -229
- package/dist/generis/widget/textBox/textBox.js +169 -178
- package/dist/generis/widget/widget.js +246 -255
- package/dist/groupedComboBox.js +222 -231
- package/dist/groupvalidator.js +2 -2
- package/dist/highlighter.js +967 -958
- package/dist/image/ImgStateActive/helper.js +7 -5
- package/dist/image/ImgStateActive/initHelper.js +49 -43
- package/dist/image/ImgStateActive/initMediaEditor.js +24 -20
- package/dist/image/ImgStateActive/mediaSizer.js +14 -12
- package/dist/image/ImgStateActive.js +72 -70
- package/dist/incrementer.js +6 -6
- package/dist/inplacer.js +6 -6
- package/dist/itemButtonList/css/item-button-list.css +1 -0
- package/dist/itemButtonList/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +439 -435
- package/dist/keyNavigation/navigableDomElement.js +51 -38
- package/dist/keyNavigation/navigator.js +85 -70
- package/dist/listbox.js +460 -469
- package/dist/liststyler.js +8 -8
- package/dist/loadingButton/loadingButton.js +209 -218
- package/dist/lock.js +476 -485
- package/dist/login/login.js +475 -484
- package/dist/maths/calculator/basicCalculator.js +235 -244
- package/dist/maths/calculator/calculatorComponent.js +3 -3
- package/dist/maths/calculator/core/board.js +772 -781
- package/dist/maths/calculator/core/expression.js +476 -485
- package/dist/maths/calculator/core/labels.js +228 -237
- package/dist/maths/calculator/core/tokenizer.js +1 -1
- package/dist/maths/calculator/core/tokens.js +163 -170
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +244 -253
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +279 -288
- package/dist/maths/calculator/scientificCalculator.js +327 -336
- package/dist/mediaEditor/mediaEditorComponent.js +238 -245
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +7 -7
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +229 -235
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +580 -589
- package/dist/mediaplayer/players/html5.js +666 -675
- package/dist/mediaplayer/players/youtube.js +419 -424
- package/dist/mediaplayer/support.js +11 -10
- package/dist/mediaplayer/utils/reminder.js +14 -13
- package/dist/mediaplayer/utils/timeObserver.js +10 -11
- package/dist/mediaplayer/youtubeManager.js +164 -145
- package/dist/mediaplayer.js +1565 -1520
- package/dist/mediasizer.js +669 -678
- package/dist/modal.js +10 -17
- package/dist/pageSizeSelector.js +219 -228
- package/dist/pagination/providers/pages.js +280 -289
- package/dist/pagination/providers/simple.js +192 -201
- package/dist/previewer.js +30 -30
- package/dist/progressbar.js +4 -4
- package/dist/report.js +347 -356
- package/dist/resource/filters.js +271 -280
- package/dist/resource/list.js +1264 -1273
- package/dist/resource/selector.js +865 -874
- package/dist/resource/tree.js +1483 -1492
- package/dist/resourcemgr/fileBrowser.js +564 -569
- package/dist/resourcemgr/filePreview.js +16 -16
- package/dist/resourcemgr/fileSelector.js +515 -524
- package/dist/resourcemgr/util/updatePermissions.js +2 -2
- package/dist/resourcemgr.js +306 -315
- package/dist/searchModal/advancedSearch.js +796 -767
- package/dist/searchModal.js +114 -91
- package/dist/switch/switch.js +298 -307
- package/dist/tabs.js +598 -575
- package/dist/taskQueue/status.js +312 -321
- package/dist/taskQueue/table.js +375 -384
- package/dist/taskQueue/taskQueueModel.js +488 -472
- package/dist/taskQueueButton/taskable.js +264 -273
- package/dist/taskQueueButton/treeButton.js +189 -198
- package/dist/themeLoader.js +24 -23
- package/dist/themes.js +1 -1
- package/dist/toggler.js +3 -3
- package/dist/tooltip.js +295 -304
- package/dist/transformer.js +2 -2
- package/dist/tristateCheckboxGroup.js +311 -320
- package/dist/uploader.js +687 -696
- package/dist/validator/Report.js +1 -1
- package/dist/validator/Validator.js +3 -3
- package/dist/validator/validators.js +9 -9
- package/dist/validator.js +240 -230
- package/dist/waitForMedia.js +1 -1
- package/package.json +3 -3
- package/src/animable/absorbable/css/absorb.css +1 -0
- package/src/animable/absorbable/css/absorb.css.map +1 -1
- package/src/autocomplete/css/autocomplete.css +1 -0
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/badge/css/badge.css +1 -0
- package/src/badge/css/badge.css.map +1 -1
- package/src/ckeditor/ckConfigurator.js +4 -0
- package/src/itemButtonList/css/item-button-list.css +1 -0
- package/src/itemButtonList/css/item-button-list.css.map +1 -1
- package/src/.DS_Store +0 -0
- package/src/css/basic.css +0 -7826
- package/src/css/basic.css.map +0 -1
- package/src/css/ckeditor/skins/tao/css/dialog.css +0 -950
- package/src/css/ckeditor/skins/tao/css/dialog.css.map +0 -1
- package/src/css/ckeditor/skins/tao/css/editor.css +0 -1850
- package/src/css/ckeditor/skins/tao/css/editor.css.map +0 -1
- package/src/scss/.DS_Store +0 -0
- package/src/scss/basic.scss +0 -16
- package/src/scss/ckeditor/skins/tao/scss/dialog.scss +0 -763
- package/src/scss/ckeditor/skins/tao/scss/editor.scss +0 -111
- package/src/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +0 -59
- package/src/scss/ckeditor/skins/tao/scss/inc/_colorpanel.scss +0 -118
- package/src/scss/ckeditor/skins/tao/scss/inc/_elementspath.scss +0 -69
- package/src/scss/ckeditor/skins/tao/scss/inc/_mainui.scss +0 -194
- package/src/scss/ckeditor/skins/tao/scss/inc/_menu.scss +0 -181
- package/src/scss/ckeditor/skins/tao/scss/inc/_panel.scss +0 -200
- package/src/scss/ckeditor/skins/tao/scss/inc/_presets.scss +0 -32
- package/src/scss/ckeditor/skins/tao/scss/inc/_reset.scss +0 -101
- package/src/scss/ckeditor/skins/tao/scss/inc/_richcombo.scss +0 -213
- package/src/scss/ckeditor/skins/tao/scss/inc/_tao.scss +0 -59
- package/src/scss/ckeditor/skins/tao/scss/inc/_toolbar.scss +0 -301
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff.b64 +0 -1
- package/src/scss/font/tao/tao.eot +0 -0
- package/src/scss/font/tao/tao.svg +0 -235
- package/src/scss/font/tao/tao.ttf +0 -0
- package/src/scss/font/tao/tao.woff +0 -0
- package/src/scss/inc/_base.scss +0 -496
- package/src/scss/inc/_bootstrap.scss +0 -6
- package/src/scss/inc/_buttons.scss +0 -114
- package/src/scss/inc/_colors.scss +0 -88
- package/src/scss/inc/_feedback.scss +0 -150
- package/src/scss/inc/_flex-grid.scss +0 -15
- package/src/scss/inc/_fonts.scss +0 -4
- package/src/scss/inc/_forms.scss +0 -827
- package/src/scss/inc/_functions.scss +0 -283
- package/src/scss/inc/_grid.scss +0 -66
- package/src/scss/inc/_jquery.nouislider.scss +0 -254
- package/src/scss/inc/_normalize.scss +0 -528
- package/src/scss/inc/_report.scss +0 -68
- package/src/scss/inc/_secondary-properties.scss +0 -89
- package/src/scss/inc/_select2.scss +0 -634
- package/src/scss/inc/_toolbars.scss +0 -155
- package/src/scss/inc/_tooltip.scss +0 -312
- package/src/scss/inc/_variables.scss +0 -21
- package/src/scss/inc/base/_highlight.scss +0 -5
- package/src/scss/inc/base/_list-style.scss +0 -59
- package/src/scss/inc/base/_svg.scss +0 -3
- package/src/scss/inc/base/_table.scss +0 -63
- package/src/scss/inc/fonts/_source-sans-pro.scss +0 -29
- package/src/scss/inc/fonts/_tao-icon-classes.scss +0 -226
- package/src/scss/inc/fonts/_tao-icon-def.scss +0 -12
- package/src/scss/inc/fonts/_tao-icon-vars.scss +0 -240
|
@@ -1,326 +1,317 @@
|
|
|
1
1
|
define(['jquery', 'lodash', 'handlebars', 'i18n', 'lib/dompurify/purify'], function ($$1, _, Handlebars, __, DOMPurify) { 'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
$$1 = $$1 && Object.prototype.hasOwnProperty.call($$1, 'default') ? $$1['default'] : $$1;
|
|
4
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
5
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
6
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
7
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
8
|
+
|
|
9
|
+
function _typeof(obj) {
|
|
10
|
+
"@babel/helpers - typeof";
|
|
11
|
+
|
|
12
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
13
|
+
return typeof obj;
|
|
14
|
+
} : function (obj) {
|
|
15
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
16
|
+
}, _typeof(obj);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function Helpers0 (hb) {
|
|
20
|
+
//register a i18n helper
|
|
21
|
+
hb.registerHelper('__', function (key) {
|
|
22
|
+
return __(key);
|
|
23
|
+
});
|
|
9
24
|
/**
|
|
10
|
-
*
|
|
11
|
-
* modify it under the terms of the GNU General Public License
|
|
12
|
-
* as published by the Free Software Foundation; under version 2
|
|
13
|
-
* of the License (non-upgradable).
|
|
14
|
-
*
|
|
15
|
-
* This program is distributed in the hope that it will be useful,
|
|
16
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
-
* GNU General Public License for more details.
|
|
19
|
-
*
|
|
20
|
-
* You should have received a copy of the GNU General Public License
|
|
21
|
-
* along with this program; if not, write to the Free Software
|
|
22
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
23
|
-
*
|
|
24
|
-
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
25
|
-
*
|
|
25
|
+
* Register dompurify helper
|
|
26
26
|
*
|
|
27
|
+
* https://github.com/cure53/DOMPurify
|
|
28
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
29
|
+
* to make output safe for template systems
|
|
27
30
|
*/
|
|
28
|
-
function Helpers0 (hb) {
|
|
29
|
-
//register a i18n helper
|
|
30
|
-
hb.registerHelper('__', function (key) {
|
|
31
|
-
return __(key);
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* Register dompurify helper
|
|
35
|
-
*
|
|
36
|
-
* https://github.com/cure53/DOMPurify
|
|
37
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
38
|
-
* to make output safe for template systems
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
hb.registerHelper('dompurify', function (context) {
|
|
42
|
-
return DOMPurify.sanitize(context);
|
|
43
|
-
});
|
|
44
|
-
/**
|
|
45
|
-
* Register join helper
|
|
46
|
-
*
|
|
47
|
-
* Example :
|
|
48
|
-
* var values = {a:v1, b:v2, c:v3};
|
|
49
|
-
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
50
|
-
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
54
|
-
var fragments = [];
|
|
55
|
-
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
56
|
-
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
57
|
-
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
58
|
-
|
|
59
|
-
_.forIn(arr, function (value, key) {
|
|
60
|
-
var fragment = '';
|
|
61
|
-
|
|
62
|
-
if (value !== null || value !== undefined) {
|
|
63
|
-
if (typeof value === 'boolean') {
|
|
64
|
-
value = value ? 'true' : 'false';
|
|
65
|
-
} else if (typeof value === 'object') {
|
|
66
|
-
value = _.values(value).join(' ');
|
|
67
|
-
}
|
|
68
|
-
} else {
|
|
69
|
-
value = '';
|
|
70
|
-
}
|
|
71
31
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
32
|
+
hb.registerHelper('dompurify', function (context) {
|
|
33
|
+
return DOMPurify.sanitize(context);
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Register join helper
|
|
37
|
+
*
|
|
38
|
+
* Example :
|
|
39
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
40
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
41
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
42
|
+
*/
|
|
75
43
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
44
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
45
|
+
var fragments = [];
|
|
46
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
47
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
48
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
79
49
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
//it also adds a local variable "i" as the index in each iteration loop
|
|
50
|
+
_.forIn(arr, function (value, key) {
|
|
51
|
+
var fragment = '';
|
|
83
52
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
53
|
+
if (value !== null || value !== undefined) {
|
|
54
|
+
if (typeof value === 'boolean') {
|
|
55
|
+
value = value ? 'true' : 'false';
|
|
56
|
+
} else if (_typeof(value) === 'object') {
|
|
57
|
+
value = _.values(value).join(' ');
|
|
58
|
+
}
|
|
59
|
+
} else {
|
|
60
|
+
value = '';
|
|
61
|
+
}
|
|
89
62
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
i: i
|
|
93
|
-
}));
|
|
63
|
+
if (keyValueGlue !== undefined) {
|
|
64
|
+
fragment += key + keyValueGlue;
|
|
94
65
|
}
|
|
95
66
|
|
|
96
|
-
|
|
67
|
+
fragment += wrapper + value + wrapper;
|
|
68
|
+
fragments.push(fragment);
|
|
97
69
|
});
|
|
98
|
-
hb.registerHelper('equal', function (var1, var2, options) {
|
|
99
|
-
if (var1 == var2) {
|
|
100
|
-
return options.fn(this);
|
|
101
|
-
} else {
|
|
102
|
-
return options.inverse(this);
|
|
103
|
-
}
|
|
104
|
-
}); // register a "get property" helper
|
|
105
|
-
// it gets the named property from the provided context
|
|
106
70
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// it checks if value is in array
|
|
71
|
+
return fragments.join(fragmentGlue);
|
|
72
|
+
}); //register a classic "for loop" helper
|
|
73
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
111
74
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
75
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
76
|
+
var ret = '';
|
|
77
|
+
startIndex = parseInt(startIndex);
|
|
78
|
+
stopIndex = parseInt(stopIndex);
|
|
79
|
+
increment = parseInt(increment);
|
|
118
80
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
this.compilerInfo = [4,'>= 1.0.0'];
|
|
125
|
-
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
126
|
-
var buffer = "", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
buffer += "<div class=\"grid-row clearfix pagination\">\n <ul class=\"pages\">\n <li class=\"first-page\"><span class=\"icon-fast-backward\" title=\""
|
|
130
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "First page", options) : helperMissing.call(depth0, "__", "First page", options)))
|
|
131
|
-
+ "\"></span></li>\n <li class=\"previous\"><span class=\"icon-backward\" title=\""
|
|
132
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Previous", options) : helperMissing.call(depth0, "__", "Previous", options)))
|
|
133
|
-
+ "\"></span></li>\n <li class=\"next\"><span class=\"icon-forward\" title=\""
|
|
134
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Next", options) : helperMissing.call(depth0, "__", "Next", options)))
|
|
135
|
-
+ "\"></span></li>\n <li class=\"last-page\"><span class=\"icon-fast-forward\" title=\""
|
|
136
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Last page", options) : helperMissing.call(depth0, "__", "Last page", options)))
|
|
137
|
-
+ "\"></span></li>\n </ul>\n</div>\n";
|
|
138
|
-
return buffer;
|
|
139
|
-
});
|
|
140
|
-
function tpl(data, options, asString) {
|
|
141
|
-
var html = Template(data, options);
|
|
142
|
-
return (asString || true) ? html : $(html);
|
|
143
|
-
}
|
|
81
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
82
|
+
ret += options.fn(_.extend({}, this, {
|
|
83
|
+
i: i
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
144
86
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
buffer += "<li class=\"page\"><span>";
|
|
156
|
-
if (helper = helpers.page) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
157
|
-
else { helper = (depth0 && depth0.page); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
158
|
-
buffer += escapeExpression(stack1)
|
|
159
|
-
+ "</span></li>\n";
|
|
160
|
-
return buffer;
|
|
161
|
-
});
|
|
162
|
-
function pageTpl(data, options, asString) {
|
|
163
|
-
var html = Template$1(data, options);
|
|
164
|
-
return (asString || true) ? html : $(html);
|
|
165
|
-
}
|
|
87
|
+
return ret;
|
|
88
|
+
});
|
|
89
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
90
|
+
if (var1 == var2) {
|
|
91
|
+
return options.fn(this);
|
|
92
|
+
} else {
|
|
93
|
+
return options.inverse(this);
|
|
94
|
+
}
|
|
95
|
+
}); // register a "get property" helper
|
|
96
|
+
// it gets the named property from the provided context
|
|
166
97
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
* of the License (non-upgradable).
|
|
172
|
-
*
|
|
173
|
-
* This program is distributed in the hope that it will be useful,
|
|
174
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
175
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
176
|
-
* GNU General Public License for more details.
|
|
177
|
-
*
|
|
178
|
-
* You should have received a copy of the GNU General Public License
|
|
179
|
-
* along with this program; if not, write to the Free Software
|
|
180
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
181
|
-
*
|
|
182
|
-
* Copyright (c) 2016 (original work) Open Assessment Technologies SA;
|
|
183
|
-
*
|
|
184
|
-
* @author Alexander Zagovorichev <zagovorichev@1pt.com>
|
|
185
|
-
*/
|
|
186
|
-
var pages = {
|
|
187
|
-
init: function () {
|
|
188
|
-
var $paginationTpl;
|
|
189
|
-
|
|
190
|
-
var generatePage = function generatePage(page) {
|
|
191
|
-
return $$1(pageTpl({
|
|
192
|
-
page: page
|
|
193
|
-
}));
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
var separator = function separator() {
|
|
197
|
-
var $page = generatePage('...');
|
|
198
|
-
$page.addClass('separator');
|
|
199
|
-
return $page;
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
var generatePart = function generatePart(from, to, activePage) {
|
|
203
|
-
var i,
|
|
204
|
-
pages = [],
|
|
205
|
-
$page;
|
|
206
|
-
|
|
207
|
-
for (i = from; i <= to; i++) {
|
|
208
|
-
$page = generatePage(i);
|
|
209
|
-
|
|
210
|
-
if (i === activePage) {
|
|
211
|
-
$page.addClass('active');
|
|
212
|
-
}
|
|
98
|
+
hb.registerHelper('property', function (name, context) {
|
|
99
|
+
return context[name] || '';
|
|
100
|
+
}); // register an 'includes' helper
|
|
101
|
+
// it checks if value is in array
|
|
213
102
|
|
|
214
|
-
|
|
103
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
104
|
+
if (_.contains(haystack, needle)) {
|
|
105
|
+
return options.fn(this);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (!Helpers0.__initialized) {
|
|
111
|
+
Helpers0(Handlebars);
|
|
112
|
+
Helpers0.__initialized = true;
|
|
113
|
+
}
|
|
114
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
115
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
116
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
117
|
+
var buffer = "", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
buffer += "<div class=\"grid-row clearfix pagination\">\n <ul class=\"pages\">\n <li class=\"first-page\"><span class=\"icon-fast-backward\" title=\""
|
|
121
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "First page", options) : helperMissing.call(depth0, "__", "First page", options)))
|
|
122
|
+
+ "\"></span></li>\n <li class=\"previous\"><span class=\"icon-backward\" title=\""
|
|
123
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Previous", options) : helperMissing.call(depth0, "__", "Previous", options)))
|
|
124
|
+
+ "\"></span></li>\n <li class=\"next\"><span class=\"icon-forward\" title=\""
|
|
125
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Next", options) : helperMissing.call(depth0, "__", "Next", options)))
|
|
126
|
+
+ "\"></span></li>\n <li class=\"last-page\"><span class=\"icon-fast-forward\" title=\""
|
|
127
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Last page", options) : helperMissing.call(depth0, "__", "Last page", options)))
|
|
128
|
+
+ "\"></span></li>\n </ul>\n</div>\n";
|
|
129
|
+
return buffer;
|
|
130
|
+
});
|
|
131
|
+
function tpl(data, options, asString) {
|
|
132
|
+
var html = Template(data, options);
|
|
133
|
+
return (asString || true) ? html : $(html);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (!Helpers0.__initialized) {
|
|
137
|
+
Helpers0(Handlebars);
|
|
138
|
+
Helpers0.__initialized = true;
|
|
139
|
+
}
|
|
140
|
+
var Template$1 = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
141
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
142
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
143
|
+
var buffer = "", stack1, helper, functionType="function", escapeExpression=this.escapeExpression;
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
buffer += "<li class=\"page\"><span>";
|
|
147
|
+
if (helper = helpers.page) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
148
|
+
else { helper = (depth0 && depth0.page); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
149
|
+
buffer += escapeExpression(stack1)
|
|
150
|
+
+ "</span></li>\n";
|
|
151
|
+
return buffer;
|
|
152
|
+
});
|
|
153
|
+
function pageTpl(data, options, asString) {
|
|
154
|
+
var html = Template$1(data, options);
|
|
155
|
+
return (asString || true) ? html : $(html);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* This program is free software; you can redistribute it and/or
|
|
160
|
+
* modify it under the terms of the GNU General Public License
|
|
161
|
+
* as published by the Free Software Foundation; under version 2
|
|
162
|
+
* of the License (non-upgradable).
|
|
163
|
+
*
|
|
164
|
+
* This program is distributed in the hope that it will be useful,
|
|
165
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
166
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
167
|
+
* GNU General Public License for more details.
|
|
168
|
+
*
|
|
169
|
+
* You should have received a copy of the GNU General Public License
|
|
170
|
+
* along with this program; if not, write to the Free Software
|
|
171
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
172
|
+
*
|
|
173
|
+
* Copyright (c) 2016 (original work) Open Assessment Technologies SA;
|
|
174
|
+
*
|
|
175
|
+
* @author Alexander Zagovorichev <zagovorichev@1pt.com>
|
|
176
|
+
*/
|
|
177
|
+
var pages = {
|
|
178
|
+
init: function init() {
|
|
179
|
+
var $paginationTpl;
|
|
180
|
+
|
|
181
|
+
var generatePage = function generatePage(page) {
|
|
182
|
+
return $$1(pageTpl({
|
|
183
|
+
page: page
|
|
184
|
+
}));
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
var separator = function separator() {
|
|
188
|
+
var $page = generatePage('...');
|
|
189
|
+
$page.addClass('separator');
|
|
190
|
+
return $page;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
var generatePart = function generatePart(from, to, activePage) {
|
|
194
|
+
var i,
|
|
195
|
+
pages = [],
|
|
196
|
+
$page;
|
|
197
|
+
|
|
198
|
+
for (i = from; i <= to; i++) {
|
|
199
|
+
$page = generatePage(i);
|
|
200
|
+
|
|
201
|
+
if (i === activePage) {
|
|
202
|
+
$page.addClass('active');
|
|
215
203
|
}
|
|
216
204
|
|
|
217
|
-
|
|
218
|
-
}
|
|
205
|
+
pages.push($page);
|
|
206
|
+
}
|
|
219
207
|
|
|
220
|
-
|
|
221
|
-
|
|
208
|
+
return pages;
|
|
209
|
+
};
|
|
222
210
|
|
|
223
|
-
|
|
224
|
-
|
|
211
|
+
var generatePages = function generatePages(page, total) {
|
|
212
|
+
var pages = [];
|
|
213
|
+
|
|
214
|
+
if (total <= 7) {
|
|
215
|
+
pages = pages.concat(generatePart(1, total, page));
|
|
216
|
+
} else {
|
|
217
|
+
if (page < 5) {
|
|
218
|
+
pages = pages.concat(generatePart(1, 5, page));
|
|
219
|
+
pages = pages.concat(separator());
|
|
220
|
+
pages = pages.concat(generatePart(total, total, page));
|
|
225
221
|
} else {
|
|
226
|
-
if (page
|
|
227
|
-
pages = pages.concat(generatePart(1,
|
|
222
|
+
if (page >= total - 3) {
|
|
223
|
+
pages = pages.concat(generatePart(1, 1, page));
|
|
228
224
|
pages = pages.concat(separator());
|
|
229
|
-
pages = pages.concat(generatePart(total, total, page));
|
|
225
|
+
pages = pages.concat(generatePart(total - 3, total, page));
|
|
230
226
|
} else {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
pages = pages.concat(generatePart(1, 1, page));
|
|
237
|
-
pages = pages.concat(separator());
|
|
238
|
-
pages = pages.concat(generatePart(page - 1, page + 1, page));
|
|
239
|
-
pages = pages.concat(separator());
|
|
240
|
-
pages = pages.concat(generatePart(total, total, page));
|
|
241
|
-
}
|
|
227
|
+
pages = pages.concat(generatePart(1, 1, page));
|
|
228
|
+
pages = pages.concat(separator());
|
|
229
|
+
pages = pages.concat(generatePart(page - 1, page + 1, page));
|
|
230
|
+
pages = pages.concat(separator());
|
|
231
|
+
pages = pages.concat(generatePart(total, total, page));
|
|
242
232
|
}
|
|
243
233
|
}
|
|
234
|
+
}
|
|
244
235
|
|
|
245
|
-
|
|
246
|
-
|
|
236
|
+
return pages;
|
|
237
|
+
};
|
|
247
238
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
239
|
+
var dropPages = function dropPages() {
|
|
240
|
+
$$1('.page', $paginationTpl).remove();
|
|
241
|
+
};
|
|
251
242
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
243
|
+
var getForwardBtn = function getForwardBtn() {
|
|
244
|
+
return $$1('.next', $paginationTpl);
|
|
245
|
+
};
|
|
255
246
|
|
|
256
|
-
|
|
257
|
-
|
|
247
|
+
var bindPages = function bindPages(list) {
|
|
248
|
+
var $point = getForwardBtn();
|
|
258
249
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}
|
|
293
|
-
},
|
|
294
|
-
enableButton: function enableButton($btn) {
|
|
295
|
-
if ($btn.hasClass('disabled')) {
|
|
296
|
-
$btn.removeClass('disabled');
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
destroy: function destroy() {
|
|
300
|
-
$paginationTpl.remove();
|
|
301
|
-
},
|
|
302
|
-
disable: function disable() {
|
|
303
|
-
var self = this;
|
|
304
|
-
this.disableButton(this.backwardButton());
|
|
305
|
-
this.disableButton(this.firstPageButton());
|
|
306
|
-
$$1('.page', $paginationTpl).each(function () {
|
|
307
|
-
self.disableButton($$1(this));
|
|
308
|
-
});
|
|
309
|
-
this.disableButton(this.lastPageButton());
|
|
310
|
-
this.disableButton(this.forwardButton());
|
|
311
|
-
},
|
|
312
|
-
enable: function enable() {
|
|
313
|
-
var self = this; // restore buttons
|
|
314
|
-
|
|
315
|
-
$$1('.page', $paginationTpl).each(function () {
|
|
316
|
-
self.enableButton($$1(this));
|
|
317
|
-
});
|
|
250
|
+
_.each(list, function ($page) {
|
|
251
|
+
$page.insertBefore($point);
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
var pagination = {
|
|
256
|
+
render: function render($container) {
|
|
257
|
+
$paginationTpl = $$1(tpl());
|
|
258
|
+
$container.append($paginationTpl);
|
|
259
|
+
},
|
|
260
|
+
forwardButton: function forwardButton() {
|
|
261
|
+
return getForwardBtn();
|
|
262
|
+
},
|
|
263
|
+
backwardButton: function backwardButton() {
|
|
264
|
+
return $$1('.previous', $paginationTpl);
|
|
265
|
+
},
|
|
266
|
+
pageButtons: function pageButton() {
|
|
267
|
+
return $$1('.page', $paginationTpl);
|
|
268
|
+
},
|
|
269
|
+
firstPageButton: function lastPageButton() {
|
|
270
|
+
return $$1('.first-page', $paginationTpl);
|
|
271
|
+
},
|
|
272
|
+
lastPageButton: function lastPageButton() {
|
|
273
|
+
return $$1('.last-page', $paginationTpl);
|
|
274
|
+
},
|
|
275
|
+
setPages: function setPages(page, total) {
|
|
276
|
+
var pages = generatePages(page, total);
|
|
277
|
+
dropPages();
|
|
278
|
+
bindPages(pages);
|
|
279
|
+
},
|
|
280
|
+
disableButton: function disableButton($btn) {
|
|
281
|
+
if (!$btn.hasClass('disabled')) {
|
|
282
|
+
$btn.addClass('disabled');
|
|
318
283
|
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
284
|
+
},
|
|
285
|
+
enableButton: function enableButton($btn) {
|
|
286
|
+
if ($btn.hasClass('disabled')) {
|
|
287
|
+
$btn.removeClass('disabled');
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
destroy: function destroy() {
|
|
291
|
+
$paginationTpl.remove();
|
|
292
|
+
},
|
|
293
|
+
disable: function disable() {
|
|
294
|
+
var self = this;
|
|
295
|
+
this.disableButton(this.backwardButton());
|
|
296
|
+
this.disableButton(this.firstPageButton());
|
|
297
|
+
$$1('.page', $paginationTpl).each(function () {
|
|
298
|
+
self.disableButton($$1(this));
|
|
299
|
+
});
|
|
300
|
+
this.disableButton(this.lastPageButton());
|
|
301
|
+
this.disableButton(this.forwardButton());
|
|
302
|
+
},
|
|
303
|
+
enable: function enable() {
|
|
304
|
+
var self = this; // restore buttons
|
|
305
|
+
|
|
306
|
+
$$1('.page', $paginationTpl).each(function () {
|
|
307
|
+
self.enableButton($$1(this));
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
return pagination;
|
|
312
|
+
}
|
|
313
|
+
};
|
|
323
314
|
|
|
324
|
-
|
|
315
|
+
return pages;
|
|
325
316
|
|
|
326
317
|
});
|