@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
|
@@ -27,17 +27,19 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
27
27
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
28
28
|
*/
|
|
29
29
|
function getImage(widget) {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
var $img = widget.$original;
|
|
31
|
+
var img = widget.element;
|
|
32
32
|
|
|
33
33
|
if (widget.element.is('figure')) {
|
|
34
34
|
$img = widget.$original.find('img');
|
|
35
|
-
img = _.find(widget.element.getBody().elements,
|
|
35
|
+
img = _.find(widget.element.getBody().elements, function (elem) {
|
|
36
|
+
return elem.is('img');
|
|
37
|
+
});
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
return {
|
|
39
|
-
$img,
|
|
40
|
-
img
|
|
41
|
+
$img: $img,
|
|
42
|
+
img: img
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
|
|
@@ -58,12 +60,12 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
58
60
|
*
|
|
59
61
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
60
62
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
var mediaSizer = function mediaSizer(media, widget) {
|
|
64
|
+
var _getImage = getImage(widget),
|
|
65
|
+
img = _getImage.img,
|
|
66
|
+
$img = _getImage.$img;
|
|
67
|
+
|
|
68
|
+
var $mediaSpan = widget.$container;
|
|
67
69
|
|
|
68
70
|
if (img.data('responsive') !== media.responsive) {
|
|
69
71
|
// switch between responsive and absolute values
|
|
@@ -75,7 +77,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
_(['width', 'height']).each(function (sizeAttr) {
|
|
78
|
-
|
|
80
|
+
var val;
|
|
79
81
|
|
|
80
82
|
if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
|
|
81
83
|
img.removeAttr(sizeAttr);
|
|
@@ -121,7 +123,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
121
123
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
122
124
|
*/
|
|
123
125
|
|
|
124
|
-
|
|
126
|
+
var getMedia = function getMedia(imgQtiElement, $imgNode, cb) {
|
|
125
127
|
//init data-responsive:
|
|
126
128
|
if (typeof imgQtiElement.data('responsive') === 'undefined') {
|
|
127
129
|
if (imgQtiElement.attr('width') && !/[0-9]+%/.test(imgQtiElement.attr('width'))) {
|
|
@@ -155,8 +157,8 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
155
157
|
}
|
|
156
158
|
};
|
|
157
159
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
+
var getMediaCb = function getMediaCb(media, widget, mediaEditor, options) {
|
|
161
|
+
var $mediaResizer = widget.$form.find('.img-resizer');
|
|
160
162
|
media.$container = widget.$container.parents('.widget-box');
|
|
161
163
|
|
|
162
164
|
if (media.$container.length) {
|
|
@@ -182,11 +184,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
182
184
|
return;
|
|
183
185
|
}
|
|
184
186
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
getMedia(img, $img,
|
|
187
|
+
var _getImage = getImage(widget),
|
|
188
|
+
img = _getImage.img,
|
|
189
|
+
$img = _getImage.$img;
|
|
190
|
+
|
|
191
|
+
getMedia(img, $img, function (m) {
|
|
192
|
+
return getMediaCb(m, widget, mediaEditor, options);
|
|
193
|
+
});
|
|
190
194
|
}
|
|
191
195
|
|
|
192
196
|
/*
|
|
@@ -234,12 +238,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
234
238
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
235
239
|
*
|
|
236
240
|
*/
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
241
|
+
var initAdvanced = function initAdvanced(widget) {
|
|
242
|
+
var $form = widget.$form;
|
|
243
|
+
|
|
244
|
+
var _getImage = getImage(widget),
|
|
245
|
+
img = _getImage.img;
|
|
246
|
+
|
|
247
|
+
var src = img ? img.attr('src') : '';
|
|
243
248
|
|
|
244
249
|
if (src) {
|
|
245
250
|
$form.find('[data-role=advanced]').show();
|
|
@@ -247,17 +252,18 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
247
252
|
$form.find('[data-role=advanced]').hide();
|
|
248
253
|
}
|
|
249
254
|
};
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
255
|
+
var initUpload = function initUpload(widget) {
|
|
256
|
+
var $form = widget.$form;
|
|
257
|
+
var options = widget.options;
|
|
258
|
+
|
|
259
|
+
var _getImage2 = getImage(widget),
|
|
260
|
+
img = _getImage2.img;
|
|
261
|
+
|
|
262
|
+
var $uploadTrigger = $form.find('[data-role="upload-trigger"]');
|
|
263
|
+
var $src = $form.find('input[name=src]');
|
|
264
|
+
var $alt = $form.find('input[name=alt]');
|
|
265
|
+
|
|
266
|
+
var _openResourceMgr = function _openResourceMgr() {
|
|
261
267
|
$uploadTrigger.resourcemgr({
|
|
262
268
|
title: __('Please select an image file from the resource manager. You can add files from your computer with the button "Add file(s)".'),
|
|
263
269
|
appendContainer: options.mediaManager.appendContainer,
|
|
@@ -286,9 +292,9 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
286
292
|
pathParam: 'path',
|
|
287
293
|
path: options.mediaManager.path,
|
|
288
294
|
root: options.mediaManager.root,
|
|
289
|
-
select: function (e, files) {
|
|
290
|
-
|
|
291
|
-
|
|
295
|
+
select: function select(e, files) {
|
|
296
|
+
var file, alt;
|
|
297
|
+
var confirmBox, cancel, save;
|
|
292
298
|
|
|
293
299
|
if (files && files.length) {
|
|
294
300
|
file = files[0].file;
|
|
@@ -306,7 +312,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
306
312
|
confirmBox = $$1('.change-alt-modal-feedback', $form);
|
|
307
313
|
cancel = confirmBox.find('.cancel');
|
|
308
314
|
save = confirmBox.find('.save');
|
|
309
|
-
$$1('.alt-text', confirmBox).html(
|
|
315
|
+
$$1('.alt-text', confirmBox).html("\"".concat($alt.val(), "\"<br>").concat(__('with'), "<br>\"").concat(alt, "\" ?"));
|
|
310
316
|
confirmBox.modal({
|
|
311
317
|
width: 500
|
|
312
318
|
});
|
|
@@ -326,13 +332,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
326
332
|
});
|
|
327
333
|
}
|
|
328
334
|
},
|
|
329
|
-
open: function () {
|
|
335
|
+
open: function open() {
|
|
330
336
|
// hide tooltip if displayed
|
|
331
337
|
if ($src.data('$tooltip')) {
|
|
332
338
|
$src.blur().data('$tooltip').hide();
|
|
333
339
|
}
|
|
334
340
|
},
|
|
335
|
-
close: function () {
|
|
341
|
+
close: function close() {
|
|
336
342
|
// triggers validation:
|
|
337
343
|
$src.blur();
|
|
338
344
|
}
|
|
@@ -351,25 +357,16 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
351
357
|
initUpload(widget);
|
|
352
358
|
}
|
|
353
359
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
*
|
|
365
|
-
* You should have received a copy of the GNU General Public License
|
|
366
|
-
* along with this program; if not, write to the Free Software
|
|
367
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
368
|
-
*
|
|
369
|
-
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*/
|
|
360
|
+
function _typeof(obj) {
|
|
361
|
+
"@babel/helpers - typeof";
|
|
362
|
+
|
|
363
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
364
|
+
return typeof obj;
|
|
365
|
+
} : function (obj) {
|
|
366
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
367
|
+
}, _typeof(obj);
|
|
368
|
+
}
|
|
369
|
+
|
|
373
370
|
function Helpers0 (hb) {
|
|
374
371
|
//register a i18n helper
|
|
375
372
|
hb.registerHelper('__', function (key) {
|
|
@@ -407,7 +404,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
407
404
|
if (value !== null || value !== undefined) {
|
|
408
405
|
if (typeof value === 'boolean') {
|
|
409
406
|
value = value ? 'true' : 'false';
|
|
410
|
-
} else if (
|
|
407
|
+
} else if (_typeof(value) === 'object') {
|
|
411
408
|
value = _.values(value).join(' ');
|
|
412
409
|
}
|
|
413
410
|
} else {
|
|
@@ -497,7 +494,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
497
494
|
*
|
|
498
495
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
499
496
|
*/
|
|
500
|
-
|
|
497
|
+
var options = {
|
|
501
498
|
mediaDimension: {
|
|
502
499
|
active: true
|
|
503
500
|
},
|
|
@@ -506,25 +503,35 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
506
503
|
}
|
|
507
504
|
};
|
|
508
505
|
|
|
509
|
-
|
|
506
|
+
var getImage$1 = function getImage(widget) {
|
|
507
|
+
return widget.$original.find('img');
|
|
508
|
+
};
|
|
510
509
|
|
|
511
|
-
|
|
510
|
+
var getCaption = function getCaption(widget) {
|
|
511
|
+
return widget.$original.find('figcaption');
|
|
512
|
+
};
|
|
512
513
|
|
|
513
|
-
|
|
514
|
+
var getImageElement = function getImageElement(widget) {
|
|
515
|
+
return _.find(widget.element.getBody().elements, function (elem) {
|
|
516
|
+
return elem.is('img');
|
|
517
|
+
});
|
|
518
|
+
};
|
|
514
519
|
|
|
515
|
-
|
|
520
|
+
var getCaptionElement = function getCaptionElement(widget) {
|
|
521
|
+
return _.find(widget.element.getBody().elements, function (elem) {
|
|
522
|
+
return elem.is('figcaption');
|
|
523
|
+
});
|
|
524
|
+
};
|
|
516
525
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
const imageElem = getImageElement(widget);
|
|
527
|
-
let figcaptionElem = getCaptionElement(widget);
|
|
526
|
+
var formCallbacks = function formCallbacks(_ref) {
|
|
527
|
+
var widget = _ref.widget,
|
|
528
|
+
formElement = _ref.formElement,
|
|
529
|
+
mediaEditor = _ref.mediaEditor,
|
|
530
|
+
togglePlaceholder = _ref.togglePlaceholder;
|
|
531
|
+
var $img = getImage$1(widget);
|
|
532
|
+
var $figcaption = getCaption(widget);
|
|
533
|
+
var imageElem = getImageElement(widget);
|
|
534
|
+
var figcaptionElem = getCaptionElement(widget);
|
|
528
535
|
return {
|
|
529
536
|
src: _.throttle(function (elem, value) {
|
|
530
537
|
imageElem.attr('src', value);
|
|
@@ -534,7 +541,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
534
541
|
imageElem.removeAttr('off-media-editor');
|
|
535
542
|
|
|
536
543
|
if (widget.$form.find('[data-role=advanced]').is(':hidden')) {
|
|
537
|
-
|
|
544
|
+
var initPanel = function initPanel() {
|
|
538
545
|
initAdvanced(widget);
|
|
539
546
|
initMediaEditor(widget, mediaEditor, options);
|
|
540
547
|
};
|
|
@@ -549,12 +556,12 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
549
556
|
}
|
|
550
557
|
}
|
|
551
558
|
}, 1000),
|
|
552
|
-
alt: function (elem, value) {
|
|
559
|
+
alt: function alt(elem, value) {
|
|
553
560
|
imageElem.attr('alt', value);
|
|
554
561
|
},
|
|
555
|
-
figcaption: function (elem, value) {
|
|
562
|
+
figcaption: function figcaption(elem, value) {
|
|
556
563
|
// using dompurify to clean <script> tags
|
|
557
|
-
|
|
564
|
+
var text = tplCaptionText({
|
|
558
565
|
text: value
|
|
559
566
|
});
|
|
560
567
|
|
|
@@ -565,7 +572,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
565
572
|
} else if (!figcaptionElem && value) {
|
|
566
573
|
// add capture
|
|
567
574
|
figcaptionElem = widget.element.addCaption(text);
|
|
568
|
-
$figcaption = $$1(
|
|
575
|
+
$figcaption = $$1("<figcaption>".concat(text, "</figcaption>"));
|
|
569
576
|
widget.$original.append($figcaption);
|
|
570
577
|
} else if (figcaptionElem && !value) {
|
|
571
578
|
widget.element.removeCaption();
|
|
@@ -578,33 +585,35 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
578
585
|
};
|
|
579
586
|
};
|
|
580
587
|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
const imageElem = getImageElement(widget);
|
|
590
|
-
const figcaptionElem = getCaptionElement(widget);
|
|
588
|
+
var initForm = function initForm(_ref2) {
|
|
589
|
+
var widget = _ref2.widget,
|
|
590
|
+
formElement = _ref2.formElement,
|
|
591
|
+
formTpl = _ref2.formTpl,
|
|
592
|
+
mediaEditor = _ref2.mediaEditor,
|
|
593
|
+
togglePlaceholder = _ref2.togglePlaceholder;
|
|
594
|
+
var imageElem = getImageElement(widget);
|
|
595
|
+
var figcaptionElem = getCaptionElement(widget);
|
|
591
596
|
widget.$form.html(formTpl({
|
|
592
597
|
baseUrl: widget.options.baseUrl || '',
|
|
593
598
|
src: imageElem.attr('src'),
|
|
594
599
|
alt: imageElem.attr('alt'),
|
|
595
600
|
figcaption: figcaptionElem ? figcaptionElem.body() : ''
|
|
596
601
|
}));
|
|
597
|
-
widget.$form.find('textarea#figcaption').on('focus.qti-widget',
|
|
602
|
+
widget.$form.find('textarea#figcaption').on('focus.qti-widget', function () {
|
|
603
|
+
return widget.$container.addClass('edit-figcaption');
|
|
604
|
+
}).on('blur.qti-widget', function () {
|
|
605
|
+
return widget.$container.removeClass('edit-figcaption');
|
|
606
|
+
}); // init upload, advanced and media editor
|
|
598
607
|
|
|
599
608
|
initAll(widget, mediaEditor, options); // init standard ui widget
|
|
600
609
|
|
|
601
610
|
formElement.initWidget(widget.$form); // init data change callbacks
|
|
602
611
|
|
|
603
612
|
formElement.setChangeCallbacks(widget.$form, widget.element, formCallbacks({
|
|
604
|
-
widget,
|
|
605
|
-
formElement,
|
|
606
|
-
mediaEditor,
|
|
607
|
-
togglePlaceholder
|
|
613
|
+
widget: widget,
|
|
614
|
+
formElement: formElement,
|
|
615
|
+
mediaEditor: mediaEditor,
|
|
616
|
+
togglePlaceholder: togglePlaceholder
|
|
608
617
|
}));
|
|
609
618
|
};
|
|
610
619
|
|
|
@@ -613,10 +622,10 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
613
622
|
* media Editor instance if has been initialized
|
|
614
623
|
* @type {null}
|
|
615
624
|
*/
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
625
|
+
var mediaEditor = null;
|
|
626
|
+
var textareaObserver = null;
|
|
627
|
+
var texareaHTMLElem = null;
|
|
628
|
+
var ImgStateActive = stateFactory.extend(ActiveState, function () {
|
|
620
629
|
this.initForm();
|
|
621
630
|
}, function () {
|
|
622
631
|
this.widget.$form.find('textarea#figcaption').off('.qti-widget');
|
|
@@ -631,13 +640,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
631
640
|
ImgStateActive.prototype.initForm = function () {
|
|
632
641
|
initForm({
|
|
633
642
|
widget: this.widget,
|
|
634
|
-
formElement,
|
|
635
|
-
formTpl,
|
|
636
|
-
mediaEditor,
|
|
643
|
+
formElement: formElement,
|
|
644
|
+
formTpl: formTpl,
|
|
645
|
+
mediaEditor: mediaEditor,
|
|
637
646
|
togglePlaceholder: inlineHelper.togglePlaceholder
|
|
638
647
|
});
|
|
639
|
-
|
|
640
|
-
|
|
648
|
+
var figurelem = this.widget.element;
|
|
649
|
+
var $texarea = this.widget.$form.find('textarea#figcaption');
|
|
641
650
|
texareaHTMLElem = $texarea[0];
|
|
642
651
|
|
|
643
652
|
function outputsize() {
|
package/dist/filesender.js
CHANGED
|
@@ -17,7 +17,7 @@ define(['jquery', 'lodash', 'layout/logout-event'], function ($, _, logoutEvent)
|
|
|
17
17
|
*/
|
|
18
18
|
_opts: {
|
|
19
19
|
frame: '__postFrame_',
|
|
20
|
-
loaded: function (data) {}
|
|
20
|
+
loaded: function loaded(data) {}
|
|
21
21
|
},
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -29,7 +29,7 @@ define(['jquery', 'lodash', 'layout/logout-event'], function ($, _, logoutEvent)
|
|
|
29
29
|
* @param {String} [options.fileNameParamName] - the name of the element of request payload which will contain file name.
|
|
30
30
|
* @param {FileLoadedCallback} [options.loaded] - executed once received the server response
|
|
31
31
|
*/
|
|
32
|
-
_init: function (options) {
|
|
32
|
+
_init: function _init(options) {
|
|
33
33
|
var self = FileSender,
|
|
34
34
|
opts = _.defaults(options, self._opts),
|
|
35
35
|
xhr2 = typeof XMLHttpRequest !== 'undefined' && new XMLHttpRequest().upload && typeof FormData !== 'undefined',
|