@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
package/dist/bulkActionPopup.js
CHANGED
|
@@ -1,542 +1,542 @@
|
|
|
1
1
|
define(['jquery', 'lodash', 'i18n', 'handlebars', 'lib/dompurify/purify', 'ui/component', 'ui/keyNavigation/navigator', 'ui/keyNavigation/navigableDomElement', 'util/shortcut/registry', 'util/shortcut', 'util/namespace', 'ui/modal', 'select2', 'css!ui/bulkActionPopup/css/bulkActionPopup.css'], function ($$1, _, __, Handlebars, DOMPurify, component, keyNavigator, navigableDomElement, shortcutRegistry, globalShortcut, namespaceHelper, modal, select2, bulkActionPopup_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
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* https://github.com/cure53/DOMPurify
|
|
34
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
35
|
-
* to make output safe for template systems
|
|
3
|
+
$$1 = $$1 && Object.prototype.hasOwnProperty.call($$1, 'default') ? $$1['default'] : $$1;
|
|
4
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
5
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
6
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
7
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
8
|
+
component = component && Object.prototype.hasOwnProperty.call(component, 'default') ? component['default'] : component;
|
|
9
|
+
keyNavigator = keyNavigator && Object.prototype.hasOwnProperty.call(keyNavigator, 'default') ? keyNavigator['default'] : keyNavigator;
|
|
10
|
+
navigableDomElement = navigableDomElement && Object.prototype.hasOwnProperty.call(navigableDomElement, 'default') ? navigableDomElement['default'] : navigableDomElement;
|
|
11
|
+
shortcutRegistry = shortcutRegistry && Object.prototype.hasOwnProperty.call(shortcutRegistry, 'default') ? shortcutRegistry['default'] : shortcutRegistry;
|
|
12
|
+
globalShortcut = globalShortcut && Object.prototype.hasOwnProperty.call(globalShortcut, 'default') ? globalShortcut['default'] : globalShortcut;
|
|
13
|
+
namespaceHelper = namespaceHelper && Object.prototype.hasOwnProperty.call(namespaceHelper, 'default') ? namespaceHelper['default'] : namespaceHelper;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* This program is free software; you can redistribute it and/or
|
|
17
|
+
* modify it under the terms of the GNU General Public License
|
|
18
|
+
* as published by the Free Software Foundation; under version 2
|
|
19
|
+
* of the License (non-upgradable).
|
|
20
|
+
*
|
|
21
|
+
* This program is distributed in the hope that it will be useful,
|
|
22
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
23
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
24
|
+
* GNU General Public License for more details.
|
|
25
|
+
*
|
|
26
|
+
* You should have received a copy of the GNU General Public License
|
|
27
|
+
* along with this program; if not, write to the Free Software
|
|
28
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
29
|
+
*
|
|
30
|
+
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
31
|
+
*
|
|
32
|
+
*
|
|
36
33
|
*/
|
|
34
|
+
function Helpers0 (hb) {
|
|
35
|
+
//register a i18n helper
|
|
36
|
+
hb.registerHelper('__', function (key) {
|
|
37
|
+
return __(key);
|
|
38
|
+
});
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
51
|
-
var fragments = [];
|
|
52
|
-
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
53
|
-
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
54
|
-
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
55
|
-
|
|
56
|
-
_.forIn(arr, function (value, key) {
|
|
57
|
-
var fragment = '';
|
|
40
|
+
/**
|
|
41
|
+
* Register dompurify helper
|
|
42
|
+
*
|
|
43
|
+
* https://github.com/cure53/DOMPurify
|
|
44
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
45
|
+
* to make output safe for template systems
|
|
46
|
+
*/
|
|
47
|
+
hb.registerHelper('dompurify', function (context) {
|
|
48
|
+
return DOMPurify.sanitize(context);
|
|
49
|
+
});
|
|
58
50
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Register join helper
|
|
53
|
+
*
|
|
54
|
+
* Example :
|
|
55
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
56
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
57
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
58
|
+
*/
|
|
59
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
60
|
+
var fragments = [];
|
|
61
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
62
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
63
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
64
|
+
_.forIn(arr, function (value, key) {
|
|
65
|
+
var fragment = '';
|
|
66
|
+
if (value !== null || value !== undefined) {
|
|
67
|
+
if (typeof value === 'boolean') {
|
|
68
|
+
value = value ? 'true' : 'false';
|
|
69
|
+
} else if (typeof value === 'object') {
|
|
70
|
+
value = _.values(value).join(' ');
|
|
71
|
+
}
|
|
72
|
+
} else {
|
|
73
|
+
value = '';
|
|
64
74
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
if (keyValueGlue !== undefined) {
|
|
76
|
+
fragment += key + keyValueGlue;
|
|
77
|
+
}
|
|
78
|
+
fragment += wrapper + value + wrapper;
|
|
79
|
+
fragments.push(fragment);
|
|
80
|
+
});
|
|
81
|
+
return fragments.join(fragmentGlue);
|
|
82
|
+
});
|
|
68
83
|
|
|
69
|
-
|
|
70
|
-
|
|
84
|
+
//register a classic "for loop" helper
|
|
85
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
86
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
87
|
+
var ret = '';
|
|
88
|
+
startIndex = parseInt(startIndex);
|
|
89
|
+
stopIndex = parseInt(stopIndex);
|
|
90
|
+
increment = parseInt(increment);
|
|
91
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
92
|
+
ret += options.fn(_.extend({}, this, {
|
|
93
|
+
i: i
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
return ret;
|
|
97
|
+
});
|
|
98
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
99
|
+
if (var1 == var2) {
|
|
100
|
+
return options.fn(this);
|
|
101
|
+
} else {
|
|
102
|
+
return options.inverse(this);
|
|
71
103
|
}
|
|
72
|
-
|
|
73
|
-
fragment += wrapper + value + wrapper;
|
|
74
|
-
fragments.push(fragment);
|
|
75
104
|
});
|
|
76
105
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
106
|
+
// register a "get property" helper
|
|
107
|
+
// it gets the named property from the provided context
|
|
108
|
+
hb.registerHelper('property', function (name, context) {
|
|
109
|
+
return context[name] || '';
|
|
110
|
+
});
|
|
80
111
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
112
|
+
// register an 'includes' helper
|
|
113
|
+
// it checks if value is in array
|
|
114
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
115
|
+
if (_.contains(haystack, needle)) {
|
|
116
|
+
return options.fn(this);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
86
120
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
121
|
+
if (!Helpers0.__initialized) {
|
|
122
|
+
Helpers0(Handlebars);
|
|
123
|
+
Helpers0.__initialized = true;
|
|
124
|
+
}
|
|
125
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
126
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
127
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
128
|
+
var buffer = "", stack1, helper, options, functionType="function", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;
|
|
129
|
+
|
|
130
|
+
function program1(depth0,data) {
|
|
131
|
+
|
|
132
|
+
var buffer = "", stack1;
|
|
133
|
+
buffer += "\n ";
|
|
134
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.single), {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),data:data});
|
|
135
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
136
|
+
buffer += "\n ";
|
|
137
|
+
return buffer;
|
|
91
138
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
139
|
+
function program2(depth0,data) {
|
|
140
|
+
|
|
141
|
+
var buffer = "", stack1, helper, options;
|
|
142
|
+
buffer += "\n <div class=\"single\" data-resource=\""
|
|
143
|
+
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.allowedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.id)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
144
|
+
+ "\">\n <p>\n "
|
|
145
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will be applied to", options) : helperMissing.call(depth0, "__", "The action will be applied to", options)))
|
|
146
|
+
+ " ";
|
|
147
|
+
if (helper = helpers.resourceType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
148
|
+
else { helper = (depth0 && depth0.resourceType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
149
|
+
buffer += escapeExpression(stack1)
|
|
150
|
+
+ " <span class=\"resource-label\">"
|
|
151
|
+
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.allowedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.label)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
152
|
+
+ "</span>\n </p>\n </div>\n ";
|
|
153
|
+
return buffer;
|
|
100
154
|
}
|
|
101
|
-
}); // register a "get property" helper
|
|
102
|
-
// it gets the named property from the provided context
|
|
103
|
-
|
|
104
|
-
hb.registerHelper('property', function (name, context) {
|
|
105
|
-
return context[name] || '';
|
|
106
|
-
}); // register an 'includes' helper
|
|
107
|
-
// it checks if value is in array
|
|
108
155
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
156
|
+
function program4(depth0,data) {
|
|
157
|
+
|
|
158
|
+
var buffer = "", stack1, helper, options;
|
|
159
|
+
buffer += "\n <div class=\"multiple\">\n <p>\n "
|
|
160
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will be applied to the following", options) : helperMissing.call(depth0, "__", "The action will be applied to the following", options)))
|
|
161
|
+
+ " <span class=\"resource-count\">";
|
|
162
|
+
if (helper = helpers.resourceCount) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
163
|
+
else { helper = (depth0 && depth0.resourceCount); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
164
|
+
buffer += escapeExpression(stack1)
|
|
165
|
+
+ "</span> ";
|
|
166
|
+
if (helper = helpers.resourceTypes) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
167
|
+
else { helper = (depth0 && depth0.resourceTypes); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
168
|
+
buffer += escapeExpression(stack1)
|
|
169
|
+
+ ":\n </p>\n <ul class=\"plain applicables\">\n ";
|
|
170
|
+
stack1 = helpers.each.call(depth0, (depth0 && depth0.allowedResources), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
|
|
171
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
172
|
+
buffer += "\n </ul>\n </div>\n ";
|
|
173
|
+
return buffer;
|
|
112
174
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
var buffer = "", stack1;
|
|
128
|
-
buffer += "\r\n ";
|
|
129
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.single), {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),data:data});
|
|
130
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
131
|
-
buffer += "\r\n ";
|
|
132
|
-
return buffer;
|
|
133
|
-
}
|
|
134
|
-
function program2(depth0,data) {
|
|
135
|
-
|
|
136
|
-
var buffer = "", stack1, helper, options;
|
|
137
|
-
buffer += "\r\n <div class=\"single\" data-resource=\""
|
|
138
|
-
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.allowedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.id)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
139
|
-
+ "\">\r\n <p>\r\n "
|
|
140
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will be applied to", options) : helperMissing.call(depth0, "__", "The action will be applied to", options)))
|
|
141
|
-
+ " ";
|
|
142
|
-
if (helper = helpers.resourceType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
143
|
-
else { helper = (depth0 && depth0.resourceType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
144
|
-
buffer += escapeExpression(stack1)
|
|
145
|
-
+ " <span class=\"resource-label\">"
|
|
146
|
-
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.allowedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.label)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
147
|
-
+ "</span>\r\n </p>\r\n </div>\r\n ";
|
|
148
|
-
return buffer;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
function program4(depth0,data) {
|
|
152
|
-
|
|
153
|
-
var buffer = "", stack1, helper, options;
|
|
154
|
-
buffer += "\r\n <div class=\"multiple\">\r\n <p>\r\n "
|
|
155
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will be applied to the following", options) : helperMissing.call(depth0, "__", "The action will be applied to the following", options)))
|
|
156
|
-
+ " <span class=\"resource-count\">";
|
|
157
|
-
if (helper = helpers.resourceCount) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
158
|
-
else { helper = (depth0 && depth0.resourceCount); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
159
|
-
buffer += escapeExpression(stack1)
|
|
160
|
-
+ "</span> ";
|
|
161
|
-
if (helper = helpers.resourceTypes) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
162
|
-
else { helper = (depth0 && depth0.resourceTypes); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
163
|
-
buffer += escapeExpression(stack1)
|
|
164
|
-
+ ":\r\n </p>\r\n <ul class=\"plain applicables\">\r\n ";
|
|
165
|
-
stack1 = helpers.each.call(depth0, (depth0 && depth0.allowedResources), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
|
|
166
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
167
|
-
buffer += "\r\n </ul>\r\n </div>\r\n ";
|
|
168
|
-
return buffer;
|
|
169
|
-
}
|
|
170
|
-
function program5(depth0,data) {
|
|
171
|
-
|
|
172
|
-
var buffer = "", stack1, helper;
|
|
173
|
-
buffer += "\r\n <li data-resource=\"";
|
|
174
|
-
if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
175
|
-
else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
176
|
-
buffer += escapeExpression(stack1)
|
|
177
|
-
+ "\">\r\n <span class=\"resource-label\">";
|
|
178
|
-
if (helper = helpers.label) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
179
|
-
else { helper = (depth0 && depth0.label); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
180
|
-
buffer += escapeExpression(stack1)
|
|
181
|
-
+ "</span>\r\n </li>\r\n ";
|
|
182
|
-
return buffer;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
function program7(depth0,data) {
|
|
186
|
-
|
|
187
|
-
var buffer = "", stack1;
|
|
188
|
-
buffer += "\r\n ";
|
|
189
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.singleDenied), {hash:{},inverse:self.program(10, program10, data),fn:self.program(8, program8, data),data:data});
|
|
190
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
191
|
-
buffer += "\r\n ";
|
|
192
|
-
return buffer;
|
|
193
|
-
}
|
|
194
|
-
function program8(depth0,data) {
|
|
195
|
-
|
|
196
|
-
var buffer = "", stack1, helper, options;
|
|
197
|
-
buffer += "\r\n <div class=\"single\" data-resource=\""
|
|
198
|
-
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.id)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
199
|
-
+ "\">\r\n <p>\r\n "
|
|
200
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will not be applied to ", options) : helperMissing.call(depth0, "__", "The action will not be applied to ", options)))
|
|
201
|
-
+ " ";
|
|
202
|
-
if (helper = helpers.resourceType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
203
|
-
else { helper = (depth0 && depth0.resourceType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
204
|
-
buffer += escapeExpression(stack1)
|
|
205
|
-
+ "\r\n <span class=\"resource-label\">"
|
|
206
|
-
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.label)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
207
|
-
+ "</span>\r\n <span class=\"reason\">("
|
|
208
|
-
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.reason)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
209
|
-
+ ")</span>\r\n </p>\r\n </div>\r\n ";
|
|
210
|
-
return buffer;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
function program10(depth0,data) {
|
|
214
|
-
|
|
215
|
-
var buffer = "", stack1, helper, options;
|
|
216
|
-
buffer += "\r\n <p>\r\n "
|
|
217
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will not be applied to the following", options) : helperMissing.call(depth0, "__", "The action will not be applied to the following", options)))
|
|
218
|
-
+ " ";
|
|
219
|
-
if (helper = helpers.resourceTypes) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
220
|
-
else { helper = (depth0 && depth0.resourceTypes); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
221
|
-
buffer += escapeExpression(stack1)
|
|
222
|
-
+ ":\r\n </p>\r\n <ul class=\"plain no-applicables\">\r\n ";
|
|
223
|
-
stack1 = helpers.each.call(depth0, (depth0 && depth0.deniedResources), {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data});
|
|
224
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
225
|
-
buffer += "\r\n </ul>\r\n ";
|
|
226
|
-
return buffer;
|
|
227
|
-
}
|
|
228
|
-
function program11(depth0,data) {
|
|
229
|
-
|
|
230
|
-
var buffer = "", stack1, helper;
|
|
231
|
-
buffer += "\r\n <li data-resource=\"";
|
|
232
|
-
if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
233
|
-
else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
234
|
-
buffer += escapeExpression(stack1)
|
|
235
|
-
+ "\">\r\n <span class=\"resource-label\">";
|
|
236
|
-
if (helper = helpers.label) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
237
|
-
else { helper = (depth0 && depth0.label); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
238
|
-
buffer += escapeExpression(stack1)
|
|
239
|
-
+ "</span>\r\n <span class=\"reason\">(";
|
|
240
|
-
if (helper = helpers.reason) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
241
|
-
else { helper = (depth0 && depth0.reason); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
242
|
-
buffer += escapeExpression(stack1)
|
|
243
|
-
+ ")</span>\r\n </li>\r\n ";
|
|
244
|
-
return buffer;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
function program13(depth0,data) {
|
|
248
|
-
|
|
249
|
-
var buffer = "", helper, options;
|
|
250
|
-
buffer += "\r\n <div class=\"reason\">\r\n <p>\r\n "
|
|
251
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Please provide a reason", options) : helperMissing.call(depth0, "__", "Please provide a reason", options)))
|
|
252
|
-
+ ":\r\n </p>\r\n <div class=\"categories\"></div>\r\n <div class=\"comment\">\r\n <textarea placeholder=\""
|
|
253
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "comment...", options) : helperMissing.call(depth0, "__", "comment...", options)))
|
|
254
|
-
+ "\"></textarea>\r\n </div>\r\n </div>\r\n ";
|
|
255
|
-
return buffer;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
function program15(depth0,data) {
|
|
259
|
-
|
|
260
|
-
var buffer = "", stack1, helper;
|
|
261
|
-
buffer += "\r\n <div class=\"message\">\r\n ";
|
|
262
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.icon), {hash:{},inverse:self.noop,fn:self.program(16, program16, data),data:data});
|
|
263
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
264
|
-
buffer += "\r\n ";
|
|
265
|
-
if (helper = helpers.message) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
266
|
-
else { helper = (depth0 && depth0.message); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
267
|
-
buffer += escapeExpression(stack1)
|
|
268
|
-
+ "\r\n </div>\r\n ";
|
|
269
|
-
return buffer;
|
|
270
|
-
}
|
|
271
|
-
function program16(depth0,data) {
|
|
272
|
-
|
|
273
|
-
var buffer = "", stack1, helper;
|
|
274
|
-
buffer += "\r\n <span class=\"icon icon-";
|
|
275
|
-
if (helper = helpers.icon) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
276
|
-
else { helper = (depth0 && depth0.icon); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
277
|
-
buffer += escapeExpression(stack1)
|
|
278
|
-
+ "\"></span>\r\n ";
|
|
279
|
-
return buffer;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
buffer += "<div class=\"bulk-action-popup\">\r\n <h2 class=\"title\">"
|
|
283
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Action", options) : helperMissing.call(depth0, "__", "Action", options)))
|
|
284
|
-
+ ": ";
|
|
285
|
-
if (helper = helpers.actionName) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
286
|
-
else { helper = (depth0 && depth0.actionName); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
287
|
-
buffer += escapeExpression(stack1)
|
|
288
|
-
+ "</h2>\r\n\r\n ";
|
|
289
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.resourceCount), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
290
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
291
|
-
buffer += "\r\n\r\n ";
|
|
292
|
-
stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1.length), {hash:{},inverse:self.noop,fn:self.program(7, program7, data),data:data});
|
|
293
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
294
|
-
buffer += "\r\n\r\n ";
|
|
295
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.reason), {hash:{},inverse:self.noop,fn:self.program(13, program13, data),data:data});
|
|
296
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
297
|
-
buffer += "\r\n\r\n ";
|
|
298
|
-
stack1 = helpers['if'].call(depth0, (depth0 && depth0.message), {hash:{},inverse:self.noop,fn:self.program(15, program15, data),data:data});
|
|
299
|
-
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
300
|
-
buffer += "\r\n\r\n <div class=\"actions\">\r\n <button class=\"btn btn-info small done\">"
|
|
301
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "OK", options) : helperMissing.call(depth0, "__", "OK", options)))
|
|
302
|
-
+ "</button>\r\n <a href=\"#\" class=\"btn cancel\" title=\""
|
|
303
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "cancel the action", options) : helperMissing.call(depth0, "__", "cancel the action", options)))
|
|
304
|
-
+ "\">"
|
|
305
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "cancel", options) : helperMissing.call(depth0, "__", "cancel", options)))
|
|
306
|
-
+ "</a>\r\n </div>\r\n\r\n</div>";
|
|
307
|
-
return buffer;
|
|
308
|
-
});
|
|
309
|
-
function layoutTpl(data, options, asString) {
|
|
310
|
-
var html = Template(data, options);
|
|
311
|
-
return (asString || true) ? html : $(html);
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* This program is free software; you can redistribute it and/or
|
|
316
|
-
* modify it under the terms of the GNU General Public License
|
|
317
|
-
* as published by the Free Software Foundation; under version 2
|
|
318
|
-
* of the License (non-upgradable).
|
|
319
|
-
*
|
|
320
|
-
* This program is distributed in the hope that it will be useful,
|
|
321
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
322
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
323
|
-
* GNU General Public License for more details.
|
|
324
|
-
*
|
|
325
|
-
* You should have received a copy of the GNU General Public License
|
|
326
|
-
* along with this program; if not, write to the Free Software
|
|
327
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
328
|
-
*
|
|
329
|
-
* Copyright (c) 2015-2019 Open Assessment Technologies SA;
|
|
330
|
-
*/
|
|
331
|
-
/**
|
|
332
|
-
* Namespace used in events and shortcuts
|
|
333
|
-
* @type {String}
|
|
334
|
-
* @private
|
|
335
|
-
*/
|
|
336
|
-
|
|
337
|
-
var _ns = 'bulk-action-popup';
|
|
338
|
-
/**
|
|
339
|
-
* Builds an instance of the bulkActionPopup component
|
|
340
|
-
*
|
|
341
|
-
* @param {Object} config
|
|
342
|
-
* @param {jQuery} config.renderTo - the jQuery container it should be rendered to
|
|
343
|
-
* @param {String} config.actionName - the action name (use in the title text)
|
|
344
|
-
* @param {String} config.resourceType - the name of the resource type (use in the text)
|
|
345
|
-
* @param {Boolean} [config.allowShortcuts] - allow keyboard shortcuts (Esc to cancel, Enter to validate)
|
|
346
|
-
* @param {String} [config.resourceTypes] - the name of the resource type in plural (use in the text)
|
|
347
|
-
* @param {Boolean} [config.reason] - defines if the reason section should be displayed or not
|
|
348
|
-
* @param {Function} [config.categoriesSelector] - callback renderer for categories
|
|
349
|
-
* @param {Array} config.allowedResources - list of allowed resources to be displayed
|
|
350
|
-
* @param {Array} [config.deniedResources] - list of denied resources to be displayed
|
|
351
|
-
* @param {String} config.message - message or warning (will be shown at the bottom of the popup)
|
|
352
|
-
* @param {String} config.icon - icon from the TAO font (will be shown before the message)
|
|
353
|
-
* @returns {bulkActionPopup}
|
|
354
|
-
*/
|
|
355
|
-
|
|
356
|
-
function bulkActionPopupFactory(config) {
|
|
357
|
-
//private object to hold the state of edition
|
|
358
|
-
var state = {
|
|
359
|
-
reasons: null,
|
|
360
|
-
comment: ''
|
|
361
|
-
};
|
|
362
|
-
var instance = component({
|
|
363
|
-
/**
|
|
364
|
-
* Validates the dialog, and closes it (action performed when hitting the Ok button)
|
|
365
|
-
* @returns {Boolean} Returns `true` if the dialog has been successively validated (and closed)
|
|
366
|
-
*/
|
|
367
|
-
validate: function validate() {
|
|
368
|
-
var $element = this.getElement();
|
|
369
|
-
|
|
370
|
-
if ($element) {
|
|
371
|
-
$$1('.feedback-error', $element).remove();
|
|
372
|
-
|
|
373
|
-
if (!checkRequiredFields($element)) {
|
|
374
|
-
var $error = $$1('<div class="feedback-error small"></div>').text(__('All fields are required'));
|
|
375
|
-
$element.find('.actions').prepend($error);
|
|
376
|
-
return false;
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
this.trigger('ok', state);
|
|
381
|
-
this.destroy();
|
|
382
|
-
return true;
|
|
383
|
-
},
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* Cancels and closes the dialog
|
|
387
|
-
*/
|
|
388
|
-
cancel: function cancel() {
|
|
389
|
-
this.trigger('cancel');
|
|
390
|
-
this.destroy();
|
|
175
|
+
function program5(depth0,data) {
|
|
176
|
+
|
|
177
|
+
var buffer = "", stack1, helper;
|
|
178
|
+
buffer += "\n <li data-resource=\"";
|
|
179
|
+
if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
180
|
+
else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
181
|
+
buffer += escapeExpression(stack1)
|
|
182
|
+
+ "\">\n <span class=\"resource-label\">";
|
|
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
|
+
+ "</span>\n </li>\n ";
|
|
187
|
+
return buffer;
|
|
391
188
|
}
|
|
392
|
-
}).setTemplate(layoutTpl) // uninstalls the component
|
|
393
|
-
.on('destroy', function () {
|
|
394
|
-
// allows all registered shortcuts to be triggered and disables the dialog shortcuts
|
|
395
|
-
globalShortcut.enable();
|
|
396
189
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
190
|
+
function program7(depth0,data) {
|
|
191
|
+
|
|
192
|
+
var buffer = "", stack1;
|
|
193
|
+
buffer += "\n ";
|
|
194
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.singleDenied), {hash:{},inverse:self.program(10, program10, data),fn:self.program(8, program8, data),data:data});
|
|
195
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
196
|
+
buffer += "\n ";
|
|
197
|
+
return buffer;
|
|
401
198
|
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
199
|
+
function program8(depth0,data) {
|
|
200
|
+
|
|
201
|
+
var buffer = "", stack1, helper, options;
|
|
202
|
+
buffer += "\n <div class=\"single\" data-resource=\""
|
|
203
|
+
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.id)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
204
|
+
+ "\">\n <p>\n "
|
|
205
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will not be applied to ", options) : helperMissing.call(depth0, "__", "The action will not be applied to ", options)))
|
|
206
|
+
+ " ";
|
|
207
|
+
if (helper = helpers.resourceType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
208
|
+
else { helper = (depth0 && depth0.resourceType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
209
|
+
buffer += escapeExpression(stack1)
|
|
210
|
+
+ "\n <span class=\"resource-label\">"
|
|
211
|
+
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.label)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
212
|
+
+ "</span>\n <span class=\"reason\">("
|
|
213
|
+
+ escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1[0])),stack1 == null || stack1 === false ? stack1 : stack1.reason)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
|
214
|
+
+ ")</span>\n </p>\n </div>\n ";
|
|
215
|
+
return buffer;
|
|
406
216
|
}
|
|
407
217
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
218
|
+
function program10(depth0,data) {
|
|
219
|
+
|
|
220
|
+
var buffer = "", stack1, helper, options;
|
|
221
|
+
buffer += "\n <p>\n "
|
|
222
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "The action will not be applied to the following", options) : helperMissing.call(depth0, "__", "The action will not be applied to the following", options)))
|
|
223
|
+
+ " ";
|
|
224
|
+
if (helper = helpers.resourceTypes) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
225
|
+
else { helper = (depth0 && depth0.resourceTypes); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
226
|
+
buffer += escapeExpression(stack1)
|
|
227
|
+
+ ":\n </p>\n <ul class=\"plain no-applicables\">\n ";
|
|
228
|
+
stack1 = helpers.each.call(depth0, (depth0 && depth0.deniedResources), {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data});
|
|
229
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
230
|
+
buffer += "\n </ul>\n ";
|
|
231
|
+
return buffer;
|
|
232
|
+
}
|
|
233
|
+
function program11(depth0,data) {
|
|
234
|
+
|
|
235
|
+
var buffer = "", stack1, helper;
|
|
236
|
+
buffer += "\n <li data-resource=\"";
|
|
237
|
+
if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
238
|
+
else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
239
|
+
buffer += escapeExpression(stack1)
|
|
240
|
+
+ "\">\n <span class=\"resource-label\">";
|
|
241
|
+
if (helper = helpers.label) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
242
|
+
else { helper = (depth0 && depth0.label); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
243
|
+
buffer += escapeExpression(stack1)
|
|
244
|
+
+ "</span>\n <span class=\"reason\">(";
|
|
245
|
+
if (helper = helpers.reason) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
246
|
+
else { helper = (depth0 && depth0.reason); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
247
|
+
buffer += escapeExpression(stack1)
|
|
248
|
+
+ ")</span>\n </li>\n ";
|
|
249
|
+
return buffer;
|
|
250
|
+
}
|
|
418
251
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
252
|
+
function program13(depth0,data) {
|
|
253
|
+
|
|
254
|
+
var buffer = "", helper, options;
|
|
255
|
+
buffer += "\n <div class=\"reason\">\n <p>\n "
|
|
256
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Please provide a reason", options) : helperMissing.call(depth0, "__", "Please provide a reason", options)))
|
|
257
|
+
+ ":\n </p>\n <div class=\"categories\"></div>\n <div class=\"comment\">\n <textarea placeholder=\""
|
|
258
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "comment...", options) : helperMissing.call(depth0, "__", "comment...", options)))
|
|
259
|
+
+ "\"></textarea>\n </div>\n </div>\n ";
|
|
260
|
+
return buffer;
|
|
261
|
+
}
|
|
424
262
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
263
|
+
function program15(depth0,data) {
|
|
264
|
+
|
|
265
|
+
var buffer = "", stack1, helper;
|
|
266
|
+
buffer += "\n <div class=\"message\">\n ";
|
|
267
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.icon), {hash:{},inverse:self.noop,fn:self.program(16, program16, data),data:data});
|
|
268
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
269
|
+
buffer += "\n ";
|
|
270
|
+
if (helper = helpers.message) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
271
|
+
else { helper = (depth0 && depth0.message); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
272
|
+
buffer += escapeExpression(stack1)
|
|
273
|
+
+ "\n </div>\n ";
|
|
274
|
+
return buffer;
|
|
275
|
+
}
|
|
276
|
+
function program16(depth0,data) {
|
|
277
|
+
|
|
278
|
+
var buffer = "", stack1, helper;
|
|
279
|
+
buffer += "\n <span class=\"icon icon-";
|
|
280
|
+
if (helper = helpers.icon) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
281
|
+
else { helper = (depth0 && depth0.icon); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
282
|
+
buffer += escapeExpression(stack1)
|
|
283
|
+
+ "\"></span>\n ";
|
|
284
|
+
return buffer;
|
|
428
285
|
}
|
|
429
286
|
|
|
430
|
-
|
|
431
|
-
|
|
287
|
+
buffer += "<div class=\"bulk-action-popup\">\n <h2 class=\"title\">"
|
|
288
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Action", options) : helperMissing.call(depth0, "__", "Action", options)))
|
|
289
|
+
+ ": ";
|
|
290
|
+
if (helper = helpers.actionName) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
291
|
+
else { helper = (depth0 && depth0.actionName); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
292
|
+
buffer += escapeExpression(stack1)
|
|
293
|
+
+ "</h2>\n\n ";
|
|
294
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.resourceCount), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
|
295
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
296
|
+
buffer += "\n\n ";
|
|
297
|
+
stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.deniedResources)),stack1 == null || stack1 === false ? stack1 : stack1.length), {hash:{},inverse:self.noop,fn:self.program(7, program7, data),data:data});
|
|
298
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
299
|
+
buffer += "\n\n ";
|
|
300
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.reason), {hash:{},inverse:self.noop,fn:self.program(13, program13, data),data:data});
|
|
301
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
302
|
+
buffer += "\n\n ";
|
|
303
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.message), {hash:{},inverse:self.noop,fn:self.program(15, program15, data),data:data});
|
|
304
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
305
|
+
buffer += "\n\n <div class=\"actions\">\n <button class=\"btn btn-info small done\">"
|
|
306
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "OK", options) : helperMissing.call(depth0, "__", "OK", options)))
|
|
307
|
+
+ "</button>\n <a href=\"#\" class=\"btn cancel\" title=\""
|
|
308
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "cancel the action", options) : helperMissing.call(depth0, "__", "cancel the action", options)))
|
|
309
|
+
+ "\">"
|
|
310
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "cancel", options) : helperMissing.call(depth0, "__", "cancel", options)))
|
|
311
|
+
+ "</a>\n </div>\n\n</div>";
|
|
312
|
+
return buffer;
|
|
313
|
+
});
|
|
314
|
+
function layoutTpl(data, options, asString) {
|
|
315
|
+
var html = Template(data, options);
|
|
316
|
+
return (asString || true) ? html : $(html);
|
|
317
|
+
}
|
|
432
318
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
319
|
+
/**
|
|
320
|
+
* This program is free software; you can redistribute it and/or
|
|
321
|
+
* modify it under the terms of the GNU General Public License
|
|
322
|
+
* as published by the Free Software Foundation; under version 2
|
|
323
|
+
* of the License (non-upgradable).
|
|
324
|
+
*
|
|
325
|
+
* This program is distributed in the hope that it will be useful,
|
|
326
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
327
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
328
|
+
* GNU General Public License for more details.
|
|
329
|
+
*
|
|
330
|
+
* You should have received a copy of the GNU General Public License
|
|
331
|
+
* along with this program; if not, write to the Free Software
|
|
332
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
333
|
+
*
|
|
334
|
+
* Copyright (c) 2015-2019 Open Assessment Technologies SA;
|
|
335
|
+
*/
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Namespace used in events and shortcuts
|
|
339
|
+
* @type {String}
|
|
340
|
+
* @private
|
|
341
|
+
*/
|
|
342
|
+
const _ns = 'bulk-action-popup';
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Builds an instance of the bulkActionPopup component
|
|
346
|
+
*
|
|
347
|
+
* @param {Object} config
|
|
348
|
+
* @param {jQuery} config.renderTo - the jQuery container it should be rendered to
|
|
349
|
+
* @param {String} config.actionName - the action name (use in the title text)
|
|
350
|
+
* @param {String} config.resourceType - the name of the resource type (use in the text)
|
|
351
|
+
* @param {Boolean} [config.allowShortcuts] - allow keyboard shortcuts (Esc to cancel, Enter to validate)
|
|
352
|
+
* @param {String} [config.resourceTypes] - the name of the resource type in plural (use in the text)
|
|
353
|
+
* @param {Boolean} [config.reason] - defines if the reason section should be displayed or not
|
|
354
|
+
* @param {Function} [config.categoriesSelector] - callback renderer for categories
|
|
355
|
+
* @param {Array} config.allowedResources - list of allowed resources to be displayed
|
|
356
|
+
* @param {Array} [config.deniedResources] - list of denied resources to be displayed
|
|
357
|
+
* @param {String} config.message - message or warning (will be shown at the bottom of the popup)
|
|
358
|
+
* @param {String} config.icon - icon from the TAO font (will be shown before the message)
|
|
359
|
+
* @returns {bulkActionPopup}
|
|
360
|
+
*/
|
|
361
|
+
function bulkActionPopupFactory(config) {
|
|
362
|
+
//private object to hold the state of edition
|
|
363
|
+
const state = {
|
|
364
|
+
reasons: null,
|
|
365
|
+
comment: ''
|
|
366
|
+
};
|
|
367
|
+
const instance = component({
|
|
368
|
+
/**
|
|
369
|
+
* Validates the dialog, and closes it (action performed when hitting the Ok button)
|
|
370
|
+
* @returns {Boolean} Returns `true` if the dialog has been successively validated (and closed)
|
|
371
|
+
*/
|
|
372
|
+
validate() {
|
|
373
|
+
const $element = this.getElement();
|
|
374
|
+
if ($element) {
|
|
375
|
+
$$1('.feedback-error', $element).remove();
|
|
376
|
+
if (!checkRequiredFields($element)) {
|
|
377
|
+
const $error = $$1('<div class="feedback-error small"></div>').text(__('All fields are required'));
|
|
378
|
+
$element.find('.actions').prepend($error);
|
|
379
|
+
return false;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
this.trigger('ok', state);
|
|
383
|
+
this.destroy();
|
|
384
|
+
return true;
|
|
385
|
+
},
|
|
386
|
+
/**
|
|
387
|
+
* Cancels and closes the dialog
|
|
388
|
+
*/
|
|
389
|
+
cancel() {
|
|
390
|
+
this.trigger('cancel');
|
|
391
|
+
this.destroy();
|
|
436
392
|
}
|
|
393
|
+
}).setTemplate(layoutTpl)
|
|
394
|
+
|
|
395
|
+
// uninstalls the component
|
|
396
|
+
.on('destroy', function () {
|
|
397
|
+
// allows all registered shortcuts to be triggered and disables the dialog shortcuts
|
|
398
|
+
globalShortcut.enable();
|
|
399
|
+
if (this.dialogShortcut) {
|
|
400
|
+
this.dialogShortcut.disable();
|
|
401
|
+
this.dialogShortcut.clear();
|
|
402
|
+
this.dialogShortcut = null;
|
|
403
|
+
}
|
|
404
|
+
if (this.navigator) {
|
|
405
|
+
this.navigator.destroy();
|
|
406
|
+
this.navigator = null;
|
|
407
|
+
}
|
|
408
|
+
this.getElement().removeClass('modal').modal('destroy');
|
|
409
|
+
})
|
|
410
|
+
|
|
411
|
+
// event triggered when the OK button has been clicked or the related shortcut has been used
|
|
412
|
+
.on('action-ok', function () {
|
|
413
|
+
this.validate();
|
|
414
|
+
})
|
|
415
|
+
|
|
416
|
+
// event triggered when the Cancel button has been clicked or the related shortcut has been used
|
|
417
|
+
.on('action-cancel', function () {
|
|
418
|
+
this.cancel();
|
|
419
|
+
})
|
|
420
|
+
|
|
421
|
+
// renders the component
|
|
422
|
+
.on('render', function () {
|
|
423
|
+
const $element = this.getElement();
|
|
424
|
+
initModal({
|
|
425
|
+
disableEscape: true,
|
|
426
|
+
width: this.config.single && !this.config.deniedResources.length && !this.config.reason ? 600 : 800
|
|
427
|
+
});
|
|
428
|
+
if (_.isObject(this.config.categoriesSelector)) {
|
|
429
|
+
const $reason = $element.find('.reason').children('.categories');
|
|
430
|
+
this.config.categoriesSelector.render($reason);
|
|
431
|
+
}
|
|
432
|
+
$element.on(namespaceHelper.namespaceAll('selected.cascading-combobox', _ns), (e, reasons) => {
|
|
433
|
+
state.reasons = reasons;
|
|
434
|
+
if (this.config.allowShortcuts) {
|
|
435
|
+
// ensure the keyboard navigation is taking care of the possible new fields
|
|
436
|
+
initNavigator();
|
|
437
|
+
}
|
|
438
|
+
this.trigger('change', state);
|
|
439
|
+
}).on(namespaceHelper.namespaceAll('change', _ns), 'textarea', e => {
|
|
440
|
+
state.comment = $$1(e.currentTarget).val();
|
|
441
|
+
this.trigger('change', state);
|
|
442
|
+
}).on(namespaceHelper.namespaceAll('click', _ns), '.actions .done', e => {
|
|
443
|
+
e.preventDefault();
|
|
444
|
+
this.trigger('action-ok');
|
|
445
|
+
}).on(namespaceHelper.namespaceAll('click', _ns), '.actions .cancel', e => {
|
|
446
|
+
e.preventDefault();
|
|
447
|
+
this.trigger('action-cancel');
|
|
448
|
+
});
|
|
449
|
+
if (this.config.allowShortcuts) {
|
|
450
|
+
// install the keyboard navigation
|
|
451
|
+
initNavigator();
|
|
437
452
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
453
|
+
// prevents all registered shortcuts to be triggered and activate the dialog shortcuts
|
|
454
|
+
globalShortcut.disable();
|
|
455
|
+
this.dialogShortcut = shortcutRegistry($$1('body'), {
|
|
456
|
+
avoidInput: true,
|
|
457
|
+
propagate: false,
|
|
458
|
+
prevent: true
|
|
459
|
+
})
|
|
460
|
+
// prevents the TAB key to be used to move outside the dialog box, but handles navigation
|
|
461
|
+
.add(namespaceHelper.namespaceAll('Tab', _ns, true), () => {
|
|
462
|
+
this.navigator.next();
|
|
463
|
+
}, {
|
|
464
|
+
avoidInput: false
|
|
465
|
+
}).add(namespaceHelper.namespaceAll('Shift+Tab', _ns, true), () => {
|
|
466
|
+
this.navigator.previous();
|
|
467
|
+
}, {
|
|
468
|
+
avoidInput: false
|
|
469
|
+
})
|
|
470
|
+
|
|
471
|
+
// handles the dialog's shortcuts: just fire the action using the event loop
|
|
472
|
+
.add(namespaceHelper.namespaceAll('esc', _ns, true), function (e, shortcut) {
|
|
473
|
+
instance.trigger('action-cancel', shortcut);
|
|
474
|
+
}).add(namespaceHelper.namespaceAll('enter', _ns, true), function (e, shortcut) {
|
|
475
|
+
instance.trigger('action-ok', shortcut);
|
|
476
|
+
});
|
|
477
|
+
}
|
|
451
478
|
});
|
|
452
479
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
480
|
+
/**
|
|
481
|
+
* Validates that all required fields have been filled
|
|
482
|
+
* @param {jQuery} $container
|
|
483
|
+
* @returns {Boolean}
|
|
484
|
+
*/
|
|
485
|
+
function checkRequiredFields($container) {
|
|
486
|
+
return $$1('select, textarea', $container).filter(function () {
|
|
487
|
+
return $$1.trim($$1(this).val()).length === 0;
|
|
488
|
+
}).length === 0;
|
|
489
|
+
}
|
|
456
490
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
}
|
|
466
|
-
avoidInput: false
|
|
467
|
-
}).add(namespaceHelper.namespaceAll('Shift+Tab', _ns, true), function () {
|
|
468
|
-
_this.navigator.previous();
|
|
469
|
-
}, {
|
|
470
|
-
avoidInput: false
|
|
471
|
-
}) // handles the dialog's shortcuts: just fire the action using the event loop
|
|
472
|
-
.add(namespaceHelper.namespaceAll('esc', _ns, true), function (e, shortcut) {
|
|
473
|
-
instance.trigger('action-cancel', shortcut);
|
|
474
|
-
}).add(namespaceHelper.namespaceAll('enter', _ns, true), function (e, shortcut) {
|
|
475
|
-
instance.trigger('action-ok', shortcut);
|
|
476
|
-
});
|
|
491
|
+
/**
|
|
492
|
+
* Adds the form into a popup and displays it
|
|
493
|
+
* @param {Object} modalConfig
|
|
494
|
+
*/
|
|
495
|
+
function initModal(modalConfig) {
|
|
496
|
+
instance.getElement().addClass('modal').on('closed.modal', function () {
|
|
497
|
+
// always destroy the widget when closing
|
|
498
|
+
instance.destroy();
|
|
499
|
+
}).modal(modalConfig).focus();
|
|
477
500
|
}
|
|
478
|
-
});
|
|
479
|
-
/**
|
|
480
|
-
* Validates that all required fields have been filled
|
|
481
|
-
* @param {jQuery} $container
|
|
482
|
-
* @returns {Boolean}
|
|
483
|
-
*/
|
|
484
501
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
502
|
+
/**
|
|
503
|
+
* Sets a keyboard navigator on the dialog to take care of TAB navigation
|
|
504
|
+
*/
|
|
505
|
+
function initNavigator() {
|
|
506
|
+
const $element = instance.getElement();
|
|
507
|
+
instance.navigator = keyNavigator({
|
|
508
|
+
id: _ns,
|
|
509
|
+
loop: true,
|
|
510
|
+
group: $element,
|
|
511
|
+
// the dialog is always set as first component, so ensure to start on the first field
|
|
512
|
+
defaultPosition: 1,
|
|
513
|
+
// take all input fields and the dialog as navigable components
|
|
514
|
+
// but ignore buttons and select2 hidden fields
|
|
515
|
+
elements: navigableDomElement.createFromDoms($element.find(':input:not(button,select.select2-offscreen)').add($element))
|
|
516
|
+
}).on('activate', function (cursor, target) {
|
|
517
|
+
if ($$1(target).is($element)) {
|
|
518
|
+
instance.validate();
|
|
519
|
+
}
|
|
520
|
+
})
|
|
494
521
|
|
|
522
|
+
// put the focus on the keyboard navigation, to ensure the first field is selected
|
|
523
|
+
// otherwise the user will have to hit twice the tab key before selecting it
|
|
524
|
+
.focus();
|
|
525
|
+
}
|
|
495
526
|
|
|
496
|
-
|
|
497
|
-
instance.
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
527
|
+
//compute extra config data (essentially for the template)
|
|
528
|
+
return instance.init(_.defaults(config, {
|
|
529
|
+
deniedResources: [],
|
|
530
|
+
reason: false,
|
|
531
|
+
allowShortcuts: true,
|
|
532
|
+
reasonRequired: false,
|
|
533
|
+
resourceCount: config.allowedResources.length,
|
|
534
|
+
single: config.allowedResources.length === 1,
|
|
535
|
+
singleDenied: config.deniedResources && config.deniedResources.length === 1,
|
|
536
|
+
resourceTypes: `${config.resourceType}s`
|
|
537
|
+
}));
|
|
501
538
|
}
|
|
502
|
-
/**
|
|
503
|
-
* Sets a keyboard navigator on the dialog to take care of TAB navigation
|
|
504
|
-
*/
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
function initNavigator() {
|
|
508
|
-
var $element = instance.getElement();
|
|
509
|
-
instance.navigator = keyNavigator({
|
|
510
|
-
id: _ns,
|
|
511
|
-
loop: true,
|
|
512
|
-
group: $element,
|
|
513
|
-
// the dialog is always set as first component, so ensure to start on the first field
|
|
514
|
-
defaultPosition: 1,
|
|
515
|
-
// take all input fields and the dialog as navigable components
|
|
516
|
-
// but ignore buttons and select2 hidden fields
|
|
517
|
-
elements: navigableDomElement.createFromDoms($element.find(':input:not(button,select.select2-offscreen)').add($element))
|
|
518
|
-
}).on('activate', function (cursor, target) {
|
|
519
|
-
if ($$1(target).is($element)) {
|
|
520
|
-
instance.validate();
|
|
521
|
-
}
|
|
522
|
-
}) // put the focus on the keyboard navigation, to ensure the first field is selected
|
|
523
|
-
// otherwise the user will have to hit twice the tab key before selecting it
|
|
524
|
-
.focus();
|
|
525
|
-
} //compute extra config data (essentially for the template)
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
return instance.init(_.defaults(config, {
|
|
529
|
-
deniedResources: [],
|
|
530
|
-
reason: false,
|
|
531
|
-
allowShortcuts: true,
|
|
532
|
-
reasonRequired: false,
|
|
533
|
-
resourceCount: config.allowedResources.length,
|
|
534
|
-
single: config.allowedResources.length === 1,
|
|
535
|
-
singleDenied: config.deniedResources && config.deniedResources.length === 1,
|
|
536
|
-
resourceTypes: "".concat(config.resourceType, "s")
|
|
537
|
-
}));
|
|
538
|
-
}
|
|
539
539
|
|
|
540
|
-
|
|
540
|
+
return bulkActionPopupFactory;
|
|
541
541
|
|
|
542
542
|
});
|