@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
|
@@ -20,17 +20,19 @@ define(['exports', 'lodash'], function (exports, _) { 'use strict';
|
|
|
20
20
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
21
21
|
*/
|
|
22
22
|
function getImage(widget) {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
var $img = widget.$original;
|
|
24
|
+
var img = widget.element;
|
|
25
25
|
|
|
26
26
|
if (widget.element.is('figure')) {
|
|
27
27
|
$img = widget.$original.find('img');
|
|
28
|
-
img = _.find(widget.element.getBody().elements,
|
|
28
|
+
img = _.find(widget.element.getBody().elements, function (elem) {
|
|
29
|
+
return elem.is('img');
|
|
30
|
+
});
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
return {
|
|
32
|
-
$img,
|
|
33
|
-
img
|
|
34
|
+
$img: $img,
|
|
35
|
+
img: img
|
|
34
36
|
};
|
|
35
37
|
}
|
|
36
38
|
|
|
@@ -25,17 +25,19 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
25
25
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
26
26
|
*/
|
|
27
27
|
function getImage(widget) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
var $img = widget.$original;
|
|
29
|
+
var img = widget.element;
|
|
30
30
|
|
|
31
31
|
if (widget.element.is('figure')) {
|
|
32
32
|
$img = widget.$original.find('img');
|
|
33
|
-
img = _.find(widget.element.getBody().elements,
|
|
33
|
+
img = _.find(widget.element.getBody().elements, function (elem) {
|
|
34
|
+
return elem.is('img');
|
|
35
|
+
});
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
return {
|
|
37
|
-
$img,
|
|
38
|
-
img
|
|
39
|
+
$img: $img,
|
|
40
|
+
img: img
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
|
|
@@ -56,12 +58,12 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
56
58
|
*
|
|
57
59
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
58
60
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
var mediaSizer = function mediaSizer(media, widget) {
|
|
62
|
+
var _getImage = getImage(widget),
|
|
63
|
+
img = _getImage.img,
|
|
64
|
+
$img = _getImage.$img;
|
|
65
|
+
|
|
66
|
+
var $mediaSpan = widget.$container;
|
|
65
67
|
|
|
66
68
|
if (img.data('responsive') !== media.responsive) {
|
|
67
69
|
// switch between responsive and absolute values
|
|
@@ -73,7 +75,7 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
_(['width', 'height']).each(function (sizeAttr) {
|
|
76
|
-
|
|
78
|
+
var val;
|
|
77
79
|
|
|
78
80
|
if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
|
|
79
81
|
img.removeAttr(sizeAttr);
|
|
@@ -119,7 +121,7 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
119
121
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
120
122
|
*/
|
|
121
123
|
|
|
122
|
-
|
|
124
|
+
var getMedia = function getMedia(imgQtiElement, $imgNode, cb) {
|
|
123
125
|
//init data-responsive:
|
|
124
126
|
if (typeof imgQtiElement.data('responsive') === 'undefined') {
|
|
125
127
|
if (imgQtiElement.attr('width') && !/[0-9]+%/.test(imgQtiElement.attr('width'))) {
|
|
@@ -153,8 +155,8 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
153
155
|
}
|
|
154
156
|
};
|
|
155
157
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
var getMediaCb = function getMediaCb(media, widget, mediaEditor, options) {
|
|
159
|
+
var $mediaResizer = widget.$form.find('.img-resizer');
|
|
158
160
|
media.$container = widget.$container.parents('.widget-box');
|
|
159
161
|
|
|
160
162
|
if (media.$container.length) {
|
|
@@ -180,11 +182,13 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
180
182
|
return;
|
|
181
183
|
}
|
|
182
184
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
getMedia(img, $img,
|
|
185
|
+
var _getImage = getImage(widget),
|
|
186
|
+
img = _getImage.img,
|
|
187
|
+
$img = _getImage.$img;
|
|
188
|
+
|
|
189
|
+
getMedia(img, $img, function (m) {
|
|
190
|
+
return getMediaCb(m, widget, mediaEditor, options);
|
|
191
|
+
});
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
/*
|
|
@@ -232,12 +236,13 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
232
236
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
233
237
|
*
|
|
234
238
|
*/
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
239
|
+
var initAdvanced = function initAdvanced(widget) {
|
|
240
|
+
var $form = widget.$form;
|
|
241
|
+
|
|
242
|
+
var _getImage = getImage(widget),
|
|
243
|
+
img = _getImage.img;
|
|
244
|
+
|
|
245
|
+
var src = img ? img.attr('src') : '';
|
|
241
246
|
|
|
242
247
|
if (src) {
|
|
243
248
|
$form.find('[data-role=advanced]').show();
|
|
@@ -245,17 +250,18 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
245
250
|
$form.find('[data-role=advanced]').hide();
|
|
246
251
|
}
|
|
247
252
|
};
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
253
|
+
var initUpload = function initUpload(widget) {
|
|
254
|
+
var $form = widget.$form;
|
|
255
|
+
var options = widget.options;
|
|
256
|
+
|
|
257
|
+
var _getImage2 = getImage(widget),
|
|
258
|
+
img = _getImage2.img;
|
|
259
|
+
|
|
260
|
+
var $uploadTrigger = $form.find('[data-role="upload-trigger"]');
|
|
261
|
+
var $src = $form.find('input[name=src]');
|
|
262
|
+
var $alt = $form.find('input[name=alt]');
|
|
263
|
+
|
|
264
|
+
var _openResourceMgr = function _openResourceMgr() {
|
|
259
265
|
$uploadTrigger.resourcemgr({
|
|
260
266
|
title: __('Please select an image file from the resource manager. You can add files from your computer with the button "Add file(s)".'),
|
|
261
267
|
appendContainer: options.mediaManager.appendContainer,
|
|
@@ -284,9 +290,9 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
284
290
|
pathParam: 'path',
|
|
285
291
|
path: options.mediaManager.path,
|
|
286
292
|
root: options.mediaManager.root,
|
|
287
|
-
select: function (e, files) {
|
|
288
|
-
|
|
289
|
-
|
|
293
|
+
select: function select(e, files) {
|
|
294
|
+
var file, alt;
|
|
295
|
+
var confirmBox, cancel, save;
|
|
290
296
|
|
|
291
297
|
if (files && files.length) {
|
|
292
298
|
file = files[0].file;
|
|
@@ -304,7 +310,7 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
304
310
|
confirmBox = $('.change-alt-modal-feedback', $form);
|
|
305
311
|
cancel = confirmBox.find('.cancel');
|
|
306
312
|
save = confirmBox.find('.save');
|
|
307
|
-
$('.alt-text', confirmBox).html(
|
|
313
|
+
$('.alt-text', confirmBox).html("\"".concat($alt.val(), "\"<br>").concat(__('with'), "<br>\"").concat(alt, "\" ?"));
|
|
308
314
|
confirmBox.modal({
|
|
309
315
|
width: 500
|
|
310
316
|
});
|
|
@@ -324,13 +330,13 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
|
|
|
324
330
|
});
|
|
325
331
|
}
|
|
326
332
|
},
|
|
327
|
-
open: function () {
|
|
333
|
+
open: function open() {
|
|
328
334
|
// hide tooltip if displayed
|
|
329
335
|
if ($src.data('$tooltip')) {
|
|
330
336
|
$src.blur().data('$tooltip').hide();
|
|
331
337
|
}
|
|
332
338
|
},
|
|
333
|
-
close: function () {
|
|
339
|
+
close: function close() {
|
|
334
340
|
// triggers validation:
|
|
335
341
|
$src.blur();
|
|
336
342
|
}
|
|
@@ -23,17 +23,19 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
|
|
|
23
23
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
24
24
|
*/
|
|
25
25
|
function getImage(widget) {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
var $img = widget.$original;
|
|
27
|
+
var img = widget.element;
|
|
28
28
|
|
|
29
29
|
if (widget.element.is('figure')) {
|
|
30
30
|
$img = widget.$original.find('img');
|
|
31
|
-
img = _.find(widget.element.getBody().elements,
|
|
31
|
+
img = _.find(widget.element.getBody().elements, function (elem) {
|
|
32
|
+
return elem.is('img');
|
|
33
|
+
});
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
return {
|
|
35
|
-
$img,
|
|
36
|
-
img
|
|
37
|
+
$img: $img,
|
|
38
|
+
img: img
|
|
37
39
|
};
|
|
38
40
|
}
|
|
39
41
|
|
|
@@ -54,12 +56,12 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
|
|
|
54
56
|
*
|
|
55
57
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
56
58
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
var mediaSizer = function mediaSizer(media, widget) {
|
|
60
|
+
var _getImage = getImage(widget),
|
|
61
|
+
img = _getImage.img,
|
|
62
|
+
$img = _getImage.$img;
|
|
63
|
+
|
|
64
|
+
var $mediaSpan = widget.$container;
|
|
63
65
|
|
|
64
66
|
if (img.data('responsive') !== media.responsive) {
|
|
65
67
|
// switch between responsive and absolute values
|
|
@@ -71,7 +73,7 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
|
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
_(['width', 'height']).each(function (sizeAttr) {
|
|
74
|
-
|
|
76
|
+
var val;
|
|
75
77
|
|
|
76
78
|
if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
|
|
77
79
|
img.removeAttr(sizeAttr);
|
|
@@ -117,7 +119,7 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
|
|
|
117
119
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
118
120
|
*/
|
|
119
121
|
|
|
120
|
-
|
|
122
|
+
var getMedia = function getMedia(imgQtiElement, $imgNode, cb) {
|
|
121
123
|
//init data-responsive:
|
|
122
124
|
if (typeof imgQtiElement.data('responsive') === 'undefined') {
|
|
123
125
|
if (imgQtiElement.attr('width') && !/[0-9]+%/.test(imgQtiElement.attr('width'))) {
|
|
@@ -151,8 +153,8 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
|
|
|
151
153
|
}
|
|
152
154
|
};
|
|
153
155
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
+
var getMediaCb = function getMediaCb(media, widget, mediaEditor, options) {
|
|
157
|
+
var $mediaResizer = widget.$form.find('.img-resizer');
|
|
156
158
|
media.$container = widget.$container.parents('.widget-box');
|
|
157
159
|
|
|
158
160
|
if (media.$container.length) {
|
|
@@ -178,11 +180,13 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
|
|
|
178
180
|
return;
|
|
179
181
|
}
|
|
180
182
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
getMedia(img, $img,
|
|
183
|
+
var _getImage = getImage(widget),
|
|
184
|
+
img = _getImage.img,
|
|
185
|
+
$img = _getImage.$img;
|
|
186
|
+
|
|
187
|
+
getMedia(img, $img, function (m) {
|
|
188
|
+
return getMediaCb(m, widget, mediaEditor, options);
|
|
189
|
+
});
|
|
186
190
|
}
|
|
187
191
|
|
|
188
192
|
return initMediaEditor;
|
|
@@ -20,17 +20,19 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
|
|
|
20
20
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
21
21
|
*/
|
|
22
22
|
function getImage(widget) {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
var $img = widget.$original;
|
|
24
|
+
var img = widget.element;
|
|
25
25
|
|
|
26
26
|
if (widget.element.is('figure')) {
|
|
27
27
|
$img = widget.$original.find('img');
|
|
28
|
-
img = _.find(widget.element.getBody().elements,
|
|
28
|
+
img = _.find(widget.element.getBody().elements, function (elem) {
|
|
29
|
+
return elem.is('img');
|
|
30
|
+
});
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
return {
|
|
32
|
-
$img,
|
|
33
|
-
img
|
|
34
|
+
$img: $img,
|
|
35
|
+
img: img
|
|
34
36
|
};
|
|
35
37
|
}
|
|
36
38
|
|
|
@@ -51,12 +53,12 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
|
|
|
51
53
|
*
|
|
52
54
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
53
55
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
var mediaSizer = function mediaSizer(media, widget) {
|
|
57
|
+
var _getImage = getImage(widget),
|
|
58
|
+
img = _getImage.img,
|
|
59
|
+
$img = _getImage.$img;
|
|
60
|
+
|
|
61
|
+
var $mediaSpan = widget.$container;
|
|
60
62
|
|
|
61
63
|
if (img.data('responsive') !== media.responsive) {
|
|
62
64
|
// switch between responsive and absolute values
|
|
@@ -68,7 +70,7 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
|
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
_(['width', 'height']).each(function (sizeAttr) {
|
|
71
|
-
|
|
73
|
+
var val;
|
|
72
74
|
|
|
73
75
|
if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
|
|
74
76
|
img.removeAttr(sizeAttr);
|
|
@@ -25,17 +25,19 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
25
25
|
* Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
26
26
|
*/
|
|
27
27
|
function getImage(widget) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
var $img = widget.$original;
|
|
29
|
+
var img = widget.element;
|
|
30
30
|
|
|
31
31
|
if (widget.element.is('figure')) {
|
|
32
32
|
$img = widget.$original.find('img');
|
|
33
|
-
img = _.find(widget.element.getBody().elements,
|
|
33
|
+
img = _.find(widget.element.getBody().elements, function (elem) {
|
|
34
|
+
return elem.is('img');
|
|
35
|
+
});
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
return {
|
|
37
|
-
$img,
|
|
38
|
-
img
|
|
39
|
+
$img: $img,
|
|
40
|
+
img: img
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
|
|
@@ -56,12 +58,12 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
56
58
|
*
|
|
57
59
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
58
60
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
var mediaSizer = function mediaSizer(media, widget) {
|
|
62
|
+
var _getImage = getImage(widget),
|
|
63
|
+
img = _getImage.img,
|
|
64
|
+
$img = _getImage.$img;
|
|
65
|
+
|
|
66
|
+
var $mediaSpan = widget.$container;
|
|
65
67
|
|
|
66
68
|
if (img.data('responsive') !== media.responsive) {
|
|
67
69
|
// switch between responsive and absolute values
|
|
@@ -73,7 +75,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
_(['width', 'height']).each(function (sizeAttr) {
|
|
76
|
-
|
|
78
|
+
var val;
|
|
77
79
|
|
|
78
80
|
if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
|
|
79
81
|
img.removeAttr(sizeAttr);
|
|
@@ -119,7 +121,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
119
121
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
120
122
|
*/
|
|
121
123
|
|
|
122
|
-
|
|
124
|
+
var getMedia = function getMedia(imgQtiElement, $imgNode, cb) {
|
|
123
125
|
//init data-responsive:
|
|
124
126
|
if (typeof imgQtiElement.data('responsive') === 'undefined') {
|
|
125
127
|
if (imgQtiElement.attr('width') && !/[0-9]+%/.test(imgQtiElement.attr('width'))) {
|
|
@@ -153,8 +155,8 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
153
155
|
}
|
|
154
156
|
};
|
|
155
157
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
var getMediaCb = function getMediaCb(media, widget, mediaEditor, options) {
|
|
159
|
+
var $mediaResizer = widget.$form.find('.img-resizer');
|
|
158
160
|
media.$container = widget.$container.parents('.widget-box');
|
|
159
161
|
|
|
160
162
|
if (media.$container.length) {
|
|
@@ -180,11 +182,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
180
182
|
return;
|
|
181
183
|
}
|
|
182
184
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
getMedia(img, $img,
|
|
185
|
+
var _getImage = getImage(widget),
|
|
186
|
+
img = _getImage.img,
|
|
187
|
+
$img = _getImage.$img;
|
|
188
|
+
|
|
189
|
+
getMedia(img, $img, function (m) {
|
|
190
|
+
return getMediaCb(m, widget, mediaEditor, options);
|
|
191
|
+
});
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
/*
|
|
@@ -232,12 +236,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
232
236
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
233
237
|
*
|
|
234
238
|
*/
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
239
|
+
var initAdvanced = function initAdvanced(widget) {
|
|
240
|
+
var $form = widget.$form;
|
|
241
|
+
|
|
242
|
+
var _getImage = getImage(widget),
|
|
243
|
+
img = _getImage.img;
|
|
244
|
+
|
|
245
|
+
var src = img ? img.attr('src') : '';
|
|
241
246
|
|
|
242
247
|
if (src) {
|
|
243
248
|
$form.find('[data-role=advanced]').show();
|
|
@@ -245,17 +250,18 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
245
250
|
$form.find('[data-role=advanced]').hide();
|
|
246
251
|
}
|
|
247
252
|
};
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
253
|
+
var initUpload = function initUpload(widget) {
|
|
254
|
+
var $form = widget.$form;
|
|
255
|
+
var options = widget.options;
|
|
256
|
+
|
|
257
|
+
var _getImage2 = getImage(widget),
|
|
258
|
+
img = _getImage2.img;
|
|
259
|
+
|
|
260
|
+
var $uploadTrigger = $form.find('[data-role="upload-trigger"]');
|
|
261
|
+
var $src = $form.find('input[name=src]');
|
|
262
|
+
var $alt = $form.find('input[name=alt]');
|
|
263
|
+
|
|
264
|
+
var _openResourceMgr = function _openResourceMgr() {
|
|
259
265
|
$uploadTrigger.resourcemgr({
|
|
260
266
|
title: __('Please select an image file from the resource manager. You can add files from your computer with the button "Add file(s)".'),
|
|
261
267
|
appendContainer: options.mediaManager.appendContainer,
|
|
@@ -284,9 +290,9 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
284
290
|
pathParam: 'path',
|
|
285
291
|
path: options.mediaManager.path,
|
|
286
292
|
root: options.mediaManager.root,
|
|
287
|
-
select: function (e, files) {
|
|
288
|
-
|
|
289
|
-
|
|
293
|
+
select: function select(e, files) {
|
|
294
|
+
var file, alt;
|
|
295
|
+
var confirmBox, cancel, save;
|
|
290
296
|
|
|
291
297
|
if (files && files.length) {
|
|
292
298
|
file = files[0].file;
|
|
@@ -304,7 +310,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
304
310
|
confirmBox = $('.change-alt-modal-feedback', $form);
|
|
305
311
|
cancel = confirmBox.find('.cancel');
|
|
306
312
|
save = confirmBox.find('.save');
|
|
307
|
-
$('.alt-text', confirmBox).html(
|
|
313
|
+
$('.alt-text', confirmBox).html("\"".concat($alt.val(), "\"<br>").concat(__('with'), "<br>\"").concat(alt, "\" ?"));
|
|
308
314
|
confirmBox.modal({
|
|
309
315
|
width: 500
|
|
310
316
|
});
|
|
@@ -324,13 +330,13 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
324
330
|
});
|
|
325
331
|
}
|
|
326
332
|
},
|
|
327
|
-
open: function () {
|
|
333
|
+
open: function open() {
|
|
328
334
|
// hide tooltip if displayed
|
|
329
335
|
if ($src.data('$tooltip')) {
|
|
330
336
|
$src.blur().data('$tooltip').hide();
|
|
331
337
|
}
|
|
332
338
|
},
|
|
333
|
-
close: function () {
|
|
339
|
+
close: function close() {
|
|
334
340
|
// triggers validation:
|
|
335
341
|
$src.blur();
|
|
336
342
|
}
|
|
@@ -366,7 +372,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
366
372
|
*
|
|
367
373
|
* Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
368
374
|
*/
|
|
369
|
-
|
|
375
|
+
var options = {
|
|
370
376
|
mediaDimension: {
|
|
371
377
|
active: true
|
|
372
378
|
},
|
|
@@ -375,14 +381,12 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
375
381
|
}
|
|
376
382
|
};
|
|
377
383
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
} = _ref;
|
|
385
|
-
const $img = widget.$original;
|
|
384
|
+
var formCallbacks = function formCallbacks(_ref) {
|
|
385
|
+
var widget = _ref.widget,
|
|
386
|
+
formElement = _ref.formElement,
|
|
387
|
+
mediaEditor = _ref.mediaEditor,
|
|
388
|
+
togglePlaceholder = _ref.togglePlaceholder;
|
|
389
|
+
var $img = widget.$original;
|
|
386
390
|
return {
|
|
387
391
|
src: _.throttle(function (img, value) {
|
|
388
392
|
img.attr('src', value);
|
|
@@ -402,21 +406,19 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
402
406
|
initMediaEditor(widget, mediaEditor, options);
|
|
403
407
|
}
|
|
404
408
|
}, 1000),
|
|
405
|
-
alt: function (img, value) {
|
|
409
|
+
alt: function alt(img, value) {
|
|
406
410
|
img.attr('alt', value);
|
|
407
411
|
},
|
|
408
412
|
longdesc: formElement.getAttributeChangeCallback()
|
|
409
413
|
};
|
|
410
414
|
};
|
|
411
415
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
togglePlaceholder
|
|
419
|
-
} = _ref2;
|
|
416
|
+
var initForm = function initForm(_ref2) {
|
|
417
|
+
var widget = _ref2.widget,
|
|
418
|
+
formElement = _ref2.formElement,
|
|
419
|
+
formTpl = _ref2.formTpl,
|
|
420
|
+
mediaEditor = _ref2.mediaEditor,
|
|
421
|
+
togglePlaceholder = _ref2.togglePlaceholder;
|
|
420
422
|
widget.$form.html(formTpl({
|
|
421
423
|
baseUrl: widget.options.baseUrl || '',
|
|
422
424
|
src: widget.element.attr('src'),
|
|
@@ -428,10 +430,10 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
428
430
|
formElement.initWidget(widget.$form); // init data change callbacks
|
|
429
431
|
|
|
430
432
|
formElement.setChangeCallbacks(widget.$form, widget.element, formCallbacks({
|
|
431
|
-
widget,
|
|
432
|
-
formElement,
|
|
433
|
-
mediaEditor,
|
|
434
|
-
togglePlaceholder
|
|
433
|
+
widget: widget,
|
|
434
|
+
formElement: formElement,
|
|
435
|
+
mediaEditor: mediaEditor,
|
|
436
|
+
togglePlaceholder: togglePlaceholder
|
|
435
437
|
}));
|
|
436
438
|
};
|
|
437
439
|
|
|
@@ -440,8 +442,8 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
440
442
|
* media Editor instance if has been initialized
|
|
441
443
|
* @type {null}
|
|
442
444
|
*/
|
|
443
|
-
|
|
444
|
-
|
|
445
|
+
var mediaEditor = null;
|
|
446
|
+
var ImgStateActive = stateFactory.extend(ActiveState, function () {
|
|
445
447
|
this.initForm();
|
|
446
448
|
}, function () {
|
|
447
449
|
this.widget.$form.empty();
|
|
@@ -450,9 +452,9 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
|
|
|
450
452
|
ImgStateActive.prototype.initForm = function () {
|
|
451
453
|
initForm({
|
|
452
454
|
widget: this.widget,
|
|
453
|
-
formElement,
|
|
454
|
-
formTpl,
|
|
455
|
-
mediaEditor,
|
|
455
|
+
formElement: formElement,
|
|
456
|
+
formTpl: formTpl,
|
|
457
|
+
mediaEditor: mediaEditor,
|
|
456
458
|
togglePlaceholder: inlineHelper.togglePlaceholder
|
|
457
459
|
});
|
|
458
460
|
};
|