@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,563 +1,535 @@
|
|
|
1
1
|
define(['lodash', 'i18n', 'handlebars', 'core/providerRegistry', 'ui/component', 'ui/form/validator/validator', 'ui/form/validator/renderer', 'ui/form/widget/providers/default', 'lib/dompurify/purify', 'css!ui/form/widget/css/widget.css'], function (_, __, Handlebars, providerRegistry, componentFactory, validatorFactory, validatorRendererFactory, defaultProvider, DOMPurify, widget_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
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* https://github.com/cure53/DOMPurify
|
|
32
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
33
|
-
* to make output safe for template systems
|
|
3
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
4
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
5
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
6
|
+
providerRegistry = providerRegistry && Object.prototype.hasOwnProperty.call(providerRegistry, 'default') ? providerRegistry['default'] : providerRegistry;
|
|
7
|
+
componentFactory = componentFactory && Object.prototype.hasOwnProperty.call(componentFactory, 'default') ? componentFactory['default'] : componentFactory;
|
|
8
|
+
validatorFactory = validatorFactory && Object.prototype.hasOwnProperty.call(validatorFactory, 'default') ? validatorFactory['default'] : validatorFactory;
|
|
9
|
+
validatorRendererFactory = validatorRendererFactory && Object.prototype.hasOwnProperty.call(validatorRendererFactory, 'default') ? validatorRendererFactory['default'] : validatorRendererFactory;
|
|
10
|
+
defaultProvider = defaultProvider && Object.prototype.hasOwnProperty.call(defaultProvider, 'default') ? defaultProvider['default'] : defaultProvider;
|
|
11
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* This program is free software; you can redistribute it and/or
|
|
15
|
+
* modify it under the terms of the GNU General Public License
|
|
16
|
+
* as published by the Free Software Foundation; under version 2
|
|
17
|
+
* of the License (non-upgradable).
|
|
18
|
+
*
|
|
19
|
+
* This program is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
+
* GNU General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
* You should have received a copy of the GNU General Public License
|
|
25
|
+
* along with this program; if not, write to the Free Software
|
|
26
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
27
|
+
*
|
|
28
|
+
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
29
|
+
*
|
|
30
|
+
*
|
|
34
31
|
*/
|
|
32
|
+
function Helpers0 (hb) {
|
|
33
|
+
//register a i18n helper
|
|
34
|
+
hb.registerHelper('__', function (key) {
|
|
35
|
+
return __(key);
|
|
36
|
+
});
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
49
|
-
var fragments = [];
|
|
50
|
-
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
51
|
-
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
52
|
-
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
53
|
-
|
|
54
|
-
_.forIn(arr, function (value, key) {
|
|
55
|
-
var fragment = '';
|
|
38
|
+
/**
|
|
39
|
+
* Register dompurify helper
|
|
40
|
+
*
|
|
41
|
+
* https://github.com/cure53/DOMPurify
|
|
42
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
43
|
+
* to make output safe for template systems
|
|
44
|
+
*/
|
|
45
|
+
hb.registerHelper('dompurify', function (context) {
|
|
46
|
+
return DOMPurify.sanitize(context);
|
|
47
|
+
});
|
|
56
48
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Register join helper
|
|
51
|
+
*
|
|
52
|
+
* Example :
|
|
53
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
54
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
55
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
56
|
+
*/
|
|
57
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
58
|
+
var fragments = [];
|
|
59
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
60
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
61
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
62
|
+
_.forIn(arr, function (value, key) {
|
|
63
|
+
var fragment = '';
|
|
64
|
+
if (value !== null || value !== undefined) {
|
|
65
|
+
if (typeof value === 'boolean') {
|
|
66
|
+
value = value ? 'true' : 'false';
|
|
67
|
+
} else if (typeof value === 'object') {
|
|
68
|
+
value = _.values(value).join(' ');
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
value = '';
|
|
62
72
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
73
|
+
if (keyValueGlue !== undefined) {
|
|
74
|
+
fragment += key + keyValueGlue;
|
|
75
|
+
}
|
|
76
|
+
fragment += wrapper + value + wrapper;
|
|
77
|
+
fragments.push(fragment);
|
|
78
|
+
});
|
|
79
|
+
return fragments.join(fragmentGlue);
|
|
80
|
+
});
|
|
66
81
|
|
|
67
|
-
|
|
68
|
-
|
|
82
|
+
//register a classic "for loop" helper
|
|
83
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
84
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
85
|
+
var ret = '';
|
|
86
|
+
startIndex = parseInt(startIndex);
|
|
87
|
+
stopIndex = parseInt(stopIndex);
|
|
88
|
+
increment = parseInt(increment);
|
|
89
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
90
|
+
ret += options.fn(_.extend({}, this, {
|
|
91
|
+
i: i
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
return ret;
|
|
95
|
+
});
|
|
96
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
97
|
+
if (var1 == var2) {
|
|
98
|
+
return options.fn(this);
|
|
99
|
+
} else {
|
|
100
|
+
return options.inverse(this);
|
|
69
101
|
}
|
|
70
|
-
|
|
71
|
-
fragment += wrapper + value + wrapper;
|
|
72
|
-
fragments.push(fragment);
|
|
73
102
|
});
|
|
74
103
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var ret = '';
|
|
81
|
-
startIndex = parseInt(startIndex);
|
|
82
|
-
stopIndex = parseInt(stopIndex);
|
|
83
|
-
increment = parseInt(increment);
|
|
84
|
-
|
|
85
|
-
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
86
|
-
ret += options.fn(_.extend({}, this, {
|
|
87
|
-
i: i
|
|
88
|
-
}));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return ret;
|
|
92
|
-
});
|
|
93
|
-
hb.registerHelper('equal', function (var1, var2, options) {
|
|
94
|
-
if (var1 == var2) {
|
|
95
|
-
return options.fn(this);
|
|
96
|
-
} else {
|
|
97
|
-
return options.inverse(this);
|
|
98
|
-
}
|
|
99
|
-
}); // register a "get property" helper
|
|
100
|
-
// it gets the named property from the provided context
|
|
101
|
-
|
|
102
|
-
hb.registerHelper('property', function (name, context) {
|
|
103
|
-
return context[name] || '';
|
|
104
|
-
}); // register an 'includes' helper
|
|
105
|
-
// it checks if value is in array
|
|
106
|
-
|
|
107
|
-
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
108
|
-
if (_.contains(haystack, needle)) {
|
|
109
|
-
return options.fn(this);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (!Helpers0.__initialized) {
|
|
115
|
-
Helpers0(Handlebars);
|
|
116
|
-
Helpers0.__initialized = true;
|
|
117
|
-
}
|
|
118
|
-
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
119
|
-
this.compilerInfo = [4,'>= 1.0.0'];
|
|
120
|
-
helpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};
|
|
121
|
-
var buffer = "", stack1, helper, functionType="function", escapeExpression=this.escapeExpression, self=this;
|
|
122
|
-
|
|
123
|
-
function program1(depth0,data) {
|
|
124
|
-
|
|
125
|
-
var buffer = "", stack1, helper;
|
|
126
|
-
buffer += "type=\"";
|
|
127
|
-
if (helper = helpers.type) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
128
|
-
else { helper = (depth0 && depth0.type); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
129
|
-
buffer += escapeExpression(stack1)
|
|
130
|
-
+ "\" ";
|
|
131
|
-
return buffer;
|
|
132
|
-
}
|
|
104
|
+
// register a "get property" helper
|
|
105
|
+
// it gets the named property from the provided context
|
|
106
|
+
hb.registerHelper('property', function (name, context) {
|
|
107
|
+
return context[name] || '';
|
|
108
|
+
});
|
|
133
109
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
buffer += "\r\n </div>\r\n <div class=\"widget-field\">\r\n <input class=\"widget-input-inline\" ";
|
|
142
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.type), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
143
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
144
|
-
buffer += "name=\"";
|
|
145
|
-
if (helper = helpers.uri) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
146
|
-
else { helper = (depth0 && depth0.uri); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
147
|
-
buffer += escapeExpression(stack1)
|
|
148
|
-
+ "\" value=\"";
|
|
149
|
-
if (helper = helpers.value) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
150
|
-
else { helper = (depth0 && depth0.value); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
151
|
-
buffer += escapeExpression(stack1)
|
|
152
|
-
+ "\" />\r\n </div>\r\n</div>\r\n";
|
|
153
|
-
return buffer;
|
|
154
|
-
});
|
|
155
|
-
function widgetTpl(data, options, asString) {
|
|
156
|
-
var html = Template(data, options);
|
|
157
|
-
return (asString || true) ? html : $(html);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (!Helpers0.__initialized) {
|
|
161
|
-
Helpers0(Handlebars);
|
|
162
|
-
Helpers0.__initialized = true;
|
|
163
|
-
}
|
|
164
|
-
var Template$1 = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
165
|
-
this.compilerInfo = [4,'>= 1.0.0'];
|
|
166
|
-
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
167
|
-
var buffer = "", stack1, helper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType="function", self=this;
|
|
168
|
-
|
|
169
|
-
function program1(depth0,data) {
|
|
170
|
-
|
|
171
|
-
var buffer = "", helper, options;
|
|
172
|
-
buffer += "\r\n <abbr title=\""
|
|
173
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "This field is required", options) : helperMissing.call(depth0, "__", "This field is required", options)))
|
|
174
|
-
+ "\">*</abbr>\r\n ";
|
|
175
|
-
return buffer;
|
|
110
|
+
// register an 'includes' helper
|
|
111
|
+
// it checks if value is in array
|
|
112
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
113
|
+
if (_.contains(haystack, needle)) {
|
|
114
|
+
return options.fn(this);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
176
117
|
}
|
|
177
118
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
buffer += escapeExpression(stack1)
|
|
182
|
-
+ "\">\r\n ";
|
|
183
|
-
if (helper = helpers.label) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
184
|
-
else { helper = (depth0 && depth0.label); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
185
|
-
buffer += escapeExpression(stack1)
|
|
186
|
-
+ "\r\n ";
|
|
187
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.required), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
188
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
189
|
-
buffer += "\r\n</label>\r\n";
|
|
190
|
-
return buffer;
|
|
191
|
-
});
|
|
192
|
-
function labelTpl(data, options, asString) {
|
|
193
|
-
var html = Template$1(data, options);
|
|
194
|
-
return (asString || true) ? html : $(html);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* This program is free software; you can redistribute it and/or
|
|
199
|
-
* modify it under the terms of the GNU General Public License
|
|
200
|
-
* as published by the Free Software Foundation; under version 2
|
|
201
|
-
* of the License (non-upgradable).
|
|
202
|
-
*
|
|
203
|
-
* This program is distributed in the hope that it will be useful,
|
|
204
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
205
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
206
|
-
* GNU General Public License for more details.
|
|
207
|
-
*
|
|
208
|
-
* You should have received a copy of the GNU General Public License
|
|
209
|
-
* along with this program; if not, write to the Free Software
|
|
210
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
211
|
-
*
|
|
212
|
-
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
213
|
-
*/
|
|
214
|
-
/**
|
|
215
|
-
* @typedef {Object} widgetConfig Defines the config entries available to setup a form widget
|
|
216
|
-
* @property {String} widget - The type of widget.
|
|
217
|
-
* It will be used by the main factory to retrieve
|
|
218
|
-
* the implementation from the internal registry.
|
|
219
|
-
* @property {String} widgetType - The internal type of widget
|
|
220
|
-
* @property {String} uri - The identifier of the widget
|
|
221
|
-
* @property {String} [label] - The label of the widget
|
|
222
|
-
* @property {String|String[]} [value] - The value of the widget. Depending on the widget's type,
|
|
223
|
-
* it can be a single or a multiple value
|
|
224
|
-
* @property {widgetRangeValue[]} [range] - Array of values used in multi-elements widgets (like combo or checkbox)
|
|
225
|
-
* @property {Boolean} [required] - Tells if the value is required
|
|
226
|
-
* @property {validationRule|validationRule[]|validator} [validation] - Optional validators to add
|
|
227
|
-
*/
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* @typedef {Object} widgetRangeValue Defines a value to use in a widget range
|
|
231
|
-
* @property {String} uri - The identifier of the value
|
|
232
|
-
* @property {String} label - The label for the value
|
|
233
|
-
*/
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Some default config
|
|
237
|
-
* @type {widgetConfig}
|
|
238
|
-
*/
|
|
239
|
-
|
|
240
|
-
var defaults = {
|
|
241
|
-
widgetType: 'input-box',
|
|
242
|
-
required: false,
|
|
243
|
-
label: __('Label'),
|
|
244
|
-
value: '',
|
|
245
|
-
range: []
|
|
246
|
-
};
|
|
247
|
-
/**
|
|
248
|
-
* Gets the provider with respect to the provided config
|
|
249
|
-
* @param {widgetConfig} config
|
|
250
|
-
* @returns {Object}
|
|
251
|
-
* @throws {TypeError} if the config is not valid or if the provider does not exist
|
|
252
|
-
*/
|
|
253
|
-
|
|
254
|
-
function getWidgetProvider(config) {
|
|
255
|
-
if (!_.isPlainObject(config)) {
|
|
256
|
-
throw new TypeError('The config must be an object');
|
|
119
|
+
if (!Helpers0.__initialized) {
|
|
120
|
+
Helpers0(Handlebars);
|
|
121
|
+
Helpers0.__initialized = true;
|
|
257
122
|
}
|
|
123
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
124
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
125
|
+
helpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};
|
|
126
|
+
var buffer = "", stack1, helper, functionType="function", escapeExpression=this.escapeExpression, self=this;
|
|
127
|
+
|
|
128
|
+
function program1(depth0,data) {
|
|
129
|
+
|
|
130
|
+
var buffer = "", stack1, helper;
|
|
131
|
+
buffer += "type=\"";
|
|
132
|
+
if (helper = helpers.type) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
133
|
+
else { helper = (depth0 && depth0.type); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
134
|
+
buffer += escapeExpression(stack1)
|
|
135
|
+
+ "\" ";
|
|
136
|
+
return buffer;
|
|
137
|
+
}
|
|
258
138
|
|
|
259
|
-
|
|
260
|
-
|
|
139
|
+
buffer += "<div class=\"form-widget ";
|
|
140
|
+
if (helper = helpers.widgetType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
141
|
+
else { helper = (depth0 && depth0.widgetType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
142
|
+
buffer += escapeExpression(stack1)
|
|
143
|
+
+ "\">\n <div class=\"widget-label\">\n ";
|
|
144
|
+
stack1 = self.invokePartial(partials['ui-form-widget-label'], 'ui-form-widget-label', depth0, helpers, partials, data);
|
|
145
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
146
|
+
buffer += "\n </div>\n <div class=\"widget-field\">\n <input class=\"widget-input-inline\" ";
|
|
147
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.type), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
148
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
149
|
+
buffer += "name=\"";
|
|
150
|
+
if (helper = helpers.uri) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
151
|
+
else { helper = (depth0 && depth0.uri); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
152
|
+
buffer += escapeExpression(stack1)
|
|
153
|
+
+ "\" value=\"";
|
|
154
|
+
if (helper = helpers.value) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
155
|
+
else { helper = (depth0 && depth0.value); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
156
|
+
buffer += escapeExpression(stack1)
|
|
157
|
+
+ "\" />\n </div>\n</div>\n";
|
|
158
|
+
return buffer;
|
|
159
|
+
});
|
|
160
|
+
function widgetTpl(data, options, asString) {
|
|
161
|
+
var html = Template(data, options);
|
|
162
|
+
return (asString || true) ? html : $(html);
|
|
261
163
|
}
|
|
262
164
|
|
|
263
|
-
if (!
|
|
264
|
-
|
|
165
|
+
if (!Helpers0.__initialized) {
|
|
166
|
+
Helpers0(Handlebars);
|
|
167
|
+
Helpers0.__initialized = true;
|
|
265
168
|
}
|
|
169
|
+
var Template$1 = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
170
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
171
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
172
|
+
var buffer = "", stack1, helper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType="function", self=this;
|
|
173
|
+
|
|
174
|
+
function program1(depth0,data) {
|
|
175
|
+
|
|
176
|
+
var buffer = "", helper, options;
|
|
177
|
+
buffer += "\n <abbr title=\""
|
|
178
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "This field is required", options) : helperMissing.call(depth0, "__", "This field is required", options)))
|
|
179
|
+
+ "\">*</abbr>\n ";
|
|
180
|
+
return buffer;
|
|
181
|
+
}
|
|
266
182
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
183
|
+
buffer += "<label for=\"";
|
|
184
|
+
if (helper = helpers.uri) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
185
|
+
else { helper = (depth0 && depth0.uri); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
186
|
+
buffer += escapeExpression(stack1)
|
|
187
|
+
+ "\">\n ";
|
|
188
|
+
if (helper = helpers.label) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
189
|
+
else { helper = (depth0 && depth0.label); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
190
|
+
buffer += escapeExpression(stack1)
|
|
191
|
+
+ "\n ";
|
|
192
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.required), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
193
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
194
|
+
buffer += "\n</label>\n";
|
|
195
|
+
return buffer;
|
|
196
|
+
});
|
|
197
|
+
function labelTpl(data, options, asString) {
|
|
198
|
+
var html = Template$1(data, options);
|
|
199
|
+
return (asString || true) ? html : $(html);
|
|
281
200
|
}
|
|
282
201
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
*
|
|
300
|
-
* const widget = widgetFactory(container, config)
|
|
301
|
-
* .on('change', function(value) {
|
|
302
|
-
* // ...
|
|
303
|
-
* });
|
|
304
|
-
*
|
|
305
|
-
* @param {HTMLElement|String} container
|
|
306
|
-
* @param {widgetConfig} config
|
|
307
|
-
* @param {String} config.widget - The type of widget.
|
|
308
|
-
* It will be used by the main factory to retrieve
|
|
309
|
-
* the implementation from the internal registry.
|
|
310
|
-
* @param {String} config.uri - The identifier of the widget
|
|
311
|
-
* @param {String} [config.label] - The label of the widget
|
|
312
|
-
* @param {String|String[]} [config.value] - The value of the widget. Depending on the widget's type,
|
|
313
|
-
* it can be a single or a multiple value
|
|
314
|
-
* @param {widgetRangeValue[]} [config.range] - Array of values used in multi-elements widgets (like combo or checkbox)
|
|
315
|
-
* @param {Boolean} [config.required] - Tells if the value is required
|
|
316
|
-
* @param {validationRule|validationRule[]|validator} [config.validation] - Optional validators to add
|
|
317
|
-
* @returns {widgetForm}
|
|
318
|
-
* @fires ready - When the component is ready to work
|
|
319
|
-
*/
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
function widgetFactory(container, config) {
|
|
323
|
-
var widget;
|
|
324
|
-
var validator;
|
|
325
|
-
var validatorRenderer;
|
|
326
|
-
var provider = getWidgetProvider(config);
|
|
327
|
-
/**
|
|
328
|
-
* Reflects the invalid state to the component
|
|
329
|
-
* @param {Boolean} invalid
|
|
330
|
-
* @param {String[]} [messages]
|
|
202
|
+
/**
|
|
203
|
+
* This program is free software; you can redistribute it and/or
|
|
204
|
+
* modify it under the terms of the GNU General Public License
|
|
205
|
+
* as published by the Free Software Foundation; under version 2
|
|
206
|
+
* of the License (non-upgradable).
|
|
207
|
+
*
|
|
208
|
+
* This program is distributed in the hope that it will be useful,
|
|
209
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
210
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
211
|
+
* GNU General Public License for more details.
|
|
212
|
+
*
|
|
213
|
+
* You should have received a copy of the GNU General Public License
|
|
214
|
+
* along with this program; if not, write to the Free Software
|
|
215
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
216
|
+
*
|
|
217
|
+
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
331
218
|
*/
|
|
332
219
|
|
|
333
|
-
|
|
334
|
-
|
|
220
|
+
/**
|
|
221
|
+
* @typedef {Object} widgetConfig Defines the config entries available to setup a form widget
|
|
222
|
+
* @property {String} widget - The type of widget.
|
|
223
|
+
* It will be used by the main factory to retrieve
|
|
224
|
+
* the implementation from the internal registry.
|
|
225
|
+
* @property {String} widgetType - The internal type of widget
|
|
226
|
+
* @property {String} uri - The identifier of the widget
|
|
227
|
+
* @property {String} [label] - The label of the widget
|
|
228
|
+
* @property {String|String[]} [value] - The value of the widget. Depending on the widget's type,
|
|
229
|
+
* it can be a single or a multiple value
|
|
230
|
+
* @property {widgetRangeValue[]} [range] - Array of values used in multi-elements widgets (like combo or checkbox)
|
|
231
|
+
* @property {Boolean} [required] - Tells if the value is required
|
|
232
|
+
* @property {validationRule|validationRule[]|validator} [validation] - Optional validators to add
|
|
233
|
+
*/
|
|
335
234
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
validatorRenderer.clear();
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
};
|
|
344
|
-
/**
|
|
345
|
-
* Delegate a call to the provider, or fallback to the default implementation
|
|
346
|
-
* @param {String} method - The name of the method to call.
|
|
347
|
-
* @param {...} args - Extra parameters
|
|
348
|
-
* @returns {*}
|
|
235
|
+
/**
|
|
236
|
+
* @typedef {Object} widgetRangeValue Defines a value to use in a widget range
|
|
237
|
+
* @property {String} uri - The identifier of the value
|
|
238
|
+
* @property {String} label - The label for the value
|
|
349
239
|
*/
|
|
350
240
|
|
|
241
|
+
/**
|
|
242
|
+
* Some default config
|
|
243
|
+
* @type {widgetConfig}
|
|
244
|
+
*/
|
|
245
|
+
const defaults = {
|
|
246
|
+
widgetType: 'input-box',
|
|
247
|
+
required: false,
|
|
248
|
+
label: __('Label'),
|
|
249
|
+
value: '',
|
|
250
|
+
range: []
|
|
251
|
+
};
|
|
351
252
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
253
|
+
/**
|
|
254
|
+
* Gets the provider with respect to the provided config
|
|
255
|
+
* @param {widgetConfig} config
|
|
256
|
+
* @returns {Object}
|
|
257
|
+
* @throws {TypeError} if the config is not valid or if the provider does not exist
|
|
258
|
+
*/
|
|
259
|
+
function getWidgetProvider(config) {
|
|
260
|
+
if (!_.isPlainObject(config)) {
|
|
261
|
+
throw new TypeError('The config must be an object');
|
|
355
262
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
263
|
+
if (!_.isString(config.uri) || !config.uri) {
|
|
264
|
+
throw new TypeError('The config must contain an uri');
|
|
265
|
+
}
|
|
266
|
+
if (!_.isString(config.widget) || !config.widget) {
|
|
267
|
+
throw new TypeError('The config must declare a type of widget');
|
|
359
268
|
}
|
|
269
|
+
return widgetFactory.getProvider(config.widget);
|
|
270
|
+
}
|
|
360
271
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
*
|
|
365
|
-
* @returns {widgetForm}
|
|
366
|
-
* @fires change
|
|
272
|
+
/**
|
|
273
|
+
* Makes sure a value is an array
|
|
274
|
+
* @param {*} value
|
|
275
|
+
* @returns {Array}
|
|
367
276
|
*/
|
|
277
|
+
function forceArray(value) {
|
|
278
|
+
if (value && !_.isArray(value)) {
|
|
279
|
+
value = [value];
|
|
280
|
+
} else {
|
|
281
|
+
value = value || [];
|
|
282
|
+
}
|
|
283
|
+
return value;
|
|
284
|
+
}
|
|
368
285
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
*
|
|
286
|
+
/**
|
|
287
|
+
* Factory that builds a form element based on its config.
|
|
288
|
+
*
|
|
289
|
+
* * @example
|
|
290
|
+
* const container = $('.my-container', $container);
|
|
291
|
+
*
|
|
292
|
+
* widgetFactory.registerProvider('textinput', widgetTextInputProvider);
|
|
293
|
+
*
|
|
294
|
+
* const config = {
|
|
295
|
+
* widget: 'textinput'
|
|
296
|
+
* uri: 'text',
|
|
297
|
+
* label: 'Text',
|
|
298
|
+
* required: true
|
|
299
|
+
* };
|
|
300
|
+
*
|
|
301
|
+
* const widget = widgetFactory(container, config)
|
|
302
|
+
* .on('change', function(value) {
|
|
303
|
+
* // ...
|
|
304
|
+
* });
|
|
305
|
+
*
|
|
306
|
+
* @param {HTMLElement|String} container
|
|
307
|
+
* @param {widgetConfig} config
|
|
308
|
+
* @param {String} config.widget - The type of widget.
|
|
309
|
+
* It will be used by the main factory to retrieve
|
|
310
|
+
* the implementation from the internal registry.
|
|
311
|
+
* @param {String} config.uri - The identifier of the widget
|
|
312
|
+
* @param {String} [config.label] - The label of the widget
|
|
313
|
+
* @param {String|String[]} [config.value] - The value of the widget. Depending on the widget's type,
|
|
314
|
+
* it can be a single or a multiple value
|
|
315
|
+
* @param {widgetRangeValue[]} [config.range] - Array of values used in multi-elements widgets (like combo or checkbox)
|
|
316
|
+
* @param {Boolean} [config.required] - Tells if the value is required
|
|
317
|
+
* @param {validationRule|validationRule[]|validator} [config.validation] - Optional validators to add
|
|
318
|
+
* @returns {widgetForm}
|
|
319
|
+
* @fires ready - When the component is ready to work
|
|
380
320
|
*/
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* Gets the value of the widget
|
|
394
|
-
* @returns {String|String[]}
|
|
395
|
-
*/
|
|
396
|
-
getValue: function getValue() {
|
|
397
|
-
return delegate('getValue');
|
|
398
|
-
},
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* Gets the raw value of the widget
|
|
402
|
-
* @returns {*}
|
|
403
|
-
*/
|
|
404
|
-
getRawValue: function getRawValue() {
|
|
405
|
-
return delegate('getRawValue');
|
|
406
|
-
},
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* Sets the value of the widget
|
|
410
|
-
* @param {String|String[]} value
|
|
411
|
-
* @returns {widgetForm}
|
|
412
|
-
* @fires change after the value has been changed
|
|
413
|
-
*/
|
|
414
|
-
setValue: function setValue(value) {
|
|
415
|
-
this.getConfig().value = value;
|
|
416
|
-
delegate('setValue', value);
|
|
417
|
-
notifyChange();
|
|
418
|
-
return this;
|
|
419
|
-
},
|
|
420
|
-
|
|
421
|
-
/**
|
|
422
|
-
* Gets access to the validation engine
|
|
423
|
-
* @returns {validator}
|
|
321
|
+
function widgetFactory(container, config) {
|
|
322
|
+
let widget;
|
|
323
|
+
let validator;
|
|
324
|
+
let validatorRenderer;
|
|
325
|
+
const provider = getWidgetProvider(config);
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Reflects the invalid state to the component
|
|
329
|
+
* @param {Boolean} invalid
|
|
330
|
+
* @param {String[]} [messages]
|
|
424
331
|
*/
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
* @returns {widgetForm}
|
|
433
|
-
*/
|
|
434
|
-
setValidator: function setValidator(validation) {
|
|
435
|
-
if (validation && _.isFunction(validation.validate)) {
|
|
436
|
-
validator = validation;
|
|
437
|
-
} else {
|
|
438
|
-
if (validation && !validation.validations) {
|
|
439
|
-
if (!_.isArray(validation)) {
|
|
440
|
-
validation = [validation];
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
validation = {
|
|
444
|
-
validations: validation
|
|
445
|
-
};
|
|
332
|
+
const setInvalidState = (invalid, messages) => {
|
|
333
|
+
widget.setState('invalid', invalid);
|
|
334
|
+
if (validatorRenderer) {
|
|
335
|
+
if (invalid) {
|
|
336
|
+
validatorRenderer.display(messages);
|
|
337
|
+
} else {
|
|
338
|
+
validatorRenderer.clear();
|
|
446
339
|
}
|
|
447
|
-
|
|
448
|
-
validator = validatorFactory(validation);
|
|
449
340
|
}
|
|
341
|
+
};
|
|
450
342
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
*
|
|
456
|
-
* @returns {widgetForm}
|
|
343
|
+
/**
|
|
344
|
+
* Delegate a call to the provider, or fallback to the default implementation
|
|
345
|
+
* @param {String} method - The name of the method to call.
|
|
346
|
+
* @param {...} args - Extra parameters
|
|
347
|
+
* @returns {*}
|
|
457
348
|
*/
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
349
|
+
const delegate = function (method) {
|
|
350
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
351
|
+
args[_key - 1] = arguments[_key];
|
|
352
|
+
}
|
|
353
|
+
if (_.isFunction(provider[method])) {
|
|
354
|
+
return provider[method].apply(widget, args);
|
|
355
|
+
}
|
|
356
|
+
return defaultProvider[method].apply(widget, args);
|
|
357
|
+
};
|
|
465
358
|
|
|
466
|
-
/**
|
|
467
|
-
*
|
|
468
|
-
* @returns {widgetForm}
|
|
359
|
+
/**
|
|
360
|
+
* Triggers the change event
|
|
361
|
+
* @returns {widgetForm}
|
|
362
|
+
* @fires change
|
|
469
363
|
*/
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
364
|
+
const notifyChange = () => {
|
|
365
|
+
/**
|
|
366
|
+
* @event change
|
|
367
|
+
* @param {String|String[]} value
|
|
368
|
+
* @param {String} uri
|
|
369
|
+
*/
|
|
370
|
+
widget.trigger('change', widget.getValue(), widget.getUri());
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* @typedef {component} widgetForm
|
|
479
375
|
*/
|
|
480
|
-
|
|
481
|
-
|
|
376
|
+
const widgetApi = {
|
|
377
|
+
/**
|
|
378
|
+
* Gets the widget's URI
|
|
379
|
+
* @returns {String}
|
|
380
|
+
*/
|
|
381
|
+
getUri() {
|
|
382
|
+
return this.getConfig().uri;
|
|
383
|
+
},
|
|
384
|
+
/**
|
|
385
|
+
* Gets the value of the widget
|
|
386
|
+
* @returns {String|String[]}
|
|
387
|
+
*/
|
|
388
|
+
getValue() {
|
|
389
|
+
return delegate('getValue');
|
|
390
|
+
},
|
|
391
|
+
/**
|
|
392
|
+
* Gets the raw value of the widget
|
|
393
|
+
* @returns {*}
|
|
394
|
+
*/
|
|
395
|
+
getRawValue() {
|
|
396
|
+
return delegate('getRawValue');
|
|
397
|
+
},
|
|
398
|
+
/**
|
|
399
|
+
* Sets the value of the widget
|
|
400
|
+
* @param {String|String[]} value
|
|
401
|
+
* @returns {widgetForm}
|
|
402
|
+
* @fires change after the value has been changed
|
|
403
|
+
*/
|
|
404
|
+
setValue(value) {
|
|
405
|
+
this.getConfig().value = value;
|
|
406
|
+
delegate('setValue', value);
|
|
407
|
+
notifyChange();
|
|
408
|
+
return this;
|
|
409
|
+
},
|
|
410
|
+
/**
|
|
411
|
+
* Gets access to the validation engine
|
|
412
|
+
* @returns {validator}
|
|
413
|
+
*/
|
|
414
|
+
getValidator() {
|
|
415
|
+
return validator;
|
|
416
|
+
},
|
|
417
|
+
/**
|
|
418
|
+
* Sets the validation engine
|
|
419
|
+
* @param {validationRule|validationRule[]|validator} validation
|
|
420
|
+
* @returns {widgetForm}
|
|
421
|
+
*/
|
|
422
|
+
setValidator(validation) {
|
|
423
|
+
if (validation && _.isFunction(validation.validate)) {
|
|
424
|
+
validator = validation;
|
|
425
|
+
} else {
|
|
426
|
+
if (validation && !validation.validations) {
|
|
427
|
+
if (!_.isArray(validation)) {
|
|
428
|
+
validation = [validation];
|
|
429
|
+
}
|
|
430
|
+
validation = {
|
|
431
|
+
validations: validation
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
validator = validatorFactory(validation);
|
|
435
|
+
}
|
|
436
|
+
return this;
|
|
437
|
+
},
|
|
438
|
+
/**
|
|
439
|
+
* Resets the widget to the default validators
|
|
440
|
+
* @returns {widgetForm}
|
|
441
|
+
*/
|
|
442
|
+
setDefaultValidators() {
|
|
443
|
+
// restore factory default validators
|
|
444
|
+
this.setValidator(this.getConfig().validator);
|
|
445
|
+
|
|
446
|
+
// then apply provider default validators
|
|
447
|
+
delegate('setDefaultValidators');
|
|
448
|
+
return this;
|
|
449
|
+
},
|
|
450
|
+
/**
|
|
451
|
+
* Resets the widget to its default value
|
|
452
|
+
* @returns {widgetForm}
|
|
453
|
+
*/
|
|
454
|
+
reset() {
|
|
455
|
+
delegate('reset');
|
|
482
456
|
setInvalidState(false);
|
|
483
|
-
return
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
|
|
457
|
+
return this;
|
|
458
|
+
},
|
|
459
|
+
/**
|
|
460
|
+
* Validates the widget
|
|
461
|
+
* @returns {Promise}
|
|
462
|
+
*/
|
|
463
|
+
validate() {
|
|
464
|
+
return this.getValidator().validate(this.getRawValue()).then(res => {
|
|
465
|
+
setInvalidState(false);
|
|
466
|
+
return res;
|
|
467
|
+
}).catch(err => {
|
|
468
|
+
setInvalidState(true, err);
|
|
469
|
+
return Promise.reject(err);
|
|
470
|
+
});
|
|
471
|
+
},
|
|
472
|
+
/**
|
|
473
|
+
* Gets access to the actual form element
|
|
474
|
+
* @returns {jQuery|null}
|
|
475
|
+
*/
|
|
476
|
+
getWidgetElement() {
|
|
477
|
+
if (this.is('rendered')) {
|
|
478
|
+
return delegate('getWidgetElement');
|
|
479
|
+
}
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
};
|
|
483
|
+
widget = componentFactory(widgetApi, defaults).setTemplate(provider.template || widgetTpl).on('init', function onWidgetInit() {
|
|
484
|
+
this.setDefaultValidators();
|
|
485
|
+
|
|
486
|
+
// auto render on init (defer the call to give a chance to the init event to be completed before)
|
|
487
|
+
_.defer(() => this.render(container));
|
|
488
|
+
}).on('render', function onWidgetRender() {
|
|
489
|
+
// reflect the type of widget
|
|
490
|
+
this.setState(this.getConfig().widgetType, true);
|
|
491
|
+
|
|
492
|
+
// react to data change
|
|
493
|
+
this.getWidgetElement().on('change blur', () => {
|
|
494
|
+
const value = this.getValue();
|
|
495
|
+
if (value !== this.getConfig().value) {
|
|
496
|
+
this.getConfig().value = value;
|
|
497
|
+
notifyChange();
|
|
498
|
+
}
|
|
487
499
|
});
|
|
488
|
-
},
|
|
489
500
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
501
|
+
/**
|
|
502
|
+
* @event ready
|
|
503
|
+
*/
|
|
504
|
+
validatorRenderer = validatorRendererFactory(this.getElement()).spread(this, 'error ready');
|
|
505
|
+
}).on('disable', function onWidgetDisable() {
|
|
495
506
|
if (this.is('rendered')) {
|
|
496
|
-
|
|
507
|
+
this.getWidgetElement().prop('disabled', true);
|
|
497
508
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
_.defer(function () {
|
|
508
|
-
return _this.render(container);
|
|
509
|
-
});
|
|
510
|
-
}).on('render', function onWidgetRender() {
|
|
511
|
-
var _this2 = this;
|
|
512
|
-
|
|
513
|
-
// reflect the type of widget
|
|
514
|
-
this.setState(this.getConfig().widgetType, true); // react to data change
|
|
515
|
-
|
|
516
|
-
this.getWidgetElement().on('change blur', function () {
|
|
517
|
-
var value = _this2.getValue();
|
|
518
|
-
|
|
519
|
-
if (value !== _this2.getConfig().value) {
|
|
520
|
-
_this2.getConfig().value = value;
|
|
521
|
-
notifyChange();
|
|
509
|
+
}).on('enable', function onWidgetEnable() {
|
|
510
|
+
if (this.is('rendered')) {
|
|
511
|
+
this.getWidgetElement().prop('disabled', false);
|
|
512
|
+
}
|
|
513
|
+
}).on('destroy', function onWidgetDestroy() {
|
|
514
|
+
if (validatorRenderer) {
|
|
515
|
+
validatorRenderer.destroy();
|
|
516
|
+
validatorRenderer = null;
|
|
522
517
|
}
|
|
523
518
|
});
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
validatorRenderer = validatorRendererFactory(this.getElement()).spread(this, 'error ready');
|
|
529
|
-
}).on('disable', function onWidgetDisable() {
|
|
530
|
-
if (this.is('rendered')) {
|
|
531
|
-
this.getWidgetElement().prop('disabled', true);
|
|
519
|
+
if (config) {
|
|
520
|
+
// the range must be an array
|
|
521
|
+
config.range = forceArray(config.range);
|
|
532
522
|
}
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
this.getWidgetElement().prop('disabled', false);
|
|
536
|
-
}
|
|
537
|
-
}).on('destroy', function onWidgetDestroy() {
|
|
538
|
-
if (validatorRenderer) {
|
|
539
|
-
validatorRenderer.destroy();
|
|
540
|
-
validatorRenderer = null;
|
|
541
|
-
}
|
|
542
|
-
});
|
|
543
|
-
|
|
544
|
-
if (config) {
|
|
545
|
-
// the range must be an array
|
|
546
|
-
config.range = forceArray(config.range);
|
|
523
|
+
_.defer(() => widget.init(provider.init.call(widget, config || {}) || config));
|
|
524
|
+
return widget;
|
|
547
525
|
}
|
|
548
526
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
});
|
|
552
|
-
|
|
553
|
-
return widget;
|
|
554
|
-
} // expose a partial that can be used by every form widget to inject the label markup
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
Handlebars.registerPartial('ui-form-widget-label', labelTpl); // the widgetFactory is also a providers registry
|
|
527
|
+
// expose a partial that can be used by every form widget to inject the label markup
|
|
528
|
+
Handlebars.registerPartial('ui-form-widget-label', labelTpl);
|
|
558
529
|
|
|
559
|
-
|
|
530
|
+
// the widgetFactory is also a providers registry
|
|
531
|
+
providerRegistry(widgetFactory);
|
|
560
532
|
|
|
561
|
-
|
|
533
|
+
return widgetFactory;
|
|
562
534
|
|
|
563
535
|
});
|