@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/lock.js
CHANGED
|
@@ -1,547 +1,522 @@
|
|
|
1
1
|
define(['jquery', 'lodash', 'i18n', 'handlebars', 'lib/dompurify/purify', 'helpers', 'ui/feedback'], function ($$1, _, __, Handlebars, DOMPurify, helpers, feedback) { 'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* https://github.com/cure53/DOMPurify
|
|
30
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
31
|
-
* to make output safe for template systems
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
hb.registerHelper('dompurify', function (context) {
|
|
35
|
-
return DOMPurify.sanitize(context);
|
|
36
|
-
});
|
|
37
|
-
/**
|
|
38
|
-
* Register join helper
|
|
39
|
-
*
|
|
40
|
-
* Example :
|
|
41
|
-
* var values = {a:v1, b:v2, c:v3};
|
|
42
|
-
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
43
|
-
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
3
|
+
$$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
|
+
helpers = helpers && Object.prototype.hasOwnProperty.call(helpers, 'default') ? helpers['default'] : helpers;
|
|
9
|
+
feedback = feedback && Object.prototype.hasOwnProperty.call(feedback, 'default') ? feedback['default'] : feedback;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* This program is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU General Public License
|
|
14
|
+
* as published by the Free Software Foundation; under version 2
|
|
15
|
+
* of the License (non-upgradable).
|
|
16
|
+
*
|
|
17
|
+
* This program is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU General Public License
|
|
23
|
+
* along with this program; if not, write to the Free Software
|
|
24
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
25
|
+
*
|
|
26
|
+
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
27
|
+
*
|
|
28
|
+
*
|
|
44
29
|
*/
|
|
30
|
+
function Helpers0 (hb) {
|
|
31
|
+
//register a i18n helper
|
|
32
|
+
hb.registerHelper('__', function (key) {
|
|
33
|
+
return __(key);
|
|
34
|
+
});
|
|
45
35
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Register dompurify helper
|
|
38
|
+
*
|
|
39
|
+
* https://github.com/cure53/DOMPurify
|
|
40
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
41
|
+
* to make output safe for template systems
|
|
42
|
+
*/
|
|
43
|
+
hb.registerHelper('dompurify', function (context) {
|
|
44
|
+
return DOMPurify.sanitize(context);
|
|
45
|
+
});
|
|
54
46
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Register join helper
|
|
49
|
+
*
|
|
50
|
+
* Example :
|
|
51
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
52
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
53
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
54
|
+
*/
|
|
55
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
56
|
+
var fragments = [];
|
|
57
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
58
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
59
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
60
|
+
_.forIn(arr, function (value, key) {
|
|
61
|
+
var fragment = '';
|
|
62
|
+
if (value !== null || value !== undefined) {
|
|
63
|
+
if (typeof value === 'boolean') {
|
|
64
|
+
value = value ? 'true' : 'false';
|
|
65
|
+
} else if (typeof value === 'object') {
|
|
66
|
+
value = _.values(value).join(' ');
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
value = '';
|
|
60
70
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
if (keyValueGlue !== undefined) {
|
|
72
|
+
fragment += key + keyValueGlue;
|
|
73
|
+
}
|
|
74
|
+
fragment += wrapper + value + wrapper;
|
|
75
|
+
fragments.push(fragment);
|
|
76
|
+
});
|
|
77
|
+
return fragments.join(fragmentGlue);
|
|
78
|
+
});
|
|
64
79
|
|
|
65
|
-
|
|
66
|
-
|
|
80
|
+
//register a classic "for loop" helper
|
|
81
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
82
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
83
|
+
var ret = '';
|
|
84
|
+
startIndex = parseInt(startIndex);
|
|
85
|
+
stopIndex = parseInt(stopIndex);
|
|
86
|
+
increment = parseInt(increment);
|
|
87
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
88
|
+
ret += options.fn(_.extend({}, this, {
|
|
89
|
+
i: i
|
|
90
|
+
}));
|
|
67
91
|
}
|
|
68
|
-
|
|
69
|
-
fragment += wrapper + value + wrapper;
|
|
70
|
-
fragments.push(fragment);
|
|
92
|
+
return ret;
|
|
71
93
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var ret = '';
|
|
79
|
-
startIndex = parseInt(startIndex);
|
|
80
|
-
stopIndex = parseInt(stopIndex);
|
|
81
|
-
increment = parseInt(increment);
|
|
82
|
-
|
|
83
|
-
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
84
|
-
ret += options.fn(_.extend({}, this, {
|
|
85
|
-
i: i
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return ret;
|
|
90
|
-
});
|
|
91
|
-
hb.registerHelper('equal', function (var1, var2, options) {
|
|
92
|
-
if (var1 == var2) {
|
|
93
|
-
return options.fn(this);
|
|
94
|
-
} else {
|
|
95
|
-
return options.inverse(this);
|
|
96
|
-
}
|
|
97
|
-
}); // register a "get property" helper
|
|
98
|
-
// it gets the named property from the provided context
|
|
99
|
-
|
|
100
|
-
hb.registerHelper('property', function (name, context) {
|
|
101
|
-
return context[name] || '';
|
|
102
|
-
}); // register an 'includes' helper
|
|
103
|
-
// it checks if value is in array
|
|
104
|
-
|
|
105
|
-
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
106
|
-
if (_.contains(haystack, needle)) {
|
|
107
|
-
return options.fn(this);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
if (!Helpers0.__initialized) {
|
|
113
|
-
Helpers0(Handlebars);
|
|
114
|
-
Helpers0.__initialized = true;
|
|
115
|
-
}
|
|
116
|
-
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
117
|
-
this.compilerInfo = [4,'>= 1.0.0'];
|
|
118
|
-
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
119
|
-
var buffer = "", stack1, helper, options, functionType="function", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
buffer += "<div class=\"feedback-";
|
|
123
|
-
if (helper = helpers.level) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
124
|
-
else { helper = (depth0 && depth0.level); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
125
|
-
buffer += escapeExpression(stack1)
|
|
126
|
-
+ "\">\r\n<span class=\"icon-lock ";
|
|
127
|
-
if (helper = helpers.level) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
128
|
-
else { helper = (depth0 && depth0.level); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
129
|
-
buffer += escapeExpression(stack1)
|
|
130
|
-
+ "-color ";
|
|
131
|
-
if (helper = helpers.level) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
132
|
-
else { helper = (depth0 && depth0.level); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
133
|
-
buffer += escapeExpression(stack1)
|
|
134
|
-
+ "\"></span>\r\n ";
|
|
135
|
-
if (helper = helpers.msg) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
136
|
-
else { helper = (depth0 && depth0.msg); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
137
|
-
buffer += escapeExpression(stack1)
|
|
138
|
-
+ "\r\n <div class=\"txt-rgt button-container\">\r\n <button class=\"btn btn-info small check-in\"><span class=\"icon-unlock info\"></span>"
|
|
139
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Check-in", options) : helperMissing.call(depth0, "__", "Check-in", options)))
|
|
140
|
-
+ "</button>\r\n <button class=\"btn btn-info small release\"><span class=\"icon-result-nok info\"></span>"
|
|
141
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Release", options) : helperMissing.call(depth0, "__", "Release", options)))
|
|
142
|
-
+ "</button>\r\n </div>\r\n\r\n <div class=\"message-container button-container\" style=\"display: none;\">\r\n <label>\r\n "
|
|
143
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Message", options) : helperMissing.call(depth0, "__", "Message", options)))
|
|
144
|
-
+ "\r\n </label>\r\n <input type=\"text\" name=\"message\" class=\"message\">\r\n <button class=\"btn-info small commit\">"
|
|
145
|
-
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Commit", options) : helperMissing.call(depth0, "__", "Commit", options)))
|
|
146
|
-
+ "</button>\r\n </div>\r\n</div>\r\n";
|
|
147
|
-
return buffer;
|
|
148
|
-
});
|
|
149
|
-
function tpl(data, options, asString) {
|
|
150
|
-
var html = Template(data, options);
|
|
151
|
-
return (asString || true) ? html : $(html);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* This program is free software; you can redistribute it and/or
|
|
156
|
-
* modify it under the terms of the GNU General Public License
|
|
157
|
-
* as published by the Free Software Foundation; under version 2
|
|
158
|
-
* of the License (non-upgradable).
|
|
159
|
-
*
|
|
160
|
-
* This program is distributed in the hope that it will be useful,
|
|
161
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
162
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
163
|
-
* GNU General Public License for more details.
|
|
164
|
-
*
|
|
165
|
-
* You should have received a copy of the GNU General Public License
|
|
166
|
-
* along with this program; if not, write to the Free Software
|
|
167
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
168
|
-
*
|
|
169
|
-
* Copyright (c) 2015 (original work) Open Assessment Technologies SA;
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*/
|
|
173
|
-
|
|
174
|
-
var currents = []; //contains the reference to the main lock box. We expect other containers to be only edge cases.
|
|
175
|
-
|
|
176
|
-
var $lockBox; //lock levels are divided into 2 categories
|
|
177
|
-
|
|
178
|
-
var categories = {
|
|
179
|
-
hasLock: 'info',
|
|
180
|
-
locked: 'error'
|
|
181
|
-
}; //lock's states
|
|
182
|
-
|
|
183
|
-
var states = {
|
|
184
|
-
created: 'created',
|
|
185
|
-
displayed: 'displayed',
|
|
186
|
-
closed: 'closed'
|
|
187
|
-
}; //the default options
|
|
188
|
-
|
|
189
|
-
var defaultOptions = {
|
|
190
|
-
msg: __('This resource is locked'),
|
|
191
|
-
releaseUrl: helpers._url('release', 'Lock', 'tao'),
|
|
192
|
-
commitUrl: helpers._url('commitResource', 'History', 'taoRevision')
|
|
193
|
-
};
|
|
194
|
-
/**
|
|
195
|
-
* Object delegation. This enables us to separate the instance from Api.
|
|
196
|
-
* An instance can call methods from the API like it was it, so each object will not contain the function definition.
|
|
197
|
-
* @private
|
|
198
|
-
* @param {Object} receiver - the object that receive the methods
|
|
199
|
-
* @param {Object} provider - it provides the methods to the receiver
|
|
200
|
-
* @returns {Object} the receiver augmented by the provider's methods.
|
|
201
|
-
*/
|
|
202
|
-
|
|
203
|
-
function delegate(receiver, provider) {
|
|
204
|
-
_(provider).functions().forEach(function delegateMethod(methodName) {
|
|
205
|
-
receiver[methodName] = function applyDelegated() {
|
|
206
|
-
return provider[methodName].apply(receiver, arguments);
|
|
207
|
-
};
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
return receiver;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* It provides the lock behavior
|
|
214
|
-
* @typedef lockApi
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
* @param {Object} [options] - the plugin options
|
|
218
|
-
* @param {String} [options.uri = ''] - The uri of the selected resource
|
|
219
|
-
* @param {String} [options.releaseUrl = ''] - The url to call to release the lock
|
|
220
|
-
* @param {String} [options.commitUrl = ''] - The url to call to commit the resource
|
|
221
|
-
*/
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
var lockApi = {
|
|
225
|
-
level: null,
|
|
226
|
-
category: null,
|
|
227
|
-
|
|
228
|
-
/**
|
|
229
|
-
* generate the lock with the right options
|
|
230
|
-
*
|
|
231
|
-
* @example lock().message();
|
|
232
|
-
* @param {String} [category] - the category of the lock (hasLock or locked)
|
|
233
|
-
* @param {String} [msg] - the message to display
|
|
234
|
-
* @param {Object} [options] - the plugin options
|
|
235
|
-
* @fires create.lock
|
|
236
|
-
* @returns {lockApi}
|
|
237
|
-
*/
|
|
238
|
-
message: function message(category, msg, options) {
|
|
239
|
-
if (!category || !_.contains(_.keys(categories), category)) {
|
|
240
|
-
category = 'hasLock';
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
this.setState(states.created);
|
|
244
|
-
this.category = category;
|
|
245
|
-
this.level = _.result(categories, this.category);
|
|
246
|
-
this.options = _.defaults(options || {}, defaultOptions);
|
|
247
|
-
this.content = tpl({
|
|
248
|
-
level: this.level,
|
|
249
|
-
msg: msg
|
|
94
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
95
|
+
if (var1 == var2) {
|
|
96
|
+
return options.fn(this);
|
|
97
|
+
} else {
|
|
98
|
+
return options.inverse(this);
|
|
99
|
+
}
|
|
250
100
|
});
|
|
251
101
|
|
|
252
|
-
|
|
102
|
+
// register a "get property" helper
|
|
103
|
+
// it gets the named property from the provided context
|
|
104
|
+
hb.registerHelper('property', function (name, context) {
|
|
105
|
+
return context[name] || '';
|
|
106
|
+
});
|
|
253
107
|
|
|
254
|
-
|
|
255
|
-
|
|
108
|
+
// register an 'includes' helper
|
|
109
|
+
// it checks if value is in array
|
|
110
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
111
|
+
if (_.contains(haystack, needle)) {
|
|
112
|
+
return options.fn(this);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
256
116
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
117
|
+
if (!Helpers0.__initialized) {
|
|
118
|
+
Helpers0(Handlebars);
|
|
119
|
+
Helpers0.__initialized = true;
|
|
120
|
+
}
|
|
121
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
122
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
123
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
124
|
+
var buffer = "", stack1, helper, options, functionType="function", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing;
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
buffer += "<div class=\"feedback-";
|
|
128
|
+
if (helper = helpers.level) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
129
|
+
else { helper = (depth0 && depth0.level); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
130
|
+
buffer += escapeExpression(stack1)
|
|
131
|
+
+ "\">\n<span class=\"icon-lock ";
|
|
132
|
+
if (helper = helpers.level) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
133
|
+
else { helper = (depth0 && depth0.level); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
134
|
+
buffer += escapeExpression(stack1)
|
|
135
|
+
+ "-color ";
|
|
136
|
+
if (helper = helpers.level) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
137
|
+
else { helper = (depth0 && depth0.level); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
138
|
+
buffer += escapeExpression(stack1)
|
|
139
|
+
+ "\"></span>\n ";
|
|
140
|
+
if (helper = helpers.msg) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
141
|
+
else { helper = (depth0 && depth0.msg); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
142
|
+
buffer += escapeExpression(stack1)
|
|
143
|
+
+ "\n <div class=\"txt-rgt button-container\">\n <button class=\"btn btn-info small check-in\"><span class=\"icon-unlock info\"></span>"
|
|
144
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Check-in", options) : helperMissing.call(depth0, "__", "Check-in", options)))
|
|
145
|
+
+ "</button>\n <button class=\"btn btn-info small release\"><span class=\"icon-result-nok info\"></span>"
|
|
146
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Release", options) : helperMissing.call(depth0, "__", "Release", options)))
|
|
147
|
+
+ "</button>\n </div>\n\n <div class=\"message-container button-container\" style=\"display: none;\">\n <label>\n "
|
|
148
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Message", options) : helperMissing.call(depth0, "__", "Message", options)))
|
|
149
|
+
+ "\n </label>\n <input type=\"text\" name=\"message\" class=\"message\">\n <button class=\"btn-info small commit\">"
|
|
150
|
+
+ escapeExpression((helper = helpers.__ || (depth0 && depth0.__),options={hash:{},data:data},helper ? helper.call(depth0, "Commit", options) : helperMissing.call(depth0, "__", "Commit", options)))
|
|
151
|
+
+ "</button>\n </div>\n</div>\n";
|
|
152
|
+
return buffer;
|
|
153
|
+
});
|
|
154
|
+
function tpl(data, options, asString) {
|
|
155
|
+
var html = Template(data, options);
|
|
156
|
+
return (asString || true) ? html : $(html);
|
|
157
|
+
}
|
|
268
158
|
|
|
269
|
-
/**
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
159
|
+
/**
|
|
160
|
+
* This program is free software; you can redistribute it and/or
|
|
161
|
+
* modify it under the terms of the GNU General Public License
|
|
162
|
+
* as published by the Free Software Foundation; under version 2
|
|
163
|
+
* of the License (non-upgradable).
|
|
164
|
+
*
|
|
165
|
+
* This program is distributed in the hope that it will be useful,
|
|
166
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
167
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
168
|
+
* GNU General Public License for more details.
|
|
169
|
+
*
|
|
170
|
+
* You should have received a copy of the GNU General Public License
|
|
171
|
+
* along with this program; if not, write to the Free Software
|
|
172
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
173
|
+
*
|
|
174
|
+
* Copyright (c) 2015 (original work) Open Assessment Technologies SA;
|
|
175
|
+
*
|
|
176
|
+
*
|
|
276
177
|
*/
|
|
277
|
-
locked: function locked(msg, options) {
|
|
278
|
-
return this.message('locked', msg, options).open();
|
|
279
|
-
},
|
|
280
178
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
179
|
+
//keep a reference to alive lock
|
|
180
|
+
var currents = [];
|
|
181
|
+
|
|
182
|
+
//contains the reference to the main lock box. We expect other containers to be only edge cases.
|
|
183
|
+
var $lockBox;
|
|
184
|
+
|
|
185
|
+
//lock levels are divided into 2 categories
|
|
186
|
+
var categories = {
|
|
187
|
+
hasLock: 'info',
|
|
188
|
+
locked: 'error'
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
//lock's states
|
|
192
|
+
var states = {
|
|
193
|
+
created: 'created',
|
|
194
|
+
displayed: 'displayed',
|
|
195
|
+
closed: 'closed'
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
//the default options
|
|
199
|
+
var defaultOptions = {
|
|
200
|
+
msg: __('This resource is locked'),
|
|
201
|
+
releaseUrl: helpers._url('release', 'Lock', 'tao'),
|
|
202
|
+
commitUrl: helpers._url('commitResource', 'History', 'taoRevision')
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Object delegation. This enables us to separate the instance from Api.
|
|
207
|
+
* An instance can call methods from the API like it was it, so each object will not contain the function definition.
|
|
208
|
+
* @private
|
|
209
|
+
* @param {Object} receiver - the object that receive the methods
|
|
210
|
+
* @param {Object} provider - it provides the methods to the receiver
|
|
211
|
+
* @returns {Object} the receiver augmented by the provider's methods.
|
|
286
212
|
*/
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
213
|
+
function delegate(receiver, provider) {
|
|
214
|
+
_(provider).functions().forEach(function delegateMethod(methodName) {
|
|
215
|
+
receiver[methodName] = function applyDelegated() {
|
|
216
|
+
return provider[methodName].apply(receiver, arguments);
|
|
217
|
+
};
|
|
218
|
+
});
|
|
219
|
+
return receiver;
|
|
220
|
+
}
|
|
294
221
|
|
|
295
|
-
/**
|
|
296
|
-
*
|
|
297
|
-
* @
|
|
298
|
-
*
|
|
222
|
+
/**
|
|
223
|
+
* It provides the lock behavior
|
|
224
|
+
* @typedef lockApi
|
|
225
|
+
*
|
|
226
|
+
*
|
|
227
|
+
* @param {Object} [options] - the plugin options
|
|
228
|
+
* @param {String} [options.uri = ''] - The uri of the selected resource
|
|
229
|
+
* @param {String} [options.releaseUrl = ''] - The url to call to release the lock
|
|
230
|
+
* @param {String} [options.commitUrl = ''] - The url to call to commit the resource
|
|
299
231
|
*/
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
232
|
+
var lockApi = {
|
|
233
|
+
level: null,
|
|
234
|
+
category: null,
|
|
235
|
+
/**
|
|
236
|
+
* generate the lock with the right options
|
|
237
|
+
*
|
|
238
|
+
* @example lock().message();
|
|
239
|
+
* @param {String} [category] - the category of the lock (hasLock or locked)
|
|
240
|
+
* @param {String} [msg] - the message to display
|
|
241
|
+
* @param {Object} [options] - the plugin options
|
|
242
|
+
* @fires create.lock
|
|
243
|
+
* @returns {lockApi}
|
|
244
|
+
*/
|
|
245
|
+
message: function message(category, msg, options) {
|
|
246
|
+
if (!category || !_.contains(_.keys(categories), category)) {
|
|
247
|
+
category = 'hasLock';
|
|
248
|
+
}
|
|
249
|
+
this.setState(states.created);
|
|
250
|
+
this.category = category;
|
|
251
|
+
this.level = _.result(categories, this.category);
|
|
252
|
+
this.options = _.defaults(options || {}, defaultOptions);
|
|
253
|
+
this.content = tpl({
|
|
254
|
+
level: this.level,
|
|
255
|
+
msg: msg
|
|
310
256
|
});
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
257
|
+
this._trigger('create');
|
|
258
|
+
return this;
|
|
259
|
+
},
|
|
260
|
+
/**
|
|
261
|
+
* generate the lock with the right options and open it
|
|
262
|
+
*
|
|
263
|
+
* @example lock().hasLock();
|
|
264
|
+
* @param {String} [msg] - the message to display
|
|
265
|
+
* @param {Object} [options] - the plugin options
|
|
266
|
+
* @returns {lockApi}
|
|
267
|
+
*/
|
|
268
|
+
hasLock: function hasLock(msg, options) {
|
|
269
|
+
return this.message('hasLock', msg, options).open();
|
|
270
|
+
},
|
|
271
|
+
/**
|
|
272
|
+
* generate the lock with the right options and open it
|
|
273
|
+
*
|
|
274
|
+
* @example lock().locked();
|
|
275
|
+
* @param {String} [msg] - the message to display
|
|
276
|
+
* @param {Object} [options] - the plugin options
|
|
277
|
+
* @returns {lockApi}
|
|
278
|
+
*/
|
|
279
|
+
locked: function locked(msg, options) {
|
|
280
|
+
return this.message('locked', msg, options).open();
|
|
281
|
+
},
|
|
282
|
+
/**
|
|
283
|
+
* open the lock
|
|
284
|
+
* @example lock().message().open();
|
|
285
|
+
* @fires open.lock
|
|
286
|
+
* @returns {lockApi}
|
|
287
|
+
*/
|
|
288
|
+
open: function open() {
|
|
289
|
+
this._trigger('open');
|
|
290
|
+
|
|
291
|
+
// display me
|
|
292
|
+
this.display();
|
|
293
|
+
return this;
|
|
294
|
+
},
|
|
295
|
+
/**
|
|
296
|
+
* close the lock
|
|
297
|
+
* @example lock().close();
|
|
298
|
+
* @fires close.lock
|
|
299
|
+
*/
|
|
300
|
+
close: function close() {
|
|
301
|
+
if (this.isInState(states.displayed)) {
|
|
302
|
+
this.setState(states.closed);
|
|
303
|
+
$$1('#' + this.id).remove();
|
|
304
|
+
this._trigger('close');
|
|
305
|
+
|
|
306
|
+
//clean up ref
|
|
307
|
+
_.remove(currents, {
|
|
308
|
+
_state: states.closed
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
/**
|
|
313
|
+
* display the lock
|
|
314
|
+
* @example lock().display();
|
|
315
|
+
* @fires display.lock
|
|
316
|
+
* @returns {lockApi}
|
|
317
|
+
*/
|
|
318
|
+
display: function display() {
|
|
319
|
+
var self = this;
|
|
320
|
+
if (self.content) {
|
|
321
|
+
self.setState(states.displayed);
|
|
322
|
+
$$1(self.content).attr('id', self.id).appendTo(self._container);
|
|
323
|
+
self._trigger('display');
|
|
324
|
+
if (typeof this.options.uri === 'undefined') {
|
|
325
|
+
$$1('.release', self._container).hide();
|
|
326
|
+
$$1('.check-in', self._container).hide();
|
|
327
|
+
} else {
|
|
328
|
+
$$1('.release', self._container).on('click', function () {
|
|
329
|
+
self.release();
|
|
330
|
+
});
|
|
331
|
+
$$1('.check-in', self._container).on('click', function () {
|
|
332
|
+
self.commit();
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
return self;
|
|
337
|
+
},
|
|
338
|
+
/**
|
|
339
|
+
* call the url to release the lock
|
|
340
|
+
* @example lock().release();
|
|
341
|
+
* @fires released.lock
|
|
342
|
+
* @fires failed.lock
|
|
343
|
+
* @returns {lockApi}
|
|
344
|
+
*/
|
|
345
|
+
release: function release() {
|
|
346
|
+
var self = this;
|
|
347
|
+
if (self.options.releaseUrl !== '') {
|
|
348
|
+
$$1.ajax({
|
|
349
|
+
url: self.options.releaseUrl,
|
|
350
|
+
type: 'POST',
|
|
351
|
+
data: {
|
|
352
|
+
uri: self.options.uri
|
|
353
|
+
},
|
|
354
|
+
dataType: 'json',
|
|
355
|
+
success: function (response) {
|
|
356
|
+
if (response.success) {
|
|
357
|
+
self._trigger('released', response);
|
|
358
|
+
} else {
|
|
359
|
+
self._trigger('failed', response);
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
error: function () {
|
|
363
|
+
self._trigger('failed');
|
|
364
|
+
}
|
|
335
365
|
});
|
|
336
|
-
|
|
337
|
-
|
|
366
|
+
} else {
|
|
367
|
+
self._trigger('failed');
|
|
368
|
+
}
|
|
369
|
+
return this;
|
|
370
|
+
},
|
|
371
|
+
/**
|
|
372
|
+
* ask a message and call the url to commit the resource
|
|
373
|
+
* @example lock().commit();
|
|
374
|
+
* @fires commit.lock
|
|
375
|
+
* @returns {lockApi}
|
|
376
|
+
*/
|
|
377
|
+
commit: function commit() {
|
|
378
|
+
var self = this;
|
|
379
|
+
if (self.options.commitUrl !== '') {
|
|
380
|
+
$$1('.message-container', self._container).slideToggle();
|
|
381
|
+
$$1('.commit', self._container).off('click').on('click', function () {
|
|
382
|
+
var message = $$1('.message', self._container).val();
|
|
383
|
+
if (message !== '') {
|
|
384
|
+
$$1.ajax({
|
|
385
|
+
url: self.options.commitUrl,
|
|
386
|
+
type: 'POST',
|
|
387
|
+
data: {
|
|
388
|
+
id: self.options.uri,
|
|
389
|
+
message: message
|
|
390
|
+
},
|
|
391
|
+
dataType: 'json',
|
|
392
|
+
success: function (response) {
|
|
393
|
+
if (response.success) {
|
|
394
|
+
self._trigger('committed', response);
|
|
395
|
+
} else {
|
|
396
|
+
self._trigger('failed', response);
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
error: function () {
|
|
400
|
+
self._trigger('failed');
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
} else {
|
|
404
|
+
self._trigger('failed', {
|
|
405
|
+
message: __('Please give a message to your commit')
|
|
406
|
+
});
|
|
407
|
+
}
|
|
338
408
|
});
|
|
409
|
+
} else {
|
|
410
|
+
self._trigger('failed');
|
|
339
411
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
url: self.options.releaseUrl,
|
|
358
|
-
type: 'POST',
|
|
359
|
-
data: {
|
|
360
|
-
uri: self.options.uri
|
|
412
|
+
return this;
|
|
413
|
+
},
|
|
414
|
+
/**
|
|
415
|
+
* Default behaviour
|
|
416
|
+
*/
|
|
417
|
+
register: function () {
|
|
418
|
+
var msg = this._container.data('msg') || defaultOptions.msg;
|
|
419
|
+
var id = this._container.data('id');
|
|
420
|
+
return this.message('hasLock', msg, {
|
|
421
|
+
uri: id,
|
|
422
|
+
released: function (response) {
|
|
423
|
+
feedback().success(response.message);
|
|
424
|
+
this.close();
|
|
425
|
+
},
|
|
426
|
+
committed: function (response) {
|
|
427
|
+
feedback().success(response.commitMessage);
|
|
428
|
+
this.close();
|
|
361
429
|
},
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
self._trigger('released', response);
|
|
430
|
+
failed: function (response) {
|
|
431
|
+
if (typeof response !== 'undefined' && typeof response.message !== 'undefined') {
|
|
432
|
+
feedback().error(response.message);
|
|
366
433
|
} else {
|
|
367
|
-
|
|
434
|
+
feedback().error('Unknown Error');
|
|
368
435
|
}
|
|
369
|
-
},
|
|
370
|
-
error: function error() {
|
|
371
|
-
self._trigger('failed');
|
|
372
|
-
}
|
|
373
|
-
});
|
|
374
|
-
} else {
|
|
375
|
-
self._trigger('failed');
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
return this;
|
|
379
|
-
},
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* ask a message and call the url to commit the resource
|
|
383
|
-
* @example lock().commit();
|
|
384
|
-
* @fires commit.lock
|
|
385
|
-
* @returns {lockApi}
|
|
386
|
-
*/
|
|
387
|
-
commit: function commit() {
|
|
388
|
-
var self = this;
|
|
389
|
-
|
|
390
|
-
if (self.options.commitUrl !== '') {
|
|
391
|
-
$$1('.message-container', self._container).slideToggle();
|
|
392
|
-
$$1('.commit', self._container).off('click').on('click', function () {
|
|
393
|
-
var message = $$1('.message', self._container).val();
|
|
394
|
-
|
|
395
|
-
if (message !== '') {
|
|
396
|
-
$$1.ajax({
|
|
397
|
-
url: self.options.commitUrl,
|
|
398
|
-
type: 'POST',
|
|
399
|
-
data: {
|
|
400
|
-
id: self.options.uri,
|
|
401
|
-
message: message
|
|
402
|
-
},
|
|
403
|
-
dataType: 'json',
|
|
404
|
-
success: function success(response) {
|
|
405
|
-
if (response.success) {
|
|
406
|
-
self._trigger('committed', response);
|
|
407
|
-
} else {
|
|
408
|
-
self._trigger('failed', response);
|
|
409
|
-
}
|
|
410
|
-
},
|
|
411
|
-
error: function error() {
|
|
412
|
-
self._trigger('failed');
|
|
413
|
-
}
|
|
414
|
-
});
|
|
415
|
-
} else {
|
|
416
|
-
self._trigger('failed', {
|
|
417
|
-
message: __('Please give a message to your commit')
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
});
|
|
421
|
-
} else {
|
|
422
|
-
self._trigger('failed');
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
return this;
|
|
426
|
-
},
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
* Default behaviour
|
|
430
|
-
*/
|
|
431
|
-
register: function register() {
|
|
432
|
-
var msg = this._container.data('msg') || defaultOptions.msg;
|
|
433
|
-
|
|
434
|
-
var id = this._container.data('id');
|
|
435
|
-
|
|
436
|
-
return this.message('hasLock', msg, {
|
|
437
|
-
uri: id,
|
|
438
|
-
released: function released(response) {
|
|
439
|
-
feedback().success(response.message);
|
|
440
|
-
this.close();
|
|
441
|
-
},
|
|
442
|
-
committed: function committed(response) {
|
|
443
|
-
feedback().success(response.commitMessage);
|
|
444
|
-
this.close();
|
|
445
|
-
},
|
|
446
|
-
failed: function failed(response) {
|
|
447
|
-
if (typeof response !== 'undefined' && typeof response.message !== 'undefined') {
|
|
448
|
-
feedback().error(response.message);
|
|
449
|
-
} else {
|
|
450
|
-
feedback().error('Unknown Error');
|
|
451
436
|
}
|
|
437
|
+
}).open();
|
|
438
|
+
},
|
|
439
|
+
/**
|
|
440
|
+
* trigger the event and the callback if exists
|
|
441
|
+
* @param {String} [eventName] - the name of the event, use the caller name if not set
|
|
442
|
+
*/
|
|
443
|
+
_trigger: function _trigger(eventName, data) {
|
|
444
|
+
//trigger the related event
|
|
445
|
+
this._container.trigger(eventName + '.lock', [this]);
|
|
446
|
+
|
|
447
|
+
//run the callback if set in options
|
|
448
|
+
if (_.isFunction(this.options[eventName])) {
|
|
449
|
+
this.options[eventName].call(this, data);
|
|
452
450
|
}
|
|
453
|
-
}).open();
|
|
454
|
-
},
|
|
455
|
-
|
|
456
|
-
/**
|
|
457
|
-
* trigger the event and the callback if exists
|
|
458
|
-
* @param {String} [eventName] - the name of the event, use the caller name if not set
|
|
459
|
-
*/
|
|
460
|
-
_trigger: function _trigger(eventName, data) {
|
|
461
|
-
//trigger the related event
|
|
462
|
-
this._container.trigger(eventName + '.lock', [this]); //run the callback if set in options
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
if (_.isFunction(this.options[eventName])) {
|
|
466
|
-
this.options[eventName].call(this, data);
|
|
467
451
|
}
|
|
468
|
-
}
|
|
469
|
-
};
|
|
470
|
-
/**
|
|
471
|
-
* Contains the current state of the lock and accessors
|
|
472
|
-
* @typedef lockState
|
|
473
|
-
*/
|
|
474
|
-
|
|
475
|
-
var lockState = {
|
|
476
|
-
//the current state
|
|
477
|
-
_state: null,
|
|
452
|
+
};
|
|
478
453
|
|
|
479
|
-
/**
|
|
480
|
-
*
|
|
481
|
-
* @
|
|
482
|
-
* @returns {Boolean} true if the object is in the state to verify
|
|
454
|
+
/**
|
|
455
|
+
* Contains the current state of the lock and accessors
|
|
456
|
+
* @typedef lockState
|
|
483
457
|
*/
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
458
|
+
var lockState = {
|
|
459
|
+
//the current state
|
|
460
|
+
_state: null,
|
|
461
|
+
/**
|
|
462
|
+
* Check if the current state is one of the given values
|
|
463
|
+
* @param {String|Array} verify - the statue to check
|
|
464
|
+
* @returns {Boolean} true if the object is in the state to verify
|
|
465
|
+
*/
|
|
466
|
+
isInState: function isInState(verify) {
|
|
467
|
+
if (_.isString(verify)) {
|
|
468
|
+
verify = [verify];
|
|
469
|
+
}
|
|
470
|
+
return _.contains(verify, this._state);
|
|
471
|
+
},
|
|
472
|
+
/**
|
|
473
|
+
* Change the current state
|
|
474
|
+
* @param {String} state - the new state
|
|
475
|
+
* @throws {Error} if we try to set an invalid state
|
|
476
|
+
*/
|
|
477
|
+
setState: function setState(state) {
|
|
478
|
+
if (!_.contains(states, state)) {
|
|
479
|
+
throw new Error('Unkown state ' + state);
|
|
480
|
+
}
|
|
481
|
+
this._state = state;
|
|
487
482
|
}
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
*
|
|
494
|
-
* @param {
|
|
495
|
-
* @
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Enables you to create a new lock.
|
|
487
|
+
* example lock().error("content");
|
|
488
|
+
* @exports ui/lock
|
|
489
|
+
* @param {jQUeryElement} [$container] - only to specify another container
|
|
490
|
+
* @returns {Object} the lock object
|
|
491
|
+
* @throws {Error} if the container isn't found
|
|
496
492
|
*/
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
493
|
+
var lockFactory = function lockFactory($container) {
|
|
494
|
+
var _container;
|
|
495
|
+
if (!$container) {
|
|
496
|
+
$lockBox = $$1('#lock-box');
|
|
500
497
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
};
|
|
505
|
-
/**
|
|
506
|
-
* Enables you to create a new lock.
|
|
507
|
-
* example lock().error("content");
|
|
508
|
-
* @exports ui/lock
|
|
509
|
-
* @param {jQUeryElement} [$container] - only to specify another container
|
|
510
|
-
* @returns {Object} the lock object
|
|
511
|
-
* @throws {Error} if the container isn't found
|
|
512
|
-
*/
|
|
513
|
-
|
|
514
|
-
var lockFactory = function lockFactory($container) {
|
|
515
|
-
var _container;
|
|
516
|
-
|
|
517
|
-
if (!$container) {
|
|
518
|
-
$lockBox = $$1('#lock-box');
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
_container = $container || $lockBox;
|
|
522
|
-
|
|
523
|
-
if (!_container || !_container.length) {
|
|
524
|
-
throw new Error('The lock needs to belong to an existing container');
|
|
525
|
-
} //if there is already a lock component in this container close it and open a new one
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
_.forEach(currents, function (lockRef) {
|
|
529
|
-
if (lockRef !== null && lockRef._container.get(0) === _container.get(0)) {
|
|
530
|
-
lockRef.close();
|
|
498
|
+
_container = $container || $lockBox;
|
|
499
|
+
if (!_container || !_container.length) {
|
|
500
|
+
throw new Error('The lock needs to belong to an existing container');
|
|
531
501
|
}
|
|
532
|
-
}); //mixin the new object with the state object
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
var lk = _.extend({
|
|
536
|
-
id: 'lock-' + (currents.length + 1),
|
|
537
|
-
_container: _container
|
|
538
|
-
}, lockState);
|
|
539
502
|
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
503
|
+
//if there is already a lock component in this container close it and open a new one
|
|
504
|
+
_.forEach(currents, function (lockRef) {
|
|
505
|
+
if (lockRef !== null && lockRef._container.get(0) === _container.get(0)) {
|
|
506
|
+
lockRef.close();
|
|
507
|
+
}
|
|
508
|
+
});
|
|
509
|
+
//mixin the new object with the state object
|
|
510
|
+
var lk = _.extend({
|
|
511
|
+
id: 'lock-' + (currents.length + 1),
|
|
512
|
+
_container: _container
|
|
513
|
+
}, lockState);
|
|
514
|
+
currents.push(lk);
|
|
515
|
+
|
|
516
|
+
//delegate the api calls to the new instance
|
|
517
|
+
return delegate(lk, lockApi);
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
return lockFactory;
|
|
546
521
|
|
|
547
522
|
});
|