@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,254 +1,245 @@
|
|
|
1
1
|
define(['handlebars', 'i18n', 'lodash', 'lib/dompurify/purify'], function (Handlebars, __, _, DOMPurify) { 'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
4
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
5
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
6
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
7
|
+
|
|
8
|
+
function _typeof(obj) {
|
|
9
|
+
"@babel/helpers - typeof";
|
|
10
|
+
|
|
11
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
12
|
+
return typeof obj;
|
|
13
|
+
} : function (obj) {
|
|
14
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
15
|
+
}, _typeof(obj);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function Helpers0 (hb) {
|
|
19
|
+
//register a i18n helper
|
|
20
|
+
hb.registerHelper('__', function (key) {
|
|
21
|
+
return __(key);
|
|
22
|
+
});
|
|
8
23
|
/**
|
|
9
|
-
*
|
|
10
|
-
* modify it under the terms of the GNU General Public License
|
|
11
|
-
* as published by the Free Software Foundation; under version 2
|
|
12
|
-
* of the License (non-upgradable).
|
|
13
|
-
*
|
|
14
|
-
* This program is distributed in the hope that it will be useful,
|
|
15
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
-
* GNU General Public License for more details.
|
|
18
|
-
*
|
|
19
|
-
* You should have received a copy of the GNU General Public License
|
|
20
|
-
* along with this program; if not, write to the Free Software
|
|
21
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
22
|
-
*
|
|
23
|
-
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
24
|
-
*
|
|
24
|
+
* Register dompurify helper
|
|
25
25
|
*
|
|
26
|
+
* https://github.com/cure53/DOMPurify
|
|
27
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
28
|
+
* to make output safe for template systems
|
|
26
29
|
*/
|
|
27
|
-
function Helpers0 (hb) {
|
|
28
|
-
//register a i18n helper
|
|
29
|
-
hb.registerHelper('__', function (key) {
|
|
30
|
-
return __(key);
|
|
31
|
-
});
|
|
32
|
-
/**
|
|
33
|
-
* Register dompurify helper
|
|
34
|
-
*
|
|
35
|
-
* https://github.com/cure53/DOMPurify
|
|
36
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
37
|
-
* to make output safe for template systems
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
hb.registerHelper('dompurify', function (context) {
|
|
41
|
-
return DOMPurify.sanitize(context);
|
|
42
|
-
});
|
|
43
|
-
/**
|
|
44
|
-
* Register join helper
|
|
45
|
-
*
|
|
46
|
-
* Example :
|
|
47
|
-
* var values = {a:v1, b:v2, c:v3};
|
|
48
|
-
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
49
|
-
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
53
|
-
var fragments = [];
|
|
54
|
-
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
55
|
-
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
56
|
-
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
57
|
-
|
|
58
|
-
_.forIn(arr, function (value, key) {
|
|
59
|
-
var fragment = '';
|
|
60
|
-
|
|
61
|
-
if (value !== null || value !== undefined) {
|
|
62
|
-
if (typeof value === 'boolean') {
|
|
63
|
-
value = value ? 'true' : 'false';
|
|
64
|
-
} else if (typeof value === 'object') {
|
|
65
|
-
value = _.values(value).join(' ');
|
|
66
|
-
}
|
|
67
|
-
} else {
|
|
68
|
-
value = '';
|
|
69
|
-
}
|
|
70
30
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
31
|
+
hb.registerHelper('dompurify', function (context) {
|
|
32
|
+
return DOMPurify.sanitize(context);
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Register join helper
|
|
36
|
+
*
|
|
37
|
+
* Example :
|
|
38
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
39
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
40
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
41
|
+
*/
|
|
74
42
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
43
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
44
|
+
var fragments = [];
|
|
45
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
46
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
47
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
78
48
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
//it also adds a local variable "i" as the index in each iteration loop
|
|
49
|
+
_.forIn(arr, function (value, key) {
|
|
50
|
+
var fragment = '';
|
|
82
51
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
52
|
+
if (value !== null || value !== undefined) {
|
|
53
|
+
if (typeof value === 'boolean') {
|
|
54
|
+
value = value ? 'true' : 'false';
|
|
55
|
+
} else if (_typeof(value) === 'object') {
|
|
56
|
+
value = _.values(value).join(' ');
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
value = '';
|
|
60
|
+
}
|
|
88
61
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
i: i
|
|
92
|
-
}));
|
|
62
|
+
if (keyValueGlue !== undefined) {
|
|
63
|
+
fragment += key + keyValueGlue;
|
|
93
64
|
}
|
|
94
65
|
|
|
95
|
-
|
|
66
|
+
fragment += wrapper + value + wrapper;
|
|
67
|
+
fragments.push(fragment);
|
|
96
68
|
});
|
|
97
|
-
hb.registerHelper('equal', function (var1, var2, options) {
|
|
98
|
-
if (var1 == var2) {
|
|
99
|
-
return options.fn(this);
|
|
100
|
-
} else {
|
|
101
|
-
return options.inverse(this);
|
|
102
|
-
}
|
|
103
|
-
}); // register a "get property" helper
|
|
104
|
-
// it gets the named property from the provided context
|
|
105
69
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
// it checks if value is in array
|
|
70
|
+
return fragments.join(fragmentGlue);
|
|
71
|
+
}); //register a classic "for loop" helper
|
|
72
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
110
73
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
74
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
75
|
+
var ret = '';
|
|
76
|
+
startIndex = parseInt(startIndex);
|
|
77
|
+
stopIndex = parseInt(stopIndex);
|
|
78
|
+
increment = parseInt(increment);
|
|
117
79
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
123
|
-
this.compilerInfo = [4,'>= 1.0.0'];
|
|
124
|
-
helpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};
|
|
125
|
-
var buffer = "", stack1, helper, functionType="function", escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;
|
|
126
|
-
|
|
127
|
-
function program1(depth0,data,depth1) {
|
|
128
|
-
|
|
129
|
-
var buffer = "", stack1, helper, options;
|
|
130
|
-
buffer += "\n <div class=\"option\">\n <label>\n <input\n class=\"widget-input-inline\"\n type=\"radio\"\n name=\""
|
|
131
|
-
+ escapeExpression(((stack1 = (depth1 && depth1.uri)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
132
|
-
+ "\"\n value=\""
|
|
133
|
-
+ escapeExpression(((stack1 = (depth0 && depth0.uri)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
134
|
-
+ "\"\n ";
|
|
135
|
-
stack1 = (helper = helpers.includes || (depth1 && depth1.includes),options={hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data},helper ? helper.call(depth0, (depth1 && depth1.value), (depth0 && depth0.uri), options) : helperMissing.call(depth0, "includes", (depth1 && depth1.value), (depth0 && depth0.uri), options));
|
|
136
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
137
|
-
buffer += ">\n <span class=\"icon-radio\"></span>\n "
|
|
138
|
-
+ escapeExpression(((stack1 = (depth0 && depth0.label)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
139
|
-
+ "\n </label>\n </div>\n ";
|
|
140
|
-
return buffer;
|
|
80
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
81
|
+
ret += options.fn(_.extend({}, this, {
|
|
82
|
+
i: i
|
|
83
|
+
}));
|
|
141
84
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
85
|
+
|
|
86
|
+
return ret;
|
|
87
|
+
});
|
|
88
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
89
|
+
if (var1 == var2) {
|
|
90
|
+
return options.fn(this);
|
|
91
|
+
} else {
|
|
92
|
+
return options.inverse(this);
|
|
146
93
|
}
|
|
94
|
+
}); // register a "get property" helper
|
|
95
|
+
// it gets the named property from the provided context
|
|
147
96
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
97
|
+
hb.registerHelper('property', function (name, context) {
|
|
98
|
+
return context[name] || '';
|
|
99
|
+
}); // register an 'includes' helper
|
|
100
|
+
// it checks if value is in array
|
|
101
|
+
|
|
102
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
103
|
+
if (_.contains(haystack, needle)) {
|
|
104
|
+
return options.fn(this);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (!Helpers0.__initialized) {
|
|
110
|
+
Helpers0(Handlebars);
|
|
111
|
+
Helpers0.__initialized = true;
|
|
112
|
+
}
|
|
113
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
114
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
115
|
+
helpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};
|
|
116
|
+
var buffer = "", stack1, helper, functionType="function", escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;
|
|
117
|
+
|
|
118
|
+
function program1(depth0,data,depth1) {
|
|
119
|
+
|
|
120
|
+
var buffer = "", stack1, helper, options;
|
|
121
|
+
buffer += "\n <div class=\"option\">\n <label>\n <input\n class=\"widget-input-inline\"\n type=\"radio\"\n name=\""
|
|
122
|
+
+ escapeExpression(((stack1 = (depth1 && depth1.uri)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
123
|
+
+ "\"\n value=\""
|
|
124
|
+
+ escapeExpression(((stack1 = (depth0 && depth0.uri)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
125
|
+
+ "\"\n ";
|
|
126
|
+
stack1 = (helper = helpers.includes || (depth1 && depth1.includes),options={hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data},helper ? helper.call(depth0, (depth1 && depth1.value), (depth0 && depth0.uri), options) : helperMissing.call(depth0, "includes", (depth1 && depth1.value), (depth0 && depth0.uri), options));
|
|
127
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
128
|
+
buffer += ">\n <span class=\"icon-radio\"></span>\n "
|
|
129
|
+
+ escapeExpression(((stack1 = (depth0 && depth0.label)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
130
|
+
+ "\n </label>\n </div>\n ";
|
|
131
|
+
return buffer;
|
|
132
|
+
}
|
|
133
|
+
function program2(depth0,data) {
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
return "\n checked=\"true\"\n ";
|
|
164
137
|
}
|
|
165
138
|
|
|
139
|
+
buffer += "<div class=\"form-widget ";
|
|
140
|
+
if (helper = helpers.widgetType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
141
|
+
else { helper = (depth0 && depth0.widgetType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
142
|
+
buffer += escapeExpression(stack1)
|
|
143
|
+
+ "\">\n <div class=\"widget-label\">\n ";
|
|
144
|
+
stack1 = self.invokePartial(partials['ui-form-widget-label'], 'ui-form-widget-label', depth0, helpers, partials, data);
|
|
145
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
146
|
+
buffer += "\n </div>\n <div class=\"widget-field\">\n <div class=\"radio-box-input\">\n ";
|
|
147
|
+
stack1 = helpers.each.call(depth0, (depth0 && depth0.range), {hash:{},inverse:self.noop,fn:self.programWithDepth(1, program1, data, depth0),data:data});
|
|
148
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
149
|
+
buffer += "\n </div>\n </div>\n</div>\n";
|
|
150
|
+
return buffer;
|
|
151
|
+
});
|
|
152
|
+
function radioBoxTpl(data, options, asString) {
|
|
153
|
+
var html = Template(data, options);
|
|
154
|
+
return (asString || true) ? html : $(html);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* This program is free software; you can redistribute it and/or
|
|
159
|
+
* modify it under the terms of the GNU General Public License
|
|
160
|
+
* as published by the Free Software Foundation; under version 2
|
|
161
|
+
* of the License (non-upgradable).
|
|
162
|
+
*
|
|
163
|
+
* This program is distributed in the hope that it will be useful,
|
|
164
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
165
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
166
|
+
* GNU General Public License for more details.
|
|
167
|
+
*
|
|
168
|
+
* You should have received a copy of the GNU General Public License
|
|
169
|
+
* along with this program; if not, write to the Free Software
|
|
170
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
171
|
+
*
|
|
172
|
+
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
173
|
+
*/
|
|
174
|
+
/**
|
|
175
|
+
* Defines the provider for a radioBox widget.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* import widgetRadioBoxProvider from 'ui/form/widget/providers/radioBox';
|
|
179
|
+
* widgetFactory.registerProvider('radioBox', widgetRadioBoxProvider);
|
|
180
|
+
* const widget = widgetFactory(container, {
|
|
181
|
+
* widget: 'radioBox'
|
|
182
|
+
* uri: 'rb',
|
|
183
|
+
* label: 'All good?',
|
|
184
|
+
* range: [{
|
|
185
|
+
* uri: 'yes',
|
|
186
|
+
* label: 'Yes'
|
|
187
|
+
* }, {
|
|
188
|
+
* uri: 'no',
|
|
189
|
+
* label: 'No'
|
|
190
|
+
* }]
|
|
191
|
+
* });
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
var widgetRadioBoxProvider = {
|
|
166
195
|
/**
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* as published by the Free Software Foundation; under version 2
|
|
170
|
-
* of the License (non-upgradable).
|
|
171
|
-
*
|
|
172
|
-
* This program is distributed in the hope that it will be useful,
|
|
173
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
174
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
175
|
-
* GNU General Public License for more details.
|
|
176
|
-
*
|
|
177
|
-
* You should have received a copy of the GNU General Public License
|
|
178
|
-
* along with this program; if not, write to the Free Software
|
|
179
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
180
|
-
*
|
|
181
|
-
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
196
|
+
* Initialize the widget.
|
|
197
|
+
* @param {widgetConfig} config
|
|
182
198
|
*/
|
|
199
|
+
init: function init(config) {
|
|
200
|
+
// the type will be reflected to the HTML markup
|
|
201
|
+
config.widgetType = 'radio-box';
|
|
202
|
+
},
|
|
203
|
+
|
|
183
204
|
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* @example
|
|
187
|
-
* import widgetRadioBoxProvider from 'ui/form/widget/providers/radioBox';
|
|
188
|
-
* widgetFactory.registerProvider('radioBox', widgetRadioBoxProvider);
|
|
189
|
-
* const widget = widgetFactory(container, {
|
|
190
|
-
* widget: 'radioBox'
|
|
191
|
-
* uri: 'rb',
|
|
192
|
-
* label: 'All good?',
|
|
193
|
-
* range: [{
|
|
194
|
-
* uri: 'yes',
|
|
195
|
-
* label: 'Yes'
|
|
196
|
-
* }, {
|
|
197
|
-
* uri: 'no',
|
|
198
|
-
* label: 'No'
|
|
199
|
-
* }]
|
|
200
|
-
* });
|
|
205
|
+
* Gets the value of the widget, which will be either an empty string or an URI from the range.
|
|
206
|
+
* @returns {String}
|
|
201
207
|
*/
|
|
208
|
+
getValue: function getValue() {
|
|
209
|
+
var value = this.getConfig().value || '';
|
|
202
210
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
* @param {widgetConfig} config
|
|
207
|
-
*/
|
|
208
|
-
init(config) {
|
|
209
|
-
// the type will be reflected to the HTML markup
|
|
210
|
-
config.widgetType = 'radio-box';
|
|
211
|
-
},
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Gets the value of the widget, which will be either an empty string or an URI from the range.
|
|
215
|
-
* @returns {String}
|
|
216
|
-
*/
|
|
217
|
-
getValue() {
|
|
218
|
-
let value = this.getConfig().value || '';
|
|
219
|
-
|
|
220
|
-
if (this.is('rendered')) {
|
|
221
|
-
value = this.getElement().find(`.option input:checked`).val() || '';
|
|
222
|
-
}
|
|
211
|
+
if (this.is('rendered')) {
|
|
212
|
+
value = this.getElement().find(".option input:checked").val() || '';
|
|
213
|
+
}
|
|
223
214
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
215
|
+
return value;
|
|
216
|
+
},
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Sets the value of the widget, which can be either an empty string or an URI from the range.
|
|
220
|
+
* @param {String} value
|
|
221
|
+
*/
|
|
222
|
+
setValue: function setValue(value) {
|
|
223
|
+
if (this.is('rendered')) {
|
|
224
|
+
this.getWidgetElement().prop('checked', false);
|
|
225
|
+
this.getElement().find(".option input[value=\"".concat(value, "\"]")).prop('checked', true);
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Gets access to the actual form element
|
|
231
|
+
* @returns {jQuery|null}
|
|
232
|
+
*/
|
|
233
|
+
getWidgetElement: function getWidgetElement() {
|
|
234
|
+
return this.getElement().find('.option input');
|
|
235
|
+
},
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Expose the template to the factory and it will apply it
|
|
239
|
+
*/
|
|
240
|
+
template: radioBoxTpl
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
return widgetRadioBoxProvider;
|
|
253
244
|
|
|
254
245
|
});
|