@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
package/dist/disabler.js
CHANGED
|
@@ -37,7 +37,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
37
37
|
* @fires Disabler#create.disabler
|
|
38
38
|
* @returns {jQueryElement} for chaining
|
|
39
39
|
*/
|
|
40
|
-
init: function (options) {
|
|
40
|
+
init: function init(options) {
|
|
41
41
|
options = $.extend(true, {}, defaults, options);
|
|
42
42
|
return this.each(function () {
|
|
43
43
|
var $elt = $(this);
|
|
@@ -73,7 +73,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
73
73
|
*
|
|
74
74
|
* @returns {jQueryElement} for chaining
|
|
75
75
|
*/
|
|
76
|
-
enable: function () {
|
|
76
|
+
enable: function enable() {
|
|
77
77
|
this.each(function () {
|
|
78
78
|
Disabler._enable($(this));
|
|
79
79
|
});
|
|
@@ -86,7 +86,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
86
86
|
* @param {jQueryElement} $elt - plugin's element
|
|
87
87
|
* @fires Disabler#enable.disabler
|
|
88
88
|
*/
|
|
89
|
-
_enable: function ($elt) {
|
|
89
|
+
_enable: function _enable($elt) {
|
|
90
90
|
var options = $elt.data(dataNs);
|
|
91
91
|
var $target = options.target;
|
|
92
92
|
$target.removeClass(options.disabledClass).find(':input').prop('disabled', false);
|
|
@@ -109,7 +109,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
109
109
|
*
|
|
110
110
|
* @returns {jQueryElement} for chaining
|
|
111
111
|
*/
|
|
112
|
-
disable: function () {
|
|
112
|
+
disable: function disable() {
|
|
113
113
|
this.each(function () {
|
|
114
114
|
Disabler._disable($(this));
|
|
115
115
|
});
|
|
@@ -122,7 +122,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
122
122
|
* @param {jQueryElement} $elt - plugin's element
|
|
123
123
|
* @fires Disabler#disable.disabler
|
|
124
124
|
*/
|
|
125
|
-
_disable: function ($elt) {
|
|
125
|
+
_disable: function _disable($elt) {
|
|
126
126
|
var options = $elt.data(dataNs);
|
|
127
127
|
var $target = options.target;
|
|
128
128
|
$target.addClass(options.disabledClass).find(':input').prop('disabled', true);
|
|
@@ -145,7 +145,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
145
145
|
*
|
|
146
146
|
* @returns {jQueryElement} for chaining
|
|
147
147
|
*/
|
|
148
|
-
toggle: function () {
|
|
148
|
+
toggle: function toggle() {
|
|
149
149
|
this.each(function () {
|
|
150
150
|
Disabler._toggle($(this));
|
|
151
151
|
});
|
|
@@ -157,7 +157,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
157
157
|
* @private
|
|
158
158
|
* @param {jQueryElement} $elt - plugin's element
|
|
159
159
|
*/
|
|
160
|
-
_toggle: function ($elt) {
|
|
160
|
+
_toggle: function _toggle($elt) {
|
|
161
161
|
var options = $elt.data(dataNs);
|
|
162
162
|
|
|
163
163
|
if ($elt.is(':radio,:checkbox')) {
|
|
@@ -175,7 +175,7 @@ define(['jquery', 'core/pluginifier', 'core/dataattrhandler'], function ($, Plug
|
|
|
175
175
|
* @public
|
|
176
176
|
* @fires Disabler#destroy.disabler
|
|
177
177
|
*/
|
|
178
|
-
destroy: function () {
|
|
178
|
+
destroy: function destroy() {
|
|
179
179
|
this.each(function () {
|
|
180
180
|
var $elt = $(this);
|
|
181
181
|
var options = $elt.data(dataNs);
|
|
@@ -1,197 +1,188 @@
|
|
|
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
|
+
* Register dompurify helper
|
|
24
25
|
*
|
|
26
|
+
* https://github.com/cure53/DOMPurify
|
|
27
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
28
|
+
* to make output safe for template systems
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
hb.registerHelper('dompurify', function (context) {
|
|
32
|
+
return DOMPurify.sanitize(context);
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Register join helper
|
|
25
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*
|
|
26
41
|
*/
|
|
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
42
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
*/
|
|
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 : '"';
|
|
51
48
|
|
|
52
|
-
|
|
53
|
-
var
|
|
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
|
-
}
|
|
49
|
+
_.forIn(arr, function (value, key) {
|
|
50
|
+
var fragment = '';
|
|
70
51
|
|
|
71
|
-
|
|
72
|
-
|
|
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(' ');
|
|
73
57
|
}
|
|
74
|
-
|
|
75
|
-
fragment += wrapper + value + wrapper;
|
|
76
|
-
fragments.push(fragment);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
return fragments.join(fragmentGlue);
|
|
80
|
-
}); //register a classic "for loop" helper
|
|
81
|
-
//it also adds a local variable "i" as the index in each iteration loop
|
|
82
|
-
|
|
83
|
-
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
84
|
-
var ret = '';
|
|
85
|
-
startIndex = parseInt(startIndex);
|
|
86
|
-
stopIndex = parseInt(stopIndex);
|
|
87
|
-
increment = parseInt(increment);
|
|
88
|
-
|
|
89
|
-
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
90
|
-
ret += options.fn(_.extend({}, this, {
|
|
91
|
-
i: i
|
|
92
|
-
}));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return ret;
|
|
96
|
-
});
|
|
97
|
-
hb.registerHelper('equal', function (var1, var2, options) {
|
|
98
|
-
if (var1 == var2) {
|
|
99
|
-
return options.fn(this);
|
|
100
58
|
} else {
|
|
101
|
-
|
|
59
|
+
value = '';
|
|
102
60
|
}
|
|
103
|
-
}); // register a "get property" helper
|
|
104
|
-
// it gets the named property from the provided context
|
|
105
|
-
|
|
106
|
-
hb.registerHelper('property', function (name, context) {
|
|
107
|
-
return context[name] || '';
|
|
108
|
-
}); // register an 'includes' helper
|
|
109
|
-
// it checks if value is in array
|
|
110
61
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return options.fn(this);
|
|
62
|
+
if (keyValueGlue !== undefined) {
|
|
63
|
+
fragment += key + keyValueGlue;
|
|
114
64
|
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
65
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
Helpers0.__initialized = true;
|
|
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);
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return "<iframe ></iframe>";
|
|
66
|
+
fragment += wrapper + value + wrapper;
|
|
67
|
+
fragments.push(fragment);
|
|
128
68
|
});
|
|
129
|
-
function viewerTpl(data, options, asString) {
|
|
130
|
-
var html = Template(data, options);
|
|
131
|
-
return (asString || true) ? html : $(html);
|
|
132
|
-
}
|
|
133
69
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
|
73
|
+
|
|
74
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
75
|
+
var ret = '';
|
|
76
|
+
startIndex = parseInt(startIndex);
|
|
77
|
+
stopIndex = parseInt(stopIndex);
|
|
78
|
+
increment = parseInt(increment);
|
|
79
|
+
|
|
80
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
81
|
+
ret += options.fn(_.extend({}, this, {
|
|
82
|
+
i: i
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
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);
|
|
93
|
+
}
|
|
94
|
+
}); // register a "get property" helper
|
|
95
|
+
// it gets the named property from the provided context
|
|
96
|
+
|
|
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);
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
return "<iframe ></iframe>";
|
|
119
|
+
});
|
|
120
|
+
function viewerTpl(data, options, asString) {
|
|
121
|
+
var html = Template(data, options);
|
|
122
|
+
return (asString || true) ? html : $(html);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* This program is free software; you can redistribute it and/or
|
|
127
|
+
* modify it under the terms of the GNU General Public License
|
|
128
|
+
* as published by the Free Software Foundation; under version 2
|
|
129
|
+
* of the License (non-upgradable).
|
|
130
|
+
*
|
|
131
|
+
* This program is distributed in the hope that it will be useful,
|
|
132
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
133
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
134
|
+
* GNU General Public License for more details.
|
|
135
|
+
*
|
|
136
|
+
* You should have received a copy of the GNU General Public License
|
|
137
|
+
* along with this program; if not, write to the Free Software
|
|
138
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
139
|
+
*
|
|
140
|
+
* Copyright (c) 2016 (original work) Open Assessment Technologies SA ;
|
|
141
|
+
*/
|
|
142
|
+
/**
|
|
143
|
+
* Wraps the component that use the native PDF viewer provided by the browser.
|
|
144
|
+
* @param {jQuery} $container
|
|
145
|
+
* @returns {Object}
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
function fallbackViewerFactory($container) {
|
|
149
|
+
var template = viewerTpl();
|
|
150
|
+
var $viewer = null;
|
|
151
|
+
return {
|
|
152
|
+
/**
|
|
153
|
+
* Loads and displays the document
|
|
154
|
+
* @param {String} url
|
|
155
|
+
* @returns {Promise}
|
|
156
|
+
*/
|
|
157
|
+
load: function load(url) {
|
|
158
|
+
return new Promise(function (resolve) {
|
|
159
|
+
$viewer = $container.html(template).find('iframe');
|
|
160
|
+
$viewer.one('load.provider', resolve).attr('src', url);
|
|
161
|
+
});
|
|
162
|
+
},
|
|
156
163
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
* Destroys the component
|
|
175
|
-
*/
|
|
176
|
-
unload: function unload() {
|
|
177
|
-
$container.empty();
|
|
178
|
-
$viewer = null;
|
|
179
|
-
},
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Sets the size of the component
|
|
183
|
-
* @param {Number} width
|
|
184
|
-
* @param {Number} height
|
|
185
|
-
*/
|
|
186
|
-
setSize: function setSize(width, height) {
|
|
187
|
-
if ($viewer) {
|
|
188
|
-
// the browser will adjust the PDF
|
|
189
|
-
$viewer.width(width).height(height);
|
|
190
|
-
}
|
|
164
|
+
/**
|
|
165
|
+
* Destroys the component
|
|
166
|
+
*/
|
|
167
|
+
unload: function unload() {
|
|
168
|
+
$container.empty();
|
|
169
|
+
$viewer = null;
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Sets the size of the component
|
|
174
|
+
* @param {Number} width
|
|
175
|
+
* @param {Number} height
|
|
176
|
+
*/
|
|
177
|
+
setSize: function setSize(width, height) {
|
|
178
|
+
if ($viewer) {
|
|
179
|
+
// the browser will adjust the PDF
|
|
180
|
+
$viewer.width(width).height(height);
|
|
191
181
|
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
}
|
|
194
185
|
|
|
195
|
-
|
|
186
|
+
return fallbackViewerFactory;
|
|
196
187
|
|
|
197
188
|
});
|