@oat-sa/tao-core-ui 1.54.2 → 1.55.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 +17 -17
- package/dist/actionbar.js +105 -105
- package/dist/adder.js +109 -109
- package/dist/animable/absorbable/absorbable.js +42 -42
- package/dist/animable/absorbable/css/absorb.css +7 -7
- package/dist/animable/pulsable/css/pulse.css +7 -7
- package/dist/animable/pulsable/pulsable.js +36 -36
- package/dist/areaBroker.js +51 -51
- package/dist/autocomplete/css/autocomplete.css +7 -7
- package/dist/autocomplete.js +400 -400
- package/dist/autoscroll.js +22 -22
- package/dist/badge/badge.js +48 -48
- package/dist/badge/css/badge.css +7 -7
- package/dist/breadcrumbs/css/breadcrumbs.css +7 -7
- package/dist/breadcrumbs.js +70 -70
- package/dist/btngrouper.js +64 -64
- package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/dist/bulkActionPopup.js +104 -104
- package/dist/button.js +102 -102
- package/dist/calculator/css/calculator.css +10 -10
- package/dist/calculator.js +51 -51
- package/dist/cascadingComboBox.js +47 -47
- package/dist/ckeditor/ckConfigurator.js +47 -47
- package/dist/ckeditor/dtdHandler.js +110 -110
- package/dist/class/css/selector.css +7 -7
- package/dist/class/selector.js +111 -111
- package/dist/component/alignable.js +81 -81
- package/dist/component/containable.js +37 -37
- package/dist/component/css/components.css +7 -7
- package/dist/component/css/windowComponent.css +7 -7
- package/dist/component/draggable.js +24 -24
- package/dist/component/placeable.js +70 -70
- package/dist/component/resizable.js +60 -60
- package/dist/component/stackable.js +20 -20
- package/dist/component/windowed.js +59 -59
- package/dist/component.js +153 -153
- package/dist/container.js +76 -76
- package/dist/contextualPopup/css/contextualPopup.css +7 -7
- package/dist/contextualPopup.js +113 -113
- package/dist/dashboard/css/dashboard.css +7 -7
- package/dist/dashboard.js +75 -75
- package/dist/datalist/css/datalist.css +7 -7
- package/dist/datalist.js +160 -160
- package/dist/datatable/css/datatable.css +7 -7
- package/dist/datatable/filterStrategy/filterStrategy.js +27 -27
- package/dist/datatable/filterStrategy/multiple.js +25 -25
- package/dist/datatable/filterStrategy/single.js +25 -25
- package/dist/datatable.js +374 -374
- package/dist/dateRange/css/dateRange.css +7 -7
- package/dist/dateRange/dateRange.js +110 -110
- package/dist/datetime/css/picker.css +7 -7
- package/dist/datetime/picker.js +174 -174
- package/dist/deleter.js +92 -92
- package/dist/destination/css/selector.css +7 -7
- package/dist/destination/selector.js +65 -65
- package/dist/dialog/alert.js +26 -26
- package/dist/dialog/confirm.js +27 -27
- package/dist/dialog/confirmDelete.js +44 -44
- package/dist/dialog.js +156 -156
- package/dist/disabler.js +90 -90
- package/dist/documentViewer/css/documentViewer.css +7 -7
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +43 -43
- package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +25 -25
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +133 -133
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +102 -102
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +52 -52
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +125 -125
- package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +67 -67
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +94 -94
- package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +111 -111
- package/dist/documentViewer/providers/pdfViewer.js +42 -42
- package/dist/documentViewer/viewerFactory.js +71 -71
- package/dist/documentViewer.js +99 -99
- package/dist/dropdown/css/dropdown.css +7 -7
- package/dist/dropdown.js +97 -97
- package/dist/durationer.js +58 -58
- package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
- package/dist/dynamicComponent.js +116 -116
- package/dist/feedback.js +97 -97
- package/dist/filesender.js +26 -26
- package/dist/filter.js +47 -47
- package/dist/form/css/dropdownForm.css +7 -7
- package/dist/form/css/form.css +7 -7
- package/dist/form/dropdownForm.js +112 -112
- package/dist/form/form.js +245 -245
- package/dist/form/simpleForm.js +71 -71
- package/dist/form/validator/css/validator.css +7 -7
- package/dist/form/validator/renderer.js +65 -65
- package/dist/form/validator/validator.js +87 -87
- package/dist/form/widget/css/widget.css +7 -7
- package/dist/form/widget/definitions.js +24 -24
- package/dist/form/widget/loader.js +16 -16
- package/dist/form/widget/providers/checkBox.js +75 -75
- package/dist/form/widget/providers/comboBox.js +59 -59
- package/dist/form/widget/providers/default.js +35 -35
- package/dist/form/widget/providers/hidden.js +50 -50
- package/dist/form/widget/providers/hiddenBox.js +71 -71
- package/dist/form/widget/providers/radioBox.js +70 -70
- package/dist/form/widget/providers/textArea.js +48 -48
- package/dist/form/widget/providers/textBox.js +34 -34
- package/dist/form/widget/widget.js +154 -154
- package/dist/form.js +10 -10
- package/dist/formValidator/formValidator.js +61 -61
- package/dist/formValidator/highlighters/highlighter.js +41 -41
- package/dist/formValidator/highlighters/message.js +29 -29
- package/dist/formValidator/highlighters/tooltip.js +32 -32
- package/dist/generis/form/css/form.css +7 -7
- package/dist/generis/form/form.js +86 -86
- package/dist/generis/validator/css/validator.css +7 -7
- package/dist/generis/validator/validator.js +51 -51
- package/dist/generis/widget/checkBox/checkBox.js +52 -52
- package/dist/generis/widget/comboBox/comboBox.js +45 -45
- package/dist/generis/widget/css/widget.css +7 -7
- package/dist/generis/widget/hiddenBox/hiddenBox.js +53 -53
- package/dist/generis/widget/loader.js +20 -20
- package/dist/generis/widget/textBox/textBox.js +40 -40
- package/dist/generis/widget/widget.js +60 -60
- package/dist/groupedComboBox.js +49 -49
- package/dist/groupvalidator.js +19 -19
- package/dist/hider.js +41 -41
- package/dist/highlighter.js +262 -262
- package/dist/image/ImgStateActive/extractLabel.js +20 -20
- package/dist/image/ImgStateActive/initHelper.js +69 -69
- package/dist/image/ImgStateActive/initMediaEditor.js +32 -32
- package/dist/image/ImgStateActive/mediaSizer.js +16 -16
- package/dist/image/ImgStateActive.js +88 -88
- package/dist/incrementer.js +58 -58
- package/dist/inplacer.js +87 -87
- package/dist/interactUtils.js +42 -42
- package/dist/itemButtonList/css/item-button-list.css +23 -23
- package/dist/itemButtonList.js +115 -115
- package/dist/keyNavigation/navigableDomElement.js +76 -76
- package/dist/keyNavigation/navigator.js +158 -158
- package/dist/listbox/css/listbox.css +7 -7
- package/dist/listbox.js +97 -97
- package/dist/liststyler.js +57 -57
- package/dist/loadingButton/css/button.css +7 -7
- package/dist/loadingButton/loadingButton.js +48 -48
- package/dist/lock.js +125 -125
- package/dist/login/login.js +100 -100
- package/dist/maths/calculator/basicCalculator.js +63 -63
- package/dist/maths/calculator/calculatorComponent.js +29 -29
- package/dist/maths/calculator/core/areaBroker.js +25 -25
- package/dist/maths/calculator/core/board.js +313 -313
- package/dist/maths/calculator/core/expression.js +111 -111
- package/dist/maths/calculator/core/labels.js +29 -29
- package/dist/maths/calculator/core/plugin.js +19 -19
- package/dist/maths/calculator/core/terms.js +26 -26
- package/dist/maths/calculator/core/tokenizer.js +98 -98
- package/dist/maths/calculator/core/tokens.js +59 -59
- package/dist/maths/calculator/css/calculator.css +7 -7
- package/dist/maths/calculator/defaultCalculator.js +23 -23
- package/dist/maths/calculator/plugins/core/degrad.js +22 -22
- package/dist/maths/calculator/plugins/core/history.js +45 -45
- package/dist/maths/calculator/plugins/core/remind.js +22 -22
- package/dist/maths/calculator/plugins/core/stepNavigation.js +31 -31
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +61 -61
- package/dist/maths/calculator/plugins/modifiers/pow10.js +35 -35
- package/dist/maths/calculator/plugins/modifiers/sign.js +90 -90
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +60 -60
- package/dist/maths/calculator/pluginsLoader.js +21 -21
- package/dist/maths/calculator/scientificCalculator.js +91 -91
- package/dist/mediaEditor/mediaEditorComponent.js +64 -64
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +16 -16
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +60 -60
- package/dist/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/dist/mediaEditor/plugins/mediaDimension/helper.js +70 -70
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +153 -153
- package/dist/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/dist/mediaplayer/css/player.css +7 -7
- package/dist/mediaplayer/players/html5.js +65 -65
- package/dist/mediaplayer/players/youtube.js +52 -52
- package/dist/mediaplayer/players.js +18 -18
- package/dist/mediaplayer/support.js +55 -55
- package/dist/mediaplayer/utils/reminder.js +100 -100
- package/dist/mediaplayer/utils/timeObserver.js +92 -92
- package/dist/mediaplayer/youtubeManager.js +35 -35
- package/dist/mediaplayer.js +460 -460
- package/dist/mediasizer.js +135 -135
- package/dist/modal.js +87 -87
- package/dist/movableComponent.js +35 -35
- package/dist/pageSizeSelector.js +44 -44
- package/dist/pageStatus.js +33 -33
- package/dist/pagination/css/pagination.css +7 -7
- package/dist/pagination/paginationStrategy.js +23 -23
- package/dist/pagination/providers/pages.js +37 -37
- package/dist/pagination/providers/simple.js +35 -35
- package/dist/pagination.js +45 -45
- package/dist/previewer.js +67 -67
- package/dist/progressbar.js +58 -58
- package/dist/report.js +86 -86
- package/dist/resource/css/selector.css +7 -7
- package/dist/resource/filters.js +73 -73
- package/dist/resource/list.js +66 -66
- package/dist/resource/selectable.js +92 -92
- package/dist/resource/selector.js +195 -195
- package/dist/resource/tree.js +104 -104
- package/dist/resourcemgr/css/resourcemgr.css +7 -7
- package/dist/resourcemgr/fileBrowser.js +98 -95
- package/dist/resourcemgr/fileSelector.js +58 -58
- package/dist/resourcemgr/util/updatePermissions.js +4 -4
- package/dist/resourcemgr.js +62 -62
- package/dist/scroller.js +26 -26
- package/dist/searchModal/advancedSearch.js +130 -130
- package/dist/searchModal/css/advancedSearch.css +7 -7
- package/dist/searchModal/css/searchModal.css +7 -7
- package/dist/searchModal.js +96 -96
- package/dist/selecter.js +6 -6
- package/dist/stacker.js +43 -43
- package/dist/switch/css/switch.css +7 -7
- package/dist/switch/switch.js +75 -75
- package/dist/tableModel.js +33 -33
- package/dist/tabs/css/tabs.css +12 -12
- package/dist/tabs.js +219 -220
- package/dist/taskQueue/css/taskQueue.css +7 -7
- package/dist/taskQueue/status.js +72 -72
- package/dist/taskQueue/table.js +67 -67
- package/dist/taskQueue/taskQueue.js +18 -18
- package/dist/taskQueue/taskQueueModel.js +86 -86
- package/dist/taskQueue.js +47 -47
- package/dist/taskQueueButton/css/taskable.css +7 -7
- package/dist/taskQueueButton/css/treeButton.css +7 -7
- package/dist/taskQueueButton/standardButton.js +39 -39
- package/dist/taskQueueButton/taskable.js +54 -54
- package/dist/taskQueueButton/treeButton.js +56 -56
- package/dist/themeLoader.js +75 -75
- package/dist/themes.js +84 -84
- package/dist/toggler.js +57 -57
- package/dist/tooltip.js +54 -54
- package/dist/tooltipster.js +17 -17
- package/dist/transformer.js +117 -117
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/dist/tristateCheckboxGroup.js +75 -75
- package/dist/uploader.js +172 -175
- package/dist/validator/validators.js +48 -48
- package/dist/validator.js +24 -24
- package/dist/waitForMedia.js +33 -33
- package/dist/waitingDialog/css/waitingDialog.css +7 -7
- package/dist/waitingDialog/waitingDialog.js +54 -54
- package/package.json +107 -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 -496
- package/scss/inc/_bootstrap.scss +6 -6
- package/scss/inc/_buttons.scss +114 -114
- package/scss/inc/_colors.scss +88 -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/.DS_Store +0 -0
- package/src/actionbar/tpl/main.tpl +8 -8
- package/src/actionbar.js +251 -251
- package/src/adder.js +250 -250
- package/src/animable/absorbable/absorbable.js +134 -134
- package/src/animable/absorbable/css/absorb.css +7 -7
- package/src/animable/absorbable/scss/absorb.scss +37 -37
- package/src/animable/pulsable/css/pulse.css +7 -7
- package/src/animable/pulsable/pulsable.js +90 -90
- package/src/animable/pulsable/scss/pulse.scss +22 -22
- package/src/areaBroker.js +160 -160
- package/src/autocomplete/css/autocomplete.css +7 -7
- package/src/autocomplete/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 -7
- 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/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/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/scss/calculator.scss +139 -139
- package/src/calculator.js +188 -188
- package/src/cascadingComboBox.js +126 -126
- package/src/ckeditor/ckConfigurator.js +707 -707
- package/src/ckeditor/dtdHandler.js +1030 -1030
- package/src/class/css/selector.css +7 -7
- 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/windowComponent.css +7 -7
- package/src/component/draggable.js +99 -99
- package/src/component/placeable.js +233 -233
- package/src/component/resizable.js +190 -190
- 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/scss/contextualPopup.scss +78 -78
- package/src/contextualPopup/tpl/popup.tpl +10 -10
- package/src/contextualPopup.js +297 -297
- package/src/css/basic.css +7764 -0
- package/src/css/ckeditor/skins/tao/css/dialog.css +950 -0
- package/src/css/ckeditor/skins/tao/css/editor.css +1850 -0
- package/src/dashboard/css/dashboard.css +7 -7
- 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/scss/datalist.scss +116 -116
- package/src/datalist/tpl/list.tpl +24 -24
- package/src/datalist/tpl/main.tpl +44 -44
- package/src/datalist.js +500 -500
- package/src/datatable/css/datatable.css +7 -7
- package/src/datatable/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 +146 -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/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/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/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/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/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/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/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/form.css +7 -7
- 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/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/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/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/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/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/initHelper.js +135 -135
- package/src/image/ImgStateActive/initMediaEditor.js +91 -91
- package/src/image/ImgStateActive/mediaSizer.js +53 -53
- 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 -23
- 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/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/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/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 +58 -58
- package/src/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +96 -96
- 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/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 +530 -530
- 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/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/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/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/fileBrowser.js +381 -370
- 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 +214 -214
- package/src/scroller.js +94 -94
- package/src/scss/.DS_Store +0 -0
- package/src/scss/basic.scss +16 -0
- package/src/scss/ckeditor/skins/tao/scss/dialog.scss +763 -0
- package/src/scss/ckeditor/skins/tao/scss/editor.scss +111 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +59 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_colorpanel.scss +118 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_elementspath.scss +69 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_mainui.scss +194 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_menu.scss +181 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_panel.scss +200 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_presets.scss +32 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_reset.scss +101 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_richcombo.scss +213 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -0
- package/src/scss/ckeditor/skins/tao/scss/inc/_toolbar.scss +301 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot.b64 +1 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff.b64 +1 -0
- package/src/scss/font/tao/tao.eot +0 -0
- package/src/scss/font/tao/tao.svg +235 -0
- package/src/scss/font/tao/tao.ttf +0 -0
- package/src/scss/font/tao/tao.woff +0 -0
- package/src/scss/inc/_base.scss +496 -0
- package/src/scss/inc/_bootstrap.scss +6 -0
- package/src/scss/inc/_buttons.scss +114 -0
- package/src/scss/inc/_colors.scss +88 -0
- package/src/scss/inc/_feedback.scss +150 -0
- package/src/scss/inc/_flex-grid.scss +15 -0
- package/src/scss/inc/_fonts.scss +4 -0
- package/src/scss/inc/_forms.scss +827 -0
- package/src/scss/inc/_functions.scss +283 -0
- package/src/scss/inc/_grid.scss +66 -0
- package/src/scss/inc/_jquery.nouislider.scss +254 -0
- package/src/scss/inc/_normalize.scss +528 -0
- package/src/scss/inc/_report.scss +68 -0
- package/src/scss/inc/_secondary-properties.scss +89 -0
- package/src/scss/inc/_select2.scss +634 -0
- package/src/scss/inc/_toolbars.scss +155 -0
- package/src/scss/inc/_tooltip.scss +312 -0
- package/src/scss/inc/_variables.scss +21 -0
- package/src/scss/inc/base/_highlight.scss +5 -0
- package/src/scss/inc/base/_list-style.scss +59 -0
- package/src/scss/inc/base/_svg.scss +3 -0
- package/src/scss/inc/base/_table.scss +63 -0
- package/src/scss/inc/fonts/_source-sans-pro.scss +29 -0
- package/src/scss/inc/fonts/_tao-icon-classes.scss +226 -0
- package/src/scss/inc/fonts/_tao-icon-def.scss +12 -0
- package/src/scss/inc/fonts/_tao-icon-vars.scss +240 -0
- package/src/searchModal/advancedSearch.js +601 -601
- package/src/searchModal/css/advancedSearch.css +7 -7
- package/src/searchModal/css/searchModal.css +7 -7
- package/src/searchModal/scss/advancedSearch.scss +177 -177
- package/src/searchModal/scss/searchModal.scss +375 -375
- package/src/searchModal/tpl/advanced-search.tpl +9 -9
- package/src/searchModal/tpl/info-message.tpl +3 -3
- package/src/searchModal/tpl/invalid-criteria-warning.tpl +10 -10
- package/src/searchModal/tpl/layout.tpl +25 -25
- package/src/searchModal/tpl/list-checkbox-criterion.tpl +12 -12
- package/src/searchModal/tpl/list-select-criterion.tpl +6 -6
- package/src/searchModal/tpl/text-criterion.tpl +6 -6
- package/src/searchModal.js +496 -496
- package/src/selecter.js +43 -43
- package/src/stacker.js +133 -133
- package/src/switch/css/switch.css +7 -7
- 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/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 -529
- package/src/taskQueue/css/taskQueue.css +7 -7
- 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/treeButton.css +7 -7
- 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/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 -613
- 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/scss/waitingDialog.scss +34 -34
- package/src/waitingDialog/waitingDialog.js +240 -240
- package/dist/animable/absorbable/css/absorb.css.map +0 -1
- package/dist/animable/pulsable/css/pulse.css.map +0 -1
- package/dist/autocomplete/css/autocomplete.css.map +0 -1
- package/dist/badge/css/badge.css.map +0 -1
- package/dist/breadcrumbs/css/breadcrumbs.css.map +0 -1
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +0 -1
- package/dist/calculator/css/calculator.css.map +0 -1
- package/dist/class/css/selector.css.map +0 -1
- package/dist/component/css/components.css.map +0 -1
- package/dist/component/css/windowComponent.css.map +0 -1
- package/dist/contextualPopup/css/contextualPopup.css.map +0 -1
- package/dist/dashboard/css/dashboard.css.map +0 -1
- package/dist/datalist/css/datalist.css.map +0 -1
- package/dist/datatable/css/datatable.css.map +0 -1
- package/dist/dateRange/css/dateRange.css.map +0 -1
- package/dist/datetime/css/picker.css.map +0 -1
- package/dist/destination/css/selector.css.map +0 -1
- package/dist/documentViewer/css/documentViewer.css.map +0 -1
- package/dist/dropdown/css/dropdown.css.map +0 -1
- package/dist/dynamicComponent/css/dynamicComponent.css.map +0 -1
- package/dist/form/css/dropdownForm.css.map +0 -1
- package/dist/form/css/form.css.map +0 -1
- package/dist/form/validator/css/validator.css.map +0 -1
- package/dist/form/widget/css/widget.css.map +0 -1
- package/dist/generis/form/css/form.css.map +0 -1
- package/dist/generis/validator/css/validator.css.map +0 -1
- package/dist/generis/widget/css/widget.css.map +0 -1
- package/dist/itemButtonList/css/item-button-list.css.map +0 -1
- package/dist/listbox/css/listbox.css.map +0 -1
- package/dist/loadingButton/css/button.css.map +0 -1
- package/dist/maths/calculator/css/calculator.css.map +0 -1
- package/dist/mediaplayer/css/player.css.map +0 -1
- package/dist/pagination/css/pagination.css.map +0 -1
- package/dist/resource/css/selector.css.map +0 -1
- package/dist/resourcemgr/css/resourcemgr.css.map +0 -1
- package/dist/searchModal/css/advancedSearch.css.map +0 -1
- package/dist/searchModal/css/searchModal.css.map +0 -1
- package/dist/switch/css/switch.css.map +0 -1
- package/dist/tabs/css/tabs.css.map +0 -1
- package/dist/taskQueue/css/taskQueue.css.map +0 -1
- package/dist/taskQueueButton/css/taskable.css.map +0 -1
- package/dist/taskQueueButton/css/treeButton.css.map +0 -1
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +0 -1
- package/dist/waitingDialog/css/waitingDialog.css.map +0 -1
- package/src/animable/absorbable/css/absorb.css.map +0 -1
- package/src/animable/pulsable/css/pulse.css.map +0 -1
- package/src/autocomplete/css/autocomplete.css.map +0 -1
- package/src/badge/css/badge.css.map +0 -1
- package/src/breadcrumbs/css/breadcrumbs.css.map +0 -1
- package/src/bulkActionPopup/css/bulkActionPopup.css.map +0 -1
- package/src/calculator/css/calculator.css.map +0 -1
- package/src/class/css/selector.css.map +0 -1
- package/src/component/css/components.css.map +0 -1
- package/src/component/css/windowComponent.css.map +0 -1
- package/src/contextualPopup/css/contextualPopup.css.map +0 -1
- package/src/dashboard/css/dashboard.css.map +0 -1
- package/src/datalist/css/datalist.css.map +0 -1
- package/src/datatable/css/datatable.css.map +0 -1
- package/src/dateRange/css/dateRange.css.map +0 -1
- package/src/datetime/css/picker.css.map +0 -1
- package/src/destination/css/selector.css.map +0 -1
- package/src/documentViewer/css/documentViewer.css.map +0 -1
- package/src/dropdown/css/dropdown.css.map +0 -1
- package/src/dynamicComponent/css/dynamicComponent.css.map +0 -1
- package/src/form/css/dropdownForm.css.map +0 -1
- package/src/form/css/form.css.map +0 -1
- package/src/form/validator/css/validator.css.map +0 -1
- package/src/form/widget/css/widget.css.map +0 -1
- package/src/generis/form/css/form.css.map +0 -1
- package/src/generis/validator/css/validator.css.map +0 -1
- package/src/generis/widget/css/widget.css.map +0 -1
- package/src/itemButtonList/css/item-button-list.css.map +0 -1
- package/src/listbox/css/listbox.css.map +0 -1
- package/src/loadingButton/css/button.css.map +0 -1
- package/src/maths/calculator/css/calculator.css.map +0 -1
- package/src/mediaplayer/css/player.css.map +0 -1
- package/src/pagination/css/pagination.css.map +0 -1
- package/src/resource/css/selector.css.map +0 -1
- package/src/resourcemgr/css/resourcemgr.css.map +0 -1
- package/src/searchModal/css/advancedSearch.css.map +0 -1
- package/src/searchModal/css/searchModal.css.map +0 -1
- package/src/switch/css/switch.css.map +0 -1
- package/src/tabs/css/tabs.css.map +0 -1
- package/src/taskQueue/css/taskQueue.css.map +0 -1
- package/src/taskQueueButton/css/taskable.css.map +0 -1
- package/src/taskQueueButton/css/treeButton.css.map +0 -1
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +0 -1
- package/src/waitingDialog/css/waitingDialog.css.map +0 -1
package/src/calculator.js
CHANGED
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This program is free software; you can redistribute it and/or
|
|
3
|
-
* modify it under the terms of the GNU General Public License
|
|
4
|
-
* as published by the Free Software Foundation; under version 2
|
|
5
|
-
* of the License (non-upgradable).
|
|
6
|
-
*
|
|
7
|
-
* This program is distributed in the hope that it will be useful,
|
|
8
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
9
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
10
|
-
* GNU General Public License for more details.
|
|
11
|
-
*
|
|
12
|
-
* You should have received a copy of the GNU General Public License
|
|
13
|
-
* along with this program; if not, write to the Free Software
|
|
14
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
15
|
-
*
|
|
16
|
-
* Copyright (c) 2016 (original work) Open Assessment Technologies SA ;
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* @author Sam <sam@taotesting.com>
|
|
20
|
-
*/
|
|
21
|
-
import $ from 'jquery';
|
|
22
|
-
import _ from 'lodash';
|
|
23
|
-
import __ from 'i18n';
|
|
24
|
-
import dynamicComponent from 'ui/dynamicComponent';
|
|
25
|
-
import calculatorBuild from 'lib/calculator/index';
|
|
26
|
-
import 'ui/calculator/css/calculator.css';
|
|
27
|
-
|
|
28
|
-
var _defaults = {
|
|
29
|
-
title: __('Calculator'),
|
|
30
|
-
preserveAspectRatio: false,
|
|
31
|
-
width: 240,
|
|
32
|
-
height: 360,
|
|
33
|
-
minWidth: 150,
|
|
34
|
-
minHeight: 220,
|
|
35
|
-
alternativeTemplate: null
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Calculate the new font size according to the width and height ratio during component resizing.
|
|
40
|
-
* It has been calculated to match a reference font-size of 10px when the calculator content is 240px wide and 330 height.
|
|
41
|
-
* @param {Number} width
|
|
42
|
-
* @param {Number} height
|
|
43
|
-
* @returns {Number}
|
|
44
|
-
*/
|
|
45
|
-
var computeFontSize = function computeFontSize(width, height) {
|
|
46
|
-
var _fontSizeHeightRatio = 10 / 340;
|
|
47
|
-
var _fontSizeWidthRatio = 10 / 240;
|
|
48
|
-
return (width * _fontSizeWidthRatio + height * _fontSizeHeightRatio) / 2;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
var calculator = {
|
|
52
|
-
press: function press(key) {
|
|
53
|
-
this.calc.press(key);
|
|
54
|
-
return this;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Computes the ratio between width and height of the applied font family.
|
|
60
|
-
* @param {jQuery} $element
|
|
61
|
-
* @returns {Number}
|
|
62
|
-
*/
|
|
63
|
-
function getFontRatio($element) {
|
|
64
|
-
var $sample = $('<div />')
|
|
65
|
-
.text('0')
|
|
66
|
-
.css({
|
|
67
|
-
'font-family': $element.css('font-family'),
|
|
68
|
-
'font-size': '10px',
|
|
69
|
-
'line-height': '10px',
|
|
70
|
-
position: 'absolute',
|
|
71
|
-
padding: '0',
|
|
72
|
-
top: -1000,
|
|
73
|
-
left: -1000
|
|
74
|
-
})
|
|
75
|
-
.appendTo('body');
|
|
76
|
-
|
|
77
|
-
var fontRatio = $sample.height() / $sample.width();
|
|
78
|
-
|
|
79
|
-
$sample.remove();
|
|
80
|
-
|
|
81
|
-
return fontRatio;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Adjust the font size of the parent element will automatically scale the font-size of the children proportionally
|
|
86
|
-
* @param {jQuery} $text
|
|
87
|
-
* @param {Number} fontRatio
|
|
88
|
-
* @param {Number} fontSize
|
|
89
|
-
*/
|
|
90
|
-
function adjustFontSize($text, fontRatio, fontSize) {
|
|
91
|
-
var width = $text.width();
|
|
92
|
-
var height = $text.height();
|
|
93
|
-
var charWidth = fontSize / fontRatio;
|
|
94
|
-
var len;
|
|
95
|
-
|
|
96
|
-
if ($text.is(':input')) {
|
|
97
|
-
len = $text.val().length;
|
|
98
|
-
|
|
99
|
-
if (len * charWidth >= width) {
|
|
100
|
-
fontSize = Math.max(height / 4, Math.min((width / len) * (fontRatio || 1.6), fontSize));
|
|
101
|
-
}
|
|
102
|
-
} else {
|
|
103
|
-
fontSize = computeFontSize(width, height);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
$text.css('fontSize', fontSize);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Builds an instance of the calculator component
|
|
111
|
-
* @param {Object} config
|
|
112
|
-
* @param {jQuery|HTMLElement|String} [config.renderTo] - An optional container in which renders the component
|
|
113
|
-
* @param {Boolean} [config.replace] - When the component is appended to its container, clears the place before
|
|
114
|
-
* @param {String} [config.title] - title to be displayed in the title bar
|
|
115
|
-
* @param {Boolean} [config.resizable] - allow the component to be resizable
|
|
116
|
-
* @param {Boolean} [config.draggable] - allow the component to be draggable
|
|
117
|
-
* @param {Number} [config.width] - the initial width of the component content
|
|
118
|
-
* @param {Number} [config.height] - the intial height of the component content
|
|
119
|
-
* @param {Number} [config.minWidth] - the min width for resize
|
|
120
|
-
* @param {Number} [config.maxWidth] - the max width for resize
|
|
121
|
-
* @param {Number} [config.largeWidthThreshold] - the width below which the container will get the class "small"
|
|
122
|
-
* @param {Number} [config.smallWidthThreshold] - the width above which the container will get the class "large"
|
|
123
|
-
* @param {jQuery|HTMLElement|String} [config.draggableContainer] - the DOMElement the draggable component will be constraint in
|
|
124
|
-
* @param {Number} [config.top] - the initial position top absolute to the windows
|
|
125
|
-
* @param {Number} [config.left] - the initial position left absolute to the windows
|
|
126
|
-
* @param {Function} [config.alternativeTemplate] - allow defining an alternative template (a handlebar cimpiled template function)
|
|
127
|
-
* @param {String} [config.stackingScope] - The scope in which to stack the component
|
|
128
|
-
* @returns {calculator}
|
|
129
|
-
*/
|
|
130
|
-
function calculatorFactory(config) {
|
|
131
|
-
config = _.defaults(config || {}, _defaults);
|
|
132
|
-
var calculatorComponent;
|
|
133
|
-
|
|
134
|
-
calculatorComponent = dynamicComponent(calculator)
|
|
135
|
-
.on('rendercontent', function($content) {
|
|
136
|
-
var $input,
|
|
137
|
-
self = this,
|
|
138
|
-
calcConfig = {};
|
|
139
|
-
|
|
140
|
-
if (_.isFunction(config.alternativeTemplate)) {
|
|
141
|
-
calcConfig.template = config.alternativeTemplate;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
//init the calculator
|
|
145
|
-
this.calc = calculatorBuild.init($content, calcConfig);
|
|
146
|
-
|
|
147
|
-
$input = $content.find('input.calcDisplay').on('change', function() {
|
|
148
|
-
adjustFontSize($input, self.fontRatio, self.fontSize);
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
this.fontSize = parseFloat($input.css('font-size'));
|
|
152
|
-
this.fontRatio = getFontRatio($input);
|
|
153
|
-
})
|
|
154
|
-
.after('show', function() {
|
|
155
|
-
var self = this;
|
|
156
|
-
_.defer(function() {
|
|
157
|
-
//need defer to ensure that element show callbacks are all executed
|
|
158
|
-
var $display = self.getElement().find('.calcDisplay');
|
|
159
|
-
var strLength = $display.val().length + 1;
|
|
160
|
-
$display.focus();
|
|
161
|
-
$display[0].setSelectionRange(strLength, strLength);
|
|
162
|
-
});
|
|
163
|
-
})
|
|
164
|
-
.on('reset', function() {
|
|
165
|
-
//reset the calculator input
|
|
166
|
-
this.calc.press('C');
|
|
167
|
-
})
|
|
168
|
-
.on('resize', function() {
|
|
169
|
-
var $element = this.getElement();
|
|
170
|
-
if ($element) {
|
|
171
|
-
adjustFontSize($element.find('form'), this.fontRatio, this.fontSize);
|
|
172
|
-
adjustFontSize($element.find('input.calcDisplay'), this.fontRatio, this.fontSize);
|
|
173
|
-
}
|
|
174
|
-
})
|
|
175
|
-
.on('destroy', function() {
|
|
176
|
-
if (this.calc) {
|
|
177
|
-
this.calc.remove();
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
_.defer(function() {
|
|
182
|
-
calculatorComponent.init(config);
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
return calculatorComponent;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
export default calculatorFactory;
|
|
1
|
+
/**
|
|
2
|
+
* This program is free software; you can redistribute it and/or
|
|
3
|
+
* modify it under the terms of the GNU General Public License
|
|
4
|
+
* as published by the Free Software Foundation; under version 2
|
|
5
|
+
* of the License (non-upgradable).
|
|
6
|
+
*
|
|
7
|
+
* This program is distributed in the hope that it will be useful,
|
|
8
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
9
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
10
|
+
* GNU General Public License for more details.
|
|
11
|
+
*
|
|
12
|
+
* You should have received a copy of the GNU General Public License
|
|
13
|
+
* along with this program; if not, write to the Free Software
|
|
14
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
15
|
+
*
|
|
16
|
+
* Copyright (c) 2016 (original work) Open Assessment Technologies SA ;
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @author Sam <sam@taotesting.com>
|
|
20
|
+
*/
|
|
21
|
+
import $ from 'jquery';
|
|
22
|
+
import _ from 'lodash';
|
|
23
|
+
import __ from 'i18n';
|
|
24
|
+
import dynamicComponent from 'ui/dynamicComponent';
|
|
25
|
+
import calculatorBuild from 'lib/calculator/index';
|
|
26
|
+
import 'ui/calculator/css/calculator.css';
|
|
27
|
+
|
|
28
|
+
var _defaults = {
|
|
29
|
+
title: __('Calculator'),
|
|
30
|
+
preserveAspectRatio: false,
|
|
31
|
+
width: 240,
|
|
32
|
+
height: 360,
|
|
33
|
+
minWidth: 150,
|
|
34
|
+
minHeight: 220,
|
|
35
|
+
alternativeTemplate: null
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Calculate the new font size according to the width and height ratio during component resizing.
|
|
40
|
+
* It has been calculated to match a reference font-size of 10px when the calculator content is 240px wide and 330 height.
|
|
41
|
+
* @param {Number} width
|
|
42
|
+
* @param {Number} height
|
|
43
|
+
* @returns {Number}
|
|
44
|
+
*/
|
|
45
|
+
var computeFontSize = function computeFontSize(width, height) {
|
|
46
|
+
var _fontSizeHeightRatio = 10 / 340;
|
|
47
|
+
var _fontSizeWidthRatio = 10 / 240;
|
|
48
|
+
return (width * _fontSizeWidthRatio + height * _fontSizeHeightRatio) / 2;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var calculator = {
|
|
52
|
+
press: function press(key) {
|
|
53
|
+
this.calc.press(key);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Computes the ratio between width and height of the applied font family.
|
|
60
|
+
* @param {jQuery} $element
|
|
61
|
+
* @returns {Number}
|
|
62
|
+
*/
|
|
63
|
+
function getFontRatio($element) {
|
|
64
|
+
var $sample = $('<div />')
|
|
65
|
+
.text('0')
|
|
66
|
+
.css({
|
|
67
|
+
'font-family': $element.css('font-family'),
|
|
68
|
+
'font-size': '10px',
|
|
69
|
+
'line-height': '10px',
|
|
70
|
+
position: 'absolute',
|
|
71
|
+
padding: '0',
|
|
72
|
+
top: -1000,
|
|
73
|
+
left: -1000
|
|
74
|
+
})
|
|
75
|
+
.appendTo('body');
|
|
76
|
+
|
|
77
|
+
var fontRatio = $sample.height() / $sample.width();
|
|
78
|
+
|
|
79
|
+
$sample.remove();
|
|
80
|
+
|
|
81
|
+
return fontRatio;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Adjust the font size of the parent element will automatically scale the font-size of the children proportionally
|
|
86
|
+
* @param {jQuery} $text
|
|
87
|
+
* @param {Number} fontRatio
|
|
88
|
+
* @param {Number} fontSize
|
|
89
|
+
*/
|
|
90
|
+
function adjustFontSize($text, fontRatio, fontSize) {
|
|
91
|
+
var width = $text.width();
|
|
92
|
+
var height = $text.height();
|
|
93
|
+
var charWidth = fontSize / fontRatio;
|
|
94
|
+
var len;
|
|
95
|
+
|
|
96
|
+
if ($text.is(':input')) {
|
|
97
|
+
len = $text.val().length;
|
|
98
|
+
|
|
99
|
+
if (len * charWidth >= width) {
|
|
100
|
+
fontSize = Math.max(height / 4, Math.min((width / len) * (fontRatio || 1.6), fontSize));
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
fontSize = computeFontSize(width, height);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
$text.css('fontSize', fontSize);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Builds an instance of the calculator component
|
|
111
|
+
* @param {Object} config
|
|
112
|
+
* @param {jQuery|HTMLElement|String} [config.renderTo] - An optional container in which renders the component
|
|
113
|
+
* @param {Boolean} [config.replace] - When the component is appended to its container, clears the place before
|
|
114
|
+
* @param {String} [config.title] - title to be displayed in the title bar
|
|
115
|
+
* @param {Boolean} [config.resizable] - allow the component to be resizable
|
|
116
|
+
* @param {Boolean} [config.draggable] - allow the component to be draggable
|
|
117
|
+
* @param {Number} [config.width] - the initial width of the component content
|
|
118
|
+
* @param {Number} [config.height] - the intial height of the component content
|
|
119
|
+
* @param {Number} [config.minWidth] - the min width for resize
|
|
120
|
+
* @param {Number} [config.maxWidth] - the max width for resize
|
|
121
|
+
* @param {Number} [config.largeWidthThreshold] - the width below which the container will get the class "small"
|
|
122
|
+
* @param {Number} [config.smallWidthThreshold] - the width above which the container will get the class "large"
|
|
123
|
+
* @param {jQuery|HTMLElement|String} [config.draggableContainer] - the DOMElement the draggable component will be constraint in
|
|
124
|
+
* @param {Number} [config.top] - the initial position top absolute to the windows
|
|
125
|
+
* @param {Number} [config.left] - the initial position left absolute to the windows
|
|
126
|
+
* @param {Function} [config.alternativeTemplate] - allow defining an alternative template (a handlebar cimpiled template function)
|
|
127
|
+
* @param {String} [config.stackingScope] - The scope in which to stack the component
|
|
128
|
+
* @returns {calculator}
|
|
129
|
+
*/
|
|
130
|
+
function calculatorFactory(config) {
|
|
131
|
+
config = _.defaults(config || {}, _defaults);
|
|
132
|
+
var calculatorComponent;
|
|
133
|
+
|
|
134
|
+
calculatorComponent = dynamicComponent(calculator)
|
|
135
|
+
.on('rendercontent', function($content) {
|
|
136
|
+
var $input,
|
|
137
|
+
self = this,
|
|
138
|
+
calcConfig = {};
|
|
139
|
+
|
|
140
|
+
if (_.isFunction(config.alternativeTemplate)) {
|
|
141
|
+
calcConfig.template = config.alternativeTemplate;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
//init the calculator
|
|
145
|
+
this.calc = calculatorBuild.init($content, calcConfig);
|
|
146
|
+
|
|
147
|
+
$input = $content.find('input.calcDisplay').on('change', function() {
|
|
148
|
+
adjustFontSize($input, self.fontRatio, self.fontSize);
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
this.fontSize = parseFloat($input.css('font-size'));
|
|
152
|
+
this.fontRatio = getFontRatio($input);
|
|
153
|
+
})
|
|
154
|
+
.after('show', function() {
|
|
155
|
+
var self = this;
|
|
156
|
+
_.defer(function() {
|
|
157
|
+
//need defer to ensure that element show callbacks are all executed
|
|
158
|
+
var $display = self.getElement().find('.calcDisplay');
|
|
159
|
+
var strLength = $display.val().length + 1;
|
|
160
|
+
$display.focus();
|
|
161
|
+
$display[0].setSelectionRange(strLength, strLength);
|
|
162
|
+
});
|
|
163
|
+
})
|
|
164
|
+
.on('reset', function() {
|
|
165
|
+
//reset the calculator input
|
|
166
|
+
this.calc.press('C');
|
|
167
|
+
})
|
|
168
|
+
.on('resize', function() {
|
|
169
|
+
var $element = this.getElement();
|
|
170
|
+
if ($element) {
|
|
171
|
+
adjustFontSize($element.find('form'), this.fontRatio, this.fontSize);
|
|
172
|
+
adjustFontSize($element.find('input.calcDisplay'), this.fontRatio, this.fontSize);
|
|
173
|
+
}
|
|
174
|
+
})
|
|
175
|
+
.on('destroy', function() {
|
|
176
|
+
if (this.calc) {
|
|
177
|
+
this.calc.remove();
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
_.defer(function() {
|
|
182
|
+
calculatorComponent.init(config);
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
return calculatorComponent;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export default calculatorFactory;
|
package/src/cascadingComboBox.js
CHANGED
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This program is free software; you can redistribute it and/or
|
|
3
|
-
* modify it under the terms of the GNU General Public License
|
|
4
|
-
* as published by the Free Software Foundation; under version 2
|
|
5
|
-
* of the License (non-upgradable).
|
|
6
|
-
*
|
|
7
|
-
* This program is distributed in the hope that it will be useful,
|
|
8
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
9
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
10
|
-
* GNU General Public License for more details.
|
|
11
|
-
*
|
|
12
|
-
* You should have received a copy of the GNU General Public License
|
|
13
|
-
* along with this program; if not, write to the Free Software
|
|
14
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
15
|
-
*
|
|
16
|
-
* Copyright (c) 2015 (original work) Open Assessment Technologies SA ;
|
|
17
|
-
*/
|
|
18
|
-
import $ from 'jquery';
|
|
19
|
-
import _ from 'lodash';
|
|
20
|
-
import __ from 'i18n';
|
|
21
|
-
import component from 'ui/component';
|
|
22
|
-
import selectTpl from 'ui/bulkActionPopup/tpl/select';
|
|
23
|
-
import 'select2';
|
|
24
|
-
|
|
25
|
-
var selectedValues = {};
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Create a combobox and initialize it with select2
|
|
29
|
-
*
|
|
30
|
-
* @param {Number} level
|
|
31
|
-
* @param {array} categoriesDefinitions - the array that defines the number and config for each level of combobox cascade
|
|
32
|
-
* @param {array} categories - the array that contains nested array of categories
|
|
33
|
-
* @returns {jQuery}
|
|
34
|
-
*/
|
|
35
|
-
function createCombobox(level, categoriesDefinitions, categories) {
|
|
36
|
-
if (categoriesDefinitions[level]) {
|
|
37
|
-
var categoryDef = categoriesDefinitions[level];
|
|
38
|
-
var _categories, $comboBox;
|
|
39
|
-
if (categoryDef.id) {
|
|
40
|
-
//format categories
|
|
41
|
-
_categories = _.map(categories, function(cat) {
|
|
42
|
-
var _cat = _.clone(cat);
|
|
43
|
-
if (_cat.categories) {
|
|
44
|
-
//encode subcategory in json
|
|
45
|
-
_cat.categories = JSON.stringify(_cat.categories);
|
|
46
|
-
}
|
|
47
|
-
return _cat;
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
//init <select> DOM element
|
|
51
|
-
$comboBox = $(
|
|
52
|
-
selectTpl({
|
|
53
|
-
comboboxId: categoryDef.id,
|
|
54
|
-
comboboxLabel: categoryDef.label || '',
|
|
55
|
-
options: _categories
|
|
56
|
-
})
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
categoriesDefinitions[level].$comboBox = $comboBox;
|
|
60
|
-
|
|
61
|
-
//add event handler
|
|
62
|
-
$comboBox.on('change', function() {
|
|
63
|
-
var subCategories, $subComboBox;
|
|
64
|
-
var $selected = $comboBox.find(':selected');
|
|
65
|
-
selectedValues = {};
|
|
66
|
-
|
|
67
|
-
//clean previously created combo boxes
|
|
68
|
-
_.forEach(categoriesDefinitions, function(category, key) {
|
|
69
|
-
if (category.$comboBox && key > level) {
|
|
70
|
-
category.$comboBox.remove();
|
|
71
|
-
category.$comboBox = null;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
subCategories = $selected.data('categories');
|
|
76
|
-
if (_.isArray(subCategories) && subCategories.length) {
|
|
77
|
-
//init sub-level select box by recursive call to createCombobox
|
|
78
|
-
$subComboBox = createCombobox(level + 1, categoriesDefinitions, subCategories);
|
|
79
|
-
if ($subComboBox) {
|
|
80
|
-
categoriesDefinitions[level + 1].$comboBox = $subComboBox;
|
|
81
|
-
$comboBox.after($subComboBox);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
//retrieve combobox values
|
|
86
|
-
_.forEach(categoriesDefinitions, function(value) {
|
|
87
|
-
if (value.$comboBox) {
|
|
88
|
-
var $select = value.$comboBox.find('select');
|
|
89
|
-
selectedValues[value.id] = $select.val();
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
//trigger event
|
|
94
|
-
$comboBox.trigger('selected.cascading-combobox', [selectedValues]);
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
//init select 2 on $comboBox
|
|
98
|
-
$comboBox.find('select').select2({
|
|
99
|
-
dropdownAutoWidth: true,
|
|
100
|
-
placeholder: categoryDef.placeholder || __('select...'),
|
|
101
|
-
minimumResultsForSearch: -1
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
return $comboBox;
|
|
105
|
-
}
|
|
106
|
-
} else {
|
|
107
|
-
throw 'missing category definition on level : ' + level;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* @param {object} options
|
|
113
|
-
* @param {Array} [options.categoriesDefinitions] - the array that defines the number and config for each level of combobox cascade
|
|
114
|
-
* @param {Array} [options.categories] - the array that contains nested array of categories
|
|
115
|
-
* @returns {function}
|
|
116
|
-
*/
|
|
117
|
-
export default function cascadingComboBoxFactory(options) {
|
|
118
|
-
return component()
|
|
119
|
-
.on('render', function render($container) {
|
|
120
|
-
if (_.isArray(options.categoriesDefinitions) && _.isArray(options.categories)) {
|
|
121
|
-
var $comboBox = createCombobox(0, options.categoriesDefinitions, options.categories);
|
|
122
|
-
$container.append($comboBox);
|
|
123
|
-
}
|
|
124
|
-
})
|
|
125
|
-
.init(options);
|
|
126
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* This program is free software; you can redistribute it and/or
|
|
3
|
+
* modify it under the terms of the GNU General Public License
|
|
4
|
+
* as published by the Free Software Foundation; under version 2
|
|
5
|
+
* of the License (non-upgradable).
|
|
6
|
+
*
|
|
7
|
+
* This program is distributed in the hope that it will be useful,
|
|
8
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
9
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
10
|
+
* GNU General Public License for more details.
|
|
11
|
+
*
|
|
12
|
+
* You should have received a copy of the GNU General Public License
|
|
13
|
+
* along with this program; if not, write to the Free Software
|
|
14
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
15
|
+
*
|
|
16
|
+
* Copyright (c) 2015 (original work) Open Assessment Technologies SA ;
|
|
17
|
+
*/
|
|
18
|
+
import $ from 'jquery';
|
|
19
|
+
import _ from 'lodash';
|
|
20
|
+
import __ from 'i18n';
|
|
21
|
+
import component from 'ui/component';
|
|
22
|
+
import selectTpl from 'ui/bulkActionPopup/tpl/select';
|
|
23
|
+
import 'select2';
|
|
24
|
+
|
|
25
|
+
var selectedValues = {};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Create a combobox and initialize it with select2
|
|
29
|
+
*
|
|
30
|
+
* @param {Number} level
|
|
31
|
+
* @param {array} categoriesDefinitions - the array that defines the number and config for each level of combobox cascade
|
|
32
|
+
* @param {array} categories - the array that contains nested array of categories
|
|
33
|
+
* @returns {jQuery}
|
|
34
|
+
*/
|
|
35
|
+
function createCombobox(level, categoriesDefinitions, categories) {
|
|
36
|
+
if (categoriesDefinitions[level]) {
|
|
37
|
+
var categoryDef = categoriesDefinitions[level];
|
|
38
|
+
var _categories, $comboBox;
|
|
39
|
+
if (categoryDef.id) {
|
|
40
|
+
//format categories
|
|
41
|
+
_categories = _.map(categories, function(cat) {
|
|
42
|
+
var _cat = _.clone(cat);
|
|
43
|
+
if (_cat.categories) {
|
|
44
|
+
//encode subcategory in json
|
|
45
|
+
_cat.categories = JSON.stringify(_cat.categories);
|
|
46
|
+
}
|
|
47
|
+
return _cat;
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
//init <select> DOM element
|
|
51
|
+
$comboBox = $(
|
|
52
|
+
selectTpl({
|
|
53
|
+
comboboxId: categoryDef.id,
|
|
54
|
+
comboboxLabel: categoryDef.label || '',
|
|
55
|
+
options: _categories
|
|
56
|
+
})
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
categoriesDefinitions[level].$comboBox = $comboBox;
|
|
60
|
+
|
|
61
|
+
//add event handler
|
|
62
|
+
$comboBox.on('change', function() {
|
|
63
|
+
var subCategories, $subComboBox;
|
|
64
|
+
var $selected = $comboBox.find(':selected');
|
|
65
|
+
selectedValues = {};
|
|
66
|
+
|
|
67
|
+
//clean previously created combo boxes
|
|
68
|
+
_.forEach(categoriesDefinitions, function(category, key) {
|
|
69
|
+
if (category.$comboBox && key > level) {
|
|
70
|
+
category.$comboBox.remove();
|
|
71
|
+
category.$comboBox = null;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
subCategories = $selected.data('categories');
|
|
76
|
+
if (_.isArray(subCategories) && subCategories.length) {
|
|
77
|
+
//init sub-level select box by recursive call to createCombobox
|
|
78
|
+
$subComboBox = createCombobox(level + 1, categoriesDefinitions, subCategories);
|
|
79
|
+
if ($subComboBox) {
|
|
80
|
+
categoriesDefinitions[level + 1].$comboBox = $subComboBox;
|
|
81
|
+
$comboBox.after($subComboBox);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
//retrieve combobox values
|
|
86
|
+
_.forEach(categoriesDefinitions, function(value) {
|
|
87
|
+
if (value.$comboBox) {
|
|
88
|
+
var $select = value.$comboBox.find('select');
|
|
89
|
+
selectedValues[value.id] = $select.val();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
//trigger event
|
|
94
|
+
$comboBox.trigger('selected.cascading-combobox', [selectedValues]);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
//init select 2 on $comboBox
|
|
98
|
+
$comboBox.find('select').select2({
|
|
99
|
+
dropdownAutoWidth: true,
|
|
100
|
+
placeholder: categoryDef.placeholder || __('select...'),
|
|
101
|
+
minimumResultsForSearch: -1
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
return $comboBox;
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
throw 'missing category definition on level : ' + level;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @param {object} options
|
|
113
|
+
* @param {Array} [options.categoriesDefinitions] - the array that defines the number and config for each level of combobox cascade
|
|
114
|
+
* @param {Array} [options.categories] - the array that contains nested array of categories
|
|
115
|
+
* @returns {function}
|
|
116
|
+
*/
|
|
117
|
+
export default function cascadingComboBoxFactory(options) {
|
|
118
|
+
return component()
|
|
119
|
+
.on('render', function render($container) {
|
|
120
|
+
if (_.isArray(options.categoriesDefinitions) && _.isArray(options.categories)) {
|
|
121
|
+
var $comboBox = createCombobox(0, options.categoriesDefinitions, options.categories);
|
|
122
|
+
$container.append($comboBox);
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
.init(options);
|
|
126
|
+
}
|