@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
package/dist/mediaplayer.js
CHANGED
|
@@ -26,35 +26,35 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
26
26
|
if (helper = helpers.type) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
27
27
|
else { helper = (depth0 && depth0.type); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
28
28
|
buffer += escapeExpression(stack1)
|
|
29
|
-
+ "\">\n <div class=\"player\">\n <div class=\"player-overlay\">\n <a class=\"action play\" data-control=\"play\"><span class=\"icon icon-play\" title=\""
|
|
29
|
+
+ "\">\r\n <div class=\"player\">\r\n <div class=\"player-overlay\">\r\n <a class=\"action play\" data-control=\"play\"><span class=\"icon icon-play\" title=\""
|
|
30
30
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Play", options) : helperMissing.call(depth0, "__", "Play", options)))
|
|
31
|
-
+ "\"></span></a>\n <a class=\"action play\" data-control=\"pause\"><span class=\"icon icon-pause\" title=\""
|
|
31
|
+
+ "\"></span></a>\r\n <a class=\"action play\" data-control=\"pause\"><span class=\"icon icon-pause\" title=\""
|
|
32
32
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Pause", options) : helperMissing.call(depth0, "__", "Pause", options)))
|
|
33
|
-
+ "\"></span></a>\n <a class=\"action reload\" data-control=\"start\">\n <span class=\"icon icon-play\" title=\""
|
|
33
|
+
+ "\"></span></a>\r\n <a class=\"action reload\" data-control=\"start\">\r\n <span class=\"icon icon-play\" title=\""
|
|
34
34
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Start", options) : helperMissing.call(depth0, "__", "Start", options)))
|
|
35
|
-
+ "\"></span>\n <div class=\"message\">"
|
|
35
|
+
+ "\"></span>\r\n <div class=\"message\">"
|
|
36
36
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Click to start", options) : helperMissing.call(depth0, "__", "Click to start", options)))
|
|
37
|
-
+ "</div>\n </a>\n <a class=\"action reload\" data-control=\"reload\">\n <div class=\"icon icon-reload\" title=\""
|
|
37
|
+
+ "</div>\r\n </a>\r\n <a class=\"action reload\" data-control=\"reload\">\r\n <div class=\"icon icon-reload\" title=\""
|
|
38
38
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Reload", options) : helperMissing.call(depth0, "__", "Reload", options)))
|
|
39
|
-
+ "\"></div>\n <div class=\"message\">"
|
|
39
|
+
+ "\"></div>\r\n <div class=\"message\">"
|
|
40
40
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "You are encountering a prolonged connectivity loss.", options) : helperMissing.call(depth0, "__", "You are encountering a prolonged connectivity loss.", options)))
|
|
41
41
|
+ " "
|
|
42
42
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Click to reload.", options) : helperMissing.call(depth0, "__", "Click to reload.", options)))
|
|
43
|
-
+ "</div>\n </a>\n </div>\n </div>\n <div class=\"controls\">\n <div class=\"bar\">\n <div class=\"control actions playback\">\n <a class=\"action play\" data-control=\"play\" title=\""
|
|
43
|
+
+ "</div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"controls\">\r\n <div class=\"bar\">\r\n <div class=\"control actions playback\">\r\n <a class=\"action play\" data-control=\"play\" title=\""
|
|
44
44
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Play", options) : helperMissing.call(depth0, "__", "Play", options)))
|
|
45
|
-
+ "\"><span class=\"icon icon-play\"></span></a>\n <a class=\"action play\" data-control=\"pause\" title=\""
|
|
45
|
+
+ "\"><span class=\"icon icon-play\"></span></a>\r\n <a class=\"action play\" data-control=\"pause\" title=\""
|
|
46
46
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Pause", options) : helperMissing.call(depth0, "__", "Pause", options)))
|
|
47
|
-
+ "\"><span class=\"icon icon-pause\"></span></a>\n </div>\n <div class=\"control seek\"><div class=\"slider\"></div></div>\n <div class=\"control infos timer\">\n <span class=\"info time\" data-control=\"time-cur\" title=\""
|
|
47
|
+
+ "\"><span class=\"icon icon-pause\"></span></a>\r\n </div>\r\n <div class=\"control seek\"><div class=\"slider\"></div></div>\r\n <div class=\"control infos timer\">\r\n <span class=\"info time\" data-control=\"time-cur\" title=\""
|
|
48
48
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Current playback position", options) : helperMissing.call(depth0, "__", "Current playback position", options)))
|
|
49
|
-
+ "\">--:--</span>\n <span class=\"info time\" data-control=\"time-end\" title=\""
|
|
49
|
+
+ "\">--:--</span>\r\n <span class=\"info time\" data-control=\"time-end\" title=\""
|
|
50
50
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Total duration", options) : helperMissing.call(depth0, "__", "Total duration", options)))
|
|
51
|
-
+ "\">--:--</span>\n </div>\n <div class=\"control actions sound\">\n <div class=\"volume\"><div class=\"slider\"></div></div>\n <a class=\"action mute\" data-control=\"mute\" title=\""
|
|
51
|
+
+ "\">--:--</span>\r\n </div>\r\n <div class=\"control actions sound\">\r\n <div class=\"volume\"><div class=\"slider\"></div></div>\r\n <a class=\"action mute\" data-control=\"mute\" title=\""
|
|
52
52
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Mute", options) : helperMissing.call(depth0, "__", "Mute", options)))
|
|
53
|
-
+ "\"><span class=\"icon icon-sound\"></span></a>\n <a class=\"action mute\" data-control=\"unmute\" title=\""
|
|
53
|
+
+ "\"><span class=\"icon icon-sound\"></span></a>\r\n <a class=\"action mute\" data-control=\"unmute\" title=\""
|
|
54
54
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Restore sound", options) : helperMissing.call(depth0, "__", "Restore sound", options)))
|
|
55
|
-
+ "\"><span class=\"icon icon-mute\"></span></a>\n </div>\n </div>\n </div>\n <div class=\"error\">\n <div class=\"message\">"
|
|
55
|
+
+ "\"><span class=\"icon icon-mute\"></span></a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"error\">\r\n <div class=\"message\">"
|
|
56
56
|
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "This media cannot be played!", options) : helperMissing.call(depth0, "__", "This media cannot be played!", options)))
|
|
57
|
-
+ "</div>\n </div>\n</div>\n";
|
|
57
|
+
+ "</div>\r\n </div>\r\n</div>\r\n";
|
|
58
58
|
return buffer;
|
|
59
59
|
});
|
|
60
60
|
function playerTpl(data, options, asString) {
|
|
@@ -62,52 +62,52 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
62
62
|
return (asString || true) ? html : $(html);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
/**
|
|
66
|
-
* This program is free software; you can redistribute it and/or
|
|
67
|
-
* modify it under the terms of the GNU General Public License
|
|
68
|
-
* as published by the Free Software Foundation; under version 2
|
|
69
|
-
* of the License (non-upgradable).
|
|
70
|
-
*
|
|
71
|
-
* This program is distributed in the hope that it will be useful,
|
|
72
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
73
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
74
|
-
* GNU General Public License for more details.
|
|
75
|
-
*
|
|
76
|
-
* You should have received a copy of the GNU General Public License
|
|
77
|
-
* along with this program; if not, write to the Free Software
|
|
78
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
79
|
-
*
|
|
80
|
-
* Copyright (c) 2015-2021 (original work) Open Assessment Technologies SA ;
|
|
65
|
+
/**
|
|
66
|
+
* This program is free software; you can redistribute it and/or
|
|
67
|
+
* modify it under the terms of the GNU General Public License
|
|
68
|
+
* as published by the Free Software Foundation; under version 2
|
|
69
|
+
* of the License (non-upgradable).
|
|
70
|
+
*
|
|
71
|
+
* This program is distributed in the hope that it will be useful,
|
|
72
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
73
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
74
|
+
* GNU General Public License for more details.
|
|
75
|
+
*
|
|
76
|
+
* You should have received a copy of the GNU General Public License
|
|
77
|
+
* along with this program; if not, write to the Free Software
|
|
78
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
79
|
+
*
|
|
80
|
+
* Copyright (c) 2015-2021 (original work) Open Assessment Technologies SA ;
|
|
81
81
|
*/
|
|
82
82
|
|
|
83
|
-
/**
|
|
84
|
-
* CSS namespace
|
|
85
|
-
* @type {String}
|
|
83
|
+
/**
|
|
84
|
+
* CSS namespace
|
|
85
|
+
* @type {String}
|
|
86
86
|
*/
|
|
87
87
|
const ns = '.mediaplayer';
|
|
88
88
|
|
|
89
|
-
/**
|
|
90
|
-
* Minimum value of the volume
|
|
91
|
-
* @type {Number}
|
|
89
|
+
/**
|
|
90
|
+
* Minimum value of the volume
|
|
91
|
+
* @type {Number}
|
|
92
92
|
*/
|
|
93
93
|
const volumeMin = 0;
|
|
94
94
|
|
|
95
|
-
/**
|
|
96
|
-
* Maximum value of the volume
|
|
97
|
-
* @type {Number}
|
|
95
|
+
/**
|
|
96
|
+
* Maximum value of the volume
|
|
97
|
+
* @type {Number}
|
|
98
98
|
*/
|
|
99
99
|
const volumeMax = 100;
|
|
100
100
|
|
|
101
|
-
/**
|
|
102
|
-
* Threshold (minimum required space above the player) to display the volume
|
|
103
|
-
* above the bar.
|
|
104
|
-
* @type {Number}
|
|
101
|
+
/**
|
|
102
|
+
* Threshold (minimum required space above the player) to display the volume
|
|
103
|
+
* above the bar.
|
|
104
|
+
* @type {Number}
|
|
105
105
|
*/
|
|
106
106
|
const volumePositionThreshold = 200;
|
|
107
107
|
|
|
108
|
-
/**
|
|
109
|
-
* Some default values
|
|
110
|
-
* @type {Object}
|
|
108
|
+
/**
|
|
109
|
+
* Some default values
|
|
110
|
+
* @type {Object}
|
|
111
111
|
*/
|
|
112
112
|
const defaults = {
|
|
113
113
|
type: 'video/mp4',
|
|
@@ -137,21 +137,21 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
|
|
140
|
-
/**
|
|
141
|
-
* Ensures a value is a number
|
|
142
|
-
* @param {Number|String} value
|
|
143
|
-
* @returns {Number}
|
|
140
|
+
/**
|
|
141
|
+
* Ensures a value is a number
|
|
142
|
+
* @param {Number|String} value
|
|
143
|
+
* @returns {Number}
|
|
144
144
|
*/
|
|
145
145
|
const ensureNumber = value => {
|
|
146
146
|
const floatValue = parseFloat(value);
|
|
147
147
|
return isFinite(floatValue) ? floatValue : 0;
|
|
148
148
|
};
|
|
149
149
|
|
|
150
|
-
/**
|
|
151
|
-
* Format a number to string with leading zeros
|
|
152
|
-
* @param {Number} n
|
|
153
|
-
* @param {Number} len
|
|
154
|
-
* @returns {String}
|
|
150
|
+
/**
|
|
151
|
+
* Format a number to string with leading zeros
|
|
152
|
+
* @param {Number} n
|
|
153
|
+
* @param {Number} len
|
|
154
|
+
* @returns {String}
|
|
155
155
|
*/
|
|
156
156
|
const leadingZero = (n, len) => {
|
|
157
157
|
let value = n.toString();
|
|
@@ -161,10 +161,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
161
161
|
return value;
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
-
/**
|
|
165
|
-
* Formats a time value to string
|
|
166
|
-
* @param {Number} time
|
|
167
|
-
* @returns {String}
|
|
164
|
+
/**
|
|
165
|
+
* Formats a time value to string
|
|
166
|
+
* @param {Number} time
|
|
167
|
+
* @returns {String}
|
|
168
168
|
*/
|
|
169
169
|
const timerFormat = time => {
|
|
170
170
|
const seconds = Math.floor(time % 60);
|
|
@@ -179,19 +179,19 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
179
179
|
return parts.join(':');
|
|
180
180
|
};
|
|
181
181
|
|
|
182
|
-
/**
|
|
183
|
-
* Checks if a type needs to be adjusted
|
|
184
|
-
* @param {String} type
|
|
185
|
-
* @returns {Boolean}
|
|
182
|
+
/**
|
|
183
|
+
* Checks if a type needs to be adjusted
|
|
184
|
+
* @param {String} type
|
|
185
|
+
* @returns {Boolean}
|
|
186
186
|
*/
|
|
187
187
|
const needTypeAdjust = type => {
|
|
188
188
|
return 'string' === typeof type && type.indexOf('application') === 0;
|
|
189
189
|
};
|
|
190
190
|
|
|
191
|
-
/**
|
|
192
|
-
* Adjust bad type by apllying heuristic on URI
|
|
193
|
-
* @param {Object|String} source
|
|
194
|
-
* @returns {String}
|
|
191
|
+
/**
|
|
192
|
+
* Adjust bad type by apllying heuristic on URI
|
|
193
|
+
* @param {Object|String} source
|
|
194
|
+
* @returns {String}
|
|
195
195
|
*/
|
|
196
196
|
const getAdjustedType = source => {
|
|
197
197
|
let type = 'video/ogg';
|
|
@@ -203,10 +203,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
203
203
|
return type;
|
|
204
204
|
};
|
|
205
205
|
|
|
206
|
-
/**
|
|
207
|
-
* Extract a list of media sources from a config object
|
|
208
|
-
* @param {Object} config
|
|
209
|
-
* @returns {Array}
|
|
206
|
+
/**
|
|
207
|
+
* Extract a list of media sources from a config object
|
|
208
|
+
* @param {Object} config
|
|
209
|
+
* @returns {Array}
|
|
210
210
|
*/
|
|
211
211
|
const configToSources = config => {
|
|
212
212
|
let sources = config.sources || [];
|
|
@@ -223,62 +223,62 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
223
223
|
return sources;
|
|
224
224
|
};
|
|
225
225
|
|
|
226
|
-
/**
|
|
227
|
-
* Checks if the browser can play media
|
|
228
|
-
* @param {String} sizeProps Width or Height
|
|
229
|
-
* @returns {Boolean}
|
|
226
|
+
/**
|
|
227
|
+
* Checks if the browser can play media
|
|
228
|
+
* @param {String} sizeProps Width or Height
|
|
229
|
+
* @returns {Boolean}
|
|
230
230
|
*/
|
|
231
231
|
const isResponsiveSize = sizeProps => {
|
|
232
232
|
return /%/.test(sizeProps) || sizeProps === 'auto';
|
|
233
233
|
};
|
|
234
234
|
|
|
235
|
-
/**
|
|
236
|
-
* Builds a media player instance
|
|
237
|
-
* @param {Object} config
|
|
238
|
-
* @param {String} config.type - The type of media to play, say `audio`, `video`, or `youtube`. The default is `video`.
|
|
239
|
-
* It might also contain the MIME type of the media as a shorthand.
|
|
240
|
-
* @param {String|Array} [config.url] - The URL to the media. If several media are proposed as alternatives,
|
|
241
|
-
* please look at the `sources` option instead.
|
|
242
|
-
* @param {String} [config.mimeType] - The MIME type of the media. If omitted, the player will try to extract it
|
|
243
|
-
* from the `type` property, otherwise it will request the server to get the content-type.
|
|
244
|
-
* @param {Array} [config.sources] - A list of URL if several media can be proposed. Each entry may be either a
|
|
245
|
-
* string (single URL), or an object containing both the URL and the MIME type ({src: string, type: string}).
|
|
246
|
-
* @param {String|jQuery|HTMLElement} [config.renderTo] - An optional container in which renders the player
|
|
247
|
-
* @param {Boolean} [config.canSeek] - The player allows to reach an arbitrary position within the media using the duration bar
|
|
248
|
-
* @param {Boolean} [config.loop] - The media will be played continuously
|
|
249
|
-
* @param {Boolean} [config.canPause] - The player can be paused
|
|
250
|
-
* @param {Boolean} [config.startMuted] - The player should be initially muted
|
|
251
|
-
* @param {Boolean} [config.autoStart] - The player starts as soon as it is displayed
|
|
252
|
-
* @param {Number} [config.autoStartAt] - The time position at which the player should start
|
|
253
|
-
* @param {Number} [config.maxPlays] - Sets a few number of plays (default: infinite)
|
|
254
|
-
* @param {Number} [config.replayTimeout] - disable the possibility to replay a media after this timeout, in seconds (default: 0)
|
|
255
|
-
* @param {Number} [config.volume] - Sets the sound volume (default: 80)
|
|
256
|
-
* @param {Number} [config.width] - Sets the width of the player (default: depends on media type)
|
|
257
|
-
* @param {Number} [config.height] - Sets the height of the player (default: depends on media type)
|
|
258
|
-
* @param {Boolean} [config.preview] - Enables the media preview (load media metadata)
|
|
259
|
-
* @param {Boolean} [config.debug] - Enables the debug mode
|
|
260
|
-
* @param {number} [config.config.stalledDetectionDelay] - The delay before considering a media is stalled
|
|
261
|
-
* @event render - Event triggered when the player is rendering
|
|
262
|
-
* @event error - Event triggered when the player throws an unrecoverable error
|
|
263
|
-
* @event ready - Event triggered when the player is fully ready
|
|
264
|
-
* @event play - Event triggered when the playback is starting
|
|
265
|
-
* @event update - Event triggered while the player is playing
|
|
266
|
-
* @event pause - Event triggered when the playback is paused
|
|
267
|
-
* @event ended - Event triggered when the playback is ended
|
|
268
|
-
* @event limitreached - Event triggered when the play limit has been reached
|
|
269
|
-
* @event destroy - Event triggered when the player is destroying
|
|
270
|
-
* @returns {mediaplayer}
|
|
235
|
+
/**
|
|
236
|
+
* Builds a media player instance
|
|
237
|
+
* @param {Object} config
|
|
238
|
+
* @param {String} config.type - The type of media to play, say `audio`, `video`, or `youtube`. The default is `video`.
|
|
239
|
+
* It might also contain the MIME type of the media as a shorthand.
|
|
240
|
+
* @param {String|Array} [config.url] - The URL to the media. If several media are proposed as alternatives,
|
|
241
|
+
* please look at the `sources` option instead.
|
|
242
|
+
* @param {String} [config.mimeType] - The MIME type of the media. If omitted, the player will try to extract it
|
|
243
|
+
* from the `type` property, otherwise it will request the server to get the content-type.
|
|
244
|
+
* @param {Array} [config.sources] - A list of URL if several media can be proposed. Each entry may be either a
|
|
245
|
+
* string (single URL), or an object containing both the URL and the MIME type ({src: string, type: string}).
|
|
246
|
+
* @param {String|jQuery|HTMLElement} [config.renderTo] - An optional container in which renders the player
|
|
247
|
+
* @param {Boolean} [config.canSeek] - The player allows to reach an arbitrary position within the media using the duration bar
|
|
248
|
+
* @param {Boolean} [config.loop] - The media will be played continuously
|
|
249
|
+
* @param {Boolean} [config.canPause] - The player can be paused
|
|
250
|
+
* @param {Boolean} [config.startMuted] - The player should be initially muted
|
|
251
|
+
* @param {Boolean} [config.autoStart] - The player starts as soon as it is displayed
|
|
252
|
+
* @param {Number} [config.autoStartAt] - The time position at which the player should start
|
|
253
|
+
* @param {Number} [config.maxPlays] - Sets a few number of plays (default: infinite)
|
|
254
|
+
* @param {Number} [config.replayTimeout] - disable the possibility to replay a media after this timeout, in seconds (default: 0)
|
|
255
|
+
* @param {Number} [config.volume] - Sets the sound volume (default: 80)
|
|
256
|
+
* @param {Number} [config.width] - Sets the width of the player (default: depends on media type)
|
|
257
|
+
* @param {Number} [config.height] - Sets the height of the player (default: depends on media type)
|
|
258
|
+
* @param {Boolean} [config.preview] - Enables the media preview (load media metadata)
|
|
259
|
+
* @param {Boolean} [config.debug] - Enables the debug mode
|
|
260
|
+
* @param {number} [config.config.stalledDetectionDelay] - The delay before considering a media is stalled
|
|
261
|
+
* @event render - Event triggered when the player is rendering
|
|
262
|
+
* @event error - Event triggered when the player throws an unrecoverable error
|
|
263
|
+
* @event ready - Event triggered when the player is fully ready
|
|
264
|
+
* @event play - Event triggered when the playback is starting
|
|
265
|
+
* @event update - Event triggered while the player is playing
|
|
266
|
+
* @event pause - Event triggered when the playback is paused
|
|
267
|
+
* @event ended - Event triggered when the playback is ended
|
|
268
|
+
* @event limitreached - Event triggered when the play limit has been reached
|
|
269
|
+
* @event destroy - Event triggered when the player is destroying
|
|
270
|
+
* @returns {mediaplayer}
|
|
271
271
|
*/
|
|
272
272
|
function mediaplayerFactory(config) {
|
|
273
|
-
/**
|
|
274
|
-
* Defines a media player object
|
|
275
|
-
* @type {Object}
|
|
273
|
+
/**
|
|
274
|
+
* Defines a media player object
|
|
275
|
+
* @type {Object}
|
|
276
276
|
*/
|
|
277
277
|
const mediaplayer = {
|
|
278
|
-
/**
|
|
279
|
-
* Initializes the media player
|
|
280
|
-
* @param {Object} mediaPlayerConfig
|
|
281
|
-
* @returns {mediaplayer}
|
|
278
|
+
/**
|
|
279
|
+
* Initializes the media player
|
|
280
|
+
* @param {Object} mediaPlayerConfig
|
|
281
|
+
* @returns {mediaplayer}
|
|
282
282
|
*/
|
|
283
283
|
init(mediaPlayerConfig) {
|
|
284
284
|
// load the config set, discard null values in order to allow defaults to be set
|
|
@@ -307,14 +307,14 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
307
307
|
});
|
|
308
308
|
return this;
|
|
309
309
|
},
|
|
310
|
-
/**
|
|
311
|
-
* Uninstalls the media player
|
|
312
|
-
* @returns {mediaplayer}
|
|
310
|
+
/**
|
|
311
|
+
* Uninstalls the media player
|
|
312
|
+
* @returns {mediaplayer}
|
|
313
313
|
*/
|
|
314
314
|
destroy() {
|
|
315
|
-
/**
|
|
316
|
-
* Triggers a destroy event
|
|
317
|
-
* @event mediaplayer#destroy
|
|
315
|
+
/**
|
|
316
|
+
* Triggers a destroy event
|
|
317
|
+
* @event mediaplayer#destroy
|
|
318
318
|
*/
|
|
319
319
|
this.trigger('destroy');
|
|
320
320
|
if (this.player) {
|
|
@@ -329,10 +329,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
329
329
|
this._reset();
|
|
330
330
|
return this;
|
|
331
331
|
},
|
|
332
|
-
/**
|
|
333
|
-
* Renders the media player according to the media type
|
|
334
|
-
* @param {String|jQuery|HTMLElement} [to]
|
|
335
|
-
* @returns {mediaplayer}
|
|
332
|
+
/**
|
|
333
|
+
* Renders the media player according to the media type
|
|
334
|
+
* @param {String|jQuery|HTMLElement} [to]
|
|
335
|
+
* @returns {mediaplayer}
|
|
336
336
|
*/
|
|
337
337
|
render(to) {
|
|
338
338
|
const renderTo = to || this.config.renderTo || this.$container;
|
|
@@ -366,21 +366,21 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
366
366
|
this._setState('stalled', true);
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
/**
|
|
370
|
-
* Triggers a render event
|
|
371
|
-
* @event mediaplayer#render
|
|
372
|
-
* @param {jQuery} $component
|
|
369
|
+
/**
|
|
370
|
+
* Triggers a render event
|
|
371
|
+
* @event mediaplayer#render
|
|
372
|
+
* @param {jQuery} $component
|
|
373
373
|
*/
|
|
374
374
|
this.trigger('render', this.$component);
|
|
375
375
|
return this;
|
|
376
376
|
},
|
|
377
|
-
/**
|
|
378
|
-
* Reloads media player after it was stalled
|
|
377
|
+
/**
|
|
378
|
+
* Reloads media player after it was stalled
|
|
379
379
|
*/
|
|
380
380
|
reload() {
|
|
381
|
-
/**
|
|
382
|
-
* Triggers a reload event
|
|
383
|
-
* @event mediaplayer#reload
|
|
381
|
+
/**
|
|
382
|
+
* Triggers a reload event
|
|
383
|
+
* @event mediaplayer#reload
|
|
384
384
|
*/
|
|
385
385
|
this.trigger('reload');
|
|
386
386
|
if (this.player) {
|
|
@@ -389,8 +389,8 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
389
389
|
this._setState('stalled', false);
|
|
390
390
|
this.setInitialStates();
|
|
391
391
|
},
|
|
392
|
-
/**
|
|
393
|
-
* Set initial states
|
|
392
|
+
/**
|
|
393
|
+
* Set initial states
|
|
394
394
|
*/
|
|
395
395
|
setInitialStates() {
|
|
396
396
|
if (!this.is('stalled')) {
|
|
@@ -401,11 +401,11 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
401
401
|
this._setState('canseek', this.config.canSeek);
|
|
402
402
|
this._setState('loading', false);
|
|
403
403
|
},
|
|
404
|
-
/**
|
|
405
|
-
* Sets the start position inside the media
|
|
406
|
-
* @param {Number} time - The start position in seconds
|
|
407
|
-
* @param {*} [internal] - Internal use
|
|
408
|
-
* @returns {mediaplayer}
|
|
404
|
+
/**
|
|
405
|
+
* Sets the start position inside the media
|
|
406
|
+
* @param {Number} time - The start position in seconds
|
|
407
|
+
* @param {*} [internal] - Internal use
|
|
408
|
+
* @returns {mediaplayer}
|
|
409
409
|
*/
|
|
410
410
|
seek(time, internal) {
|
|
411
411
|
if (this._canPlay()) {
|
|
@@ -418,10 +418,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
418
418
|
}
|
|
419
419
|
return this;
|
|
420
420
|
},
|
|
421
|
-
/**
|
|
422
|
-
* Plays the media
|
|
423
|
-
* @param {Number} [time] - An optional start position in seconds
|
|
424
|
-
* @returns {mediaplayer}
|
|
421
|
+
/**
|
|
422
|
+
* Plays the media
|
|
423
|
+
* @param {Number} [time] - An optional start position in seconds
|
|
424
|
+
* @returns {mediaplayer}
|
|
425
425
|
*/
|
|
426
426
|
play(time) {
|
|
427
427
|
if (this._canPlay()) {
|
|
@@ -439,10 +439,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
439
439
|
}
|
|
440
440
|
return this;
|
|
441
441
|
},
|
|
442
|
-
/**
|
|
443
|
-
* Pauses the media
|
|
444
|
-
* @param {Number} [time] - An optional time position in seconds
|
|
445
|
-
* @returns {mediaplayer}
|
|
442
|
+
/**
|
|
443
|
+
* Pauses the media
|
|
444
|
+
* @param {Number} [time] - An optional time position in seconds
|
|
445
|
+
* @returns {mediaplayer}
|
|
446
446
|
*/
|
|
447
447
|
pause(time) {
|
|
448
448
|
if (this._canPause()) {
|
|
@@ -456,9 +456,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
456
456
|
}
|
|
457
457
|
return this;
|
|
458
458
|
},
|
|
459
|
-
/**
|
|
460
|
-
* Resumes the media
|
|
461
|
-
* @returns {mediaplayer}
|
|
459
|
+
/**
|
|
460
|
+
* Resumes the media
|
|
461
|
+
* @returns {mediaplayer}
|
|
462
462
|
*/
|
|
463
463
|
resume() {
|
|
464
464
|
if (this._canResume()) {
|
|
@@ -466,9 +466,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
466
466
|
}
|
|
467
467
|
return this;
|
|
468
468
|
},
|
|
469
|
-
/**
|
|
470
|
-
* Stops the playback
|
|
471
|
-
* @returns {mediaplayer}
|
|
469
|
+
/**
|
|
470
|
+
* Stops the playback
|
|
471
|
+
* @returns {mediaplayer}
|
|
472
472
|
*/
|
|
473
473
|
stop() {
|
|
474
474
|
this.loop = false;
|
|
@@ -478,35 +478,35 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
478
478
|
}
|
|
479
479
|
return this;
|
|
480
480
|
},
|
|
481
|
-
/**
|
|
482
|
-
* Starts the media
|
|
483
|
-
* @returns {mediaplayer}
|
|
481
|
+
/**
|
|
482
|
+
* Starts the media
|
|
483
|
+
* @returns {mediaplayer}
|
|
484
484
|
*/
|
|
485
485
|
start() {
|
|
486
486
|
this._setState('preview', true);
|
|
487
487
|
this._setState('loading', true);
|
|
488
488
|
this.play();
|
|
489
489
|
},
|
|
490
|
-
/**
|
|
491
|
-
* Restarts the media from the beginning
|
|
492
|
-
* @returns {mediaplayer}
|
|
490
|
+
/**
|
|
491
|
+
* Restarts the media from the beginning
|
|
492
|
+
* @returns {mediaplayer}
|
|
493
493
|
*/
|
|
494
494
|
restart() {
|
|
495
495
|
this.play(0);
|
|
496
496
|
return this;
|
|
497
497
|
},
|
|
498
|
-
/**
|
|
499
|
-
* Rewind the media to the beginning
|
|
500
|
-
* @returns {mediaplayer}
|
|
498
|
+
/**
|
|
499
|
+
* Rewind the media to the beginning
|
|
500
|
+
* @returns {mediaplayer}
|
|
501
501
|
*/
|
|
502
502
|
rewind() {
|
|
503
503
|
this.seek(0);
|
|
504
504
|
return this;
|
|
505
505
|
},
|
|
506
|
-
/**
|
|
507
|
-
* Mutes the media
|
|
508
|
-
* @param {Boolean} [state] - A flag to set the mute state (default: true)
|
|
509
|
-
* @returns {mediaplayer}
|
|
506
|
+
/**
|
|
507
|
+
* Mutes the media
|
|
508
|
+
* @param {Boolean} [state] - A flag to set the mute state (default: true)
|
|
509
|
+
* @returns {mediaplayer}
|
|
510
510
|
*/
|
|
511
511
|
mute(state) {
|
|
512
512
|
if (typeof state === 'undefined') {
|
|
@@ -519,63 +519,63 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
519
519
|
}
|
|
520
520
|
return this;
|
|
521
521
|
},
|
|
522
|
-
/**
|
|
523
|
-
* Restore the sound of the media after a mute
|
|
524
|
-
* @returns {mediaplayer}
|
|
522
|
+
/**
|
|
523
|
+
* Restore the sound of the media after a mute
|
|
524
|
+
* @returns {mediaplayer}
|
|
525
525
|
*/
|
|
526
526
|
unmute() {
|
|
527
527
|
this.mute(false);
|
|
528
528
|
return this;
|
|
529
529
|
},
|
|
530
|
-
/**
|
|
531
|
-
* Sets the sound volume of the media being played
|
|
532
|
-
* @param {Number} value - A value between 0 and 100
|
|
533
|
-
* @param {*} [internal] - Internal use
|
|
534
|
-
* @returns {mediaplayer}
|
|
530
|
+
/**
|
|
531
|
+
* Sets the sound volume of the media being played
|
|
532
|
+
* @param {Number} value - A value between 0 and 100
|
|
533
|
+
* @param {*} [internal] - Internal use
|
|
534
|
+
* @returns {mediaplayer}
|
|
535
535
|
*/
|
|
536
536
|
setVolume(value, internal) {
|
|
537
537
|
this._updateVolume(value, internal);
|
|
538
538
|
this.execute('setVolume', this.volume);
|
|
539
539
|
return this;
|
|
540
540
|
},
|
|
541
|
-
/**
|
|
542
|
-
* Gets the sound volume applied to the media being played
|
|
543
|
-
* @returns {Number} Returns a value between 0 and 100
|
|
541
|
+
/**
|
|
542
|
+
* Gets the sound volume applied to the media being played
|
|
543
|
+
* @returns {Number} Returns a value between 0 and 100
|
|
544
544
|
*/
|
|
545
545
|
getVolume() {
|
|
546
546
|
return this.volume;
|
|
547
547
|
},
|
|
548
|
-
/**
|
|
549
|
-
* Gets the current displayed position inside the media
|
|
550
|
-
* @returns {Number}
|
|
548
|
+
/**
|
|
549
|
+
* Gets the current displayed position inside the media
|
|
550
|
+
* @returns {Number}
|
|
551
551
|
*/
|
|
552
552
|
getPosition() {
|
|
553
553
|
return this.position;
|
|
554
554
|
},
|
|
555
|
-
/**
|
|
556
|
-
* Gets the duration of the media
|
|
557
|
-
* @returns {Number}
|
|
555
|
+
/**
|
|
556
|
+
* Gets the duration of the media
|
|
557
|
+
* @returns {Number}
|
|
558
558
|
*/
|
|
559
559
|
getDuration() {
|
|
560
560
|
return this.duration;
|
|
561
561
|
},
|
|
562
|
-
/**
|
|
563
|
-
* Gets the number of times the media has been played
|
|
564
|
-
* @returns {Number}
|
|
562
|
+
/**
|
|
563
|
+
* Gets the number of times the media has been played
|
|
564
|
+
* @returns {Number}
|
|
565
565
|
*/
|
|
566
566
|
getTimesPlayed() {
|
|
567
567
|
return this.timesPlayed;
|
|
568
568
|
},
|
|
569
|
-
/**
|
|
570
|
-
* Gets the type of player
|
|
571
|
-
* @returns {String}
|
|
569
|
+
/**
|
|
570
|
+
* Gets the type of player
|
|
571
|
+
* @returns {String}
|
|
572
572
|
*/
|
|
573
573
|
getType() {
|
|
574
574
|
return this.type;
|
|
575
575
|
},
|
|
576
|
-
/**
|
|
577
|
-
* Gets the DOM container
|
|
578
|
-
* @returns {jQuery}
|
|
576
|
+
/**
|
|
577
|
+
* Gets the DOM container
|
|
578
|
+
* @returns {jQuery}
|
|
579
579
|
*/
|
|
580
580
|
getContainer() {
|
|
581
581
|
if (!this.$container && this.$component) {
|
|
@@ -586,25 +586,25 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
586
586
|
}
|
|
587
587
|
return this.$container;
|
|
588
588
|
},
|
|
589
|
-
/**
|
|
590
|
-
* Gets the underlying DOM element
|
|
591
|
-
* @returns {jQuery}
|
|
589
|
+
/**
|
|
590
|
+
* Gets the underlying DOM element
|
|
591
|
+
* @returns {jQuery}
|
|
592
592
|
*/
|
|
593
593
|
getElement() {
|
|
594
594
|
return this.$component;
|
|
595
595
|
},
|
|
596
|
-
/**
|
|
597
|
-
* Gets the list of media
|
|
598
|
-
* @returns {Array}
|
|
596
|
+
/**
|
|
597
|
+
* Gets the list of media
|
|
598
|
+
* @returns {Array}
|
|
599
599
|
*/
|
|
600
600
|
getSources() {
|
|
601
601
|
return this.config.sources.slice();
|
|
602
602
|
},
|
|
603
|
-
/**
|
|
604
|
-
* Sets the media source. If a source has been already set, it will be replaced.
|
|
605
|
-
* @param {String|Object} src - The media URL, or an object containing the source and the type
|
|
606
|
-
* @param {Function} [callback] - A function called to provide the added media source object
|
|
607
|
-
* @returns {mediaplayer}
|
|
603
|
+
/**
|
|
604
|
+
* Sets the media source. If a source has been already set, it will be replaced.
|
|
605
|
+
* @param {String|Object} src - The media URL, or an object containing the source and the type
|
|
606
|
+
* @param {Function} [callback] - A function called to provide the added media source object
|
|
607
|
+
* @returns {mediaplayer}
|
|
608
608
|
*/
|
|
609
609
|
setSource(src, callback) {
|
|
610
610
|
this._getSource(src, source => {
|
|
@@ -618,11 +618,11 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
618
618
|
});
|
|
619
619
|
return this;
|
|
620
620
|
},
|
|
621
|
-
/**
|
|
622
|
-
* Adds a media source.
|
|
623
|
-
* @param {String|Object} src - The media URL, or an object containing the source and the type
|
|
624
|
-
* @param {Function} [callback] - A function called to provide the added media source object
|
|
625
|
-
* @returns {mediaplayer}
|
|
621
|
+
/**
|
|
622
|
+
* Adds a media source.
|
|
623
|
+
* @param {String|Object} src - The media URL, or an object containing the source and the type
|
|
624
|
+
* @param {Function} [callback] - A function called to provide the added media source object
|
|
625
|
+
* @returns {mediaplayer}
|
|
626
626
|
*/
|
|
627
627
|
addSource(src, callback) {
|
|
628
628
|
this._getSource(src, source => {
|
|
@@ -636,19 +636,19 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
636
636
|
});
|
|
637
637
|
return this;
|
|
638
638
|
},
|
|
639
|
-
/**
|
|
640
|
-
* Tells if the media is in a particular state
|
|
641
|
-
* @param {String} state
|
|
642
|
-
* @returns {Boolean}
|
|
639
|
+
/**
|
|
640
|
+
* Tells if the media is in a particular state
|
|
641
|
+
* @param {String} state
|
|
642
|
+
* @returns {Boolean}
|
|
643
643
|
*/
|
|
644
644
|
is(state) {
|
|
645
645
|
return !!this.config.is[state];
|
|
646
646
|
},
|
|
647
|
-
/**
|
|
648
|
-
* Changes the size of the player
|
|
649
|
-
* @param {Number} width
|
|
650
|
-
* @param {Number} height
|
|
651
|
-
* @returns {mediaplayer}
|
|
647
|
+
/**
|
|
648
|
+
* Changes the size of the player
|
|
649
|
+
* @param {Number} width
|
|
650
|
+
* @param {Number} height
|
|
651
|
+
* @returns {mediaplayer}
|
|
652
652
|
*/
|
|
653
653
|
resize(width, height) {
|
|
654
654
|
if (isResponsiveSize(width) && !isResponsiveSize(height) || this.is('youtube')) {
|
|
@@ -659,42 +659,42 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
659
659
|
this.execute('setSize', width, height);
|
|
660
660
|
return this;
|
|
661
661
|
},
|
|
662
|
-
/**
|
|
663
|
-
* Enables the media player
|
|
664
|
-
* @returns {mediaplayer}
|
|
662
|
+
/**
|
|
663
|
+
* Enables the media player
|
|
664
|
+
* @returns {mediaplayer}
|
|
665
665
|
*/
|
|
666
666
|
enable() {
|
|
667
667
|
this._fromState('disabled');
|
|
668
668
|
return this;
|
|
669
669
|
},
|
|
670
|
-
/**
|
|
671
|
-
* Disables the media player
|
|
672
|
-
* @returns {mediaplayer}
|
|
670
|
+
/**
|
|
671
|
+
* Disables the media player
|
|
672
|
+
* @returns {mediaplayer}
|
|
673
673
|
*/
|
|
674
674
|
disable() {
|
|
675
675
|
this._toState('disabled');
|
|
676
676
|
this.trigger('disabled');
|
|
677
677
|
return this;
|
|
678
678
|
},
|
|
679
|
-
/**
|
|
680
|
-
* Shows the media player
|
|
681
|
-
* @returns {mediaplayer}
|
|
679
|
+
/**
|
|
680
|
+
* Shows the media player
|
|
681
|
+
* @returns {mediaplayer}
|
|
682
682
|
*/
|
|
683
683
|
show() {
|
|
684
684
|
this._fromState('hidden');
|
|
685
685
|
return this;
|
|
686
686
|
},
|
|
687
|
-
/**
|
|
688
|
-
* hides the media player
|
|
689
|
-
* @returns {mediaplayer}
|
|
687
|
+
/**
|
|
688
|
+
* hides the media player
|
|
689
|
+
* @returns {mediaplayer}
|
|
690
690
|
*/
|
|
691
691
|
hide() {
|
|
692
692
|
this._toState('hidden');
|
|
693
693
|
return this;
|
|
694
694
|
},
|
|
695
|
-
/**
|
|
696
|
-
* get media original size
|
|
697
|
-
* @returns {Object}
|
|
695
|
+
/**
|
|
696
|
+
* get media original size
|
|
697
|
+
* @returns {Object}
|
|
698
698
|
*/
|
|
699
699
|
getMediaOriginalSize() {
|
|
700
700
|
if (this.is('youtube')) {
|
|
@@ -705,10 +705,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
705
705
|
}
|
|
706
706
|
return {};
|
|
707
707
|
},
|
|
708
|
-
/**
|
|
709
|
-
* Ensures the right media type is set
|
|
710
|
-
* @param {String} type
|
|
711
|
-
* @private
|
|
708
|
+
/**
|
|
709
|
+
* Ensures the right media type is set
|
|
710
|
+
* @param {String} type
|
|
711
|
+
* @private
|
|
712
712
|
*/
|
|
713
713
|
_setType(type) {
|
|
714
714
|
if (type.indexOf('youtube') !== -1) {
|
|
@@ -719,9 +719,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
719
719
|
this.type = 'video';
|
|
720
720
|
}
|
|
721
721
|
},
|
|
722
|
-
/**
|
|
723
|
-
* Ensures the type is correctly applied
|
|
724
|
-
* @private
|
|
722
|
+
/**
|
|
723
|
+
* Ensures the type is correctly applied
|
|
724
|
+
* @private
|
|
725
725
|
*/
|
|
726
726
|
_initType() {
|
|
727
727
|
const is = this.config.is;
|
|
@@ -729,10 +729,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
729
729
|
is.video = 'video' === this.type || 'youtube' === this.type;
|
|
730
730
|
is.audio = 'audio' === this.type;
|
|
731
731
|
},
|
|
732
|
-
/**
|
|
733
|
-
* Gets a source descriptor.
|
|
734
|
-
* @param {String|Object} src - The media URL, or an object containing the source and the type
|
|
735
|
-
* @param {Function} callback - A function called to provide the media source object
|
|
732
|
+
/**
|
|
733
|
+
* Gets a source descriptor.
|
|
734
|
+
* @param {String|Object} src - The media URL, or an object containing the source and the type
|
|
735
|
+
* @param {Function} callback - A function called to provide the media source object
|
|
736
736
|
*/
|
|
737
737
|
_getSource(src, callback) {
|
|
738
738
|
let source;
|
|
@@ -768,10 +768,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
768
768
|
done();
|
|
769
769
|
}
|
|
770
770
|
},
|
|
771
|
-
/**
|
|
772
|
-
* Ensures the sources are correctly set
|
|
773
|
-
* @param {Function} callback - A function called once all sources have been initialized
|
|
774
|
-
* @private
|
|
771
|
+
/**
|
|
772
|
+
* Ensures the sources are correctly set
|
|
773
|
+
* @param {Function} callback - A function called once all sources have been initialized
|
|
774
|
+
* @private
|
|
775
775
|
*/
|
|
776
776
|
_initSources(callback) {
|
|
777
777
|
const sources = configToSources(this.config);
|
|
@@ -780,9 +780,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
780
780
|
this.addSource(source, src => cb(null, src));
|
|
781
781
|
}, callback);
|
|
782
782
|
},
|
|
783
|
-
/**
|
|
784
|
-
* Installs the events manager onto the instance
|
|
785
|
-
* @private
|
|
783
|
+
/**
|
|
784
|
+
* Installs the events manager onto the instance
|
|
785
|
+
* @private
|
|
786
786
|
*/
|
|
787
787
|
_initEvents() {
|
|
788
788
|
eventifier(this);
|
|
@@ -797,9 +797,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
797
797
|
return triggerEvent.call(this, eventName, ...args);
|
|
798
798
|
};
|
|
799
799
|
},
|
|
800
|
-
/**
|
|
801
|
-
* Ensures the right size is set according to the media type
|
|
802
|
-
* @private
|
|
800
|
+
/**
|
|
801
|
+
* Ensures the right size is set according to the media type
|
|
802
|
+
* @private
|
|
803
803
|
*/
|
|
804
804
|
_initSize() {
|
|
805
805
|
const type = this.is('video') ? 'video' : 'audio';
|
|
@@ -812,9 +812,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
812
812
|
this.config.height = 'auto';
|
|
813
813
|
}
|
|
814
814
|
},
|
|
815
|
-
/**
|
|
816
|
-
* Initializes the right player instance
|
|
817
|
-
* @private
|
|
815
|
+
/**
|
|
816
|
+
* Initializes the right player instance
|
|
817
|
+
* @private
|
|
818
818
|
*/
|
|
819
819
|
_initPlayer() {
|
|
820
820
|
const playerFactory = players[this.type];
|
|
@@ -851,9 +851,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
851
851
|
this.trigger('ready');
|
|
852
852
|
}
|
|
853
853
|
},
|
|
854
|
-
/**
|
|
855
|
-
* Initializes the player state
|
|
856
|
-
* @private
|
|
854
|
+
/**
|
|
855
|
+
* Initializes the player state
|
|
856
|
+
* @private
|
|
857
857
|
*/
|
|
858
858
|
_initState() {
|
|
859
859
|
let isCORS = false;
|
|
@@ -865,9 +865,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
865
865
|
this._setState('cors', isCORS);
|
|
866
866
|
this._setState('ready', false);
|
|
867
867
|
},
|
|
868
|
-
/**
|
|
869
|
-
* Resets the internals attributes
|
|
870
|
-
* @private
|
|
868
|
+
/**
|
|
869
|
+
* Resets the internals attributes
|
|
870
|
+
* @private
|
|
871
871
|
*/
|
|
872
872
|
_reset() {
|
|
873
873
|
this.config.is = {};
|
|
@@ -893,9 +893,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
893
893
|
this.autoStartAt = this.config.autoStartAt;
|
|
894
894
|
this.startMuted = this.config.startMuted;
|
|
895
895
|
},
|
|
896
|
-
/**
|
|
897
|
-
* Builds the DOM content
|
|
898
|
-
* @private
|
|
896
|
+
/**
|
|
897
|
+
* Builds the DOM content
|
|
898
|
+
* @private
|
|
899
899
|
*/
|
|
900
900
|
_buildDom() {
|
|
901
901
|
const configForTemplate = _.clone(this.config);
|
|
@@ -911,15 +911,15 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
911
911
|
this.$duration = this.$controls.find('[data-control="time-end"]');
|
|
912
912
|
this.$volumeSlider = this._renderSlider(this.$volume, this.volume, volumeMin, volumeMax, true);
|
|
913
913
|
},
|
|
914
|
-
/**
|
|
915
|
-
* Renders a slider onto an element
|
|
916
|
-
* @param {jQuery} $elt - The element on which renders the slider
|
|
917
|
-
* @param {Number} [value] - The current value of the slider
|
|
918
|
-
* @param {Number} [min] - The min value of the slider
|
|
919
|
-
* @param {Number} [max] - The max value of the slider
|
|
920
|
-
* @param {Boolean} [vertical] - Tells if the slider must be vertical
|
|
921
|
-
* @returns {jQuery} - Returns the element
|
|
922
|
-
* @private
|
|
914
|
+
/**
|
|
915
|
+
* Renders a slider onto an element
|
|
916
|
+
* @param {jQuery} $elt - The element on which renders the slider
|
|
917
|
+
* @param {Number} [value] - The current value of the slider
|
|
918
|
+
* @param {Number} [min] - The min value of the slider
|
|
919
|
+
* @param {Number} [max] - The max value of the slider
|
|
920
|
+
* @param {Boolean} [vertical] - Tells if the slider must be vertical
|
|
921
|
+
* @returns {jQuery} - Returns the element
|
|
922
|
+
* @private
|
|
923
923
|
*/
|
|
924
924
|
_renderSlider($elt, value, min, max, vertical) {
|
|
925
925
|
let orientation, direction;
|
|
@@ -943,19 +943,19 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
943
943
|
}
|
|
944
944
|
});
|
|
945
945
|
},
|
|
946
|
-
/**
|
|
947
|
-
* Destroys a slider bound to an element
|
|
948
|
-
* @param {jQuery} $elt
|
|
949
|
-
* @private
|
|
946
|
+
/**
|
|
947
|
+
* Destroys a slider bound to an element
|
|
948
|
+
* @param {jQuery} $elt
|
|
949
|
+
* @private
|
|
950
950
|
*/
|
|
951
951
|
_destroySlider($elt) {
|
|
952
952
|
if ($elt) {
|
|
953
953
|
$elt.get(0).destroy();
|
|
954
954
|
}
|
|
955
955
|
},
|
|
956
|
-
/**
|
|
957
|
-
* Binds events onto the rendered player
|
|
958
|
-
* @private
|
|
956
|
+
/**
|
|
957
|
+
* Binds events onto the rendered player
|
|
958
|
+
* @private
|
|
959
959
|
*/
|
|
960
960
|
_bindEvents() {
|
|
961
961
|
let overing = false;
|
|
@@ -1023,9 +1023,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1023
1023
|
}
|
|
1024
1024
|
});
|
|
1025
1025
|
},
|
|
1026
|
-
/**
|
|
1027
|
-
* Unbinds events from the rendered player
|
|
1028
|
-
* @private
|
|
1026
|
+
/**
|
|
1027
|
+
* Unbinds events from the rendered player
|
|
1028
|
+
* @private
|
|
1029
1029
|
*/
|
|
1030
1030
|
_unbindEvents() {
|
|
1031
1031
|
this.$component.off(ns);
|
|
@@ -1041,21 +1041,21 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1041
1041
|
}
|
|
1042
1042
|
$$1(document).off(ns);
|
|
1043
1043
|
},
|
|
1044
|
-
/**
|
|
1045
|
-
* Updates the volume slider
|
|
1046
|
-
* @param {Number} value
|
|
1047
|
-
* @private
|
|
1044
|
+
/**
|
|
1045
|
+
* Updates the volume slider
|
|
1046
|
+
* @param {Number} value
|
|
1047
|
+
* @private
|
|
1048
1048
|
*/
|
|
1049
1049
|
_updateVolumeSlider(value) {
|
|
1050
1050
|
if (this.$volumeSlider) {
|
|
1051
1051
|
this.$volumeSlider.val(value);
|
|
1052
1052
|
}
|
|
1053
1053
|
},
|
|
1054
|
-
/**
|
|
1055
|
-
* Updates the displayed volume
|
|
1056
|
-
* @param {Number} value
|
|
1057
|
-
* @param {*} [internal]
|
|
1058
|
-
* @private
|
|
1054
|
+
/**
|
|
1055
|
+
* Updates the displayed volume
|
|
1056
|
+
* @param {Number} value
|
|
1057
|
+
* @param {*} [internal]
|
|
1058
|
+
* @private
|
|
1059
1059
|
*/
|
|
1060
1060
|
_updateVolume(value, internal) {
|
|
1061
1061
|
this.volume = Math.max(volumeMin, Math.min(volumeMax, parseFloat(value)));
|
|
@@ -1064,31 +1064,31 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1064
1064
|
this._updateVolumeSlider(value);
|
|
1065
1065
|
}
|
|
1066
1066
|
},
|
|
1067
|
-
/**
|
|
1068
|
-
* Updates the time slider
|
|
1069
|
-
* @param {Number} value
|
|
1070
|
-
* @private
|
|
1067
|
+
/**
|
|
1068
|
+
* Updates the time slider
|
|
1069
|
+
* @param {Number} value
|
|
1070
|
+
* @private
|
|
1071
1071
|
*/
|
|
1072
1072
|
_updatePositionSlider(value) {
|
|
1073
1073
|
if (this.$seekSlider) {
|
|
1074
1074
|
this.$seekSlider.val(value);
|
|
1075
1075
|
}
|
|
1076
1076
|
},
|
|
1077
|
-
/**
|
|
1078
|
-
* Updates the time label
|
|
1079
|
-
* @param {Number} value
|
|
1080
|
-
* @private
|
|
1077
|
+
/**
|
|
1078
|
+
* Updates the time label
|
|
1079
|
+
* @param {Number} value
|
|
1080
|
+
* @private
|
|
1081
1081
|
*/
|
|
1082
1082
|
_updatePositionLabel(value) {
|
|
1083
1083
|
if (this.$position) {
|
|
1084
1084
|
this.$position.text(timerFormat(value));
|
|
1085
1085
|
}
|
|
1086
1086
|
},
|
|
1087
|
-
/**
|
|
1088
|
-
* Updates the displayed time position
|
|
1089
|
-
* @param {Number} value
|
|
1090
|
-
* @param {*} [internal]
|
|
1091
|
-
* @private
|
|
1087
|
+
/**
|
|
1088
|
+
* Updates the displayed time position
|
|
1089
|
+
* @param {Number} value
|
|
1090
|
+
* @param {*} [internal]
|
|
1091
|
+
* @private
|
|
1092
1092
|
*/
|
|
1093
1093
|
_updatePosition(value, internal) {
|
|
1094
1094
|
this.position = Math.max(0, Math.min(this.duration || +Infinity, parseFloat(value)));
|
|
@@ -1097,10 +1097,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1097
1097
|
}
|
|
1098
1098
|
this._updatePositionLabel(this.position);
|
|
1099
1099
|
},
|
|
1100
|
-
/**
|
|
1101
|
-
* Updates the duration slider
|
|
1102
|
-
* @param {Number} value
|
|
1103
|
-
* @private
|
|
1100
|
+
/**
|
|
1101
|
+
* Updates the duration slider
|
|
1102
|
+
* @param {Number} value
|
|
1103
|
+
* @private
|
|
1104
1104
|
*/
|
|
1105
1105
|
_updateDurationSlider(value) {
|
|
1106
1106
|
if (this.$seekSlider) {
|
|
@@ -1112,10 +1112,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1112
1112
|
this.$seekSlider.attr('disabled', !this.config.canSeek);
|
|
1113
1113
|
}
|
|
1114
1114
|
},
|
|
1115
|
-
/**
|
|
1116
|
-
* Updates the duration label
|
|
1117
|
-
* @param {Number} value
|
|
1118
|
-
* @private
|
|
1115
|
+
/**
|
|
1116
|
+
* Updates the duration label
|
|
1117
|
+
* @param {Number} value
|
|
1118
|
+
* @private
|
|
1119
1119
|
*/
|
|
1120
1120
|
_updateDurationLabel(value) {
|
|
1121
1121
|
if (this.$duration) {
|
|
@@ -1126,10 +1126,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1126
1126
|
}
|
|
1127
1127
|
}
|
|
1128
1128
|
},
|
|
1129
|
-
/**
|
|
1130
|
-
* Updates the displayed duration
|
|
1131
|
-
* @param {Number|String} value
|
|
1132
|
-
* @private
|
|
1129
|
+
/**
|
|
1130
|
+
* Updates the displayed duration
|
|
1131
|
+
* @param {Number|String} value
|
|
1132
|
+
* @private
|
|
1133
1133
|
*/
|
|
1134
1134
|
_updateDuration(value) {
|
|
1135
1135
|
const duration = Math.abs(parseFloat(value));
|
|
@@ -1139,9 +1139,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1139
1139
|
this._updateDurationLabel(this.duration);
|
|
1140
1140
|
}
|
|
1141
1141
|
},
|
|
1142
|
-
/**
|
|
1143
|
-
* Event called when the media is ready
|
|
1144
|
-
* @private
|
|
1142
|
+
/**
|
|
1143
|
+
* Event called when the media is ready
|
|
1144
|
+
* @private
|
|
1145
1145
|
*/
|
|
1146
1146
|
_onReady() {
|
|
1147
1147
|
if (this.is('error')) {
|
|
@@ -1154,9 +1154,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1154
1154
|
}
|
|
1155
1155
|
this.setInitialStates();
|
|
1156
1156
|
|
|
1157
|
-
/**
|
|
1158
|
-
* Triggers a media ready event
|
|
1159
|
-
* @event mediaplayer#ready
|
|
1157
|
+
/**
|
|
1158
|
+
* Triggers a media ready event
|
|
1159
|
+
* @event mediaplayer#ready
|
|
1160
1160
|
*/
|
|
1161
1161
|
this.trigger('ready');
|
|
1162
1162
|
|
|
@@ -1172,10 +1172,10 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1172
1172
|
this._setMaxHeight();
|
|
1173
1173
|
}
|
|
1174
1174
|
},
|
|
1175
|
-
/**
|
|
1176
|
-
* Set max height limit for container
|
|
1177
|
-
* using by old media items with defined height.
|
|
1178
|
-
* @private
|
|
1175
|
+
/**
|
|
1176
|
+
* Set max height limit for container
|
|
1177
|
+
* using by old media items with defined height.
|
|
1178
|
+
* @private
|
|
1179
1179
|
*/
|
|
1180
1180
|
_setMaxHeight() {
|
|
1181
1181
|
const $video = this.$container.find('video.video');
|
|
@@ -1192,19 +1192,19 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1192
1192
|
this.execute('setSize', Math.floor(videoWidth), 'auto');
|
|
1193
1193
|
}
|
|
1194
1194
|
},
|
|
1195
|
-
/**
|
|
1196
|
-
* Update volume in DBIndex store
|
|
1197
|
-
* @param {Number} volume
|
|
1198
|
-
* @returns {Promise}
|
|
1199
|
-
* @private
|
|
1195
|
+
/**
|
|
1196
|
+
* Update volume in DBIndex store
|
|
1197
|
+
* @param {Number} volume
|
|
1198
|
+
* @returns {Promise}
|
|
1199
|
+
* @private
|
|
1200
1200
|
*/
|
|
1201
1201
|
_storeVolume(volume) {
|
|
1202
1202
|
return store('mediaVolume').then(volumeStore => volumeStore.setItem('volume', volume));
|
|
1203
1203
|
},
|
|
1204
|
-
/**
|
|
1205
|
-
* Get volume from DBIndex store
|
|
1206
|
-
* @returns {Promise}
|
|
1207
|
-
* @private
|
|
1204
|
+
/**
|
|
1205
|
+
* Get volume from DBIndex store
|
|
1206
|
+
* @returns {Promise}
|
|
1207
|
+
* @private
|
|
1208
1208
|
*/
|
|
1209
1209
|
_updateVolumeFromStore() {
|
|
1210
1210
|
return store('mediaVolume').then(volumeStore => volumeStore.getItem('volume')).then(volume => {
|
|
@@ -1214,50 +1214,50 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1214
1214
|
}
|
|
1215
1215
|
});
|
|
1216
1216
|
},
|
|
1217
|
-
/**
|
|
1218
|
-
* Event called when the media throws unrecoverable error
|
|
1219
|
-
* @private
|
|
1217
|
+
/**
|
|
1218
|
+
* Event called when the media throws unrecoverable error
|
|
1219
|
+
* @private
|
|
1220
1220
|
*/
|
|
1221
1221
|
_onError() {
|
|
1222
1222
|
this._setState('error', true);
|
|
1223
1223
|
this._setState('loading', false);
|
|
1224
1224
|
|
|
1225
|
-
/**
|
|
1226
|
-
* Triggers an unrecoverable media error event
|
|
1227
|
-
* @event mediaplayer#error
|
|
1225
|
+
/**
|
|
1226
|
+
* Triggers an unrecoverable media error event
|
|
1227
|
+
* @event mediaplayer#error
|
|
1228
1228
|
*/
|
|
1229
1229
|
this.trigger('error');
|
|
1230
1230
|
},
|
|
1231
|
-
/**
|
|
1232
|
-
* Event called when the media is played
|
|
1233
|
-
* @private
|
|
1231
|
+
/**
|
|
1232
|
+
* Event called when the media is played
|
|
1233
|
+
* @private
|
|
1234
1234
|
*/
|
|
1235
1235
|
_onPlay() {
|
|
1236
1236
|
this._playingState(true);
|
|
1237
1237
|
this._setState('preview', true);
|
|
1238
1238
|
|
|
1239
|
-
/**
|
|
1240
|
-
* Triggers a media playback event
|
|
1241
|
-
* @event mediaplayer#play
|
|
1239
|
+
/**
|
|
1240
|
+
* Triggers a media playback event
|
|
1241
|
+
* @event mediaplayer#play
|
|
1242
1242
|
*/
|
|
1243
1243
|
this.trigger('play', this.player && this.player.getMedia());
|
|
1244
1244
|
},
|
|
1245
|
-
/**
|
|
1246
|
-
* Event called when the media is paused
|
|
1247
|
-
* @private
|
|
1245
|
+
/**
|
|
1246
|
+
* Event called when the media is paused
|
|
1247
|
+
* @private
|
|
1248
1248
|
*/
|
|
1249
1249
|
_onPause() {
|
|
1250
1250
|
this._playingState(false);
|
|
1251
1251
|
|
|
1252
|
-
/**
|
|
1253
|
-
* Triggers a media paused event
|
|
1254
|
-
* @event mediaplayer#pause
|
|
1252
|
+
/**
|
|
1253
|
+
* Triggers a media paused event
|
|
1254
|
+
* @event mediaplayer#pause
|
|
1255
1255
|
*/
|
|
1256
1256
|
this.trigger('pause');
|
|
1257
1257
|
},
|
|
1258
|
-
/**
|
|
1259
|
-
* Event called when the media is ended
|
|
1260
|
-
* @private
|
|
1258
|
+
/**
|
|
1259
|
+
* Event called when the media is ended
|
|
1260
|
+
* @private
|
|
1261
1261
|
*/
|
|
1262
1262
|
_onEnd() {
|
|
1263
1263
|
this.timesPlayed++;
|
|
@@ -1269,9 +1269,9 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1269
1269
|
if (!this.is('disabled')) {
|
|
1270
1270
|
this.disable();
|
|
1271
1271
|
}
|
|
1272
|
-
/**
|
|
1273
|
-
* Triggers a play limit reached event
|
|
1274
|
-
* @event mediaplayer#limitreached
|
|
1272
|
+
/**
|
|
1273
|
+
* Triggers a play limit reached event
|
|
1274
|
+
* @event mediaplayer#limitreached
|
|
1275
1275
|
*/
|
|
1276
1276
|
this.trigger('limitreached');
|
|
1277
1277
|
} else if (this.loop) {
|
|
@@ -1281,45 +1281,45 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1281
1281
|
this._replayTimeout();
|
|
1282
1282
|
}
|
|
1283
1283
|
|
|
1284
|
-
/**
|
|
1285
|
-
* Triggers a media ended event
|
|
1286
|
-
* @event mediaplayer#ended
|
|
1284
|
+
/**
|
|
1285
|
+
* Triggers a media ended event
|
|
1286
|
+
* @event mediaplayer#ended
|
|
1287
1287
|
*/
|
|
1288
1288
|
this.trigger('ended');
|
|
1289
1289
|
},
|
|
1290
|
-
/**
|
|
1291
|
-
* Event called when the playback is playing
|
|
1292
|
-
* @private
|
|
1290
|
+
/**
|
|
1291
|
+
* Event called when the playback is playing
|
|
1292
|
+
* @private
|
|
1293
1293
|
*/
|
|
1294
1294
|
_onPlaying() {
|
|
1295
1295
|
this._setState('preview', true);
|
|
1296
1296
|
this._setState('stalled', false);
|
|
1297
1297
|
this._setState('ready', true);
|
|
1298
1298
|
},
|
|
1299
|
-
/**
|
|
1300
|
-
* Event called when the playback is stalled
|
|
1301
|
-
* @private
|
|
1299
|
+
/**
|
|
1300
|
+
* Event called when the playback is stalled
|
|
1301
|
+
* @private
|
|
1302
1302
|
*/
|
|
1303
1303
|
_onStalled() {
|
|
1304
1304
|
this._setState('stalled', true);
|
|
1305
1305
|
this._setState('ready', false);
|
|
1306
1306
|
},
|
|
1307
|
-
/**
|
|
1308
|
-
* Event called when the time position has changed
|
|
1309
|
-
* @private
|
|
1307
|
+
/**
|
|
1308
|
+
* Event called when the time position has changed
|
|
1309
|
+
* @private
|
|
1310
1310
|
*/
|
|
1311
1311
|
_onTimeUpdate() {
|
|
1312
1312
|
this._updatePosition(this.player.getPosition());
|
|
1313
1313
|
|
|
1314
|
-
/**
|
|
1315
|
-
* Triggers a media time update event
|
|
1316
|
-
* @event mediaplayer#update
|
|
1314
|
+
/**
|
|
1315
|
+
* Triggers a media time update event
|
|
1316
|
+
* @event mediaplayer#update
|
|
1317
1317
|
*/
|
|
1318
1318
|
this.trigger('update');
|
|
1319
1319
|
},
|
|
1320
|
-
/**
|
|
1321
|
-
* Run a timer to disable the possibility of replaying a media
|
|
1322
|
-
* @private
|
|
1320
|
+
/**
|
|
1321
|
+
* Run a timer to disable the possibility of replaying a media
|
|
1322
|
+
* @private
|
|
1323
1323
|
*/
|
|
1324
1324
|
_replayTimeout() {
|
|
1325
1325
|
const nowMs = new window.Date().getTime(),
|
|
@@ -1330,51 +1330,51 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1330
1330
|
cancelAnimationFrame(this.timerId);
|
|
1331
1331
|
}
|
|
1332
1332
|
},
|
|
1333
|
-
/**
|
|
1334
|
-
* Checks if the play limit has been reached
|
|
1335
|
-
* @returns {Boolean}
|
|
1336
|
-
* @private
|
|
1333
|
+
/**
|
|
1334
|
+
* Checks if the play limit has been reached
|
|
1335
|
+
* @returns {Boolean}
|
|
1336
|
+
* @private
|
|
1337
1337
|
*/
|
|
1338
1338
|
_playLimitReached() {
|
|
1339
1339
|
return this.config.maxPlays && this.timesPlayed >= this.config.maxPlays;
|
|
1340
1340
|
},
|
|
1341
|
-
/**
|
|
1342
|
-
* Checks if the media can be played
|
|
1343
|
-
* @returns {Boolean}
|
|
1344
|
-
* @private
|
|
1341
|
+
/**
|
|
1342
|
+
* Checks if the media can be played
|
|
1343
|
+
* @returns {Boolean}
|
|
1344
|
+
* @private
|
|
1345
1345
|
*/
|
|
1346
1346
|
_canPlay() {
|
|
1347
1347
|
return (this.is('ready') || this.is('stalled')) && !this.is('disabled') && !this.is('hidden') && !this._playLimitReached();
|
|
1348
1348
|
},
|
|
1349
|
-
/**
|
|
1350
|
-
* Checks if the media can be paused
|
|
1351
|
-
* @returns {Boolean}
|
|
1352
|
-
* @private
|
|
1349
|
+
/**
|
|
1350
|
+
* Checks if the media can be paused
|
|
1351
|
+
* @returns {Boolean}
|
|
1352
|
+
* @private
|
|
1353
1353
|
*/
|
|
1354
1354
|
_canPause() {
|
|
1355
1355
|
return !!this.config.canPause;
|
|
1356
1356
|
},
|
|
1357
|
-
/**
|
|
1358
|
-
* Checks if the media can be sought
|
|
1359
|
-
* @returns {Boolean}
|
|
1360
|
-
* @private
|
|
1357
|
+
/**
|
|
1358
|
+
* Checks if the media can be sought
|
|
1359
|
+
* @returns {Boolean}
|
|
1360
|
+
* @private
|
|
1361
1361
|
*/
|
|
1362
1362
|
_canSeek() {
|
|
1363
1363
|
return !!this.config.canSeek;
|
|
1364
1364
|
},
|
|
1365
|
-
/**
|
|
1366
|
-
* Checks if the playback can be resumed
|
|
1367
|
-
* @returns {Boolean}
|
|
1368
|
-
* @private
|
|
1365
|
+
/**
|
|
1366
|
+
* Checks if the playback can be resumed
|
|
1367
|
+
* @returns {Boolean}
|
|
1368
|
+
* @private
|
|
1369
1369
|
*/
|
|
1370
1370
|
_canResume() {
|
|
1371
1371
|
return this.is('paused') && this._canPlay();
|
|
1372
1372
|
},
|
|
1373
|
-
/**
|
|
1374
|
-
* Sets the media is in a particular state
|
|
1375
|
-
* @param {String} name
|
|
1376
|
-
* @param {Boolean} value
|
|
1377
|
-
* @returns {mediaplayer}
|
|
1373
|
+
/**
|
|
1374
|
+
* Sets the media is in a particular state
|
|
1375
|
+
* @param {String} name
|
|
1376
|
+
* @param {Boolean} value
|
|
1377
|
+
* @returns {mediaplayer}
|
|
1378
1378
|
*/
|
|
1379
1379
|
_setState(name, value) {
|
|
1380
1380
|
value = !!value;
|
|
@@ -1384,34 +1384,34 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1384
1384
|
}
|
|
1385
1385
|
return this;
|
|
1386
1386
|
},
|
|
1387
|
-
/**
|
|
1388
|
-
* Restores the media player from a particular state and resumes the playback
|
|
1389
|
-
* @param {String} stateName
|
|
1390
|
-
* @returns {mediaplayer}
|
|
1391
|
-
* @private
|
|
1387
|
+
/**
|
|
1388
|
+
* Restores the media player from a particular state and resumes the playback
|
|
1389
|
+
* @param {String} stateName
|
|
1390
|
+
* @returns {mediaplayer}
|
|
1391
|
+
* @private
|
|
1392
1392
|
*/
|
|
1393
1393
|
_fromState(stateName) {
|
|
1394
1394
|
this._setState(stateName, false);
|
|
1395
1395
|
this.resume();
|
|
1396
1396
|
return this;
|
|
1397
1397
|
},
|
|
1398
|
-
/**
|
|
1399
|
-
* Sets the media player to a particular state and pauses the playback
|
|
1400
|
-
* @param {String} stateName
|
|
1401
|
-
* @returns {mediaplayer}
|
|
1402
|
-
* @private
|
|
1398
|
+
/**
|
|
1399
|
+
* Sets the media player to a particular state and pauses the playback
|
|
1400
|
+
* @param {String} stateName
|
|
1401
|
+
* @returns {mediaplayer}
|
|
1402
|
+
* @private
|
|
1403
1403
|
*/
|
|
1404
1404
|
_toState(stateName) {
|
|
1405
1405
|
this.pause();
|
|
1406
1406
|
this._setState(stateName, true);
|
|
1407
1407
|
return this;
|
|
1408
1408
|
},
|
|
1409
|
-
/**
|
|
1410
|
-
* Sets the playing state
|
|
1411
|
-
* @param {Boolean} state
|
|
1412
|
-
* @param {Boolean} [ended]
|
|
1413
|
-
* @returns {mediaplayer}
|
|
1414
|
-
* @private
|
|
1409
|
+
/**
|
|
1410
|
+
* Sets the playing state
|
|
1411
|
+
* @param {Boolean} state
|
|
1412
|
+
* @param {Boolean} [ended]
|
|
1413
|
+
* @returns {mediaplayer}
|
|
1414
|
+
* @private
|
|
1415
1415
|
*/
|
|
1416
1416
|
_playingState(state, ended) {
|
|
1417
1417
|
this._setState('playing', !!state);
|
|
@@ -1419,12 +1419,12 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1419
1419
|
this._setState('ended', !!ended);
|
|
1420
1420
|
return this;
|
|
1421
1421
|
},
|
|
1422
|
-
/**
|
|
1423
|
-
* Executes a command onto the media
|
|
1424
|
-
* @param {String} command - The name of the command to execute
|
|
1425
|
-
* @param {*} args - additional arguments
|
|
1426
|
-
* @returns {*}
|
|
1427
|
-
* @private
|
|
1422
|
+
/**
|
|
1423
|
+
* Executes a command onto the media
|
|
1424
|
+
* @param {String} command - The name of the command to execute
|
|
1425
|
+
* @param {*} args - additional arguments
|
|
1426
|
+
* @returns {*}
|
|
1427
|
+
* @private
|
|
1428
1428
|
*/
|
|
1429
1429
|
execute(command) {
|
|
1430
1430
|
if (this.player && 'function' === typeof this.player[command]) {
|
|
@@ -1438,37 +1438,37 @@ define(['jquery', 'lodash', 'async', 'util/urlParser', 'core/eventifier', 'core/
|
|
|
1438
1438
|
return mediaplayer.init(config);
|
|
1439
1439
|
}
|
|
1440
1440
|
|
|
1441
|
-
/**
|
|
1442
|
-
* Tells if the browser can play audio and video
|
|
1443
|
-
* @param {String} [type] The type of media (audio or video)
|
|
1444
|
-
* @param {String} [mime] A media MIME type to check
|
|
1445
|
-
* @type {Boolean}
|
|
1441
|
+
/**
|
|
1442
|
+
* Tells if the browser can play audio and video
|
|
1443
|
+
* @param {String} [type] The type of media (audio or video)
|
|
1444
|
+
* @param {String} [mime] A media MIME type to check
|
|
1445
|
+
* @type {Boolean}
|
|
1446
1446
|
*/
|
|
1447
1447
|
mediaplayerFactory.canPlay = function canPlay(type, mime) {
|
|
1448
1448
|
return support.canPlay(type, mime);
|
|
1449
1449
|
};
|
|
1450
1450
|
|
|
1451
|
-
/**
|
|
1452
|
-
* Tells if the browser can play audio
|
|
1453
|
-
* @param {String} [mime] A media MIME type to check
|
|
1454
|
-
* @type {Boolean}
|
|
1451
|
+
/**
|
|
1452
|
+
* Tells if the browser can play audio
|
|
1453
|
+
* @param {String} [mime] A media MIME type to check
|
|
1454
|
+
* @type {Boolean}
|
|
1455
1455
|
*/
|
|
1456
1456
|
mediaplayerFactory.canPlayAudio = function canPlayAudio(mime) {
|
|
1457
1457
|
return support.canPlayAudio(mime);
|
|
1458
1458
|
};
|
|
1459
1459
|
|
|
1460
|
-
/**
|
|
1461
|
-
* Tells if the browser can play video
|
|
1462
|
-
* @param {String} [mime] A media MIME type to check
|
|
1463
|
-
* @type {Boolean}
|
|
1460
|
+
/**
|
|
1461
|
+
* Tells if the browser can play video
|
|
1462
|
+
* @param {String} [mime] A media MIME type to check
|
|
1463
|
+
* @type {Boolean}
|
|
1464
1464
|
*/
|
|
1465
1465
|
mediaplayerFactory.canPlayVideo = function canPlayVideo(mime) {
|
|
1466
1466
|
return support.canPlayVideo(mime);
|
|
1467
1467
|
};
|
|
1468
1468
|
|
|
1469
|
-
/**
|
|
1470
|
-
* Checks if the browser allows to control the media playback
|
|
1471
|
-
* @returns {Boolean}
|
|
1469
|
+
/**
|
|
1470
|
+
* Checks if the browser allows to control the media playback
|
|
1471
|
+
* @returns {Boolean}
|
|
1472
1472
|
*/
|
|
1473
1473
|
mediaplayerFactory.canControl = function canControl() {
|
|
1474
1474
|
return support.canControl();
|