@oat-sa/tao-core-ui 1.63.0 → 1.64.0

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.
Files changed (107) hide show
  1. package/dist/actionbar.js +2 -109
  2. package/dist/animable/absorbable/absorbable.js +2 -109
  3. package/dist/animable/pulsable/pulsable.js +2 -109
  4. package/dist/badge/badge.js +2 -109
  5. package/dist/breadcrumbs.js +2 -109
  6. package/dist/bulkActionPopup.js +2 -108
  7. package/dist/button.js +2 -110
  8. package/dist/cascadingComboBox.js +2 -108
  9. package/dist/class/selector.js +2 -108
  10. package/dist/component/windowed.js +2 -108
  11. package/dist/component.js +2 -109
  12. package/dist/contextualPopup.js +2 -109
  13. package/dist/dashboard.js +2 -108
  14. package/dist/datalist.js +2 -108
  15. package/dist/datatable.js +3 -108
  16. package/dist/dateRange/dateRange.js +2 -108
  17. package/dist/datetime/picker.js +2 -108
  18. package/dist/deleter.js +2 -108
  19. package/dist/destination/selector.js +2 -108
  20. package/dist/dialog/confirmDelete.js +2 -108
  21. package/dist/dialog.js +2 -108
  22. package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +2 -110
  23. package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +2 -109
  24. package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +2 -110
  25. package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +2 -109
  26. package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +2 -109
  27. package/dist/documentViewer/providers/pdfViewer.js +2 -109
  28. package/dist/documentViewer.js +2 -109
  29. package/dist/dropdown.js +2 -109
  30. package/dist/dynamicComponent.js +2 -109
  31. package/dist/feedback.js +2 -109
  32. package/dist/figure/FigureStateActive.js +25 -113
  33. package/dist/filter.js +2 -108
  34. package/dist/form/dropdownForm.js +2 -108
  35. package/dist/form/form.js +2 -109
  36. package/dist/form/validator/renderer.js +2 -109
  37. package/dist/form/widget/providers/checkBox.js +2 -108
  38. package/dist/form/widget/providers/comboBox.js +2 -110
  39. package/dist/form/widget/providers/hidden.js +2 -110
  40. package/dist/form/widget/providers/hiddenBox.js +2 -108
  41. package/dist/form/widget/providers/radioBox.js +2 -110
  42. package/dist/form/widget/providers/textArea.js +2 -110
  43. package/dist/form/widget/widget.js +2 -108
  44. package/dist/generis/form/form.js +2 -108
  45. package/dist/generis/validator/validator.js +2 -109
  46. package/dist/generis/widget/checkBox/checkBox.js +2 -108
  47. package/dist/generis/widget/comboBox/comboBox.js +2 -109
  48. package/dist/generis/widget/hiddenBox/hiddenBox.js +2 -109
  49. package/dist/generis/widget/textBox/textBox.js +2 -109
  50. package/dist/generis/widget/widget.js +2 -108
  51. package/dist/groupedComboBox.js +2 -108
  52. package/dist/itemButtonList.js +2 -110
  53. package/dist/listbox.js +2 -108
  54. package/dist/loadingButton/loadingButton.js +2 -109
  55. package/dist/lock.js +2 -108
  56. package/dist/login/login.js +2 -108
  57. package/dist/maths/calculator/basicCalculator.js +2 -109
  58. package/dist/maths/calculator/core/board.js +2 -108
  59. package/dist/maths/calculator/core/expression.js +2 -109
  60. package/dist/maths/calculator/core/labels.js +2 -109
  61. package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +2 -109
  62. package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +2 -109
  63. package/dist/maths/calculator/scientificCalculator.js +2 -108
  64. package/dist/mediaEditor/mediaEditorComponent.js +2 -109
  65. package/dist/mediaEditor/plugins/mediaAlignment/helper.js +49 -2
  66. package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +2 -110
  67. package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +2 -109
  68. package/dist/mediaplayer/players/html5.js +2 -110
  69. package/dist/mediaplayer/players/youtube.js +2 -110
  70. package/dist/mediaplayer.js +2 -109
  71. package/dist/mediasizer.js +2 -109
  72. package/dist/pageSizeSelector.js +2 -109
  73. package/dist/pagination/providers/pages.js +2 -109
  74. package/dist/pagination/providers/simple.js +2 -110
  75. package/dist/propertySelector/propertySelector.js +2 -110
  76. package/dist/report.js +2 -109
  77. package/dist/resource/filters.js +2 -108
  78. package/dist/resource/list.js +29 -119
  79. package/dist/resource/selector.js +2 -108
  80. package/dist/resource/tree.js +29 -119
  81. package/dist/resourcemgr/fileBrowser.js +478 -585
  82. package/dist/resourcemgr/fileSelector.js +2 -108
  83. package/dist/resourcemgr.js +2 -109
  84. package/dist/searchModal/advancedSearch.js +2 -109
  85. package/dist/searchModal.js +16 -107
  86. package/dist/switch/switch.js +2 -108
  87. package/dist/tabs.js +2 -109
  88. package/dist/taskQueue/status.js +2 -108
  89. package/dist/taskQueue/table.js +2 -108
  90. package/dist/taskQueueButton/taskable.js +2 -108
  91. package/dist/taskQueueButton/treeButton.js +2 -109
  92. package/dist/tooltip.js +2 -109
  93. package/dist/tristateCheckboxGroup.js +2 -108
  94. package/dist/uploader.js +2 -108
  95. package/package.json +2 -2
  96. package/scss/inc/_feedback.scss +4 -0
  97. package/src/css/basic.css +4 -0
  98. package/src/css/basic.css.map +1 -1
  99. package/src/figure/FigureStateActive.js +15 -5
  100. package/src/mediaEditor/plugins/mediaAlignment/helper.js +48 -0
  101. package/scss/.DS_Store +0 -0
  102. package/scss/ckeditor/.DS_Store +0 -0
  103. package/scss/ckeditor/skins/.DS_Store +0 -0
  104. package/scss/ckeditor/skins/tao/.DS_Store +0 -0
  105. package/scss/ckeditor/skins/tao/scss/.DS_Store +0 -0
  106. package/scss/font/.DS_Store +0 -0
  107. package/scss/inc/.DS_Store +0 -0
@@ -97,12 +97,14 @@ const formCallbacks = ({ widget, formElement, mediaEditor, togglePlaceholder })
97
97
  const initForm = ({ widget, formElement, formTpl, mediaEditor, togglePlaceholder }) => {
98
98
  const imageElem = getImageElement(widget);
99
99
  const figcaptionElem = getCaptionElement(widget);
100
+ const showFigure = widget.element.attr('showFigure');
100
101
  widget.$form.html(
101
102
  formTpl({
102
103
  baseUrl: widget.options.baseUrl || '',
103
104
  src: imageElem.attr('src'),
104
105
  alt: imageElem.attr('alt'),
105
- figcaption: figcaptionElem ? figcaptionElem.body() : ''
106
+ figcaption: figcaptionElem ? figcaptionElem.body() : '',
107
+ showFigure: showFigure
106
108
  })
107
109
  );
108
110
 
@@ -125,7 +127,15 @@ const initForm = ({ widget, formElement, formTpl, mediaEditor, togglePlaceholder
125
127
  );
126
128
  };
127
129
 
128
- export default function (stateFactory, ActiveState, formTpl, formElement, inlineHelper) {
130
+ /**
131
+ * @param {Object} stateFactory
132
+ * @param {Object} ActiveState
133
+ * @param {Object} formTpl
134
+ * @param {Object} formElement
135
+ * @param {Object} inlineHelper
136
+ * @returns
137
+ */
138
+ export default function ({ stateFactory, ActiveState, formTpl, formElement, inlineHelper }) {
129
139
  /**
130
140
  * media Editor instance if has been initialized
131
141
  * @type {null}
@@ -134,7 +144,7 @@ export default function (stateFactory, ActiveState, formTpl, formElement, inline
134
144
  let textareaObserver = null;
135
145
  let texareaHTMLElem = null;
136
146
 
137
- const ImgStateActive = stateFactory.extend(
147
+ const FigureStateActive = stateFactory.extend(
138
148
  ActiveState,
139
149
  function () {
140
150
  this.initForm();
@@ -148,7 +158,7 @@ export default function (stateFactory, ActiveState, formTpl, formElement, inline
148
158
  }
149
159
  );
150
160
 
151
- ImgStateActive.prototype.initForm = function () {
161
+ FigureStateActive.prototype.initForm = function () {
152
162
  initForm({
153
163
  widget: this.widget,
154
164
  formElement,
@@ -170,5 +180,5 @@ export default function (stateFactory, ActiveState, formTpl, formElement, inline
170
180
  }
171
181
  };
172
182
 
173
- return ImgStateActive;
183
+ return FigureStateActive;
174
184
  }
@@ -15,10 +15,34 @@
15
15
  *
16
16
  * Copyright (c) 2021-2022 (original work) Open Assessment Technologies SA;
17
17
  */
18
+ import _ from 'lodash';
18
19
 
19
20
  export const FLOAT_LEFT_CLASS = 'wrap-left';
20
21
  export const FLOAT_RIGHT_CLASS = 'wrap-right';
21
22
 
23
+ const searchRecurse = (parentElement, serial) => {
24
+ if (!parentElement) {
25
+ return null;
26
+ }
27
+ if (parentElement.serial === serial) {
28
+ return parentElement;
29
+ }
30
+ let found = null;
31
+ _.some(parentElement['elements'], childElement => {
32
+ if (childElement.serial === serial) {
33
+ found = parentElement;
34
+ } else if (childElement['elements']) {
35
+ found = searchRecurse(childElement, serial);
36
+ } else if (childElement['prompt']) {
37
+ found = searchRecurse(childElement.prompt.bdy, serial);
38
+ }
39
+ if (found) {
40
+ return true;
41
+ }
42
+ });
43
+ return found;
44
+ };
45
+
22
46
  export const positionFloat = function positionFloat(widget, position) {
23
47
  if (!position) {
24
48
  return;
@@ -43,12 +67,36 @@ export const positionFloat = function positionFloat(widget, position) {
43
67
  // Update DOM
44
68
  widget.$container.addClass(className);
45
69
  // Update model
70
+ const prevClassName = widget.element.attr('class') || '';
46
71
  if (className) {
47
72
  widget.element.attr('class', className);
48
73
  } else {
49
74
  widget.element.removeAttr('class');
50
75
  }
51
76
 
77
+ if (prevClassName !== className) {
78
+ // Re-build Figure widget to toggle between inline/block
79
+ const parent = searchRecurse(widget.element.bdy.rootElement.bdy, widget.serial);
80
+ // avoid changes on Figure in a prompt
81
+ if (parent.contentModel && parent.contentModel === 'inlineStatic') {
82
+ _.defer(() => {
83
+ widget.element.data('widget').refresh();
84
+ });
85
+ return;
86
+ }
87
+ widget.element.data('widget').changeState('sleep');
88
+ _.defer(() => {
89
+ if (parent && parent.data('widget')) {
90
+ parent.data('widget').changeState('active');
91
+ _.defer(() => {
92
+ parent.data('widget').changeState('sleep');
93
+ _.defer(() => {
94
+ widget.element.data('widget').changeState('active');
95
+ });
96
+ });
97
+ }
98
+ });
99
+ }
52
100
  widget.$original.trigger('contentChange.qti-widget');
53
101
  };
54
102
 
package/scss/.DS_Store DELETED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file