@oat-sa/tao-core-ui 1.60.2 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +339 -339
- package/README.md +23 -18
- package/dist/actionbar.js +393 -410
- package/dist/adder.js +143 -156
- package/dist/animable/absorbable/absorbable.js +208 -211
- package/dist/animable/absorbable/css/absorb.css +7 -8
- 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 +174 -174
- package/dist/areaBroker.js +59 -72
- package/dist/autocomplete/css/autocomplete.css +7 -8
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +494 -604
- package/dist/autoscroll.js +23 -25
- package/dist/badge/badge.js +201 -199
- package/dist/badge/css/badge.css +7 -8
- 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 +286 -285
- package/dist/btngrouper.js +83 -95
- package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/dist/bulkActionPopup.js +503 -503
- package/dist/button.js +300 -293
- package/dist/calculator/css/calculator.css +10 -10
- package/dist/calculator/css/calculator.css.map +1 -1
- package/dist/calculator.js +59 -72
- package/dist/cascadingComboBox.js +257 -256
- package/dist/ckeditor/ckConfigurator.js +130 -154
- package/dist/ckeditor/dtdHandler.js +305 -345
- package/dist/class/css/selector.css +7 -7
- package/dist/class/css/selector.css.map +1 -1
- package/dist/class/selector.js +437 -470
- package/dist/component/alignable.js +97 -121
- package/dist/component/containable.js +53 -58
- 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 +34 -36
- package/dist/component/placeable.js +84 -102
- package/dist/component/resizable.js +79 -89
- package/dist/component/stackable.js +21 -27
- package/dist/component/windowed.js +284 -297
- package/dist/component.js +439 -467
- package/dist/container.js +79 -98
- package/dist/contextualPopup/css/contextualPopup.css +7 -7
- package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
- package/dist/contextualPopup.js +417 -436
- package/dist/dashboard/css/dashboard.css +7 -7
- package/dist/dashboard/css/dashboard.css.map +1 -1
- package/dist/dashboard.js +302 -305
- package/dist/datalist/css/datalist.css +7 -7
- package/dist/datalist/css/datalist.css.map +1 -1
- package/dist/datalist.js +783 -791
- package/dist/datatable/css/datatable.css +11 -7
- package/dist/datatable/css/datatable.css.map +1 -1
- package/dist/datatable/filterStrategy/filterStrategy.js +28 -30
- package/dist/datatable/filterStrategy/multiple.js +26 -45
- package/dist/datatable/filterStrategy/single.js +28 -40
- package/dist/datatable.js +1591 -1616
- package/dist/dateRange/css/dateRange.css +7 -7
- package/dist/dateRange/css/dateRange.css.map +1 -1
- package/dist/dateRange/dateRange.js +398 -412
- package/dist/datetime/css/picker.css +7 -7
- package/dist/datetime/css/picker.css.map +1 -1
- package/dist/datetime/picker.js +670 -703
- package/dist/deleter.js +383 -398
- package/dist/destination/css/selector.css +7 -7
- package/dist/destination/css/selector.css.map +1 -1
- package/dist/destination/selector.js +295 -293
- package/dist/dialog/alert.js +30 -32
- package/dist/dialog/confirm.js +29 -32
- package/dist/dialog/confirmDelete.js +223 -221
- package/dist/dialog.js +651 -695
- package/dist/disabler.js +108 -119
- 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 +172 -169
- package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +32 -29
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +523 -564
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +376 -393
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +53 -68
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +517 -567
- package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +73 -96
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +381 -392
- package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +125 -152
- package/dist/documentViewer/providers/pdfViewer.js +189 -191
- package/dist/documentViewer/viewerFactory.js +76 -81
- package/dist/documentViewer.js +303 -311
- package/dist/dropdown/css/dropdown.css +7 -7
- package/dist/dropdown/css/dropdown.css.map +1 -1
- package/dist/dropdown.js +392 -412
- package/dist/durationer.js +77 -85
- package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
- package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/dist/dynamicComponent.js +595 -630
- package/dist/feedback.js +365 -375
- package/dist/figure/FigureStateActive.js +246 -296
- package/dist/filesender.js +44 -54
- package/dist/filter.js +244 -240
- 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 +357 -362
- package/dist/form/form.js +703 -984
- package/dist/form/simpleForm.js +74 -77
- 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 +235 -241
- package/dist/form/validator/validator.js +181 -267
- 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 +27 -28
- package/dist/form/widget/loader.js +16 -16
- package/dist/form/widget/providers/checkBox.js +257 -264
- package/dist/form/widget/providers/comboBox.js +194 -193
- package/dist/form/widget/providers/default.js +44 -50
- package/dist/form/widget/providers/hidden.js +179 -176
- package/dist/form/widget/providers/hiddenBox.js +262 -272
- package/dist/form/widget/providers/radioBox.js +222 -223
- package/dist/form/widget/providers/textArea.js +197 -193
- package/dist/form/widget/providers/textBox.js +36 -37
- package/dist/form/widget/widget.js +480 -508
- package/dist/form.js +12 -17
- package/dist/formValidator/formValidator.js +74 -91
- package/dist/formValidator/highlighters/highlighter.js +43 -51
- package/dist/formValidator/highlighters/message.js +31 -32
- package/dist/formValidator/highlighters/tooltip.js +33 -35
- 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 +323 -331
- 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 +215 -216
- package/dist/generis/widget/checkBox/checkBox.js +227 -225
- package/dist/generis/widget/comboBox/comboBox.js +189 -183
- 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 +231 -232
- package/dist/generis/widget/loader.js +21 -23
- package/dist/generis/widget/textBox/textBox.js +178 -172
- package/dist/generis/widget/widget.js +255 -266
- package/dist/groupedComboBox.js +231 -226
- package/dist/groupvalidator.js +30 -34
- package/dist/hider.js +43 -50
- package/dist/highlighter.js +946 -1057
- package/dist/image/ImgStateActive/extractLabel.js +20 -21
- package/dist/image/ImgStateActive/helper.js +21 -25
- package/dist/image/ImgStateActive/initHelper.js +133 -162
- package/dist/image/ImgStateActive/initMediaEditor.js +72 -92
- package/dist/image/ImgStateActive/mediaSizer.js +48 -58
- package/dist/image/ImgStateActive.js +185 -215
- package/dist/incrementer.js +91 -110
- package/dist/inplacer.js +108 -132
- package/dist/interactUtils.js +56 -67
- package/dist/itemButtonList/css/item-button-list.css +23 -24
- package/dist/itemButtonList/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +444 -469
- package/dist/keyNavigation/navigableDomElement.js +124 -158
- package/dist/keyNavigation/navigator.js +235 -312
- package/dist/listbox/css/listbox.css +7 -7
- package/dist/listbox/css/listbox.css.map +1 -1
- package/dist/listbox.js +463 -476
- package/dist/liststyler.js +75 -76
- package/dist/loadingButton/css/button.css +7 -7
- package/dist/loadingButton/css/button.css.map +1 -1
- package/dist/loadingButton/loadingButton.js +219 -218
- package/dist/lock.js +484 -509
- package/dist/login/login.js +471 -486
- package/dist/maths/calculator/basicCalculator.js +247 -242
- package/dist/maths/calculator/calculatorComponent.js +34 -36
- package/dist/maths/calculator/core/areaBroker.js +30 -28
- package/dist/maths/calculator/core/board.js +805 -872
- package/dist/maths/calculator/core/expression.js +500 -518
- package/dist/maths/calculator/core/labels.js +240 -235
- package/dist/maths/calculator/core/plugin.js +20 -20
- package/dist/maths/calculator/core/terms.js +27 -27
- package/dist/maths/calculator/core/tokenizer.js +119 -132
- package/dist/maths/calculator/core/tokens.js +157 -168
- 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 +24 -27
- package/dist/maths/calculator/plugins/core/degrad.js +22 -30
- package/dist/maths/calculator/plugins/core/history.js +55 -67
- package/dist/maths/calculator/plugins/core/remind.js +22 -25
- package/dist/maths/calculator/plugins/core/stepNavigation.js +33 -49
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +255 -258
- package/dist/maths/calculator/plugins/modifiers/pow10.js +47 -52
- package/dist/maths/calculator/plugins/modifiers/sign.js +103 -130
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +288 -293
- package/dist/maths/calculator/pluginsLoader.js +22 -22
- package/dist/maths/calculator/scientificCalculator.js +339 -334
- package/dist/mediaEditor/mediaEditorComponent.js +244 -249
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +28 -33
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +228 -236
- package/dist/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/dist/mediaEditor/plugins/mediaDimension/helper.js +81 -106
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +597 -635
- 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 +646 -706
- package/dist/mediaplayer/players/youtube.js +393 -438
- package/dist/mediaplayer/players.js +19 -19
- package/dist/mediaplayer/support.js +66 -79
- package/dist/mediaplayer/utils/reminder.js +117 -128
- package/dist/mediaplayer/utils/timeObserver.js +106 -109
- package/dist/mediaplayer/youtubeManager.js +142 -170
- package/dist/mediaplayer.js +1484 -1774
- package/dist/mediasizer.js +633 -676
- package/dist/modal.js +137 -153
- package/dist/movableComponent.js +37 -37
- package/dist/pageSizeSelector.js +231 -224
- package/dist/pageStatus.js +43 -46
- package/dist/pagination/css/pagination.css +7 -7
- package/dist/pagination/css/pagination.css.map +1 -1
- package/dist/pagination/paginationStrategy.js +24 -25
- package/dist/pagination/providers/pages.js +281 -291
- package/dist/pagination/providers/simple.js +202 -196
- package/dist/pagination.js +49 -72
- package/dist/previewer.js +113 -138
- package/dist/progressbar.js +70 -80
- package/dist/propertySelector/css/propertySelector.css +74 -0
- package/dist/propertySelector/css/propertySelector.css.map +1 -0
- package/dist/propertySelector/propertySelector.js +489 -0
- package/dist/report.js +356 -359
- package/dist/resource/css/selector.css +7 -7
- package/dist/resource/css/selector.css.map +1 -1
- package/dist/resource/filters.js +275 -289
- package/dist/resource/list.js +1589 -1371
- package/dist/resource/selectable.js +101 -136
- package/dist/resource/selector.js +855 -914
- package/dist/resource/tree.js +1796 -1612
- package/dist/resourcemgr/css/resourcemgr.css +7 -7
- package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
- package/dist/resourcemgr/fileBrowser.js +540 -587
- package/dist/resourcemgr/filePreview.js +16 -25
- package/dist/resourcemgr/fileSelector.js +520 -547
- package/dist/resourcemgr/util/updatePermissions.js +10 -18
- package/dist/resourcemgr.js +325 -332
- package/dist/scroller.js +29 -33
- package/dist/searchModal/advancedSearch.js +949 -833
- package/dist/searchModal/css/advancedSearch.css +7 -14
- package/dist/searchModal/css/advancedSearch.css.map +1 -1
- package/dist/searchModal/css/searchModal.css +28 -8
- package/dist/searchModal/css/searchModal.css.map +1 -1
- package/dist/searchModal.js +616 -335
- package/dist/selecter.js +21 -28
- package/dist/stacker.js +52 -60
- package/dist/switch/css/switch.css +7 -7
- package/dist/switch/css/switch.css.map +1 -1
- package/dist/switch/switch.js +305 -311
- package/dist/tableModel.js +39 -49
- package/dist/tabs/css/tabs.css +12 -12
- package/dist/tabs/css/tabs.css.map +1 -1
- package/dist/tabs.js +588 -639
- package/dist/taskQueue/css/taskQueue.css +7 -7
- package/dist/taskQueue/css/taskQueue.css.map +1 -1
- package/dist/taskQueue/status.js +317 -322
- package/dist/taskQueue/table.js +383 -394
- package/dist/taskQueue/taskQueue.js +19 -19
- package/dist/taskQueue/taskQueueModel.js +459 -538
- package/dist/taskQueue.js +49 -67
- 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 +45 -43
- package/dist/taskQueueButton/taskable.js +267 -272
- package/dist/taskQueueButton/treeButton.js +200 -198
- package/dist/themeLoader.js +109 -129
- package/dist/themes.js +86 -100
- package/dist/toggler.js +76 -88
- package/dist/tooltip.js +296 -311
- package/dist/tooltipster.js +17 -17
- package/dist/transformer.js +140 -169
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/dist/tristateCheckboxGroup.js +319 -325
- package/dist/uploader.js +691 -724
- package/dist/validator/Report.js +1 -2
- package/dist/validator/Validator.js +6 -25
- package/dist/validator/validators.js +66 -80
- package/dist/validator.js +218 -254
- package/dist/waitForMedia.js +45 -51
- package/dist/waitingDialog/css/waitingDialog.css +7 -7
- package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
- package/dist/waitingDialog/waitingDialog.js +59 -77
- package/package.json +109 -107
- package/scss/basic.scss +16 -16
- package/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +59 -59
- package/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -59
- package/scss/font/tao/tao.svg +234 -234
- 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 -88
- package/scss/inc/_feedback.scss +150 -150
- 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 +226 -226
- package/scss/inc/fonts/_tao-icon-def.scss +12 -12
- package/scss/inc/fonts/_tao-icon-vars.scss +240 -240
- 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 -8
- 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 -8
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/autocomplete/scss/autocomplete.scss +37 -37
- package/src/autocomplete.js +1029 -1029
- package/src/autoscroll.js +57 -57
- package/src/badge/badge.js +119 -119
- package/src/badge/css/badge.css +7 -8
- 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 +736 -736
- 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 +297 -297
- package/src/css/basic.css +103 -106
- 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 +184 -184
- 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 +11 -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 -146
- 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 +222 -222
- 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 +554 -554
- package/src/feedback/feedback.tpl +7 -7
- package/src/feedback.js +295 -295
- package/src/figure/FigureStateActive.js +174 -174
- package/src/filesender.js +114 -114
- package/src/filter/template.tpl +5 -5
- package/src/filter.js +135 -135
- 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 +53 -53
- package/src/formValidator/formValidator.js +253 -253
- package/src/formValidator/highlighters/highlighter.js +102 -102
- package/src/formValidator/highlighters/message.js +70 -70
- 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 +67 -67
- 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 +132 -132
- 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 +65 -65
- 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 +1166 -1166
- 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 +319 -319
- package/src/inplacer.js +316 -316
- package/src/interactUtils.js +140 -140
- package/src/itemButtonList/css/item-button-list.css +23 -24
- 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 +282 -282
- package/src/keyNavigation/navigator.js +543 -543
- 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 +251 -251
- 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 +395 -395
- package/src/login/login.js +322 -322
- 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 +191 -191
- 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 +62 -62
- 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 +189 -189
- 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 +107 -107
- 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 +74 -0
- package/src/propertySelector/css/propertySelector.css.map +1 -0
- package/src/propertySelector/propertySelector.js +286 -0
- package/src/propertySelector/scss/propertySelector.scss +66 -0
- package/src/propertySelector/tpl/highlighted-text.tpl +1 -0
- package/src/propertySelector/tpl/property-description.tpl +13 -0
- package/src/propertySelector/tpl/property-selector.tpl +7 -0
- 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 +400 -400
- 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 +348 -348
- 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 -601
- package/src/searchModal/css/advancedSearch.css +7 -14
- package/src/searchModal/css/advancedSearch.css.map +1 -1
- package/src/searchModal/css/searchModal.css +28 -8
- package/src/searchModal/css/searchModal.css.map +1 -1
- package/src/searchModal/scss/advancedSearch.scss +171 -177
- package/src/searchModal/scss/searchModal.scss +393 -375
- package/src/searchModal/tpl/advanced-search.tpl +9 -9
- package/src/searchModal/tpl/criteria-alias.tpl +1 -0
- package/src/searchModal/tpl/criteria-class-label.tpl +1 -0
- package/src/searchModal/tpl/criteria-label.tpl +1 -0
- package/src/searchModal/tpl/highlighted-text.tpl +1 -0
- 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 -25
- package/src/searchModal/tpl/list-checkbox-criterion.tpl +17 -12
- package/src/searchModal/tpl/list-select-criterion.tpl +12 -6
- package/src/searchModal/tpl/property-select-button.tpl +1 -0
- package/src/searchModal/tpl/results-container.tpl +1 -0
- package/src/searchModal/tpl/text-criterion.tpl +11 -6
- package/src/searchModal.js +761 -496
- 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 +218 -218
- 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 +109 -109
- 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 +220 -220
- package/src/validator.js +264 -264
- package/src/waitForMedia.js +82 -82
- package/src/waitingDialog/css/waitingDialog.css +7 -7
- package/src/waitingDialog/css/waitingDialog.css.map +1 -1
- package/src/waitingDialog/scss/waitingDialog.scss +34 -34
- package/src/waitingDialog/waitingDialog.js +240 -240
|
@@ -1,392 +1,387 @@
|
|
|
1
1
|
define(['lodash', 'i18n', 'ui/component', 'ui/button', 'ui/form/simpleForm', 'handlebars', 'lib/dompurify/purify', 'css!ui/form/css/dropdownForm.css'], function (_, __, componentFactory, buttonFactory, formFactory, Handlebars, DOMPurify, dropdownForm_css) { 'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* https://github.com/cure53/DOMPurify
|
|
30
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
31
|
-
* to make output safe for template systems
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
hb.registerHelper('dompurify', function (context) {
|
|
35
|
-
return DOMPurify.sanitize(context);
|
|
36
|
-
});
|
|
37
|
-
/**
|
|
38
|
-
* Register join helper
|
|
39
|
-
*
|
|
40
|
-
* Example :
|
|
41
|
-
* var values = {a:v1, b:v2, c:v3};
|
|
42
|
-
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
43
|
-
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
3
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
4
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
5
|
+
componentFactory = componentFactory && Object.prototype.hasOwnProperty.call(componentFactory, 'default') ? componentFactory['default'] : componentFactory;
|
|
6
|
+
buttonFactory = buttonFactory && Object.prototype.hasOwnProperty.call(buttonFactory, 'default') ? buttonFactory['default'] : buttonFactory;
|
|
7
|
+
formFactory = formFactory && Object.prototype.hasOwnProperty.call(formFactory, 'default') ? formFactory['default'] : formFactory;
|
|
8
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
9
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* This program is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU General Public License
|
|
14
|
+
* as published by the Free Software Foundation; under version 2
|
|
15
|
+
* of the License (non-upgradable).
|
|
16
|
+
*
|
|
17
|
+
* This program is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU General Public License
|
|
23
|
+
* along with this program; if not, write to the Free Software
|
|
24
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
25
|
+
*
|
|
26
|
+
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
27
|
+
*
|
|
28
|
+
*
|
|
44
29
|
*/
|
|
30
|
+
function Helpers0 (hb) {
|
|
31
|
+
//register a i18n helper
|
|
32
|
+
hb.registerHelper('__', function (key) {
|
|
33
|
+
return __(key);
|
|
34
|
+
});
|
|
45
35
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Register dompurify helper
|
|
38
|
+
*
|
|
39
|
+
* https://github.com/cure53/DOMPurify
|
|
40
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
41
|
+
* to make output safe for template systems
|
|
42
|
+
*/
|
|
43
|
+
hb.registerHelper('dompurify', function (context) {
|
|
44
|
+
return DOMPurify.sanitize(context);
|
|
45
|
+
});
|
|
54
46
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Register join helper
|
|
49
|
+
*
|
|
50
|
+
* Example :
|
|
51
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
52
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
53
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
54
|
+
*/
|
|
55
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
56
|
+
var fragments = [];
|
|
57
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
58
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
59
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
60
|
+
_.forIn(arr, function (value, key) {
|
|
61
|
+
var fragment = '';
|
|
62
|
+
if (value !== null || value !== undefined) {
|
|
63
|
+
if (typeof value === 'boolean') {
|
|
64
|
+
value = value ? 'true' : 'false';
|
|
65
|
+
} else if (typeof value === 'object') {
|
|
66
|
+
value = _.values(value).join(' ');
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
value = '';
|
|
60
70
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
if (keyValueGlue !== undefined) {
|
|
72
|
+
fragment += key + keyValueGlue;
|
|
73
|
+
}
|
|
74
|
+
fragment += wrapper + value + wrapper;
|
|
75
|
+
fragments.push(fragment);
|
|
76
|
+
});
|
|
77
|
+
return fragments.join(fragmentGlue);
|
|
78
|
+
});
|
|
64
79
|
|
|
65
|
-
|
|
66
|
-
|
|
80
|
+
//register a classic "for loop" helper
|
|
81
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
82
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
83
|
+
var ret = '';
|
|
84
|
+
startIndex = parseInt(startIndex);
|
|
85
|
+
stopIndex = parseInt(stopIndex);
|
|
86
|
+
increment = parseInt(increment);
|
|
87
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
88
|
+
ret += options.fn(_.extend({}, this, {
|
|
89
|
+
i: i
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
return ret;
|
|
93
|
+
});
|
|
94
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
95
|
+
if (var1 == var2) {
|
|
96
|
+
return options.fn(this);
|
|
97
|
+
} else {
|
|
98
|
+
return options.inverse(this);
|
|
67
99
|
}
|
|
68
|
-
|
|
69
|
-
fragment += wrapper + value + wrapper;
|
|
70
|
-
fragments.push(fragment);
|
|
71
100
|
});
|
|
72
101
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var ret = '';
|
|
79
|
-
startIndex = parseInt(startIndex);
|
|
80
|
-
stopIndex = parseInt(stopIndex);
|
|
81
|
-
increment = parseInt(increment);
|
|
82
|
-
|
|
83
|
-
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
84
|
-
ret += options.fn(_.extend({}, this, {
|
|
85
|
-
i: i
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return ret;
|
|
90
|
-
});
|
|
91
|
-
hb.registerHelper('equal', function (var1, var2, options) {
|
|
92
|
-
if (var1 == var2) {
|
|
93
|
-
return options.fn(this);
|
|
94
|
-
} else {
|
|
95
|
-
return options.inverse(this);
|
|
96
|
-
}
|
|
97
|
-
}); // register a "get property" helper
|
|
98
|
-
// it gets the named property from the provided context
|
|
99
|
-
|
|
100
|
-
hb.registerHelper('property', function (name, context) {
|
|
101
|
-
return context[name] || '';
|
|
102
|
-
}); // register an 'includes' helper
|
|
103
|
-
// it checks if value is in array
|
|
104
|
-
|
|
105
|
-
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
106
|
-
if (_.contains(haystack, needle)) {
|
|
107
|
-
return options.fn(this);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
if (!Helpers0.__initialized) {
|
|
113
|
-
Helpers0(Handlebars);
|
|
114
|
-
Helpers0.__initialized = true;
|
|
115
|
-
}
|
|
116
|
-
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
117
|
-
this.compilerInfo = [4,'>= 1.0.0'];
|
|
118
|
-
helpers = this.merge(helpers, Handlebars.helpers);
|
|
102
|
+
// register a "get property" helper
|
|
103
|
+
// it gets the named property from the provided context
|
|
104
|
+
hb.registerHelper('property', function (name, context) {
|
|
105
|
+
return context[name] || '';
|
|
106
|
+
});
|
|
119
107
|
|
|
108
|
+
// register an 'includes' helper
|
|
109
|
+
// it checks if value is in array
|
|
110
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
111
|
+
if (_.contains(haystack, needle)) {
|
|
112
|
+
return options.fn(this);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
120
116
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
117
|
+
if (!Helpers0.__initialized) {
|
|
118
|
+
Helpers0(Handlebars);
|
|
119
|
+
Helpers0.__initialized = true;
|
|
120
|
+
}
|
|
121
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
122
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
123
|
+
helpers = this.merge(helpers, Handlebars.helpers);
|
|
127
124
|
|
|
128
|
-
/**
|
|
129
|
-
* This program is free software; you can redistribute it and/or
|
|
130
|
-
* modify it under the terms of the GNU General Public License
|
|
131
|
-
* as published by the Free Software Foundation; under version 2
|
|
132
|
-
* of the License (non-upgradable).
|
|
133
|
-
*
|
|
134
|
-
* This program is distributed in the hope that it will be useful,
|
|
135
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
136
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
137
|
-
* GNU General Public License for more details.
|
|
138
|
-
*
|
|
139
|
-
* You should have received a copy of the GNU General Public License
|
|
140
|
-
* along with this program; if not, write to the Free Software
|
|
141
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
142
|
-
*
|
|
143
|
-
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
144
|
-
*/
|
|
145
|
-
/**
|
|
146
|
-
* @typedef {Object} dropdownFormConfig Defines the config entries available to setup a dropdown form
|
|
147
|
-
* @property {String} [triggerText] - The caption of the trigger button
|
|
148
|
-
* @property {String} [triggerIcon] - The icon of the trigger button
|
|
149
|
-
* @property {String} [submitText] - The caption of the submit button
|
|
150
|
-
* @property {String} [submitIcon] - The icon of the submit button
|
|
151
|
-
* @property {widgetConfig[]} [widgets] - The list of widgets to set in the form (default none)
|
|
152
|
-
* @property {buttonConfig[]} [buttons] - The list of buttons to set in the form (default none)
|
|
153
|
-
* @property {Object} [values] - Initial values for the widgets
|
|
154
|
-
* @property {Object} [ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
155
|
-
*/
|
|
156
125
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
126
|
+
return "<div class=\"dropdown-form\">\n <div class=\"trigger-button\"></div>\n <div class=\"form-panel\"></div>\n</div>\n";
|
|
127
|
+
});
|
|
128
|
+
function dropdownFormTpl(data, options, asString) {
|
|
129
|
+
var html = Template(data, options);
|
|
130
|
+
return (asString || true) ? html : $(html);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* This program is free software; you can redistribute it and/or
|
|
135
|
+
* modify it under the terms of the GNU General Public License
|
|
136
|
+
* as published by the Free Software Foundation; under version 2
|
|
137
|
+
* of the License (non-upgradable).
|
|
138
|
+
*
|
|
139
|
+
* This program is distributed in the hope that it will be useful,
|
|
140
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
141
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
142
|
+
* GNU General Public License for more details.
|
|
143
|
+
*
|
|
144
|
+
* You should have received a copy of the GNU General Public License
|
|
145
|
+
* along with this program; if not, write to the Free Software
|
|
146
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
147
|
+
*
|
|
148
|
+
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
149
|
+
*/
|
|
161
150
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
*
|
|
174
|
-
* const config = {
|
|
175
|
-
* title: 'My fancy form',
|
|
176
|
-
* triggerText: 'Comment',
|
|
177
|
-
* submitText: 'Publish',
|
|
178
|
-
* widgets: [{
|
|
179
|
-
* widget: widgetDefinitions.TEXTBOX
|
|
180
|
-
* uri: 'nickname',
|
|
181
|
-
* label: 'Name',
|
|
182
|
-
* required: true
|
|
183
|
-
* }, {
|
|
184
|
-
* widget: widgetDefinitions.TEXTAREA
|
|
185
|
-
* uri: 'comment',
|
|
186
|
-
* label: 'Comment',
|
|
187
|
-
* required: true
|
|
188
|
-
* }]
|
|
189
|
-
* };
|
|
190
|
-
*
|
|
191
|
-
* const form = dropdownFormFactory(container, config)
|
|
192
|
-
* .on('submit', function(values) {
|
|
193
|
-
* // ...
|
|
194
|
-
* });
|
|
195
|
-
*
|
|
196
|
-
* @param {HTMLElement|String} container
|
|
197
|
-
* @param {dropdownFormConfig} config
|
|
198
|
-
* @param {String} [config.triggerText] - The caption of the trigger button
|
|
199
|
-
* @param {String} [config.triggerIcon] - The icon of the trigger button
|
|
200
|
-
* @param {String} [config.submitText] - The caption of the submit button
|
|
201
|
-
* @param {String} [config.submitIcon] - The icon of the submit button
|
|
202
|
-
* @param {widgetConfig[]} [config.widgets] - The list of widgets to set in the form (default none)
|
|
203
|
-
* @param {buttonConfig[]} [config.buttons] - The list of buttons to set in the form (default none)
|
|
204
|
-
* @param {Object} [config.values] - Initial values for the widgets
|
|
205
|
-
* @param {Object} [config.ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
206
|
-
* @returns {dropdownForm}
|
|
207
|
-
* @fires ready - When the component is ready to work
|
|
208
|
-
*/
|
|
151
|
+
/**
|
|
152
|
+
* @typedef {Object} dropdownFormConfig Defines the config entries available to setup a dropdown form
|
|
153
|
+
* @property {String} [triggerText] - The caption of the trigger button
|
|
154
|
+
* @property {String} [triggerIcon] - The icon of the trigger button
|
|
155
|
+
* @property {String} [submitText] - The caption of the submit button
|
|
156
|
+
* @property {String} [submitIcon] - The icon of the submit button
|
|
157
|
+
* @property {widgetConfig[]} [widgets] - The list of widgets to set in the form (default none)
|
|
158
|
+
* @property {buttonConfig[]} [buttons] - The list of buttons to set in the form (default none)
|
|
159
|
+
* @property {Object} [values] - Initial values for the widgets
|
|
160
|
+
* @property {Object} [ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
161
|
+
*/
|
|
209
162
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
return form;
|
|
221
|
-
},
|
|
163
|
+
/**
|
|
164
|
+
* Some default config
|
|
165
|
+
* @type {Object}
|
|
166
|
+
*/
|
|
167
|
+
const defaults = {
|
|
168
|
+
triggerIcon: null,
|
|
169
|
+
triggerText: __('Form'),
|
|
170
|
+
submitIcon: null,
|
|
171
|
+
submitText: __('Submit')
|
|
172
|
+
};
|
|
222
173
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
174
|
+
/**
|
|
175
|
+
* Builds a dropdown form component.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* const container = $('.my-container', $container);
|
|
179
|
+
*
|
|
180
|
+
* const config = {
|
|
181
|
+
* title: 'My fancy form',
|
|
182
|
+
* triggerText: 'Comment',
|
|
183
|
+
* submitText: 'Publish',
|
|
184
|
+
* widgets: [{
|
|
185
|
+
* widget: widgetDefinitions.TEXTBOX
|
|
186
|
+
* uri: 'nickname',
|
|
187
|
+
* label: 'Name',
|
|
188
|
+
* required: true
|
|
189
|
+
* }, {
|
|
190
|
+
* widget: widgetDefinitions.TEXTAREA
|
|
191
|
+
* uri: 'comment',
|
|
192
|
+
* label: 'Comment',
|
|
193
|
+
* required: true
|
|
194
|
+
* }]
|
|
195
|
+
* };
|
|
196
|
+
*
|
|
197
|
+
* const form = dropdownFormFactory(container, config)
|
|
198
|
+
* .on('submit', function(values) {
|
|
199
|
+
* // ...
|
|
200
|
+
* });
|
|
201
|
+
*
|
|
202
|
+
* @param {HTMLElement|String} container
|
|
203
|
+
* @param {dropdownFormConfig} config
|
|
204
|
+
* @param {String} [config.triggerText] - The caption of the trigger button
|
|
205
|
+
* @param {String} [config.triggerIcon] - The icon of the trigger button
|
|
206
|
+
* @param {String} [config.submitText] - The caption of the submit button
|
|
207
|
+
* @param {String} [config.submitIcon] - The icon of the submit button
|
|
208
|
+
* @param {widgetConfig[]} [config.widgets] - The list of widgets to set in the form (default none)
|
|
209
|
+
* @param {buttonConfig[]} [config.buttons] - The list of buttons to set in the form (default none)
|
|
210
|
+
* @param {Object} [config.values] - Initial values for the widgets
|
|
211
|
+
* @param {Object} [config.ranges] - An optional list of ranges for the widgets (@see widgetConfig.range)
|
|
212
|
+
* @returns {dropdownForm}
|
|
213
|
+
* @fires ready - When the component is ready to work
|
|
214
|
+
*/
|
|
215
|
+
function dropdownFormFactory(container, config) {
|
|
216
|
+
let form = null;
|
|
217
|
+
let button = null;
|
|
218
|
+
let controls = null;
|
|
219
|
+
const api = {
|
|
220
|
+
/**
|
|
221
|
+
* Gets access to the form
|
|
222
|
+
* @returns {form}
|
|
223
|
+
*/
|
|
224
|
+
getForm() {
|
|
225
|
+
return form;
|
|
226
|
+
},
|
|
227
|
+
/**
|
|
228
|
+
* Update the form with a new list of widgets
|
|
229
|
+
* @param {widgetConfig[]} widgets
|
|
230
|
+
* @returns {Promise}
|
|
231
|
+
* @throws {Error} if the form is not yet rendered
|
|
232
|
+
*/
|
|
233
|
+
setFormWidgets(widgets) {
|
|
234
|
+
if (!this.is('rendered') || !form) {
|
|
235
|
+
return Promise.reject(new Error('The form is not rendered'));
|
|
236
|
+
}
|
|
237
|
+
return form.setWidgets(widgets);
|
|
238
|
+
},
|
|
239
|
+
/**
|
|
240
|
+
* Gets the values from the form widgets
|
|
241
|
+
* @returns {Object}
|
|
242
|
+
*/
|
|
243
|
+
getFormValues() {
|
|
244
|
+
if (this.is('rendered')) {
|
|
245
|
+
return form.getValues();
|
|
246
|
+
}
|
|
247
|
+
return {};
|
|
248
|
+
},
|
|
249
|
+
/**
|
|
250
|
+
* Sets the values to the form widgets
|
|
251
|
+
* @param {Object} values
|
|
252
|
+
* @returns {dropdownForm}
|
|
253
|
+
*/
|
|
254
|
+
setFormValues(values) {
|
|
255
|
+
if (this.is('rendered')) {
|
|
256
|
+
form.setValues(values);
|
|
257
|
+
}
|
|
258
|
+
return this;
|
|
259
|
+
},
|
|
260
|
+
/**
|
|
261
|
+
* Opens the form attached to the dropdown
|
|
262
|
+
* @returns {dropdownForm}
|
|
263
|
+
* @fires open - When the form is open
|
|
264
|
+
*/
|
|
265
|
+
openForm() {
|
|
266
|
+
this.setState('open', true);
|
|
267
|
+
|
|
268
|
+
// the event is emitted only if the component is rendered.
|
|
269
|
+
if (this.is('rendered')) {
|
|
270
|
+
if (this.getContainer().width() < this.getElement().position().left + controls.$form.width()) {
|
|
271
|
+
this.setState('open-on-left', false);
|
|
272
|
+
this.setState('open-on-right', true);
|
|
273
|
+
} else {
|
|
274
|
+
this.setState('open-on-left', true);
|
|
275
|
+
this.setState('open-on-right', false);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* @event open
|
|
280
|
+
*/
|
|
281
|
+
this.trigger('open');
|
|
282
|
+
}
|
|
283
|
+
return this;
|
|
284
|
+
},
|
|
285
|
+
/**
|
|
286
|
+
* Closes the form attached to the dropdown
|
|
287
|
+
* @returns {dropdownForm}
|
|
288
|
+
* @fires close - When the form is closed
|
|
289
|
+
*/
|
|
290
|
+
closeForm() {
|
|
291
|
+
this.setState('open', false);
|
|
292
|
+
this.setState('open-on-left', false);
|
|
293
|
+
this.setState('open-on-right', false);
|
|
294
|
+
|
|
295
|
+
// the event is emitted only if the component is rendered.
|
|
296
|
+
if (this.is('rendered')) {
|
|
297
|
+
/**
|
|
298
|
+
* @event open
|
|
299
|
+
*/
|
|
300
|
+
this.trigger('close');
|
|
301
|
+
}
|
|
302
|
+
return this;
|
|
232
303
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
304
|
+
};
|
|
305
|
+
const dropdownForm = componentFactory(api, defaults)
|
|
306
|
+
// set the component's layout
|
|
307
|
+
.setTemplate(dropdownFormTpl)
|
|
308
|
+
|
|
309
|
+
// auto render on init
|
|
310
|
+
.on('init', function onDropdownFormInit() {
|
|
311
|
+
// auto render on init (defer the call to give a chance to the init event to be completed before)
|
|
312
|
+
_.defer(() => this.render(container));
|
|
313
|
+
})
|
|
314
|
+
|
|
315
|
+
// renders the component
|
|
316
|
+
.on('render', function onDropdownFormRender() {
|
|
317
|
+
const initConfig = this.getConfig();
|
|
318
|
+
const formConfig = _.defaults({
|
|
319
|
+
reset: false
|
|
320
|
+
}, initConfig);
|
|
321
|
+
const buttonConfig = {
|
|
322
|
+
id: 'trigger',
|
|
323
|
+
type: 'info',
|
|
324
|
+
label: initConfig.triggerText,
|
|
325
|
+
icon: initConfig.triggerIcon
|
|
326
|
+
};
|
|
327
|
+
controls = {
|
|
328
|
+
$trigger: this.getElement().find('.trigger-button'),
|
|
329
|
+
$form: this.getElement().find('.form-panel')
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
// toggle the form when clicking the dropdown button
|
|
333
|
+
button = buttonFactory(buttonConfig).on('click', () => {
|
|
334
|
+
if (this.is('open')) {
|
|
335
|
+
this.closeForm();
|
|
336
|
+
} else {
|
|
337
|
+
this.openForm();
|
|
338
|
+
}
|
|
339
|
+
}).render(controls.$trigger);
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* @event ready
|
|
343
|
+
*/
|
|
344
|
+
form = formFactory(controls.$form, formConfig).spread(this, 'ready change submit invalid error');
|
|
345
|
+
}).on('ready', function onDropdownFormReady() {
|
|
346
|
+
// init state
|
|
347
|
+
if (this.is('open')) {
|
|
348
|
+
this.openForm();
|
|
244
349
|
}
|
|
350
|
+
}).on('submit', function onDropdownFormSubmit() {
|
|
351
|
+
this.closeForm();
|
|
352
|
+
})
|
|
245
353
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
* Sets the values to the form widgets
|
|
251
|
-
* @param {Object} values
|
|
252
|
-
* @returns {dropdownForm}
|
|
253
|
-
*/
|
|
254
|
-
setFormValues: function setFormValues(values) {
|
|
255
|
-
if (this.is('rendered')) {
|
|
256
|
-
form.setValues(values);
|
|
354
|
+
// take care of the disable state
|
|
355
|
+
.on('disable', function onDropdownFormDisable() {
|
|
356
|
+
if (this.is('open')) {
|
|
357
|
+
this.closeForm();
|
|
257
358
|
}
|
|
258
|
-
|
|
259
|
-
return this;
|
|
260
|
-
},
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* Opens the form attached to the dropdown
|
|
264
|
-
* @returns {dropdownForm}
|
|
265
|
-
* @fires open - When the form is open
|
|
266
|
-
*/
|
|
267
|
-
openForm: function openForm() {
|
|
268
|
-
this.setState('open', true); // the event is emitted only if the component is rendered.
|
|
269
|
-
|
|
270
359
|
if (this.is('rendered')) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
this.setState('open-on-right', true);
|
|
274
|
-
} else {
|
|
275
|
-
this.setState('open-on-left', true);
|
|
276
|
-
this.setState('open-on-right', false);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* @event open
|
|
280
|
-
*/
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
this.trigger('open');
|
|
360
|
+
button.disable();
|
|
361
|
+
form.disable();
|
|
284
362
|
}
|
|
285
|
-
|
|
286
|
-
return this;
|
|
287
|
-
},
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* Closes the form attached to the dropdown
|
|
291
|
-
* @returns {dropdownForm}
|
|
292
|
-
* @fires close - When the form is closed
|
|
293
|
-
*/
|
|
294
|
-
closeForm: function closeForm() {
|
|
295
|
-
this.setState('open', false);
|
|
296
|
-
this.setState('open-on-left', false);
|
|
297
|
-
this.setState('open-on-right', false); // the event is emitted only if the component is rendered.
|
|
298
|
-
|
|
363
|
+
}).on('enable', function onDropdownFormEnable() {
|
|
299
364
|
if (this.is('rendered')) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
*/
|
|
303
|
-
this.trigger('close');
|
|
365
|
+
button.enable();
|
|
366
|
+
form.enable();
|
|
304
367
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
// auto render on init (defer the call to give a chance to the init event to be completed before)
|
|
315
|
-
_.defer(function () {
|
|
316
|
-
return _this.render(container);
|
|
368
|
+
})
|
|
369
|
+
|
|
370
|
+
// cleanup the place
|
|
371
|
+
.on('destroy', function onDropdownFormDestroy() {
|
|
372
|
+
button.destroy();
|
|
373
|
+
form.destroy();
|
|
374
|
+
button = null;
|
|
375
|
+
form = null;
|
|
376
|
+
controls = null;
|
|
317
377
|
});
|
|
318
|
-
}) // renders the component
|
|
319
|
-
.on('render', function onDropdownFormRender() {
|
|
320
|
-
var _this2 = this;
|
|
321
|
-
|
|
322
|
-
var initConfig = this.getConfig();
|
|
323
|
-
|
|
324
|
-
var formConfig = _.defaults({
|
|
325
|
-
reset: false
|
|
326
|
-
}, initConfig);
|
|
327
|
-
|
|
328
|
-
var buttonConfig = {
|
|
329
|
-
id: 'trigger',
|
|
330
|
-
type: 'info',
|
|
331
|
-
label: initConfig.triggerText,
|
|
332
|
-
icon: initConfig.triggerIcon
|
|
333
|
-
};
|
|
334
|
-
controls = {
|
|
335
|
-
$trigger: this.getElement().find('.trigger-button'),
|
|
336
|
-
$form: this.getElement().find('.form-panel')
|
|
337
|
-
}; // toggle the form when clicking the dropdown button
|
|
338
|
-
|
|
339
|
-
button = buttonFactory(buttonConfig).on('click', function () {
|
|
340
|
-
if (_this2.is('open')) {
|
|
341
|
-
_this2.closeForm();
|
|
342
|
-
} else {
|
|
343
|
-
_this2.openForm();
|
|
344
|
-
}
|
|
345
|
-
}).render(controls.$trigger);
|
|
346
|
-
/**
|
|
347
|
-
* @event ready
|
|
348
|
-
*/
|
|
349
|
-
|
|
350
|
-
form = formFactory(controls.$form, formConfig).spread(this, 'ready change submit invalid error');
|
|
351
|
-
}).on('ready', function onDropdownFormReady() {
|
|
352
|
-
// init state
|
|
353
|
-
if (this.is('open')) {
|
|
354
|
-
this.openForm();
|
|
355
|
-
}
|
|
356
|
-
}).on('submit', function onDropdownFormSubmit() {
|
|
357
|
-
this.closeForm();
|
|
358
|
-
}) // take care of the disable state
|
|
359
|
-
.on('disable', function onDropdownFormDisable() {
|
|
360
|
-
if (this.is('open')) {
|
|
361
|
-
this.closeForm();
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
if (this.is('rendered')) {
|
|
365
|
-
button.disable();
|
|
366
|
-
form.disable();
|
|
367
|
-
}
|
|
368
|
-
}).on('enable', function onDropdownFormEnable() {
|
|
369
|
-
if (this.is('rendered')) {
|
|
370
|
-
button.enable();
|
|
371
|
-
form.enable();
|
|
372
|
-
}
|
|
373
|
-
}) // cleanup the place
|
|
374
|
-
.on('destroy', function onDropdownFormDestroy() {
|
|
375
|
-
button.destroy();
|
|
376
|
-
form.destroy();
|
|
377
|
-
button = null;
|
|
378
|
-
form = null;
|
|
379
|
-
controls = null;
|
|
380
|
-
}); // initialize the component with the provided config
|
|
381
|
-
// defer the call to allow to listen to the init event
|
|
382
|
-
|
|
383
|
-
_.defer(function () {
|
|
384
|
-
return dropdownForm.init(config);
|
|
385
|
-
});
|
|
386
378
|
|
|
387
|
-
|
|
388
|
-
|
|
379
|
+
// initialize the component with the provided config
|
|
380
|
+
// defer the call to allow to listen to the init event
|
|
381
|
+
_.defer(() => dropdownForm.init(config));
|
|
382
|
+
return dropdownForm;
|
|
383
|
+
}
|
|
389
384
|
|
|
390
|
-
|
|
385
|
+
return dropdownFormFactory;
|
|
391
386
|
|
|
392
387
|
});
|