@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/form/form.js
CHANGED
|
@@ -40,16 +40,16 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
40
40
|
return buffer;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
buffer += "<div class=\"form-component\">\n <h2 class=\"form-title\">";
|
|
43
|
+
buffer += "<div class=\"form-component\">\r\n <h2 class=\"form-title\">";
|
|
44
44
|
if (helper = helpers.title) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
45
45
|
else { helper = (depth0 && depth0.title); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
46
46
|
buffer += escapeExpression(stack1)
|
|
47
|
-
+ "</h2>\n <form";
|
|
47
|
+
+ "</h2>\r\n <form";
|
|
48
48
|
stack1 = helpers['if'].call(depth0, (depth0 && depth0.formAction), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
49
49
|
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
50
50
|
stack1 = helpers['if'].call(depth0, (depth0 && depth0.formMethod), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});
|
|
51
51
|
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
52
|
-
buffer += ">\n <fieldset class=\"fieldset\"></fieldset>\n <div class=\"form-actions\"></div>\n </form>\n</div>\n";
|
|
52
|
+
buffer += ">\r\n <fieldset class=\"fieldset\"></fieldset>\r\n <div class=\"form-actions\"></div>\r\n </form>\r\n</div>\r\n";
|
|
53
53
|
return buffer;
|
|
54
54
|
});
|
|
55
55
|
function formTpl(data, options, asString) {
|
|
@@ -57,53 +57,53 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
57
57
|
return (asString || true) ? html : $(html);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
/**
|
|
61
|
-
* This program is free software; you can redistribute it and/or
|
|
62
|
-
* modify it under the terms of the GNU General Public License
|
|
63
|
-
* as published by the Free Software Foundation; under version 2
|
|
64
|
-
* of the License (non-upgradable).
|
|
65
|
-
*
|
|
66
|
-
* This program is distributed in the hope that it will be useful,
|
|
67
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
68
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
69
|
-
* GNU General Public License for more details.
|
|
70
|
-
*
|
|
71
|
-
* You should have received a copy of the GNU General Public License
|
|
72
|
-
* along with this program; if not, write to the Free Software
|
|
73
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
74
|
-
*
|
|
75
|
-
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
60
|
+
/**
|
|
61
|
+
* This program is free software; you can redistribute it and/or
|
|
62
|
+
* modify it under the terms of the GNU General Public License
|
|
63
|
+
* as published by the Free Software Foundation; under version 2
|
|
64
|
+
* of the License (non-upgradable).
|
|
65
|
+
*
|
|
66
|
+
* This program is distributed in the hope that it will be useful,
|
|
67
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
68
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
69
|
+
* GNU General Public License for more details.
|
|
70
|
+
*
|
|
71
|
+
* You should have received a copy of the GNU General Public License
|
|
72
|
+
* along with this program; if not, write to the Free Software
|
|
73
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
74
|
+
*
|
|
75
|
+
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
76
76
|
*/
|
|
77
77
|
|
|
78
|
-
/**
|
|
79
|
-
* @typedef {Object} formConfig Defines the config entries available to setup a form
|
|
80
|
-
* @property {String} [title] - An optional title for the form (default none)
|
|
81
|
-
* @property {String} [formAction] - The url the form is targeting (default '')
|
|
82
|
-
* @property {String} [formMethod] - The HTTP method the form should use (default '')
|
|
83
|
-
* @property {widgetConfig[]} [widgets] - The list of widgets to set in the form (default none)
|
|
84
|
-
* @property {buttonConfig[]} [buttons] - The list of buttons to set in the form (default none)
|
|
85
|
-
* @property {Object} [values] - Initial values for the widgets
|
|
86
|
-
* @property {Object} [ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
78
|
+
/**
|
|
79
|
+
* @typedef {Object} formConfig Defines the config entries available to setup a form
|
|
80
|
+
* @property {String} [title] - An optional title for the form (default none)
|
|
81
|
+
* @property {String} [formAction] - The url the form is targeting (default '')
|
|
82
|
+
* @property {String} [formMethod] - The HTTP method the form should use (default '')
|
|
83
|
+
* @property {widgetConfig[]} [widgets] - The list of widgets to set in the form (default none)
|
|
84
|
+
* @property {buttonConfig[]} [buttons] - The list of buttons to set in the form (default none)
|
|
85
|
+
* @property {Object} [values] - Initial values for the widgets
|
|
86
|
+
* @property {Object} [ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
87
87
|
*/
|
|
88
88
|
|
|
89
|
-
/**
|
|
90
|
-
* @typedef {Object} widgetValue Defines the value serialized from a widget
|
|
91
|
-
* @property {String} name - The identifier of the widget
|
|
92
|
-
* @property {String} value - The value of the widget
|
|
89
|
+
/**
|
|
90
|
+
* @typedef {Object} widgetValue Defines the value serialized from a widget
|
|
91
|
+
* @property {String} name - The identifier of the widget
|
|
92
|
+
* @property {String} value - The value of the widget
|
|
93
93
|
*/
|
|
94
94
|
|
|
95
|
-
/**
|
|
96
|
-
* Some default config
|
|
97
|
-
* @type {formConfig}
|
|
95
|
+
/**
|
|
96
|
+
* Some default config
|
|
97
|
+
* @type {formConfig}
|
|
98
98
|
*/
|
|
99
99
|
const defaults = {
|
|
100
100
|
formAction: '',
|
|
101
101
|
formMethod: ''
|
|
102
102
|
};
|
|
103
103
|
|
|
104
|
-
/**
|
|
105
|
-
* Enables all components from the list
|
|
106
|
-
* @param {Map} collection
|
|
104
|
+
/**
|
|
105
|
+
* Enables all components from the list
|
|
106
|
+
* @param {Map} collection
|
|
107
107
|
*/
|
|
108
108
|
function enableComponents(collection) {
|
|
109
109
|
for (let component of collection.values()) {
|
|
@@ -111,9 +111,9 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
/**
|
|
115
|
-
* Disables all components from the list
|
|
116
|
-
* @param {Map} collection
|
|
114
|
+
/**
|
|
115
|
+
* Disables all components from the list
|
|
116
|
+
* @param {Map} collection
|
|
117
117
|
*/
|
|
118
118
|
function disableComponents(collection) {
|
|
119
119
|
for (let component of collection.values()) {
|
|
@@ -121,20 +121,20 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
/**
|
|
125
|
-
* Remove and destroy a component from a collection.
|
|
126
|
-
* @param {Map} collection
|
|
127
|
-
* @param {String} key
|
|
124
|
+
/**
|
|
125
|
+
* Remove and destroy a component from a collection.
|
|
126
|
+
* @param {Map} collection
|
|
127
|
+
* @param {String} key
|
|
128
128
|
*/
|
|
129
129
|
function removeComponent(collection, key) {
|
|
130
130
|
collection.get(key).off('.form').destroy();
|
|
131
131
|
collection.delete(key);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
/**
|
|
135
|
-
* Gets indexed components from a collection.
|
|
136
|
-
* @param {Map} collection
|
|
137
|
-
* @returns {Object}
|
|
134
|
+
/**
|
|
135
|
+
* Gets indexed components from a collection.
|
|
136
|
+
* @param {Map} collection
|
|
137
|
+
* @returns {Object}
|
|
138
138
|
*/
|
|
139
139
|
function getComponents(collection) {
|
|
140
140
|
const components = {};
|
|
@@ -144,10 +144,10 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
144
144
|
return components;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
/**
|
|
148
|
-
* Wait for a component to be ready
|
|
149
|
-
* @param {component} component - The target component
|
|
150
|
-
* @returns {Promise<component>}
|
|
147
|
+
/**
|
|
148
|
+
* Wait for a component to be ready
|
|
149
|
+
* @param {component} component - The target component
|
|
150
|
+
* @returns {Promise<component>}
|
|
151
151
|
*/
|
|
152
152
|
function waitForRender(component) {
|
|
153
153
|
return new Promise(function renderPromise(resolve) {
|
|
@@ -160,12 +160,12 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
/**
|
|
164
|
-
* Validates a widget/button definition, then returns a promise
|
|
165
|
-
* @param {component} component - The target component
|
|
166
|
-
* @param {Object} definition - The definition to check
|
|
167
|
-
* @param {String} key - The key name for the identifier within the definition object
|
|
168
|
-
* @returns {Promise<component>}
|
|
163
|
+
/**
|
|
164
|
+
* Validates a widget/button definition, then returns a promise
|
|
165
|
+
* @param {component} component - The target component
|
|
166
|
+
* @param {Object} definition - The definition to check
|
|
167
|
+
* @param {String} key - The key name for the identifier within the definition object
|
|
168
|
+
* @returns {Promise<component>}
|
|
169
169
|
*/
|
|
170
170
|
function validateDefinition(component, definition, key) {
|
|
171
171
|
if (!_.isPlainObject(definition)) {
|
|
@@ -177,89 +177,89 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
177
177
|
return waitForRender(component);
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
/**
|
|
181
|
-
* Builds a form component.
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* const container = $('.my-container', $container);
|
|
185
|
-
*
|
|
186
|
-
* const config = {
|
|
187
|
-
* title: 'My fancy form',
|
|
188
|
-
* widgets: [{
|
|
189
|
-
* widget: widgetDefinitions.TEXTBOX
|
|
190
|
-
* uri: 'nickname',
|
|
191
|
-
* label: 'Name',
|
|
192
|
-
* required: true
|
|
193
|
-
* }, {
|
|
194
|
-
* widget: widgetDefinitions.TEXTAREA
|
|
195
|
-
* uri: 'comment',
|
|
196
|
-
* label: 'Comment',
|
|
197
|
-
* required: true
|
|
198
|
-
* }],
|
|
199
|
-
* buttons = [{
|
|
200
|
-
* id: 'publish',
|
|
201
|
-
* label: 'Publish',
|
|
202
|
-
* icon: 'save
|
|
203
|
-
* }]
|
|
204
|
-
* };
|
|
205
|
-
*
|
|
206
|
-
* const form = formFactory(container, config)
|
|
207
|
-
* .on('button-publish', () => {
|
|
208
|
-
* this.submit()
|
|
209
|
-
* .then(values => dataProvider('comment').send(values))
|
|
210
|
-
* .catch(reason => feedback().error('Invalid input!'))
|
|
211
|
-
* });
|
|
212
|
-
*
|
|
213
|
-
* @param {HTMLElement|String} container
|
|
214
|
-
* @param {formConfig} config
|
|
215
|
-
* @param {String} [config.title] - An optional title for the form (default none)
|
|
216
|
-
* @param {String} [config.formAction] - The url the form is targeting (default '')
|
|
217
|
-
* @param {String} [config.formMethod] - The HTTP method the form should use (default '')
|
|
218
|
-
* @param {widgetConfig[]} [config.widgets] - The list of widgets to set in the form (default none)
|
|
219
|
-
* @param {buttonConfig[]} [config.buttons] - The list of buttons to set in the form (default none)
|
|
220
|
-
* @param {Object} [config.values] - Initial values for the widgets
|
|
221
|
-
* @param {Object} [config.ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
222
|
-
* @returns {form}
|
|
223
|
-
* @fires ready - When the component is ready to work
|
|
180
|
+
/**
|
|
181
|
+
* Builds a form component.
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* const container = $('.my-container', $container);
|
|
185
|
+
*
|
|
186
|
+
* const config = {
|
|
187
|
+
* title: 'My fancy form',
|
|
188
|
+
* widgets: [{
|
|
189
|
+
* widget: widgetDefinitions.TEXTBOX
|
|
190
|
+
* uri: 'nickname',
|
|
191
|
+
* label: 'Name',
|
|
192
|
+
* required: true
|
|
193
|
+
* }, {
|
|
194
|
+
* widget: widgetDefinitions.TEXTAREA
|
|
195
|
+
* uri: 'comment',
|
|
196
|
+
* label: 'Comment',
|
|
197
|
+
* required: true
|
|
198
|
+
* }],
|
|
199
|
+
* buttons = [{
|
|
200
|
+
* id: 'publish',
|
|
201
|
+
* label: 'Publish',
|
|
202
|
+
* icon: 'save
|
|
203
|
+
* }]
|
|
204
|
+
* };
|
|
205
|
+
*
|
|
206
|
+
* const form = formFactory(container, config)
|
|
207
|
+
* .on('button-publish', () => {
|
|
208
|
+
* this.submit()
|
|
209
|
+
* .then(values => dataProvider('comment').send(values))
|
|
210
|
+
* .catch(reason => feedback().error('Invalid input!'))
|
|
211
|
+
* });
|
|
212
|
+
*
|
|
213
|
+
* @param {HTMLElement|String} container
|
|
214
|
+
* @param {formConfig} config
|
|
215
|
+
* @param {String} [config.title] - An optional title for the form (default none)
|
|
216
|
+
* @param {String} [config.formAction] - The url the form is targeting (default '')
|
|
217
|
+
* @param {String} [config.formMethod] - The HTTP method the form should use (default '')
|
|
218
|
+
* @param {widgetConfig[]} [config.widgets] - The list of widgets to set in the form (default none)
|
|
219
|
+
* @param {buttonConfig[]} [config.buttons] - The list of buttons to set in the form (default none)
|
|
220
|
+
* @param {Object} [config.values] - Initial values for the widgets
|
|
221
|
+
* @param {Object} [config.ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
222
|
+
* @returns {form}
|
|
223
|
+
* @fires ready - When the component is ready to work
|
|
224
224
|
*/
|
|
225
225
|
function formFactory(container, config) {
|
|
226
226
|
const widgets = new Map();
|
|
227
227
|
const buttons = new Map();
|
|
228
228
|
let controls = null;
|
|
229
229
|
const api = {
|
|
230
|
-
/**
|
|
231
|
-
* Gets the url the form is targeting.
|
|
232
|
-
* @returns {String}
|
|
230
|
+
/**
|
|
231
|
+
* Gets the url the form is targeting.
|
|
232
|
+
* @returns {String}
|
|
233
233
|
*/
|
|
234
234
|
getFormAction() {
|
|
235
235
|
return this.getConfig().formAction;
|
|
236
236
|
},
|
|
237
|
-
/**
|
|
238
|
-
* Gets the HTTP method the form should use.
|
|
239
|
-
* @returns {String}
|
|
237
|
+
/**
|
|
238
|
+
* Gets the HTTP method the form should use.
|
|
239
|
+
* @returns {String}
|
|
240
240
|
*/
|
|
241
241
|
getFormMethod() {
|
|
242
242
|
return this.getConfig().formMethod;
|
|
243
243
|
},
|
|
244
|
-
/**
|
|
245
|
-
* Gets access to the ranges set for the widgets (generis related)
|
|
246
|
-
* @returns {Object}
|
|
244
|
+
/**
|
|
245
|
+
* Gets access to the ranges set for the widgets (generis related)
|
|
246
|
+
* @returns {Object}
|
|
247
247
|
*/
|
|
248
248
|
getRanges() {
|
|
249
249
|
return this.getConfig().ranges || {};
|
|
250
250
|
},
|
|
251
|
-
/**
|
|
252
|
-
* Gets the title set to the form.
|
|
253
|
-
* @returns {String}
|
|
251
|
+
/**
|
|
252
|
+
* Gets the title set to the form.
|
|
253
|
+
* @returns {String}
|
|
254
254
|
*/
|
|
255
255
|
getTitle() {
|
|
256
256
|
return this.getConfig().title;
|
|
257
257
|
},
|
|
258
|
-
/**
|
|
259
|
-
* Change the title of the form
|
|
260
|
-
* @param {String} title
|
|
261
|
-
* @returns {form}
|
|
262
|
-
* @fires titlechange after the title has been changed
|
|
258
|
+
/**
|
|
259
|
+
* Change the title of the form
|
|
260
|
+
* @param {String} title
|
|
261
|
+
* @returns {form}
|
|
262
|
+
* @fires titlechange after the title has been changed
|
|
263
263
|
*/
|
|
264
264
|
setTitle(title) {
|
|
265
265
|
this.getConfig().title = title;
|
|
@@ -268,29 +268,29 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
268
268
|
hider.toggle(controls.$title, !!title);
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
-
/**
|
|
272
|
-
* @event titlechange
|
|
273
|
-
* @param {String} title
|
|
271
|
+
/**
|
|
272
|
+
* @event titlechange
|
|
273
|
+
* @param {String} title
|
|
274
274
|
*/
|
|
275
275
|
this.trigger('titlechange', title);
|
|
276
276
|
return this;
|
|
277
277
|
},
|
|
278
|
-
/**
|
|
279
|
-
* Gets a widget by its uri
|
|
280
|
-
* @param {String} uri
|
|
281
|
-
* @returns {widgetForm}
|
|
278
|
+
/**
|
|
279
|
+
* Gets a widget by its uri
|
|
280
|
+
* @param {String} uri
|
|
281
|
+
* @returns {widgetForm}
|
|
282
282
|
*/
|
|
283
283
|
getWidget(uri) {
|
|
284
284
|
return widgets.get(uri) || null;
|
|
285
285
|
},
|
|
286
|
-
/**
|
|
287
|
-
* Adds a widget to the form
|
|
288
|
-
* @param {widgetConfig} definition
|
|
289
|
-
* @returns {Promise<widgetForm>}
|
|
290
|
-
* @throws TypeError if the widget definition is invalid
|
|
291
|
-
* @fires change when the widget's value changes
|
|
292
|
-
* @fires change-<uri> when the widget's value changes
|
|
293
|
-
* @fires widgetadd after the widget has been added
|
|
286
|
+
/**
|
|
287
|
+
* Adds a widget to the form
|
|
288
|
+
* @param {widgetConfig} definition
|
|
289
|
+
* @returns {Promise<widgetForm>}
|
|
290
|
+
* @throws TypeError if the widget definition is invalid
|
|
291
|
+
* @fires change when the widget's value changes
|
|
292
|
+
* @fires change-<uri> when the widget's value changes
|
|
293
|
+
* @fires widgetadd after the widget has been added
|
|
294
294
|
*/
|
|
295
295
|
addWidget(definition) {
|
|
296
296
|
return validateDefinition(this, definition, 'uri').then(() => {
|
|
@@ -305,23 +305,23 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
305
305
|
const widget = widgetFactory(controls.$widgets, definition);
|
|
306
306
|
widgets.set(definition.uri, widget);
|
|
307
307
|
widget.on('change.form', value => {
|
|
308
|
-
/**
|
|
309
|
-
* @event change
|
|
310
|
-
* @param {String} uri
|
|
311
|
-
* @param {String} value
|
|
308
|
+
/**
|
|
309
|
+
* @event change
|
|
310
|
+
* @param {String} uri
|
|
311
|
+
* @param {String} value
|
|
312
312
|
*/
|
|
313
313
|
this.trigger('change', definition.uri, value);
|
|
314
314
|
|
|
315
|
-
/**
|
|
316
|
-
* @event change-<uri>
|
|
317
|
-
* @param {String} value
|
|
315
|
+
/**
|
|
316
|
+
* @event change-<uri>
|
|
317
|
+
* @param {String} value
|
|
318
318
|
*/
|
|
319
319
|
this.trigger(`change-${definition.uri}`, value);
|
|
320
320
|
}).on('ready.form', () => {
|
|
321
|
-
/**
|
|
322
|
-
* @event widgetadd
|
|
323
|
-
* @param {String} uri
|
|
324
|
-
* @param {widgetForm} widget
|
|
321
|
+
/**
|
|
322
|
+
* @event widgetadd
|
|
323
|
+
* @param {String} uri
|
|
324
|
+
* @param {widgetForm} widget
|
|
325
325
|
*/
|
|
326
326
|
this.trigger('widgetadd', definition.uri, widget);
|
|
327
327
|
resolve(widget);
|
|
@@ -329,43 +329,43 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
329
329
|
});
|
|
330
330
|
});
|
|
331
331
|
},
|
|
332
|
-
/**
|
|
333
|
-
* Removes a widget
|
|
334
|
-
* @param {String} uri
|
|
335
|
-
* @returns {form}
|
|
336
|
-
* @fires widgetremove after the widget has been removed
|
|
332
|
+
/**
|
|
333
|
+
* Removes a widget
|
|
334
|
+
* @param {String} uri
|
|
335
|
+
* @returns {form}
|
|
336
|
+
* @fires widgetremove after the widget has been removed
|
|
337
337
|
*/
|
|
338
338
|
removeWidget(uri) {
|
|
339
339
|
if (widgets.has(uri)) {
|
|
340
340
|
removeComponent(widgets, uri);
|
|
341
341
|
|
|
342
|
-
/**
|
|
343
|
-
* @event widgetremove
|
|
344
|
-
* @param {String} uri
|
|
342
|
+
/**
|
|
343
|
+
* @event widgetremove
|
|
344
|
+
* @param {String} uri
|
|
345
345
|
*/
|
|
346
346
|
this.trigger('widgetremove', uri);
|
|
347
347
|
}
|
|
348
348
|
return this;
|
|
349
349
|
},
|
|
350
|
-
/**
|
|
351
|
-
* Gets the list of widgets.
|
|
352
|
-
* @returns {Object}
|
|
350
|
+
/**
|
|
351
|
+
* Gets the list of widgets.
|
|
352
|
+
* @returns {Object}
|
|
353
353
|
*/
|
|
354
354
|
getWidgets() {
|
|
355
355
|
return getComponents(widgets);
|
|
356
356
|
},
|
|
357
|
-
/**
|
|
358
|
-
* Replace the widgets
|
|
359
|
-
* @param {widgetConfig[]} definitions
|
|
360
|
-
* @returns {Promise<widgetForm[]>}
|
|
357
|
+
/**
|
|
358
|
+
* Replace the widgets
|
|
359
|
+
* @param {widgetConfig[]} definitions
|
|
360
|
+
* @returns {Promise<widgetForm[]>}
|
|
361
361
|
*/
|
|
362
362
|
setWidgets(definitions) {
|
|
363
363
|
this.removeWidgets();
|
|
364
364
|
return Promise.all(_.map(definitions, definition => this.addWidget(definition)));
|
|
365
365
|
},
|
|
366
|
-
/**
|
|
367
|
-
* Removes all widgets
|
|
368
|
-
* @returns {form}
|
|
366
|
+
/**
|
|
367
|
+
* Removes all widgets
|
|
368
|
+
* @returns {form}
|
|
369
369
|
*/
|
|
370
370
|
removeWidgets() {
|
|
371
371
|
for (let uri of widgets.keys()) {
|
|
@@ -374,43 +374,43 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
374
374
|
widgets.clear();
|
|
375
375
|
return this;
|
|
376
376
|
},
|
|
377
|
-
/**
|
|
378
|
-
* Gets a button by its identifier
|
|
379
|
-
* @param {String} id
|
|
380
|
-
* @returns {button}
|
|
377
|
+
/**
|
|
378
|
+
* Gets a button by its identifier
|
|
379
|
+
* @param {String} id
|
|
380
|
+
* @returns {button}
|
|
381
381
|
*/
|
|
382
382
|
getButton(id) {
|
|
383
383
|
return buttons.get(id) || null;
|
|
384
384
|
},
|
|
385
|
-
/**
|
|
386
|
-
* Adds a button to the form
|
|
387
|
-
* @param {buttonConfig} definition
|
|
388
|
-
* @returns {Promise<button>}
|
|
389
|
-
* @throws TypeError if the button definition is invalid
|
|
390
|
-
* @fires button when the button is triggered
|
|
391
|
-
* @fires button-<id> when the button is triggered
|
|
392
|
-
* @fires buttonadd after the button has been added
|
|
385
|
+
/**
|
|
386
|
+
* Adds a button to the form
|
|
387
|
+
* @param {buttonConfig} definition
|
|
388
|
+
* @returns {Promise<button>}
|
|
389
|
+
* @throws TypeError if the button definition is invalid
|
|
390
|
+
* @fires button when the button is triggered
|
|
391
|
+
* @fires button-<id> when the button is triggered
|
|
392
|
+
* @fires buttonadd after the button has been added
|
|
393
393
|
*/
|
|
394
394
|
addButton(definition) {
|
|
395
395
|
return validateDefinition(this, definition, 'id').then(() => new Promise(resolve => {
|
|
396
396
|
const button = buttonFactory(definition);
|
|
397
397
|
buttons.set(definition.id, button);
|
|
398
398
|
button.on('click.form', () => {
|
|
399
|
-
/**
|
|
400
|
-
* @event button
|
|
401
|
-
* @param {String} id
|
|
399
|
+
/**
|
|
400
|
+
* @event button
|
|
401
|
+
* @param {String} id
|
|
402
402
|
*/
|
|
403
403
|
this.trigger('button', definition.id);
|
|
404
404
|
|
|
405
|
-
/**
|
|
406
|
-
* @event button-<id>
|
|
405
|
+
/**
|
|
406
|
+
* @event button-<id>
|
|
407
407
|
*/
|
|
408
408
|
this.trigger(`button-${definition.id}`);
|
|
409
409
|
}).on('ready.form', () => {
|
|
410
|
-
/**
|
|
411
|
-
* @event buttonadd
|
|
412
|
-
* @param {String} id
|
|
413
|
-
* @param {button} button
|
|
410
|
+
/**
|
|
411
|
+
* @event buttonadd
|
|
412
|
+
* @param {String} id
|
|
413
|
+
* @param {button} button
|
|
414
414
|
*/
|
|
415
415
|
this.trigger('buttonadd', definition.id, button);
|
|
416
416
|
resolve(button);
|
|
@@ -418,43 +418,43 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
418
418
|
button.render(controls.$buttons);
|
|
419
419
|
}));
|
|
420
420
|
},
|
|
421
|
-
/**
|
|
422
|
-
* Removes a button
|
|
423
|
-
* @param {String} id
|
|
424
|
-
* @returns {form}
|
|
425
|
-
* @fires buttonremove after the button has been removed
|
|
421
|
+
/**
|
|
422
|
+
* Removes a button
|
|
423
|
+
* @param {String} id
|
|
424
|
+
* @returns {form}
|
|
425
|
+
* @fires buttonremove after the button has been removed
|
|
426
426
|
*/
|
|
427
427
|
removeButton(id) {
|
|
428
428
|
if (buttons.has(id)) {
|
|
429
429
|
removeComponent(buttons, id);
|
|
430
430
|
|
|
431
|
-
/**
|
|
432
|
-
* @event buttonremove
|
|
433
|
-
* @param {String} id
|
|
431
|
+
/**
|
|
432
|
+
* @event buttonremove
|
|
433
|
+
* @param {String} id
|
|
434
434
|
*/
|
|
435
435
|
this.trigger('buttonremove', id);
|
|
436
436
|
}
|
|
437
437
|
return this;
|
|
438
438
|
},
|
|
439
|
-
/**
|
|
440
|
-
* Gets the list of buttons.
|
|
441
|
-
* @returns {Object}
|
|
439
|
+
/**
|
|
440
|
+
* Gets the list of buttons.
|
|
441
|
+
* @returns {Object}
|
|
442
442
|
*/
|
|
443
443
|
getButtons() {
|
|
444
444
|
return getComponents(buttons);
|
|
445
445
|
},
|
|
446
|
-
/**
|
|
447
|
-
* Replace the buttons
|
|
448
|
-
* @param {buttonConfig[]} definitions
|
|
449
|
-
* @returns {Promise<button[]>}
|
|
446
|
+
/**
|
|
447
|
+
* Replace the buttons
|
|
448
|
+
* @param {buttonConfig[]} definitions
|
|
449
|
+
* @returns {Promise<button[]>}
|
|
450
450
|
*/
|
|
451
451
|
setButtons(definitions) {
|
|
452
452
|
this.removeButtons();
|
|
453
453
|
return Promise.all(_.map(definitions, definition => this.addButton(definition)));
|
|
454
454
|
},
|
|
455
|
-
/**
|
|
456
|
-
* Removes all buttons
|
|
457
|
-
* @returns {form}
|
|
455
|
+
/**
|
|
456
|
+
* Removes all buttons
|
|
457
|
+
* @returns {form}
|
|
458
458
|
*/
|
|
459
459
|
removeButtons() {
|
|
460
460
|
for (let id of buttons.keys()) {
|
|
@@ -463,10 +463,10 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
463
463
|
buttons.clear();
|
|
464
464
|
return this;
|
|
465
465
|
},
|
|
466
|
-
/**
|
|
467
|
-
* Gets the value of a widget
|
|
468
|
-
* @param {String} uri
|
|
469
|
-
* @returns {String}
|
|
466
|
+
/**
|
|
467
|
+
* Gets the value of a widget
|
|
468
|
+
* @param {String} uri
|
|
469
|
+
* @returns {String}
|
|
470
470
|
*/
|
|
471
471
|
getValue(uri) {
|
|
472
472
|
if (widgets.has(uri)) {
|
|
@@ -474,11 +474,11 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
474
474
|
}
|
|
475
475
|
return '';
|
|
476
476
|
},
|
|
477
|
-
/**
|
|
478
|
-
* Sets the value of a widget
|
|
479
|
-
* @param {String} uri
|
|
480
|
-
* @param {String} value
|
|
481
|
-
* @returns {form}
|
|
477
|
+
/**
|
|
478
|
+
* Sets the value of a widget
|
|
479
|
+
* @param {String} uri
|
|
480
|
+
* @param {String} value
|
|
481
|
+
* @returns {form}
|
|
482
482
|
*/
|
|
483
483
|
setValue(uri, value) {
|
|
484
484
|
if (widgets.has(uri)) {
|
|
@@ -486,9 +486,9 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
486
486
|
}
|
|
487
487
|
return this;
|
|
488
488
|
},
|
|
489
|
-
/**
|
|
490
|
-
* Gets the values from all the form widgets
|
|
491
|
-
* @returns {Object}
|
|
489
|
+
/**
|
|
490
|
+
* Gets the values from all the form widgets
|
|
491
|
+
* @returns {Object}
|
|
492
492
|
*/
|
|
493
493
|
getValues() {
|
|
494
494
|
const values = {};
|
|
@@ -497,10 +497,10 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
497
497
|
}
|
|
498
498
|
return values;
|
|
499
499
|
},
|
|
500
|
-
/**
|
|
501
|
-
* Sets the values for the form widgets
|
|
502
|
-
* @param {Object} values
|
|
503
|
-
* @returns {form}
|
|
500
|
+
/**
|
|
501
|
+
* Sets the values for the form widgets
|
|
502
|
+
* @param {Object} values
|
|
503
|
+
* @returns {form}
|
|
504
504
|
*/
|
|
505
505
|
setValues(values) {
|
|
506
506
|
_.forEach(values, (value, uri) => {
|
|
@@ -510,9 +510,9 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
510
510
|
});
|
|
511
511
|
return this;
|
|
512
512
|
},
|
|
513
|
-
/**
|
|
514
|
-
* Serializes form values to an array of name/value objects
|
|
515
|
-
* @returns {widgetValue[]}
|
|
513
|
+
/**
|
|
514
|
+
* Serializes form values to an array of name/value objects
|
|
515
|
+
* @returns {widgetValue[]}
|
|
516
516
|
*/
|
|
517
517
|
serializeValues() {
|
|
518
518
|
const values = [];
|
|
@@ -524,9 +524,9 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
524
524
|
}
|
|
525
525
|
return values;
|
|
526
526
|
},
|
|
527
|
-
/**
|
|
528
|
-
* Validate the form widgets
|
|
529
|
-
* @returns {Promise}
|
|
527
|
+
/**
|
|
528
|
+
* Validate the form widgets
|
|
529
|
+
* @returns {Promise}
|
|
530
530
|
*/
|
|
531
531
|
validate() {
|
|
532
532
|
const promises = [];
|
|
@@ -547,48 +547,48 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
547
547
|
return result;
|
|
548
548
|
});
|
|
549
549
|
},
|
|
550
|
-
/**
|
|
551
|
-
* Submits the form
|
|
552
|
-
* @returns {form}
|
|
553
|
-
* @fires submit in case of successful validation
|
|
554
|
-
* @fires invalid in case of failed validation
|
|
555
|
-
* @fires error when an error is raised
|
|
550
|
+
/**
|
|
551
|
+
* Submits the form
|
|
552
|
+
* @returns {form}
|
|
553
|
+
* @fires submit in case of successful validation
|
|
554
|
+
* @fires invalid in case of failed validation
|
|
555
|
+
* @fires error when an error is raised
|
|
556
556
|
*/
|
|
557
557
|
submit() {
|
|
558
558
|
this.validate().then(() => {
|
|
559
|
-
/**
|
|
560
|
-
* @event submit
|
|
561
|
-
* @param {widgetValue[]} values
|
|
559
|
+
/**
|
|
560
|
+
* @event submit
|
|
561
|
+
* @param {widgetValue[]} values
|
|
562
562
|
*/
|
|
563
563
|
this.trigger('submit', this.serializeValues());
|
|
564
564
|
}).catch(reason => {
|
|
565
|
-
/**
|
|
566
|
-
* @event invalid
|
|
567
|
-
* @param {Object} reason
|
|
565
|
+
/**
|
|
566
|
+
* @event invalid
|
|
567
|
+
* @param {Object} reason
|
|
568
568
|
*/
|
|
569
569
|
this.trigger('invalid', reason);
|
|
570
570
|
if (reason instanceof Error) {
|
|
571
|
-
/**
|
|
572
|
-
* @event error
|
|
573
|
-
* @param {Error} err
|
|
571
|
+
/**
|
|
572
|
+
* @event error
|
|
573
|
+
* @param {Error} err
|
|
574
574
|
*/
|
|
575
575
|
this.trigger('error', reason);
|
|
576
576
|
}
|
|
577
577
|
});
|
|
578
578
|
return this;
|
|
579
579
|
},
|
|
580
|
-
/**
|
|
581
|
-
* Resets the form
|
|
582
|
-
* @returns {form}
|
|
583
|
-
* @fires reset
|
|
580
|
+
/**
|
|
581
|
+
* Resets the form
|
|
582
|
+
* @returns {form}
|
|
583
|
+
* @fires reset
|
|
584
584
|
*/
|
|
585
585
|
reset() {
|
|
586
586
|
for (let widget of widgets.values()) {
|
|
587
587
|
widget.reset();
|
|
588
588
|
}
|
|
589
589
|
|
|
590
|
-
/**
|
|
591
|
-
* @event reset
|
|
590
|
+
/**
|
|
591
|
+
* @event reset
|
|
592
592
|
*/
|
|
593
593
|
this.trigger('reset');
|
|
594
594
|
return this;
|
|
@@ -643,8 +643,8 @@ define(['lodash', 'ui/component', 'ui/button', 'ui/hider', 'ui/form/widget/defin
|
|
|
643
643
|
}).catch(err => {
|
|
644
644
|
this.trigger('error', err);
|
|
645
645
|
}).then(() => {
|
|
646
|
-
/**
|
|
647
|
-
* @event ready
|
|
646
|
+
/**
|
|
647
|
+
* @event ready
|
|
648
648
|
*/
|
|
649
649
|
this.trigger('ready');
|
|
650
650
|
});
|