@oat-sa/tao-core-ui 1.64.1 → 1.64.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/LICENSE +339 -339
- package/README.md +22 -22
- package/dist/actionbar.js +92 -92
- package/dist/adder.js +109 -109
- package/dist/animable/absorbable/absorbable.js +29 -29
- package/dist/animable/absorbable/css/absorb.css +7 -7
- package/dist/animable/absorbable/css/absorb.css.map +1 -1
- package/dist/animable/pulsable/css/pulse.css +7 -7
- package/dist/animable/pulsable/css/pulse.css.map +1 -1
- package/dist/animable/pulsable/pulsable.js +23 -23
- package/dist/areaBroker.js +51 -51
- package/dist/autocomplete/css/autocomplete.css +7 -7
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +384 -384
- package/dist/autoscroll.js +22 -22
- package/dist/badge/badge.js +35 -35
- package/dist/badge/css/badge.css +7 -7
- package/dist/badge/css/badge.css.map +1 -1
- package/dist/breadcrumbs/css/breadcrumbs.css +7 -7
- package/dist/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/dist/breadcrumbs.js +57 -57
- package/dist/btngrouper.js +64 -64
- package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/dist/bulkActionPopup.js +91 -91
- package/dist/button.js +89 -89
- package/dist/calculator/css/calculator.css +10 -10
- package/dist/calculator/css/calculator.css.map +1 -1
- package/dist/calculator.js +51 -51
- package/dist/cascadingComboBox.js +34 -34
- package/dist/ckeditor/ckConfigurator.js +49 -49
- package/dist/ckeditor/dtdHandler.js +110 -110
- package/dist/class/css/selector.css +7 -7
- package/dist/class/css/selector.css.map +1 -1
- package/dist/class/selector.js +98 -98
- package/dist/component/alignable.js +81 -81
- package/dist/component/containable.js +37 -37
- package/dist/component/css/components.css +7 -7
- package/dist/component/css/components.css.map +1 -1
- package/dist/component/css/windowComponent.css +7 -7
- package/dist/component/css/windowComponent.css.map +1 -1
- package/dist/component/draggable.js +25 -25
- package/dist/component/placeable.js +70 -70
- package/dist/component/resizable.js +61 -61
- package/dist/component/stackable.js +20 -20
- package/dist/component/windowed.js +46 -46
- package/dist/component.js +140 -140
- package/dist/container.js +76 -76
- package/dist/contextualPopup/css/contextualPopup.css +7 -7
- package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
- package/dist/contextualPopup.js +100 -100
- package/dist/dashboard/css/dashboard.css +7 -7
- package/dist/dashboard/css/dashboard.css.map +1 -1
- package/dist/dashboard.js +62 -62
- package/dist/datalist/css/datalist.css +7 -7
- package/dist/datalist/css/datalist.css.map +1 -1
- package/dist/datalist.js +147 -147
- package/dist/datatable/css/datatable.css +7 -7
- package/dist/datatable/css/datatable.css.map +1 -1
- package/dist/datatable/filterStrategy/filterStrategy.js +27 -27
- package/dist/datatable/filterStrategy/multiple.js +25 -25
- package/dist/datatable/filterStrategy/single.js +25 -25
- package/dist/datatable.js +377 -377
- package/dist/dateRange/css/dateRange.css +7 -7
- package/dist/dateRange/css/dateRange.css.map +1 -1
- package/dist/dateRange/dateRange.js +97 -97
- package/dist/datetime/css/picker.css +7 -7
- package/dist/datetime/css/picker.css.map +1 -1
- package/dist/datetime/picker.js +161 -161
- package/dist/deleter.js +79 -79
- package/dist/destination/css/selector.css +7 -7
- package/dist/destination/css/selector.css.map +1 -1
- package/dist/destination/selector.js +52 -52
- package/dist/dialog/alert.js +26 -26
- package/dist/dialog/confirm.js +27 -27
- package/dist/dialog/confirmDelete.js +31 -31
- package/dist/dialog.js +141 -141
- package/dist/disabler.js +90 -90
- package/dist/documentViewer/css/documentViewer.css +7 -7
- package/dist/documentViewer/css/documentViewer.css.map +1 -1
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +30 -30
- package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +25 -25
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +120 -120
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +89 -89
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +52 -52
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +112 -112
- package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +67 -67
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +81 -81
- package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +111 -111
- package/dist/documentViewer/providers/pdfViewer.js +29 -29
- package/dist/documentViewer/viewerFactory.js +71 -71
- package/dist/documentViewer.js +86 -86
- package/dist/dropdown/css/dropdown.css +7 -7
- package/dist/dropdown/css/dropdown.css.map +1 -1
- package/dist/dropdown.js +84 -84
- package/dist/durationer.js +58 -58
- package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
- package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/dist/dynamicComponent.js +103 -103
- package/dist/feedback.js +84 -84
- package/dist/figure/FigureStateActive.js +111 -111
- package/dist/filesender.js +26 -26
- package/dist/filter.js +34 -34
- package/dist/form/css/dropdownForm.css +7 -7
- package/dist/form/css/dropdownForm.css.map +1 -1
- package/dist/form/css/form.css +7 -7
- package/dist/form/css/form.css.map +1 -1
- package/dist/form/dropdownForm.js +99 -99
- package/dist/form/form.js +248 -248
- package/dist/form/simpleForm.js +71 -71
- package/dist/form/validator/css/validator.css +7 -7
- package/dist/form/validator/css/validator.css.map +1 -1
- package/dist/form/validator/renderer.js +52 -52
- package/dist/form/validator/validator.js +103 -103
- package/dist/form/widget/css/widget.css +7 -7
- package/dist/form/widget/css/widget.css.map +1 -1
- package/dist/form/widget/definitions.js +24 -24
- package/dist/form/widget/loader.js +16 -16
- package/dist/form/widget/providers/checkBox.js +62 -62
- package/dist/form/widget/providers/comboBox.js +46 -46
- package/dist/form/widget/providers/default.js +35 -35
- package/dist/form/widget/providers/hidden.js +37 -37
- package/dist/form/widget/providers/hiddenBox.js +58 -58
- package/dist/form/widget/providers/radioBox.js +57 -57
- package/dist/form/widget/providers/textArea.js +35 -35
- package/dist/form/widget/providers/textBox.js +34 -34
- package/dist/form/widget/widget.js +141 -141
- package/dist/form.js +10 -10
- package/dist/formValidator/formValidator.js +61 -61
- package/dist/formValidator/highlighters/highlighter.js +41 -41
- package/dist/formValidator/highlighters/message.js +29 -29
- package/dist/formValidator/highlighters/tooltip.js +32 -32
- package/dist/generis/form/css/form.css +7 -7
- package/dist/generis/form/css/form.css.map +1 -1
- package/dist/generis/form/form.js +73 -73
- package/dist/generis/validator/css/validator.css +7 -7
- package/dist/generis/validator/css/validator.css.map +1 -1
- package/dist/generis/validator/validator.js +38 -38
- package/dist/generis/widget/checkBox/checkBox.js +39 -39
- package/dist/generis/widget/comboBox/comboBox.js +32 -32
- package/dist/generis/widget/css/widget.css +7 -7
- package/dist/generis/widget/css/widget.css.map +1 -1
- package/dist/generis/widget/hiddenBox/hiddenBox.js +40 -40
- package/dist/generis/widget/loader.js +20 -20
- package/dist/generis/widget/textBox/textBox.js +27 -27
- package/dist/generis/widget/widget.js +47 -47
- package/dist/groupedComboBox.js +36 -36
- package/dist/groupvalidator.js +19 -19
- package/dist/hider.js +41 -41
- package/dist/highlighter.js +278 -278
- package/dist/image/ImgStateActive/extractLabel.js +20 -20
- package/dist/image/ImgStateActive/helper.js +16 -16
- package/dist/image/ImgStateActive/initHelper.js +85 -85
- package/dist/image/ImgStateActive/initMediaEditor.js +48 -48
- package/dist/image/ImgStateActive/mediaSizer.js +32 -32
- package/dist/image/ImgStateActive.js +104 -104
- package/dist/incrementer.js +58 -58
- package/dist/inplacer.js +87 -87
- package/dist/interactUtils.js +42 -42
- package/dist/itemButtonList/css/item-button-list.css +23 -23
- package/dist/itemButtonList/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +102 -102
- package/dist/keyNavigation/navigableDomElement.js +76 -76
- package/dist/keyNavigation/navigator.js +158 -158
- package/dist/listbox/css/listbox.css +7 -7
- package/dist/listbox/css/listbox.css.map +1 -1
- package/dist/listbox.js +84 -84
- package/dist/liststyler.js +57 -57
- package/dist/loadingButton/css/button.css +7 -7
- package/dist/loadingButton/css/button.css.map +1 -1
- package/dist/loadingButton/loadingButton.js +35 -35
- package/dist/lock.js +112 -112
- package/dist/login/login.js +87 -87
- package/dist/maths/calculator/basicCalculator.js +50 -50
- package/dist/maths/calculator/calculatorComponent.js +29 -29
- package/dist/maths/calculator/core/areaBroker.js +25 -25
- package/dist/maths/calculator/core/board.js +300 -300
- package/dist/maths/calculator/core/expression.js +98 -98
- package/dist/maths/calculator/core/labels.js +16 -16
- package/dist/maths/calculator/core/plugin.js +19 -19
- package/dist/maths/calculator/core/terms.js +26 -26
- package/dist/maths/calculator/core/tokenizer.js +98 -98
- package/dist/maths/calculator/core/tokens.js +75 -75
- package/dist/maths/calculator/css/calculator.css +7 -7
- package/dist/maths/calculator/css/calculator.css.map +1 -1
- package/dist/maths/calculator/defaultCalculator.js +23 -23
- package/dist/maths/calculator/plugins/core/degrad.js +22 -22
- package/dist/maths/calculator/plugins/core/history.js +45 -45
- package/dist/maths/calculator/plugins/core/remind.js +22 -22
- package/dist/maths/calculator/plugins/core/stepNavigation.js +31 -31
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +48 -48
- package/dist/maths/calculator/plugins/modifiers/pow10.js +35 -35
- package/dist/maths/calculator/plugins/modifiers/sign.js +90 -90
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +47 -47
- package/dist/maths/calculator/pluginsLoader.js +21 -21
- package/dist/maths/calculator/scientificCalculator.js +78 -78
- package/dist/mediaEditor/mediaEditorComponent.js +51 -51
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +16 -16
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +47 -47
- package/dist/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/dist/mediaEditor/plugins/mediaDimension/helper.js +70 -70
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +140 -140
- package/dist/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/dist/mediaplayer/css/player.css +7 -7
- package/dist/mediaplayer/css/player.css.map +1 -1
- package/dist/mediaplayer/players/html5.js +52 -52
- package/dist/mediaplayer/players/youtube.js +39 -39
- package/dist/mediaplayer/players.js +18 -18
- package/dist/mediaplayer/support.js +55 -55
- package/dist/mediaplayer/utils/reminder.js +100 -100
- package/dist/mediaplayer/utils/timeObserver.js +92 -92
- package/dist/mediaplayer/youtubeManager.js +51 -51
- package/dist/mediaplayer.js +447 -447
- package/dist/mediasizer.js +122 -122
- package/dist/modal.js +87 -87
- package/dist/movableComponent.js +35 -35
- package/dist/pageSizeSelector.js +31 -31
- package/dist/pageStatus.js +33 -33
- package/dist/pagination/css/pagination.css +7 -7
- package/dist/pagination/css/pagination.css.map +1 -1
- package/dist/pagination/paginationStrategy.js +23 -23
- package/dist/pagination/providers/pages.js +24 -24
- package/dist/pagination/providers/simple.js +22 -22
- package/dist/pagination.js +45 -45
- package/dist/previewer.js +67 -67
- package/dist/progressbar.js +58 -58
- package/dist/propertySelector/css/propertySelector.css +7 -7
- package/dist/propertySelector/css/propertySelector.css.map +1 -1
- package/dist/propertySelector/propertySelector.js +86 -86
- package/dist/report.js +73 -73
- package/dist/resource/css/selector.css +7 -7
- package/dist/resource/css/selector.css.map +1 -1
- package/dist/resource/filters.js +60 -60
- package/dist/resource/list.js +53 -53
- package/dist/resource/selectable.js +92 -92
- package/dist/resource/selector.js +182 -182
- package/dist/resource/tree.js +91 -91
- package/dist/resourcemgr/css/resourcemgr.css +7 -7
- package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
- package/dist/resourcemgr/fileBrowser.js +75 -75
- package/dist/resourcemgr/fileSelector.js +45 -45
- package/dist/resourcemgr/util/updatePermissions.js +4 -4
- package/dist/resourcemgr.js +49 -49
- package/dist/scroller.js +26 -26
- package/dist/searchModal/advancedSearch.js +155 -155
- package/dist/searchModal/css/advancedSearch.css +7 -7
- package/dist/searchModal/css/advancedSearch.css.map +1 -1
- package/dist/searchModal/css/searchModal.css +7 -7
- package/dist/searchModal/css/searchModal.css.map +1 -1
- package/dist/searchModal.js +134 -134
- package/dist/selecter.js +6 -6
- package/dist/stacker.js +43 -43
- package/dist/switch/css/switch.css +7 -7
- package/dist/switch/css/switch.css.map +1 -1
- package/dist/switch/switch.js +62 -62
- package/dist/tableModel.js +33 -33
- package/dist/tabs/css/tabs.css +12 -12
- package/dist/tabs/css/tabs.css.map +1 -1
- package/dist/tabs.js +220 -220
- package/dist/taskQueue/css/taskQueue.css +7 -7
- package/dist/taskQueue/css/taskQueue.css.map +1 -1
- package/dist/taskQueue/status.js +59 -59
- package/dist/taskQueue/table.js +54 -54
- package/dist/taskQueue/taskQueue.js +18 -18
- package/dist/taskQueue/taskQueueModel.js +102 -102
- package/dist/taskQueue.js +47 -47
- package/dist/taskQueueButton/css/taskable.css +7 -7
- package/dist/taskQueueButton/css/taskable.css.map +1 -1
- package/dist/taskQueueButton/css/treeButton.css +7 -7
- package/dist/taskQueueButton/css/treeButton.css.map +1 -1
- package/dist/taskQueueButton/standardButton.js +39 -39
- package/dist/taskQueueButton/taskable.js +41 -41
- package/dist/taskQueueButton/treeButton.js +43 -43
- package/dist/themeLoader.js +75 -75
- package/dist/themes.js +84 -84
- package/dist/toggler.js +57 -57
- package/dist/tooltip.js +41 -41
- package/dist/tooltipster.js +17 -17
- package/dist/transformer.js +117 -117
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/dist/tristateCheckboxGroup.js +62 -62
- package/dist/uploader.js +145 -145
- package/dist/validator/validators.js +48 -48
- package/dist/validator.js +23 -23
- package/dist/waitForMedia.js +33 -33
- package/dist/waitingDialog/css/waitingDialog.css +7 -7
- package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
- package/dist/waitingDialog/waitingDialog.js +54 -54
- package/package.json +110 -110
- package/scss/basic.scss +16 -16
- package/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +60 -60
- package/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -59
- package/scss/font/tao/tao.svg +235 -235
- package/scss/inc/_base.scss +495 -495
- package/scss/inc/_bootstrap.scss +6 -6
- package/scss/inc/_buttons.scss +114 -114
- package/scss/inc/_colors.scss +93 -93
- package/scss/inc/_feedback.scss +154 -154
- package/scss/inc/_flex-grid.scss +15 -15
- package/scss/inc/_fonts.scss +4 -4
- package/scss/inc/_forms.scss +832 -832
- package/scss/inc/_functions.scss +283 -283
- package/scss/inc/_jquery.nouislider.scss +254 -254
- package/scss/inc/_normalize.scss +528 -528
- package/scss/inc/_report.scss +67 -67
- package/scss/inc/_secondary-properties.scss +89 -89
- package/scss/inc/_select2.scss +634 -634
- package/scss/inc/_toolbars.scss +155 -155
- package/scss/inc/_tooltip.scss +312 -312
- package/scss/inc/_variables.scss +21 -21
- package/scss/inc/base/_highlight.scss +5 -5
- package/scss/inc/base/_list-style.scss +58 -58
- package/scss/inc/base/_svg.scss +3 -3
- package/scss/inc/base/_table.scss +62 -62
- package/scss/inc/fonts/_source-sans-pro.scss +29 -29
- package/scss/inc/fonts/_tao-icon-classes.scss +227 -227
- package/scss/inc/fonts/_tao-icon-def.scss +12 -12
- package/scss/inc/fonts/_tao-icon-vars.scss +241 -241
- package/src/actionbar/tpl/main.tpl +8 -8
- package/src/actionbar.js +251 -251
- package/src/adder.js +250 -250
- package/src/animable/absorbable/absorbable.js +134 -134
- package/src/animable/absorbable/css/absorb.css +7 -7
- package/src/animable/absorbable/css/absorb.css.map +1 -1
- package/src/animable/absorbable/scss/absorb.scss +37 -37
- package/src/animable/pulsable/css/pulse.css +7 -7
- package/src/animable/pulsable/css/pulse.css.map +1 -1
- package/src/animable/pulsable/pulsable.js +90 -90
- package/src/animable/pulsable/scss/pulse.scss +22 -22
- package/src/areaBroker.js +160 -160
- package/src/autocomplete/css/autocomplete.css +7 -7
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/autocomplete/scss/autocomplete.scss +37 -37
- package/src/autocomplete.js +1027 -1027
- package/src/autoscroll.js +57 -57
- package/src/badge/badge.js +119 -119
- package/src/badge/css/badge.css +7 -7
- package/src/badge/css/badge.css.map +1 -1
- package/src/badge/scss/badge.scss +92 -92
- package/src/badge/tpl/badge.tpl +4 -4
- package/src/breadcrumbs/css/breadcrumbs.css +7 -7
- package/src/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/src/breadcrumbs/scss/breadcrumbs.scss +52 -52
- package/src/breadcrumbs/tpl/breadcrumbs.tpl +20 -20
- package/src/breadcrumbs.js +99 -99
- package/src/btngrouper.js +213 -213
- package/src/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/src/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/src/bulkActionPopup/scss/bulkActionPopup.scss +63 -63
- package/src/bulkActionPopup/tpl/layout.tpl +76 -76
- package/src/bulkActionPopup/tpl/select.tpl +8 -8
- package/src/bulkActionPopup.js +274 -274
- package/src/button/tpl/button.tpl +4 -4
- package/src/button.js +135 -135
- package/src/calculator/css/calculator.css +10 -10
- package/src/calculator/css/calculator.css.map +1 -1
- package/src/calculator/scss/calculator.scss +139 -139
- package/src/calculator.js +188 -188
- package/src/cascadingComboBox.js +126 -126
- package/src/ckeditor/ckConfigurator.js +742 -742
- package/src/ckeditor/dtdHandler.js +1030 -1030
- package/src/class/css/selector.css +7 -7
- package/src/class/css/selector.css.map +1 -1
- package/src/class/scss/selector.scss +101 -101
- package/src/class/selector.js +329 -329
- package/src/class/tpl/listItem.tpl +9 -9
- package/src/class/tpl/selector.tpl +10 -10
- package/src/component/alignable.js +274 -274
- package/src/component/containable.js +122 -122
- package/src/component/css/components.css +7 -7
- package/src/component/css/components.css.map +1 -1
- package/src/component/css/windowComponent.css +7 -7
- package/src/component/css/windowComponent.css.map +1 -1
- package/src/component/draggable.js +104 -104
- package/src/component/placeable.js +233 -233
- package/src/component/resizable.js +195 -195
- package/src/component/scss/components.scss +507 -507
- package/src/component/scss/windowComponent.scss +62 -62
- package/src/component/stackable.js +67 -67
- package/src/component/tpl/window.tpl +7 -7
- package/src/component/windowed.js +206 -206
- package/src/component.js +401 -401
- package/src/container.js +200 -200
- package/src/contextualPopup/css/contextualPopup.css +7 -7
- package/src/contextualPopup/css/contextualPopup.css.map +1 -1
- package/src/contextualPopup/scss/contextualPopup.scss +78 -78
- package/src/contextualPopup/tpl/popup.tpl +10 -10
- package/src/contextualPopup.js +294 -294
- package/src/css/basic.css +104 -104
- package/src/css/basic.css.map +1 -1
- package/src/dashboard/css/dashboard.css +7 -7
- package/src/dashboard/css/dashboard.css.map +1 -1
- package/src/dashboard/scss/dashboard.scss +93 -93
- package/src/dashboard/tpl/dashboard.tpl +16 -16
- package/src/dashboard/tpl/dashboardMetricsList.tpl +15 -15
- package/src/dashboard.js +179 -179
- package/src/datalist/css/datalist.css +7 -7
- package/src/datalist/css/datalist.css.map +1 -1
- package/src/datalist/scss/datalist.scss +116 -116
- package/src/datalist/tpl/list.tpl +24 -24
- package/src/datalist/tpl/main.tpl +44 -44
- package/src/datalist.js +500 -500
- package/src/datatable/css/datatable.css +7 -7
- package/src/datatable/css/datatable.css.map +1 -1
- package/src/datatable/filterStrategy/filterStrategy.js +70 -70
- package/src/datatable/filterStrategy/multiple.js +126 -126
- package/src/datatable/filterStrategy/single.js +108 -108
- package/src/datatable/scss/datatable.scss +149 -149
- package/src/datatable/tpl/button.tpl +6 -6
- package/src/datatable/tpl/layout.tpl +158 -158
- package/src/datatable.js +1056 -1056
- package/src/dateRange/css/dateRange.css +7 -7
- package/src/dateRange/css/dateRange.css.map +1 -1
- package/src/dateRange/dateRange.js +341 -341
- package/src/dateRange/scss/dateRange.scss +7 -7
- package/src/dateRange/tpl/select.tpl +18 -18
- package/src/datetime/css/picker.css +7 -7
- package/src/datetime/css/picker.css.map +1 -1
- package/src/datetime/picker.js +576 -576
- package/src/datetime/scss/picker.scss +192 -192
- package/src/datetime/tpl/picker.tpl +18 -18
- package/src/deleter/undo.tpl +6 -6
- package/src/deleter.js +296 -296
- package/src/destination/css/selector.css +7 -7
- package/src/destination/css/selector.css.map +1 -1
- package/src/destination/scss/selector.scss +36 -36
- package/src/destination/selector.js +195 -195
- package/src/destination/tpl/selector.tpl +13 -13
- package/src/dialog/alert.js +70 -70
- package/src/dialog/confirm.js +85 -85
- package/src/dialog/confirmDelete.js +95 -95
- package/src/dialog/tpl/body.tpl +24 -24
- package/src/dialog/tpl/buttons.tpl +6 -6
- package/src/dialog/tpl/checkbox.tpl +5 -5
- package/src/dialog.js +517 -517
- package/src/disabler.js +230 -230
- package/src/documentViewer/css/documentViewer.css +7 -7
- package/src/documentViewer/css/documentViewer.css.map +1 -1
- package/src/documentViewer/providers/pdfViewer/fallback/viewer.js +69 -69
- package/src/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +41 -41
- package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.js +475 -475
- package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.tpl +20 -20
- package/src/documentViewer/providers/pdfViewer/pdfjs/match.tpl +1 -1
- package/src/documentViewer/providers/pdfViewer/pdfjs/page.tpl +4 -4
- package/src/documentViewer/providers/pdfViewer/pdfjs/pageView.js +318 -318
- package/src/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +167 -167
- package/src/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +451 -451
- package/src/documentViewer/providers/pdfViewer/pdfjs/textManager.js +252 -252
- package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.js +299 -299
- package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.tpl +16 -16
- package/src/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +351 -351
- package/src/documentViewer/providers/pdfViewer.js +93 -93
- package/src/documentViewer/scss/documentViewer.scss +184 -184
- package/src/documentViewer/viewerFactory.js +191 -191
- package/src/documentViewer.js +238 -238
- package/src/dropdown/css/dropdown.css +7 -7
- package/src/dropdown/css/dropdown.css.map +1 -1
- package/src/dropdown/scss/dropdown.scss +99 -99
- package/src/dropdown/tpl/dropdown.tpl +8 -8
- package/src/dropdown/tpl/list-item.tpl +4 -4
- package/src/dropdown.js +255 -255
- package/src/durationer.js +220 -220
- package/src/dynamicComponent/css/dynamicComponent.css +7 -7
- package/src/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/src/dynamicComponent/scss/dynamicComponent.scss +98 -98
- package/src/dynamicComponent/tpl/layout.tpl +17 -17
- package/src/dynamicComponent.js +553 -553
- package/src/feedback/feedback.tpl +7 -7
- package/src/feedback.js +295 -295
- package/src/figure/FigureStateActive.js +184 -184
- package/src/filesender.js +112 -112
- package/src/filter/template.tpl +5 -5
- package/src/filter.js +129 -129
- package/src/form/css/dropdownForm.css +7 -7
- package/src/form/css/dropdownForm.css.map +1 -1
- package/src/form/css/form.css +7 -7
- package/src/form/css/form.css.map +1 -1
- package/src/form/dropdownForm.js +281 -281
- package/src/form/form.js +688 -688
- package/src/form/scss/dropdownForm.scss +60 -60
- package/src/form/scss/form.scss +25 -25
- package/src/form/simpleForm.js +125 -125
- package/src/form/tpl/dropdownForm.tpl +4 -4
- package/src/form/tpl/form.tpl +7 -7
- package/src/form/validator/css/validator.css +7 -7
- package/src/form/validator/css/validator.css.map +1 -1
- package/src/form/validator/renderer.js +118 -118
- package/src/form/validator/scss/validator.scss +14 -14
- package/src/form/validator/tpl/message.tpl +1 -1
- package/src/form/validator/tpl/validator.tpl +1 -1
- package/src/form/validator/validator.js +220 -220
- package/src/form/widget/css/widget.css +7 -7
- package/src/form/widget/css/widget.css.map +1 -1
- package/src/form/widget/definitions.js +51 -51
- package/src/form/widget/loader.js +40 -40
- package/src/form/widget/providers/checkBox.js +138 -138
- package/src/form/widget/providers/comboBox.js +63 -63
- package/src/form/widget/providers/default.js +90 -90
- package/src/form/widget/providers/hidden.js +62 -62
- package/src/form/widget/providers/hiddenBox.js +152 -152
- package/src/form/widget/providers/radioBox.js +99 -99
- package/src/form/widget/providers/textArea.js +52 -52
- package/src/form/widget/providers/textBox.js +48 -48
- package/src/form/widget/scss/widget.scss +55 -55
- package/src/form/widget/tpl/checkBox.tpl +25 -25
- package/src/form/widget/tpl/comboBox.tpl +13 -13
- package/src/form/widget/tpl/hidden.tpl +1 -1
- package/src/form/widget/tpl/hiddenBox.tpl +17 -17
- package/src/form/widget/tpl/label.tpl +6 -6
- package/src/form/widget/tpl/radioBox.tpl +25 -25
- package/src/form/widget/tpl/textArea.tpl +8 -8
- package/src/form/widget/tpl/widget.tpl +8 -8
- package/src/form/widget/widget.js +372 -372
- package/src/form.js +47 -47
- package/src/formValidator/formValidator.js +253 -253
- package/src/formValidator/highlighters/highlighter.js +103 -103
- package/src/formValidator/highlighters/message.js +68 -68
- package/src/formValidator/highlighters/tooltip.js +78 -78
- package/src/generis/form/css/form.css +7 -7
- package/src/generis/form/css/form.css.map +1 -1
- package/src/generis/form/form.js +239 -239
- package/src/generis/form/readme.md +70 -70
- package/src/generis/form/scss/form.scss +23 -23
- package/src/generis/form/tpl/form.tpl +16 -16
- package/src/generis/validator/css/validator.css +7 -7
- package/src/generis/validator/css/validator.css.map +1 -1
- package/src/generis/validator/readme.md +46 -46
- package/src/generis/validator/scss/validator.scss +13 -13
- package/src/generis/validator/validator.js +128 -128
- package/src/generis/widget/checkBox/checkBox.js +112 -112
- package/src/generis/widget/checkBox/checkBox.tpl +18 -18
- package/src/generis/widget/comboBox/comboBox.js +66 -66
- package/src/generis/widget/comboBox/comboBox.tpl +12 -12
- package/src/generis/widget/css/widget.css +7 -7
- package/src/generis/widget/css/widget.css.map +1 -1
- package/src/generis/widget/hiddenBox/hiddenBox.js +131 -131
- package/src/generis/widget/hiddenBox/hiddenBox.tpl +16 -16
- package/src/generis/widget/loader.js +49 -49
- package/src/generis/widget/readme.md +59 -59
- package/src/generis/widget/scss/widget.scss +61 -61
- package/src/generis/widget/textBox/textBox.js +64 -64
- package/src/generis/widget/textBox/textBox.tpl +7 -7
- package/src/generis/widget/widget.js +164 -164
- package/src/generis/widget/widget.tpl +5 -5
- package/src/groupedComboBox.js +99 -99
- package/src/groupvalidator.js +84 -84
- package/src/hider.js +88 -88
- package/src/highlighter.js +1192 -1192
- package/src/image/ImgStateActive/extractLabel.js +29 -29
- package/src/image/ImgStateActive/helper.js +36 -36
- package/src/image/ImgStateActive/initHelper.js +137 -137
- package/src/image/ImgStateActive/initMediaEditor.js +92 -92
- package/src/image/ImgStateActive/mediaSizer.js +63 -63
- package/src/image/ImgStateActive.js +115 -115
- package/src/incrementer.js +309 -309
- package/src/inplacer.js +315 -315
- package/src/interactUtils.js +140 -140
- package/src/itemButtonList/css/item-button-list.css +23 -23
- package/src/itemButtonList/css/item-button-list.css.map +1 -1
- package/src/itemButtonList/scss/item-button-list.scss +236 -236
- package/src/itemButtonList/tpl/itemButtonList.tpl +21 -21
- package/src/itemButtonList.js +274 -274
- package/src/keyNavigation/navigableDomElement.js +285 -285
- package/src/keyNavigation/navigator.js +535 -535
- package/src/listbox/css/listbox.css +7 -7
- package/src/listbox/css/listbox.css.map +1 -1
- package/src/listbox/scss/listbox.scss +116 -116
- package/src/listbox/tpl/list.tpl +14 -14
- package/src/listbox/tpl/main.tpl +9 -9
- package/src/listbox.js +252 -252
- package/src/liststyler.js +155 -155
- package/src/loadingButton/css/button.css +7 -7
- package/src/loadingButton/css/button.css.map +1 -1
- package/src/loadingButton/loadingButton.js +110 -110
- package/src/loadingButton/scss/button.scss +41 -41
- package/src/loadingButton/tpl/button.tpl +5 -5
- package/src/lock/lock.tpl +16 -16
- package/src/lock.js +393 -393
- package/src/login/login.js +317 -317
- package/src/login/tpl/login.tpl +29 -29
- package/src/login/tpl/passwordReveal.tpl +7 -7
- package/src/maths/calculator/basicCalculator.js +55 -55
- package/src/maths/calculator/calculatorComponent.js +128 -128
- package/src/maths/calculator/core/areaBroker.js +38 -38
- package/src/maths/calculator/core/board.js +841 -841
- package/src/maths/calculator/core/expression.js +430 -430
- package/src/maths/calculator/core/labels.js +116 -116
- package/src/maths/calculator/core/plugin.js +40 -40
- package/src/maths/calculator/core/terms.js +459 -459
- package/src/maths/calculator/core/tokenizer.js +245 -245
- package/src/maths/calculator/core/tokens.js +178 -178
- package/src/maths/calculator/core/tpl/board.tpl +4 -4
- package/src/maths/calculator/css/calculator.css +7 -7
- package/src/maths/calculator/css/calculator.css.map +1 -1
- package/src/maths/calculator/defaultCalculator.js +66 -66
- package/src/maths/calculator/plugins/core/degrad.js +90 -90
- package/src/maths/calculator/plugins/core/history.js +166 -166
- package/src/maths/calculator/plugins/core/remind.js +96 -96
- package/src/maths/calculator/plugins/core/stepNavigation.js +175 -175
- package/src/maths/calculator/plugins/keyboard/templateKeyboard/defaultTemplate.tpl +36 -36
- package/src/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +91 -91
- package/src/maths/calculator/plugins/modifiers/pow10.js +143 -143
- package/src/maths/calculator/plugins/modifiers/sign.js +339 -339
- package/src/maths/calculator/plugins/screen/simpleScreen/defaultTemplate.tpl +3 -3
- package/src/maths/calculator/plugins/screen/simpleScreen/history.tpl +3 -3
- package/src/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +190 -190
- package/src/maths/calculator/pluginsLoader.js +46 -46
- package/src/maths/calculator/scientificCalculator.js +74 -74
- package/src/maths/calculator/scss/calculator.scss +396 -396
- package/src/maths/calculator/tpl/basicKeyboard.tpl +37 -37
- package/src/maths/calculator/tpl/basicScreen.tpl +2 -2
- package/src/maths/calculator/tpl/scientificKeyboard.tpl +61 -61
- package/src/maths/calculator/tpl/scientificScreen.tpl +3 -3
- package/src/mediaEditor/mediaEditorComponent.js +141 -141
- package/src/mediaEditor/plugins/mediaAlignment/helper.js +110 -110
- package/src/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +99 -99
- package/src/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/src/mediaEditor/plugins/mediaAlignment/tpl/mediaAlignment.tpl +25 -25
- package/src/mediaEditor/plugins/mediaDimension/helper.js +190 -190
- package/src/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +561 -561
- package/src/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/src/mediaEditor/plugins/mediaDimension/tpl/mediaDimension.tpl +55 -55
- package/src/mediaEditor/tpl/editor.tpl +4 -4
- package/src/mediaplayer/css/player.css +7 -7
- package/src/mediaplayer/css/player.css.map +1 -1
- package/src/mediaplayer/players/html5.js +564 -564
- package/src/mediaplayer/players/youtube.js +323 -323
- package/src/mediaplayer/players.js +29 -29
- package/src/mediaplayer/readme.md +305 -305
- package/src/mediaplayer/scss/player.scss +569 -569
- package/src/mediaplayer/support.js +126 -126
- package/src/mediaplayer/tpl/audio.tpl +6 -6
- package/src/mediaplayer/tpl/player.tpl +37 -37
- package/src/mediaplayer/tpl/source.tpl +1 -1
- package/src/mediaplayer/tpl/video.tpl +6 -6
- package/src/mediaplayer/tpl/youtube.tpl +1 -1
- package/src/mediaplayer/utils/reminder.js +184 -184
- package/src/mediaplayer/utils/timeObserver.js +143 -143
- package/src/mediaplayer/youtubeManager.js +161 -161
- package/src/mediaplayer.js +1606 -1606
- package/src/mediasizer/mediasizer.tpl +55 -55
- package/src/mediasizer.js +635 -635
- package/src/modal.js +365 -365
- package/src/movableComponent.js +78 -78
- package/src/pageSizeSelector/tpl/pageSizeSelector.tpl +9 -9
- package/src/pageSizeSelector.js +106 -106
- package/src/pageStatus.js +147 -147
- package/src/pagination/css/pagination.css +7 -7
- package/src/pagination/css/pagination.css.map +1 -1
- package/src/pagination/paginationStrategy.js +53 -53
- package/src/pagination/providers/pages.js +161 -161
- package/src/pagination/providers/simple.js +74 -74
- package/src/pagination/providers/tpl/pages/page.tpl +1 -1
- package/src/pagination/providers/tpl/pages.tpl +8 -8
- package/src/pagination/providers/tpl/simple.tpl +7 -7
- package/src/pagination/scss/pagination.scss +111 -111
- package/src/pagination.js +237 -237
- package/src/previewer.js +300 -300
- package/src/progressbar.js +165 -165
- package/src/propertySelector/css/propertySelector.css +7 -7
- package/src/propertySelector/css/propertySelector.css.map +1 -1
- package/src/propertySelector/propertySelector.js +286 -286
- package/src/propertySelector/scss/propertySelector.scss +66 -66
- package/src/propertySelector/tpl/property-description.tpl +12 -12
- package/src/propertySelector/tpl/property-selector.tpl +6 -6
- package/src/report/feedback.tpl +11 -11
- package/src/report/layout.tpl +10 -10
- package/src/report.js +184 -184
- package/src/resource/css/selector.css +7 -7
- package/src/resource/css/selector.css.map +1 -1
- package/src/resource/filters.js +208 -208
- package/src/resource/list.js +200 -200
- package/src/resource/scss/_filters.scss +26 -26
- package/src/resource/scss/_resource-list.scss +107 -107
- package/src/resource/scss/_resource-tree.scss +205 -205
- package/src/resource/scss/selector.scss +187 -187
- package/src/resource/selectable.js +322 -322
- package/src/resource/selector.js +871 -871
- package/src/resource/tpl/filters.tpl +2 -2
- package/src/resource/tpl/list.tpl +7 -7
- package/src/resource/tpl/listNode.tpl +4 -4
- package/src/resource/tpl/selector.tpl +46 -46
- package/src/resource/tpl/tree.tpl +4 -4
- package/src/resource/tpl/treeNode.tpl +30 -30
- package/src/resource/tree.js +398 -398
- package/src/resourcemgr/css/resourcemgr.css +7 -7
- package/src/resourcemgr/css/resourcemgr.css.map +1 -1
- package/src/resourcemgr/fileBrowser.js +381 -381
- package/src/resourcemgr/filePreview.js +73 -73
- package/src/resourcemgr/fileSelector.js +322 -322
- package/src/resourcemgr/scss/resourcemgr.scss +254 -254
- package/src/resourcemgr/tpl/fileSelect.tpl +39 -39
- package/src/resourcemgr/tpl/folder.tpl +11 -11
- package/src/resourcemgr/tpl/layout.tpl +84 -84
- package/src/resourcemgr/tpl/rootFolder.tpl +13 -13
- package/src/resourcemgr/util/updatePermissions.js +53 -53
- package/src/resourcemgr.js +216 -216
- package/src/scroller.js +94 -94
- package/src/scss/basic.scss +16 -16
- package/src/searchModal/advancedSearch.js +638 -638
- package/src/searchModal/css/advancedSearch.css +7 -7
- package/src/searchModal/css/advancedSearch.css.map +1 -1
- package/src/searchModal/css/searchModal.css +7 -7
- package/src/searchModal/css/searchModal.css.map +1 -1
- package/src/searchModal/scss/advancedSearch.scss +171 -171
- package/src/searchModal/scss/searchModal.scss +393 -393
- package/src/searchModal/tpl/advanced-search.tpl +9 -9
- package/src/searchModal/tpl/info-message.tpl +3 -3
- package/src/searchModal/tpl/invalid-criteria-warning.tpl +10 -10
- package/src/searchModal/tpl/layout.tpl +27 -27
- package/src/searchModal/tpl/list-checkbox-criterion.tpl +17 -17
- package/src/searchModal/tpl/list-select-criterion.tpl +12 -12
- package/src/searchModal/tpl/text-criterion.tpl +11 -11
- package/src/searchModal.js +760 -760
- package/src/selecter.js +43 -43
- package/src/stacker.js +133 -133
- package/src/switch/css/switch.css +7 -7
- package/src/switch/css/switch.css.map +1 -1
- package/src/switch/scss/switch.scss +83 -83
- package/src/switch/switch.js +195 -195
- package/src/switch/tpl/switch.tpl +7 -7
- package/src/tableModel.js +112 -112
- package/src/tabs/css/tabs.css +12 -12
- package/src/tabs/css/tabs.css.map +1 -1
- package/src/tabs/scss/tabs.scss +50 -50
- package/src/tabs/tpl/panel.tpl +3 -3
- package/src/tabs/tpl/tabs.tpl +10 -10
- package/src/tabs.js +528 -528
- package/src/taskQueue/css/taskQueue.css +7 -7
- package/src/taskQueue/css/taskQueue.css.map +1 -1
- package/src/taskQueue/scss/taskQueue.scss +47 -47
- package/src/taskQueue/status.js +228 -228
- package/src/taskQueue/table.js +350 -350
- package/src/taskQueue/taskQueue.js +33 -33
- package/src/taskQueue/taskQueueModel.js +548 -548
- package/src/taskQueue/tpl/statusMessage.tpl +7 -7
- package/src/taskQueue.js +216 -216
- package/src/taskQueueButton/css/taskable.css +7 -7
- package/src/taskQueueButton/css/taskable.css.map +1 -1
- package/src/taskQueueButton/css/treeButton.css +7 -7
- package/src/taskQueueButton/css/treeButton.css.map +1 -1
- package/src/taskQueueButton/scss/taskable.scss +4 -4
- package/src/taskQueueButton/scss/treeButton.scss +34 -34
- package/src/taskQueueButton/standardButton.js +108 -108
- package/src/taskQueueButton/taskable.js +202 -202
- package/src/taskQueueButton/tpl/report.tpl +5 -5
- package/src/taskQueueButton/tpl/treeButton.tpl +6 -6
- package/src/taskQueueButton/treeButton.js +108 -108
- package/src/themeLoader.js +252 -252
- package/src/themes.js +162 -162
- package/src/toggler.js +200 -200
- package/src/tooltip/default.tpl +3 -3
- package/src/tooltip.js +160 -160
- package/src/tooltipster.js +25 -25
- package/src/transformer.js +327 -327
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/src/tristateCheckboxGroup/scss/tristateCheckboxGroup.scss +15 -15
- package/src/tristateCheckboxGroup/tpl/li.tpl +6 -6
- package/src/tristateCheckboxGroup.js +207 -207
- package/src/uploader/fileEntry.tpl +6 -6
- package/src/uploader/uploader.tpl +32 -32
- package/src/uploader.js +594 -594
- package/src/validator/Report.js +10 -10
- package/src/validator/Validator.js +108 -108
- package/src/validator/validators.js +217 -217
- package/src/validator.js +262 -262
- package/src/waitForMedia.js +82 -82
- package/src/waitingDialog/css/waitingDialog.css +7 -7
- package/src/waitingDialog/css/waitingDialog.css.map +1 -1
- package/src/waitingDialog/scss/waitingDialog.scss +34 -34
- package/src/waitingDialog/waitingDialog.js +240 -240
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
define(function () { 'use strict';
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* This program is free software; you can redistribute it and/or
|
|
5
|
-
* modify it under the terms of the GNU General Public License
|
|
6
|
-
* as published by the Free Software Foundation; under version 2
|
|
7
|
-
* of the License (non-upgradable).
|
|
8
|
-
*
|
|
9
|
-
* This program is distributed in the hope that it will be useful,
|
|
10
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
-
* GNU General Public License for more details.
|
|
13
|
-
*
|
|
14
|
-
* You should have received a copy of the GNU General Public License
|
|
15
|
-
* along with this program; if not, write to the Free Software
|
|
16
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
17
|
-
*
|
|
18
|
-
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
3
|
+
/**
|
|
4
|
+
* This program is free software; you can redistribute it and/or
|
|
5
|
+
* modify it under the terms of the GNU General Public License
|
|
6
|
+
* as published by the Free Software Foundation; under version 2
|
|
7
|
+
* of the License (non-upgradable).
|
|
8
|
+
*
|
|
9
|
+
* This program is distributed in the hope that it will be useful,
|
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
* GNU General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU General Public License
|
|
15
|
+
* along with this program; if not, write to the Free Software
|
|
16
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
17
|
+
*
|
|
18
|
+
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
/**
|
|
22
|
-
* Creates a reminder manager.
|
|
23
|
-
*
|
|
24
|
-
* A reminder manager allows to register callback functions that will be called after a particular amount of time.
|
|
25
|
-
* The schedule can be created and cancelled at any time.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* // Create a reminder manager
|
|
29
|
-
* const manager = reminderManagerFactory();
|
|
30
|
-
*
|
|
31
|
-
* // Add a reminder that will be called after 2s (delay is given in milliseconds)
|
|
32
|
-
* manager.remind(() => console.log('Hello!'), 2000);
|
|
33
|
-
*
|
|
34
|
-
* // Start the schedule
|
|
35
|
-
* manager.start();
|
|
36
|
-
*
|
|
37
|
-
* // We can know how many time elapsed since the last schedule
|
|
38
|
-
* const elapsed = manager.elapsed;
|
|
39
|
-
*
|
|
40
|
-
* // The schedule can be cancelled
|
|
41
|
-
* if (needToCancel) {
|
|
42
|
-
* manager.stop();
|
|
43
|
-
* }
|
|
44
|
-
*
|
|
45
|
-
* // The schedule should be cancelled
|
|
46
|
-
* console.log('schedule running:', manager.running)
|
|
47
|
-
*
|
|
48
|
-
* @returns {reminderManager}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a reminder manager.
|
|
23
|
+
*
|
|
24
|
+
* A reminder manager allows to register callback functions that will be called after a particular amount of time.
|
|
25
|
+
* The schedule can be created and cancelled at any time.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // Create a reminder manager
|
|
29
|
+
* const manager = reminderManagerFactory();
|
|
30
|
+
*
|
|
31
|
+
* // Add a reminder that will be called after 2s (delay is given in milliseconds)
|
|
32
|
+
* manager.remind(() => console.log('Hello!'), 2000);
|
|
33
|
+
*
|
|
34
|
+
* // Start the schedule
|
|
35
|
+
* manager.start();
|
|
36
|
+
*
|
|
37
|
+
* // We can know how many time elapsed since the last schedule
|
|
38
|
+
* const elapsed = manager.elapsed;
|
|
39
|
+
*
|
|
40
|
+
* // The schedule can be cancelled
|
|
41
|
+
* if (needToCancel) {
|
|
42
|
+
* manager.stop();
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* // The schedule should be cancelled
|
|
46
|
+
* console.log('schedule running:', manager.running)
|
|
47
|
+
*
|
|
48
|
+
* @returns {reminderManager}
|
|
49
49
|
*/
|
|
50
50
|
function reminderManagerFactory() {
|
|
51
51
|
// Keep track of the running state
|
|
@@ -57,10 +57,10 @@ define(function () { 'use strict';
|
|
|
57
57
|
// A list of reminders to callback
|
|
58
58
|
const reminders = new Map();
|
|
59
59
|
|
|
60
|
-
/**
|
|
61
|
-
* Cancels a schedule for a particular reminder.
|
|
62
|
-
* @param {object} state - A sate object containing the timeout handler for the reminder.
|
|
63
|
-
* @private
|
|
60
|
+
/**
|
|
61
|
+
* Cancels a schedule for a particular reminder.
|
|
62
|
+
* @param {object} state - A sate object containing the timeout handler for the reminder.
|
|
63
|
+
* @private
|
|
64
64
|
*/
|
|
65
65
|
const stopReminder = state => {
|
|
66
66
|
if (state && state.timeout) {
|
|
@@ -69,15 +69,15 @@ define(function () { 'use strict';
|
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
/**
|
|
73
|
-
* Cancel the schedule for all reminders.
|
|
74
|
-
* @private
|
|
72
|
+
/**
|
|
73
|
+
* Cancel the schedule for all reminders.
|
|
74
|
+
* @private
|
|
75
75
|
*/
|
|
76
76
|
const stopAllReminders = () => reminders.forEach(stopReminder);
|
|
77
77
|
|
|
78
|
-
/**
|
|
79
|
-
* Schedule all reminders.
|
|
80
|
-
* @private
|
|
78
|
+
/**
|
|
79
|
+
* Schedule all reminders.
|
|
80
|
+
* @private
|
|
81
81
|
*/
|
|
82
82
|
const startAllReminders = () => {
|
|
83
83
|
reminders.forEach((state, reminder) => {
|
|
@@ -86,30 +86,30 @@ define(function () { 'use strict';
|
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
88
|
|
|
89
|
-
/**
|
|
90
|
-
* Defines the API of a reminder manager.
|
|
91
|
-
*
|
|
92
|
-
* A reminder manager allows to register callback functions that will be called after a particular amount of time.
|
|
93
|
-
* The schedule can be created and cancelled at any time.
|
|
94
|
-
*
|
|
95
|
-
* @namespace reminderManager
|
|
89
|
+
/**
|
|
90
|
+
* Defines the API of a reminder manager.
|
|
91
|
+
*
|
|
92
|
+
* A reminder manager allows to register callback functions that will be called after a particular amount of time.
|
|
93
|
+
* The schedule can be created and cancelled at any time.
|
|
94
|
+
*
|
|
95
|
+
* @namespace reminderManager
|
|
96
96
|
*/
|
|
97
97
|
return {
|
|
98
|
-
/**
|
|
99
|
-
* Tells whether or not the schedule is running.
|
|
100
|
-
* @type {boolean}
|
|
101
|
-
* @member running
|
|
102
|
-
* @memberOf reminderManager
|
|
98
|
+
/**
|
|
99
|
+
* Tells whether or not the schedule is running.
|
|
100
|
+
* @type {boolean}
|
|
101
|
+
* @member running
|
|
102
|
+
* @memberOf reminderManager
|
|
103
103
|
*/
|
|
104
104
|
get running() {
|
|
105
105
|
return running;
|
|
106
106
|
},
|
|
107
|
-
/**
|
|
108
|
-
* Gives the amount of time elapsed since the start of the schedule. It is given in milliseconds.
|
|
109
|
-
* If the schedule is not running, it will always be 0.
|
|
110
|
-
* @type {number}
|
|
111
|
-
* @member running
|
|
112
|
-
* @memberOf reminderManager
|
|
107
|
+
/**
|
|
108
|
+
* Gives the amount of time elapsed since the start of the schedule. It is given in milliseconds.
|
|
109
|
+
* If the schedule is not running, it will always be 0.
|
|
110
|
+
* @type {number}
|
|
111
|
+
* @member running
|
|
112
|
+
* @memberOf reminderManager
|
|
113
113
|
*/
|
|
114
114
|
get elapsed() {
|
|
115
115
|
if (!running) {
|
|
@@ -117,12 +117,12 @@ define(function () { 'use strict';
|
|
|
117
117
|
}
|
|
118
118
|
return performance.now() - last;
|
|
119
119
|
},
|
|
120
|
-
/**
|
|
121
|
-
* Schedules all reminders from now on.
|
|
122
|
-
*
|
|
123
|
-
* @returns {reminderManager}
|
|
124
|
-
* @function start
|
|
125
|
-
* @memberOf reminderManager
|
|
120
|
+
/**
|
|
121
|
+
* Schedules all reminders from now on.
|
|
122
|
+
*
|
|
123
|
+
* @returns {reminderManager}
|
|
124
|
+
* @function start
|
|
125
|
+
* @memberOf reminderManager
|
|
126
126
|
*/
|
|
127
127
|
start() {
|
|
128
128
|
running = true;
|
|
@@ -130,27 +130,27 @@ define(function () { 'use strict';
|
|
|
130
130
|
startAllReminders();
|
|
131
131
|
return this;
|
|
132
132
|
},
|
|
133
|
-
/**
|
|
134
|
-
* Cancels all scheduled reminders.
|
|
135
|
-
*
|
|
136
|
-
* @returns {reminderManager}
|
|
137
|
-
* @function stop
|
|
138
|
-
* @memberOf reminderManager
|
|
133
|
+
/**
|
|
134
|
+
* Cancels all scheduled reminders.
|
|
135
|
+
*
|
|
136
|
+
* @returns {reminderManager}
|
|
137
|
+
* @function stop
|
|
138
|
+
* @memberOf reminderManager
|
|
139
139
|
*/
|
|
140
140
|
stop() {
|
|
141
141
|
running = false;
|
|
142
142
|
stopAllReminders();
|
|
143
143
|
return this;
|
|
144
144
|
},
|
|
145
|
-
/**
|
|
146
|
-
* Adds a callback to be scheduled.
|
|
147
|
-
* It won't be scheduled until the schedule is restarted.
|
|
148
|
-
*
|
|
149
|
-
* @param {Function} cb - A function to call after the delay elapsed.
|
|
150
|
-
* @param {number} delay - The delay after what call back the reminder. It is given in milliseconds.
|
|
151
|
-
* @returns {reminderManager}
|
|
152
|
-
* @function remind
|
|
153
|
-
* @memberOf reminderManager
|
|
145
|
+
/**
|
|
146
|
+
* Adds a callback to be scheduled.
|
|
147
|
+
* It won't be scheduled until the schedule is restarted.
|
|
148
|
+
*
|
|
149
|
+
* @param {Function} cb - A function to call after the delay elapsed.
|
|
150
|
+
* @param {number} delay - The delay after what call back the reminder. It is given in milliseconds.
|
|
151
|
+
* @returns {reminderManager}
|
|
152
|
+
* @function remind
|
|
153
|
+
* @memberOf reminderManager
|
|
154
154
|
*/
|
|
155
155
|
remind(cb, delay) {
|
|
156
156
|
if ('function' === typeof cb && delay) {
|
|
@@ -161,13 +161,13 @@ define(function () { 'use strict';
|
|
|
161
161
|
}
|
|
162
162
|
return this;
|
|
163
163
|
},
|
|
164
|
-
/**
|
|
165
|
-
* Removes a scheduled callback. If a schedule was running, it will be cancelled first.
|
|
166
|
-
*
|
|
167
|
-
* @param {Function} [cb] - The callback function to remove. If omitted, all reminders will be removed.
|
|
168
|
-
* @returns {reminderManager}
|
|
169
|
-
* @function forget
|
|
170
|
-
* @memberOf reminderManager
|
|
164
|
+
/**
|
|
165
|
+
* Removes a scheduled callback. If a schedule was running, it will be cancelled first.
|
|
166
|
+
*
|
|
167
|
+
* @param {Function} [cb] - The callback function to remove. If omitted, all reminders will be removed.
|
|
168
|
+
* @returns {reminderManager}
|
|
169
|
+
* @function forget
|
|
170
|
+
* @memberOf reminderManager
|
|
171
171
|
*/
|
|
172
172
|
forget(cb) {
|
|
173
173
|
if ('undefined' !== typeof cb) {
|
|
@@ -2,54 +2,54 @@ define(['core/eventifier'], function (eventifier) { 'use strict';
|
|
|
2
2
|
|
|
3
3
|
eventifier = eventifier && Object.prototype.hasOwnProperty.call(eventifier, 'default') ? eventifier['default'] : eventifier;
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* This program is free software; you can redistribute it and/or
|
|
7
|
-
* modify it under the terms of the GNU General Public License
|
|
8
|
-
* as published by the Free Software Foundation; under version 2
|
|
9
|
-
* of the License (non-upgradable).
|
|
10
|
-
*
|
|
11
|
-
* This program is distributed in the hope that it will be useful,
|
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
* GNU General Public License for more details.
|
|
15
|
-
*
|
|
16
|
-
* You should have received a copy of the GNU General Public License
|
|
17
|
-
* along with this program; if not, write to the Free Software
|
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
19
|
-
*
|
|
20
|
-
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
5
|
+
/**
|
|
6
|
+
* This program is free software; you can redistribute it and/or
|
|
7
|
+
* modify it under the terms of the GNU General Public License
|
|
8
|
+
* as published by the Free Software Foundation; under version 2
|
|
9
|
+
* of the License (non-upgradable).
|
|
10
|
+
*
|
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU General Public License
|
|
17
|
+
* along with this program; if not, write to the Free Software
|
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
19
|
+
*
|
|
20
|
+
* Copyright (c) 2021 (original work) Open Assessment Technologies SA ;
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* Creates a time observer.
|
|
25
|
-
*
|
|
26
|
-
* It observes the updates applied to a timeline, raising a flag when an irregularity occurs.
|
|
27
|
-
*
|
|
28
|
-
* It works as follow:
|
|
29
|
-
* - an initial state is defined (example: current: 0, duration: 100)
|
|
30
|
-
* - each time a position is forced (say the position is changed outside of the regular time update), the observer needs
|
|
31
|
-
* to be notified.
|
|
32
|
-
* - each time the position is updated (say regular time update), the observer needs to be called.
|
|
33
|
-
* - if the difference between the last regular update and the last one is too high, an event is triggered
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* // Create a time observer with an expected interval of 2 seconds
|
|
37
|
-
* const observer = timeObserverFactory(2);
|
|
38
|
-
*
|
|
39
|
-
* // Init the state
|
|
40
|
-
* observer.start(player.position, player.duration);
|
|
41
|
-
*
|
|
42
|
-
* // Update on a regular basis
|
|
43
|
-
* player.on('timeupdate', () => observer.update(player.position));
|
|
44
|
-
*
|
|
45
|
-
* // Notify any position change outside of the regular update
|
|
46
|
-
* player.on('seek', () => observer.seek(player.position));
|
|
47
|
-
*
|
|
48
|
-
* // Gets informed from any irregularity
|
|
49
|
-
* observer.on('irregularity', () => console.log('irregular jump in time');
|
|
50
|
-
*
|
|
51
|
-
* @param {number} interval - The typical interval expected between two updates. It is given in seconds.
|
|
52
|
-
* @returns {timeObserver}
|
|
23
|
+
/**
|
|
24
|
+
* Creates a time observer.
|
|
25
|
+
*
|
|
26
|
+
* It observes the updates applied to a timeline, raising a flag when an irregularity occurs.
|
|
27
|
+
*
|
|
28
|
+
* It works as follow:
|
|
29
|
+
* - an initial state is defined (example: current: 0, duration: 100)
|
|
30
|
+
* - each time a position is forced (say the position is changed outside of the regular time update), the observer needs
|
|
31
|
+
* to be notified.
|
|
32
|
+
* - each time the position is updated (say regular time update), the observer needs to be called.
|
|
33
|
+
* - if the difference between the last regular update and the last one is too high, an event is triggered
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // Create a time observer with an expected interval of 2 seconds
|
|
37
|
+
* const observer = timeObserverFactory(2);
|
|
38
|
+
*
|
|
39
|
+
* // Init the state
|
|
40
|
+
* observer.start(player.position, player.duration);
|
|
41
|
+
*
|
|
42
|
+
* // Update on a regular basis
|
|
43
|
+
* player.on('timeupdate', () => observer.update(player.position));
|
|
44
|
+
*
|
|
45
|
+
* // Notify any position change outside of the regular update
|
|
46
|
+
* player.on('seek', () => observer.seek(player.position));
|
|
47
|
+
*
|
|
48
|
+
* // Gets informed from any irregularity
|
|
49
|
+
* observer.on('irregularity', () => console.log('irregular jump in time');
|
|
50
|
+
*
|
|
51
|
+
* @param {number} interval - The typical interval expected between two updates. It is given in seconds.
|
|
52
|
+
* @returns {timeObserver}
|
|
53
53
|
*/
|
|
54
54
|
function timeObserverFactory() {
|
|
55
55
|
let interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
@@ -62,77 +62,77 @@ define(['core/eventifier'], function (eventifier) { 'use strict';
|
|
|
62
62
|
// Last position forced
|
|
63
63
|
let seek = 0;
|
|
64
64
|
|
|
65
|
-
/**
|
|
66
|
-
* Defines the API of a time observer.
|
|
67
|
-
*
|
|
68
|
-
* It observes the updates applied to a timeline, raising a flag when an irregularity occurs.
|
|
69
|
-
*
|
|
70
|
-
* @namespace timeObserver
|
|
65
|
+
/**
|
|
66
|
+
* Defines the API of a time observer.
|
|
67
|
+
*
|
|
68
|
+
* It observes the updates applied to a timeline, raising a flag when an irregularity occurs.
|
|
69
|
+
*
|
|
70
|
+
* @namespace timeObserver
|
|
71
71
|
*/
|
|
72
72
|
return eventifier({
|
|
73
|
-
/**
|
|
74
|
-
* Gets the current time position reported to the observer.
|
|
75
|
-
*
|
|
76
|
-
* @returns {number}
|
|
77
|
-
* @type {number}
|
|
78
|
-
* @member position
|
|
79
|
-
* @memberOf timeObserver
|
|
73
|
+
/**
|
|
74
|
+
* Gets the current time position reported to the observer.
|
|
75
|
+
*
|
|
76
|
+
* @returns {number}
|
|
77
|
+
* @type {number}
|
|
78
|
+
* @member position
|
|
79
|
+
* @memberOf timeObserver
|
|
80
80
|
*/
|
|
81
81
|
get position() {
|
|
82
82
|
return position;
|
|
83
83
|
},
|
|
84
|
-
/**
|
|
85
|
-
* Gets the total duration reported to the observer.
|
|
86
|
-
*
|
|
87
|
-
* @returns {number}
|
|
88
|
-
* @type {number}
|
|
89
|
-
* @member duration
|
|
90
|
-
* @memberOf timeObserver
|
|
84
|
+
/**
|
|
85
|
+
* Gets the total duration reported to the observer.
|
|
86
|
+
*
|
|
87
|
+
* @returns {number}
|
|
88
|
+
* @type {number}
|
|
89
|
+
* @member duration
|
|
90
|
+
* @memberOf timeObserver
|
|
91
91
|
*/
|
|
92
92
|
get duration() {
|
|
93
93
|
return duration;
|
|
94
94
|
},
|
|
95
|
-
/**
|
|
96
|
-
* Initialises the time state.
|
|
97
|
-
*
|
|
98
|
-
* @param {number} initPosition - The initial time position
|
|
99
|
-
* @param {number} initDuration - The total duration expected
|
|
100
|
-
* @returns {timeObserver}
|
|
101
|
-
* @function init
|
|
102
|
-
* @memberOf timeObserver
|
|
95
|
+
/**
|
|
96
|
+
* Initialises the time state.
|
|
97
|
+
*
|
|
98
|
+
* @param {number} initPosition - The initial time position
|
|
99
|
+
* @param {number} initDuration - The total duration expected
|
|
100
|
+
* @returns {timeObserver}
|
|
101
|
+
* @function init
|
|
102
|
+
* @memberOf timeObserver
|
|
103
103
|
*/
|
|
104
104
|
init(initPosition, initDuration) {
|
|
105
105
|
position = seek = initPosition;
|
|
106
106
|
duration = initDuration;
|
|
107
107
|
return this;
|
|
108
108
|
},
|
|
109
|
-
/**
|
|
110
|
-
* Updates the time position. If the difference with the previous update is too high, an `irregularity` event
|
|
111
|
-
* will be emitted.
|
|
112
|
-
*
|
|
113
|
-
* @param {number} newPosition - The new time position
|
|
114
|
-
* @returns {timeObserver}
|
|
115
|
-
*
|
|
116
|
-
* @fires irregularity
|
|
109
|
+
/**
|
|
110
|
+
* Updates the time position. If the difference with the previous update is too high, an `irregularity` event
|
|
111
|
+
* will be emitted.
|
|
112
|
+
*
|
|
113
|
+
* @param {number} newPosition - The new time position
|
|
114
|
+
* @returns {timeObserver}
|
|
115
|
+
*
|
|
116
|
+
* @fires irregularity
|
|
117
117
|
*/
|
|
118
118
|
update(newPosition) {
|
|
119
119
|
if (newPosition > seek && newPosition - position > interval) {
|
|
120
|
-
/**
|
|
121
|
-
* Notifies an irregularity in the time update
|
|
122
|
-
* @event irregularity
|
|
123
|
-
* @param {number} position - last regular position
|
|
124
|
-
* @param {number} newPosition - new irregular position
|
|
120
|
+
/**
|
|
121
|
+
* Notifies an irregularity in the time update
|
|
122
|
+
* @event irregularity
|
|
123
|
+
* @param {number} position - last regular position
|
|
124
|
+
* @param {number} newPosition - new irregular position
|
|
125
125
|
*/
|
|
126
126
|
this.trigger('irregularity', position, newPosition);
|
|
127
127
|
}
|
|
128
128
|
position = newPosition;
|
|
129
129
|
return this;
|
|
130
130
|
},
|
|
131
|
-
/**
|
|
132
|
-
* Notifies the observer about a change in the position outside of the regular update.
|
|
133
|
-
*
|
|
134
|
-
* @param {number} seekPosition
|
|
135
|
-
* @returns {timeObserver}
|
|
131
|
+
/**
|
|
132
|
+
* Notifies the observer about a change in the position outside of the regular update.
|
|
133
|
+
*
|
|
134
|
+
* @param {number} seekPosition
|
|
135
|
+
* @returns {timeObserver}
|
|
136
136
|
*/
|
|
137
137
|
seek(seekPosition) {
|
|
138
138
|
position = seek = seekPosition;
|
|
@@ -2,42 +2,42 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
2
2
|
|
|
3
3
|
$ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* This program is free software; you can redistribute it and/or
|
|
7
|
-
* modify it under the terms of the GNU General Public License
|
|
8
|
-
* as published by the Free Software Foundation; under version 2
|
|
9
|
-
* of the License (non-upgradable).
|
|
10
|
-
*
|
|
11
|
-
* This program is distributed in the hope that it will be useful,
|
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
* GNU General Public License for more details.
|
|
15
|
-
*
|
|
16
|
-
* You should have received a copy of the GNU General Public License
|
|
17
|
-
* along with this program; if not, write to the Free Software
|
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
19
|
-
*
|
|
20
|
-
* Copyright (c) 2015-2021 (original work) Open Assessment Technologies SA ;
|
|
5
|
+
/**
|
|
6
|
+
* This program is free software; you can redistribute it and/or
|
|
7
|
+
* modify it under the terms of the GNU General Public License
|
|
8
|
+
* as published by the Free Software Foundation; under version 2
|
|
9
|
+
* of the License (non-upgradable).
|
|
10
|
+
*
|
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU General Public License
|
|
17
|
+
* along with this program; if not, write to the Free Software
|
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
19
|
+
*
|
|
20
|
+
* Copyright (c) 2015-2021 (original work) Open Assessment Technologies SA ;
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* CDN for the YouTube API
|
|
25
|
-
* @type {String}
|
|
23
|
+
/**
|
|
24
|
+
* CDN for the YouTube API
|
|
25
|
+
* @type {String}
|
|
26
26
|
*/
|
|
27
27
|
const youtubeApi = 'https://www.youtube.com/iframe_api';
|
|
28
28
|
|
|
29
|
-
/**
|
|
30
|
-
* A Regex to extract ID from Youtube URLs
|
|
31
|
-
* @type {RegExp}
|
|
29
|
+
/**
|
|
30
|
+
* A Regex to extract ID from Youtube URLs
|
|
31
|
+
* @type {RegExp}
|
|
32
32
|
*/
|
|
33
33
|
const reYoutube = /([?&/]v[=/])([\w-]+)([&/]?)/;
|
|
34
34
|
|
|
35
|
-
/**
|
|
36
|
-
* Installs a Youtube player. The Youtube API must be ready
|
|
37
|
-
* @param {String|jQuery|HTMLElement} elem
|
|
38
|
-
* @param {Object} player
|
|
39
|
-
* @param {Object} [options]
|
|
40
|
-
* @param {Boolean} [options.controls]
|
|
35
|
+
/**
|
|
36
|
+
* Installs a Youtube player. The Youtube API must be ready
|
|
37
|
+
* @param {String|jQuery|HTMLElement} elem
|
|
38
|
+
* @param {Object} player
|
|
39
|
+
* @param {Object} [options]
|
|
40
|
+
* @param {Boolean} [options.controls]
|
|
41
41
|
*/
|
|
42
42
|
function addYoutubePlayer(elem, player) {
|
|
43
43
|
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
@@ -66,10 +66,10 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
/**
|
|
70
|
-
* A local manager for Youtube players.
|
|
71
|
-
* Relies on https://developers.google.com/youtube/iframe_api_reference
|
|
72
|
-
* @type {Object}
|
|
69
|
+
/**
|
|
70
|
+
* A local manager for Youtube players.
|
|
71
|
+
* Relies on https://developers.google.com/youtube/iframe_api_reference
|
|
72
|
+
* @type {Object}
|
|
73
73
|
*/
|
|
74
74
|
function youtubeManagerFactory() {
|
|
75
75
|
// The Youtube API injection state
|
|
@@ -81,9 +81,9 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
81
81
|
// A list of pending players
|
|
82
82
|
let pending = [];
|
|
83
83
|
|
|
84
|
-
/**
|
|
85
|
-
* Checks if the Youtube API is ready to use
|
|
86
|
-
* @returns {Boolean}
|
|
84
|
+
/**
|
|
85
|
+
* Checks if the Youtube API is ready to use
|
|
86
|
+
* @returns {Boolean}
|
|
87
87
|
*/
|
|
88
88
|
function isApiReady() {
|
|
89
89
|
const apiReady = typeof window.YT !== 'undefined' && typeof window.YT.Player !== 'undefined';
|
|
@@ -99,8 +99,8 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
99
99
|
return apiReady;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
/**
|
|
103
|
-
* Injects the Youtube API into the page
|
|
102
|
+
/**
|
|
103
|
+
* Injects the Youtube API into the page
|
|
104
104
|
*/
|
|
105
105
|
function injectApi() {
|
|
106
106
|
if (!isApiReady()) {
|
|
@@ -116,12 +116,12 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
116
116
|
injected = true;
|
|
117
117
|
}
|
|
118
118
|
return {
|
|
119
|
-
/**
|
|
120
|
-
* Adds a Youtube player
|
|
121
|
-
* @param {String|jQuery|HTMLElement} elem
|
|
122
|
-
* @param {Object} player
|
|
123
|
-
* @param {Object} [options]
|
|
124
|
-
* @param {Boolean} [options.controls]
|
|
119
|
+
/**
|
|
120
|
+
* Adds a Youtube player
|
|
121
|
+
* @param {String|jQuery|HTMLElement} elem
|
|
122
|
+
* @param {Object} player
|
|
123
|
+
* @param {Object} [options]
|
|
124
|
+
* @param {Boolean} [options.controls]
|
|
125
125
|
*/
|
|
126
126
|
add(elem, player, options) {
|
|
127
127
|
if (ready) {
|
|
@@ -133,10 +133,10 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
|
-
/**
|
|
137
|
-
* Removes a pending Youtube player
|
|
138
|
-
* @param {String|jQuery|HTMLElement} elem
|
|
139
|
-
* @param {Object} player
|
|
136
|
+
/**
|
|
137
|
+
* Removes a pending Youtube player
|
|
138
|
+
* @param {String|jQuery|HTMLElement} elem
|
|
139
|
+
* @param {Object} player
|
|
140
140
|
*/
|
|
141
141
|
remove(elem, player) {
|
|
142
142
|
pending.forEach((args, idx) => {
|
|
@@ -145,10 +145,10 @@ define(['jquery'], function ($) { 'use strict';
|
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
147
|
},
|
|
148
|
-
/**
|
|
149
|
-
* Extracts the ID of a Youtube video from an URL
|
|
150
|
-
* @param {String} url
|
|
151
|
-
* @returns {String}
|
|
148
|
+
/**
|
|
149
|
+
* Extracts the ID of a Youtube video from an URL
|
|
150
|
+
* @param {String} url
|
|
151
|
+
* @returns {String}
|
|
152
152
|
*/
|
|
153
153
|
extractYoutubeId(url) {
|
|
154
154
|
const res = reYoutube.exec(url);
|