@oat-sa/tao-core-ui 1.64.1 → 1.64.2
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 +22 -22
- package/dist/actionbar.js +92 -92
- package/dist/adder.js +109 -109
- package/dist/animable/absorbable/absorbable.js +29 -29
- package/dist/animable/absorbable/css/absorb.css +7 -7
- 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 +23 -23
- package/dist/areaBroker.js +51 -51
- package/dist/autocomplete/css/autocomplete.css +7 -7
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +384 -384
- package/dist/autoscroll.js +22 -22
- package/dist/badge/badge.js +35 -35
- package/dist/badge/css/badge.css +7 -7
- 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 +57 -57
- package/dist/btngrouper.js +64 -64
- package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/dist/bulkActionPopup.js +91 -91
- package/dist/button.js +89 -89
- package/dist/calculator/css/calculator.css +10 -10
- package/dist/calculator/css/calculator.css.map +1 -1
- package/dist/calculator.js +51 -51
- package/dist/cascadingComboBox.js +34 -34
- package/dist/ckeditor/ckConfigurator.js +49 -49
- package/dist/ckeditor/dtdHandler.js +110 -110
- package/dist/class/css/selector.css +7 -7
- package/dist/class/css/selector.css.map +1 -1
- package/dist/class/selector.js +98 -98
- 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/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 +25 -25
- package/dist/component/placeable.js +70 -70
- package/dist/component/resizable.js +61 -61
- package/dist/component/stackable.js +20 -20
- package/dist/component/windowed.js +46 -46
- package/dist/component.js +140 -140
- package/dist/container.js +76 -76
- package/dist/contextualPopup/css/contextualPopup.css +7 -7
- package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
- package/dist/contextualPopup.js +100 -100
- package/dist/dashboard/css/dashboard.css +7 -7
- package/dist/dashboard/css/dashboard.css.map +1 -1
- package/dist/dashboard.js +62 -62
- package/dist/datalist/css/datalist.css +7 -7
- package/dist/datalist/css/datalist.css.map +1 -1
- package/dist/datalist.js +147 -147
- package/dist/datatable/css/datatable.css +7 -7
- package/dist/datatable/css/datatable.css.map +1 -1
- 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 +377 -377
- package/dist/dateRange/css/dateRange.css +7 -7
- package/dist/dateRange/css/dateRange.css.map +1 -1
- package/dist/dateRange/dateRange.js +97 -97
- package/dist/datetime/css/picker.css +7 -7
- package/dist/datetime/css/picker.css.map +1 -1
- package/dist/datetime/picker.js +161 -161
- package/dist/deleter.js +79 -79
- package/dist/destination/css/selector.css +7 -7
- package/dist/destination/css/selector.css.map +1 -1
- package/dist/destination/selector.js +52 -52
- package/dist/dialog/alert.js +26 -26
- package/dist/dialog/confirm.js +27 -27
- package/dist/dialog/confirmDelete.js +31 -31
- package/dist/dialog.js +141 -141
- package/dist/disabler.js +90 -90
- 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 +30 -30
- package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +25 -25
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +120 -120
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +89 -89
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +52 -52
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +112 -112
- package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +67 -67
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +81 -81
- package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +111 -111
- package/dist/documentViewer/providers/pdfViewer.js +29 -29
- package/dist/documentViewer/viewerFactory.js +71 -71
- package/dist/documentViewer.js +86 -86
- package/dist/dropdown/css/dropdown.css +7 -7
- package/dist/dropdown/css/dropdown.css.map +1 -1
- package/dist/dropdown.js +84 -84
- package/dist/durationer.js +58 -58
- package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
- package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/dist/dynamicComponent.js +103 -103
- package/dist/feedback.js +84 -84
- package/dist/figure/FigureStateActive.js +111 -111
- package/dist/filesender.js +26 -26
- package/dist/filter.js +34 -34
- 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 +99 -99
- package/dist/form/form.js +248 -248
- package/dist/form/simpleForm.js +71 -71
- 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 +52 -52
- package/dist/form/validator/validator.js +103 -103
- 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 +24 -24
- package/dist/form/widget/loader.js +16 -16
- package/dist/form/widget/providers/checkBox.js +62 -62
- package/dist/form/widget/providers/comboBox.js +46 -46
- package/dist/form/widget/providers/default.js +35 -35
- package/dist/form/widget/providers/hidden.js +37 -37
- package/dist/form/widget/providers/hiddenBox.js +58 -58
- package/dist/form/widget/providers/radioBox.js +57 -57
- package/dist/form/widget/providers/textArea.js +35 -35
- package/dist/form/widget/providers/textBox.js +34 -34
- package/dist/form/widget/widget.js +141 -141
- 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/css/form.css.map +1 -1
- package/dist/generis/form/form.js +73 -73
- 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 +38 -38
- package/dist/generis/widget/checkBox/checkBox.js +39 -39
- package/dist/generis/widget/comboBox/comboBox.js +32 -32
- 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 +40 -40
- package/dist/generis/widget/loader.js +20 -20
- package/dist/generis/widget/textBox/textBox.js +27 -27
- package/dist/generis/widget/widget.js +47 -47
- package/dist/groupedComboBox.js +36 -36
- package/dist/groupvalidator.js +19 -19
- package/dist/hider.js +41 -41
- package/dist/highlighter.js +278 -278
- package/dist/image/ImgStateActive/extractLabel.js +20 -20
- package/dist/image/ImgStateActive/helper.js +16 -16
- package/dist/image/ImgStateActive/initHelper.js +85 -85
- package/dist/image/ImgStateActive/initMediaEditor.js +48 -48
- package/dist/image/ImgStateActive/mediaSizer.js +32 -32
- package/dist/image/ImgStateActive.js +104 -104
- 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/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +102 -102
- 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/css/listbox.css.map +1 -1
- package/dist/listbox.js +84 -84
- package/dist/liststyler.js +57 -57
- package/dist/loadingButton/css/button.css +7 -7
- package/dist/loadingButton/css/button.css.map +1 -1
- package/dist/loadingButton/loadingButton.js +35 -35
- package/dist/lock.js +112 -112
- package/dist/login/login.js +87 -87
- package/dist/maths/calculator/basicCalculator.js +50 -50
- package/dist/maths/calculator/calculatorComponent.js +29 -29
- package/dist/maths/calculator/core/areaBroker.js +25 -25
- package/dist/maths/calculator/core/board.js +300 -300
- package/dist/maths/calculator/core/expression.js +98 -98
- package/dist/maths/calculator/core/labels.js +16 -16
- 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 +75 -75
- 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 +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 +48 -48
- 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 +47 -47
- package/dist/maths/calculator/pluginsLoader.js +21 -21
- package/dist/maths/calculator/scientificCalculator.js +78 -78
- package/dist/mediaEditor/mediaEditorComponent.js +51 -51
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +16 -16
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +47 -47
- 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 +140 -140
- 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 +52 -52
- package/dist/mediaplayer/players/youtube.js +39 -39
- 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 +51 -51
- package/dist/mediaplayer.js +447 -447
- package/dist/mediasizer.js +122 -122
- package/dist/modal.js +87 -87
- package/dist/movableComponent.js +35 -35
- package/dist/pageSizeSelector.js +31 -31
- package/dist/pageStatus.js +33 -33
- package/dist/pagination/css/pagination.css +7 -7
- package/dist/pagination/css/pagination.css.map +1 -1
- package/dist/pagination/paginationStrategy.js +23 -23
- package/dist/pagination/providers/pages.js +24 -24
- package/dist/pagination/providers/simple.js +22 -22
- package/dist/pagination.js +45 -45
- package/dist/previewer.js +67 -67
- package/dist/progressbar.js +58 -58
- package/dist/propertySelector/css/propertySelector.css +7 -7
- package/dist/propertySelector/css/propertySelector.css.map +1 -1
- package/dist/propertySelector/propertySelector.js +86 -86
- package/dist/report.js +73 -73
- package/dist/resource/css/selector.css +7 -7
- package/dist/resource/css/selector.css.map +1 -1
- package/dist/resource/filters.js +60 -60
- package/dist/resource/list.js +53 -53
- package/dist/resource/selectable.js +92 -92
- package/dist/resource/selector.js +182 -182
- package/dist/resource/tree.js +91 -91
- package/dist/resourcemgr/css/resourcemgr.css +7 -7
- package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
- package/dist/resourcemgr/fileBrowser.js +75 -75
- package/dist/resourcemgr/fileSelector.js +45 -45
- package/dist/resourcemgr/util/updatePermissions.js +4 -4
- package/dist/resourcemgr.js +49 -49
- package/dist/scroller.js +26 -26
- package/dist/searchModal/advancedSearch.js +155 -155
- package/dist/searchModal/css/advancedSearch.css +7 -7
- package/dist/searchModal/css/advancedSearch.css.map +1 -1
- package/dist/searchModal/css/searchModal.css +7 -7
- package/dist/searchModal/css/searchModal.css.map +1 -1
- package/dist/searchModal.js +134 -134
- package/dist/selecter.js +6 -6
- package/dist/stacker.js +43 -43
- package/dist/switch/css/switch.css +7 -7
- package/dist/switch/css/switch.css.map +1 -1
- package/dist/switch/switch.js +62 -62
- package/dist/tableModel.js +33 -33
- package/dist/tabs/css/tabs.css +12 -12
- package/dist/tabs/css/tabs.css.map +1 -1
- package/dist/tabs.js +220 -220
- package/dist/taskQueue/css/taskQueue.css +7 -7
- package/dist/taskQueue/css/taskQueue.css.map +1 -1
- package/dist/taskQueue/status.js +59 -59
- package/dist/taskQueue/table.js +54 -54
- package/dist/taskQueue/taskQueue.js +18 -18
- package/dist/taskQueue/taskQueueModel.js +102 -102
- package/dist/taskQueue.js +47 -47
- 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 +39 -39
- package/dist/taskQueueButton/taskable.js +41 -41
- package/dist/taskQueueButton/treeButton.js +43 -43
- package/dist/themeLoader.js +75 -75
- package/dist/themes.js +84 -84
- package/dist/toggler.js +57 -57
- package/dist/tooltip.js +41 -41
- package/dist/tooltipster.js +17 -17
- package/dist/transformer.js +117 -117
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/dist/tristateCheckboxGroup.js +62 -62
- package/dist/uploader.js +145 -145
- package/dist/validator/validators.js +48 -48
- package/dist/validator.js +23 -23
- package/dist/waitForMedia.js +33 -33
- package/dist/waitingDialog/css/waitingDialog.css +7 -7
- package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
- package/dist/waitingDialog/waitingDialog.js +54 -54
- package/package.json +110 -110
- package/scss/basic.scss +16 -16
- package/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +60 -60
- package/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -59
- package/scss/font/tao/tao.svg +235 -235
- 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 -93
- package/scss/inc/_feedback.scss +154 -154
- 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 +227 -227
- package/scss/inc/fonts/_tao-icon-def.scss +12 -12
- package/scss/inc/fonts/_tao-icon-vars.scss +241 -241
- 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/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 -7
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/autocomplete/scss/autocomplete.scss +37 -37
- package/src/autocomplete.js +1027 -1027
- package/src/autoscroll.js +57 -57
- package/src/badge/badge.js +119 -119
- package/src/badge/css/badge.css +7 -7
- 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 +742 -742
- 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 +294 -294
- package/src/css/basic.css +104 -104
- 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 +179 -179
- 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 +7 -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 -149
- 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 +220 -220
- 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 +553 -553
- package/src/feedback/feedback.tpl +7 -7
- package/src/feedback.js +295 -295
- package/src/figure/FigureStateActive.js +184 -184
- package/src/filesender.js +112 -112
- package/src/filter/template.tpl +5 -5
- package/src/filter.js +129 -129
- 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 +47 -47
- package/src/formValidator/formValidator.js +253 -253
- package/src/formValidator/highlighters/highlighter.js +103 -103
- package/src/formValidator/highlighters/message.js +68 -68
- 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 +66 -66
- 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 +131 -131
- 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 +64 -64
- 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 +1192 -1192
- 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 +309 -309
- package/src/inplacer.js +315 -315
- package/src/interactUtils.js +140 -140
- package/src/itemButtonList/css/item-button-list.css +23 -23
- 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 +285 -285
- package/src/keyNavigation/navigator.js +535 -535
- 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 +252 -252
- 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 +393 -393
- package/src/login/login.js +317 -317
- 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 +190 -190
- 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 +110 -110
- 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 +190 -190
- 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 +106 -106
- 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 +7 -7
- package/src/propertySelector/css/propertySelector.css.map +1 -1
- package/src/propertySelector/propertySelector.js +286 -286
- package/src/propertySelector/scss/propertySelector.scss +66 -66
- package/src/propertySelector/tpl/property-description.tpl +12 -12
- package/src/propertySelector/tpl/property-selector.tpl +6 -6
- 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 +398 -398
- 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 +322 -322
- 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 -638
- package/src/searchModal/css/advancedSearch.css +7 -7
- package/src/searchModal/css/advancedSearch.css.map +1 -1
- package/src/searchModal/css/searchModal.css +7 -7
- package/src/searchModal/css/searchModal.css.map +1 -1
- package/src/searchModal/scss/advancedSearch.scss +171 -171
- package/src/searchModal/scss/searchModal.scss +393 -393
- 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 +27 -27
- package/src/searchModal/tpl/list-checkbox-criterion.tpl +17 -17
- package/src/searchModal/tpl/list-select-criterion.tpl +12 -12
- package/src/searchModal/tpl/text-criterion.tpl +11 -11
- package/src/searchModal.js +760 -760
- 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 +216 -216
- 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 +108 -108
- 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 +217 -217
- package/src/validator.js +262 -262
- package/src/waitForMedia.js +82 -82
- package/src/waitingDialog/css/waitingDialog.css +7 -7
- package/src/waitingDialog/css/waitingDialog.css.map +1 -1
- package/src/waitingDialog/scss/waitingDialog.scss +34 -34
- package/src/waitingDialog/waitingDialog.js +240 -240
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="calculator-screen simple-screen">
|
|
2
|
-
<div class="screen-panel history">{{{history}}}</div>
|
|
3
|
-
<div class="screen-panel expression">{{{expression}}}</div>
|
|
1
|
+
<div class="calculator-screen simple-screen">
|
|
2
|
+
<div class="screen-panel history">{{{history}}}</div>
|
|
3
|
+
<div class="screen-panel expression">{{{expression}}}</div>
|
|
4
4
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="history-line">
|
|
2
|
-
<div class="history-expression">{{{expression}}}</div>
|
|
3
|
-
<div class="history-result">{{{result}}}</div>
|
|
1
|
+
<div class="history-line">
|
|
2
|
+
<div class="history-expression">{{{expression}}}</div>
|
|
3
|
+
<div class="history-result">{{{result}}}</div>
|
|
4
4
|
</div>
|
|
@@ -1,190 +1,190 @@
|
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Plugin that manages a simple screen for the calculator, with configurable layout.
|
|
20
|
-
* @author Jean-Sébastien Conan <jean-sebastien@taotesting.com>
|
|
21
|
-
*/
|
|
22
|
-
import $ from 'jquery';
|
|
23
|
-
import _ from 'lodash';
|
|
24
|
-
import nsHelper from 'util/namespace';
|
|
25
|
-
import scrollHelper from 'ui/scroller';
|
|
26
|
-
import registeredTerms from 'ui/maths/calculator/core/terms';
|
|
27
|
-
import expressionHelper from 'ui/maths/calculator/core/expression';
|
|
28
|
-
import pluginFactory from 'ui/maths/calculator/core/plugin';
|
|
29
|
-
import historyTpl from 'ui/maths/calculator/plugins/screen/simpleScreen/history';
|
|
30
|
-
import defaultScreenTpl from 'ui/maths/calculator/plugins/screen/simpleScreen/defaultTemplate';
|
|
31
|
-
|
|
32
|
-
var pluginName = 'simpleScreen';
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Default displayed value
|
|
36
|
-
* @type {String}
|
|
37
|
-
*/
|
|
38
|
-
var defaultExpression = '0';
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Default plugin config
|
|
42
|
-
* @type {Object}
|
|
43
|
-
*/
|
|
44
|
-
var defaultConfig = {
|
|
45
|
-
// the layout of the screen
|
|
46
|
-
layout: defaultScreenTpl,
|
|
47
|
-
|
|
48
|
-
// number of decimal digits shown for decimal numbers
|
|
49
|
-
decimalDigits: 5
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export default pluginFactory(
|
|
53
|
-
{
|
|
54
|
-
name: pluginName,
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Called when the plugin should be initialized.
|
|
58
|
-
*/
|
|
59
|
-
init: function init() {
|
|
60
|
-
var calculator = this.getCalculator();
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Reset the current expression
|
|
64
|
-
*/
|
|
65
|
-
function reset() {
|
|
66
|
-
calculator.replace(calculator.getConfig().expression || defaultExpression);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
reset();
|
|
70
|
-
|
|
71
|
-
calculator
|
|
72
|
-
.after(nsHelper.namespaceAll('expressionchange', pluginName), function (expression) {
|
|
73
|
-
// ensure the displayed expression is at least a 0 (never be an empty string)
|
|
74
|
-
if (!expression.trim()) {
|
|
75
|
-
_.defer(reset);
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
.after(nsHelper.namespaceAll('evaluate', pluginName), function () {
|
|
79
|
-
// when the expression is computed, replace it with the result as a variable
|
|
80
|
-
calculator.replace(registeredTerms.ANS.value);
|
|
81
|
-
})
|
|
82
|
-
.on(nsHelper.namespaceAll('clear', pluginName), reset);
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Called when the plugin should be rendered.
|
|
87
|
-
*/
|
|
88
|
-
render: function render() {
|
|
89
|
-
var self = this;
|
|
90
|
-
var calculator = this.getCalculator();
|
|
91
|
-
var areaBroker = calculator.getAreaBroker();
|
|
92
|
-
var pluginConfig = this.getConfig();
|
|
93
|
-
var tokenizer = calculator.getTokenizer();
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Auto scroll to the last child of a container
|
|
97
|
-
* @param {jQuery} $container
|
|
98
|
-
* @param {String} [sel]
|
|
99
|
-
*/
|
|
100
|
-
function autoScroll($container, sel) {
|
|
101
|
-
scrollHelper.scrollTo($container.find(':last-child ' + (sel || '')), $container);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Renders the expression into a string
|
|
106
|
-
* @param {String|Object|token[]} expression
|
|
107
|
-
* @returns {String}
|
|
108
|
-
*/
|
|
109
|
-
function renderExpression(expression) {
|
|
110
|
-
var variables = expressionHelper.roundLastResultVariable(
|
|
111
|
-
calculator.getVariables(),
|
|
112
|
-
pluginConfig.decimalDigits
|
|
113
|
-
);
|
|
114
|
-
return expressionHelper.render(expression, variables, tokenizer);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Updates the expression area
|
|
119
|
-
* @param {String|Object|token[]} tokens
|
|
120
|
-
*/
|
|
121
|
-
function showExpression(tokens) {
|
|
122
|
-
self.controls.$expression.html(renderExpression(tokens));
|
|
123
|
-
autoScroll(self.controls.$expression);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
if (!_.isFunction(pluginConfig.layout)) {
|
|
127
|
-
throw new TypeError('The screen plugin requires a template to render!');
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
this.$layout = $(
|
|
131
|
-
pluginConfig.layout(
|
|
132
|
-
_.defaults(
|
|
133
|
-
{
|
|
134
|
-
expression: renderExpression(calculator.getTokens())
|
|
135
|
-
},
|
|
136
|
-
pluginConfig
|
|
137
|
-
)
|
|
138
|
-
)
|
|
139
|
-
);
|
|
140
|
-
|
|
141
|
-
this.controls = {
|
|
142
|
-
$history: this.$layout.find('.history'),
|
|
143
|
-
$expression: this.$layout.find('.expression')
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
calculator
|
|
147
|
-
.on(nsHelper.namespaceAll('command-clearAll', pluginName), function () {
|
|
148
|
-
self.controls.$history.empty();
|
|
149
|
-
})
|
|
150
|
-
.on(nsHelper.namespaceAll('expressionchange', pluginName), function () {
|
|
151
|
-
calculator.setState('error', false);
|
|
152
|
-
showExpression(calculator.getTokens());
|
|
153
|
-
})
|
|
154
|
-
.on(nsHelper.namespaceAll('evaluate', pluginName), function (result) {
|
|
155
|
-
self.controls.$history.html(
|
|
156
|
-
historyTpl({
|
|
157
|
-
expression: renderExpression(calculator.getTokens()),
|
|
158
|
-
result: renderExpression(result)
|
|
159
|
-
})
|
|
160
|
-
);
|
|
161
|
-
autoScroll(self.controls.$history, '.history-result');
|
|
162
|
-
})
|
|
163
|
-
.after(nsHelper.namespaceAll('evaluate', pluginName), function (result) {
|
|
164
|
-
if (expressionHelper.containsError(result.value)) {
|
|
165
|
-
showExpression(result);
|
|
166
|
-
}
|
|
167
|
-
})
|
|
168
|
-
.on(nsHelper.namespaceAll('syntaxerror', pluginName), function () {
|
|
169
|
-
calculator.setState('error', true);
|
|
170
|
-
showExpression(calculator.getExpression() + registeredTerms.ERROR.value);
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
areaBroker.getScreenArea().append(this.$layout);
|
|
174
|
-
},
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Called when the plugin is destroyed. Mostly when the host is destroyed itself.
|
|
178
|
-
*/
|
|
179
|
-
destroy: function destroy() {
|
|
180
|
-
var calculator = this.getCalculator();
|
|
181
|
-
if (this.$layout) {
|
|
182
|
-
this.$layout.off('.' + pluginName).remove();
|
|
183
|
-
this.$layout = null;
|
|
184
|
-
}
|
|
185
|
-
this.controls = null;
|
|
186
|
-
calculator.off('.' + pluginName);
|
|
187
|
-
}
|
|
188
|
-
},
|
|
189
|
-
defaultConfig
|
|
190
|
-
);
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Plugin that manages a simple screen for the calculator, with configurable layout.
|
|
20
|
+
* @author Jean-Sébastien Conan <jean-sebastien@taotesting.com>
|
|
21
|
+
*/
|
|
22
|
+
import $ from 'jquery';
|
|
23
|
+
import _ from 'lodash';
|
|
24
|
+
import nsHelper from 'util/namespace';
|
|
25
|
+
import scrollHelper from 'ui/scroller';
|
|
26
|
+
import registeredTerms from 'ui/maths/calculator/core/terms';
|
|
27
|
+
import expressionHelper from 'ui/maths/calculator/core/expression';
|
|
28
|
+
import pluginFactory from 'ui/maths/calculator/core/plugin';
|
|
29
|
+
import historyTpl from 'ui/maths/calculator/plugins/screen/simpleScreen/history';
|
|
30
|
+
import defaultScreenTpl from 'ui/maths/calculator/plugins/screen/simpleScreen/defaultTemplate';
|
|
31
|
+
|
|
32
|
+
var pluginName = 'simpleScreen';
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Default displayed value
|
|
36
|
+
* @type {String}
|
|
37
|
+
*/
|
|
38
|
+
var defaultExpression = '0';
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Default plugin config
|
|
42
|
+
* @type {Object}
|
|
43
|
+
*/
|
|
44
|
+
var defaultConfig = {
|
|
45
|
+
// the layout of the screen
|
|
46
|
+
layout: defaultScreenTpl,
|
|
47
|
+
|
|
48
|
+
// number of decimal digits shown for decimal numbers
|
|
49
|
+
decimalDigits: 5
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default pluginFactory(
|
|
53
|
+
{
|
|
54
|
+
name: pluginName,
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Called when the plugin should be initialized.
|
|
58
|
+
*/
|
|
59
|
+
init: function init() {
|
|
60
|
+
var calculator = this.getCalculator();
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Reset the current expression
|
|
64
|
+
*/
|
|
65
|
+
function reset() {
|
|
66
|
+
calculator.replace(calculator.getConfig().expression || defaultExpression);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
reset();
|
|
70
|
+
|
|
71
|
+
calculator
|
|
72
|
+
.after(nsHelper.namespaceAll('expressionchange', pluginName), function (expression) {
|
|
73
|
+
// ensure the displayed expression is at least a 0 (never be an empty string)
|
|
74
|
+
if (!expression.trim()) {
|
|
75
|
+
_.defer(reset);
|
|
76
|
+
}
|
|
77
|
+
})
|
|
78
|
+
.after(nsHelper.namespaceAll('evaluate', pluginName), function () {
|
|
79
|
+
// when the expression is computed, replace it with the result as a variable
|
|
80
|
+
calculator.replace(registeredTerms.ANS.value);
|
|
81
|
+
})
|
|
82
|
+
.on(nsHelper.namespaceAll('clear', pluginName), reset);
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Called when the plugin should be rendered.
|
|
87
|
+
*/
|
|
88
|
+
render: function render() {
|
|
89
|
+
var self = this;
|
|
90
|
+
var calculator = this.getCalculator();
|
|
91
|
+
var areaBroker = calculator.getAreaBroker();
|
|
92
|
+
var pluginConfig = this.getConfig();
|
|
93
|
+
var tokenizer = calculator.getTokenizer();
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Auto scroll to the last child of a container
|
|
97
|
+
* @param {jQuery} $container
|
|
98
|
+
* @param {String} [sel]
|
|
99
|
+
*/
|
|
100
|
+
function autoScroll($container, sel) {
|
|
101
|
+
scrollHelper.scrollTo($container.find(':last-child ' + (sel || '')), $container);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Renders the expression into a string
|
|
106
|
+
* @param {String|Object|token[]} expression
|
|
107
|
+
* @returns {String}
|
|
108
|
+
*/
|
|
109
|
+
function renderExpression(expression) {
|
|
110
|
+
var variables = expressionHelper.roundLastResultVariable(
|
|
111
|
+
calculator.getVariables(),
|
|
112
|
+
pluginConfig.decimalDigits
|
|
113
|
+
);
|
|
114
|
+
return expressionHelper.render(expression, variables, tokenizer);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Updates the expression area
|
|
119
|
+
* @param {String|Object|token[]} tokens
|
|
120
|
+
*/
|
|
121
|
+
function showExpression(tokens) {
|
|
122
|
+
self.controls.$expression.html(renderExpression(tokens));
|
|
123
|
+
autoScroll(self.controls.$expression);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!_.isFunction(pluginConfig.layout)) {
|
|
127
|
+
throw new TypeError('The screen plugin requires a template to render!');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
this.$layout = $(
|
|
131
|
+
pluginConfig.layout(
|
|
132
|
+
_.defaults(
|
|
133
|
+
{
|
|
134
|
+
expression: renderExpression(calculator.getTokens())
|
|
135
|
+
},
|
|
136
|
+
pluginConfig
|
|
137
|
+
)
|
|
138
|
+
)
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
this.controls = {
|
|
142
|
+
$history: this.$layout.find('.history'),
|
|
143
|
+
$expression: this.$layout.find('.expression')
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
calculator
|
|
147
|
+
.on(nsHelper.namespaceAll('command-clearAll', pluginName), function () {
|
|
148
|
+
self.controls.$history.empty();
|
|
149
|
+
})
|
|
150
|
+
.on(nsHelper.namespaceAll('expressionchange', pluginName), function () {
|
|
151
|
+
calculator.setState('error', false);
|
|
152
|
+
showExpression(calculator.getTokens());
|
|
153
|
+
})
|
|
154
|
+
.on(nsHelper.namespaceAll('evaluate', pluginName), function (result) {
|
|
155
|
+
self.controls.$history.html(
|
|
156
|
+
historyTpl({
|
|
157
|
+
expression: renderExpression(calculator.getTokens()),
|
|
158
|
+
result: renderExpression(result)
|
|
159
|
+
})
|
|
160
|
+
);
|
|
161
|
+
autoScroll(self.controls.$history, '.history-result');
|
|
162
|
+
})
|
|
163
|
+
.after(nsHelper.namespaceAll('evaluate', pluginName), function (result) {
|
|
164
|
+
if (expressionHelper.containsError(result.value)) {
|
|
165
|
+
showExpression(result);
|
|
166
|
+
}
|
|
167
|
+
})
|
|
168
|
+
.on(nsHelper.namespaceAll('syntaxerror', pluginName), function () {
|
|
169
|
+
calculator.setState('error', true);
|
|
170
|
+
showExpression(calculator.getExpression() + registeredTerms.ERROR.value);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
areaBroker.getScreenArea().append(this.$layout);
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Called when the plugin is destroyed. Mostly when the host is destroyed itself.
|
|
178
|
+
*/
|
|
179
|
+
destroy: function destroy() {
|
|
180
|
+
var calculator = this.getCalculator();
|
|
181
|
+
if (this.$layout) {
|
|
182
|
+
this.$layout.off('.' + pluginName).remove();
|
|
183
|
+
this.$layout = null;
|
|
184
|
+
}
|
|
185
|
+
this.controls = null;
|
|
186
|
+
calculator.off('.' + pluginName);
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
defaultConfig
|
|
190
|
+
);
|
|
@@ -1,46 +1,46 @@
|
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* @author Jean-Sébastien Conan <jean-sebastien@taotesting.com>
|
|
20
|
-
*/
|
|
21
|
-
import context from 'context';
|
|
22
|
-
import pluginLoaderFactory from 'core/pluginLoader';
|
|
23
|
-
import pluginDegradFactory from 'ui/maths/calculator/plugins/core/degrad';
|
|
24
|
-
import pluginHistoryFactory from 'ui/maths/calculator/plugins/core/history';
|
|
25
|
-
import pluginRemindFactory from 'ui/maths/calculator/plugins/core/remind';
|
|
26
|
-
import pluginStepNavigationFactory from 'ui/maths/calculator/plugins/core/stepNavigation';
|
|
27
|
-
import _ from 'lodash';
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Load the plugins dynamically
|
|
31
|
-
* @param {Object} loadedPlugins - a collection of already loaded plugins
|
|
32
|
-
* @param {Object} dynamicPlugins - a collection of plugins to load
|
|
33
|
-
* @returns {Promise} resolves with the list of loaded plugins
|
|
34
|
-
*/
|
|
35
|
-
export default function loadPlugins(loadedPlugins, dynamicPlugins) {
|
|
36
|
-
// The list of default plugins is directly built here instead of using a module variable to ensure the object
|
|
37
|
-
// is unique to the instance. This wil avoid global polluting by successive instances, as nested objects and
|
|
38
|
-
// arrays might be simply copied.
|
|
39
|
-
var defaultPlugins = {
|
|
40
|
-
core: [pluginDegradFactory, pluginHistoryFactory, pluginRemindFactory, pluginStepNavigationFactory]
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
return pluginLoaderFactory(_.merge({}, defaultPlugins, loadedPlugins))
|
|
44
|
-
.addList(dynamicPlugins)
|
|
45
|
-
.load(context.bundle);
|
|
46
|
-
}
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @author Jean-Sébastien Conan <jean-sebastien@taotesting.com>
|
|
20
|
+
*/
|
|
21
|
+
import context from 'context';
|
|
22
|
+
import pluginLoaderFactory from 'core/pluginLoader';
|
|
23
|
+
import pluginDegradFactory from 'ui/maths/calculator/plugins/core/degrad';
|
|
24
|
+
import pluginHistoryFactory from 'ui/maths/calculator/plugins/core/history';
|
|
25
|
+
import pluginRemindFactory from 'ui/maths/calculator/plugins/core/remind';
|
|
26
|
+
import pluginStepNavigationFactory from 'ui/maths/calculator/plugins/core/stepNavigation';
|
|
27
|
+
import _ from 'lodash';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Load the plugins dynamically
|
|
31
|
+
* @param {Object} loadedPlugins - a collection of already loaded plugins
|
|
32
|
+
* @param {Object} dynamicPlugins - a collection of plugins to load
|
|
33
|
+
* @returns {Promise} resolves with the list of loaded plugins
|
|
34
|
+
*/
|
|
35
|
+
export default function loadPlugins(loadedPlugins, dynamicPlugins) {
|
|
36
|
+
// The list of default plugins is directly built here instead of using a module variable to ensure the object
|
|
37
|
+
// is unique to the instance. This wil avoid global polluting by successive instances, as nested objects and
|
|
38
|
+
// arrays might be simply copied.
|
|
39
|
+
var defaultPlugins = {
|
|
40
|
+
core: [pluginDegradFactory, pluginHistoryFactory, pluginRemindFactory, pluginStepNavigationFactory]
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return pluginLoaderFactory(_.merge({}, defaultPlugins, loadedPlugins))
|
|
44
|
+
.addList(dynamicPlugins)
|
|
45
|
+
.load(context.bundle);
|
|
46
|
+
}
|
|
@@ -1,74 +1,74 @@
|
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* @author Jean-Sébastien Conan <jean-sebastien@taotesting.com>
|
|
20
|
-
*/
|
|
21
|
-
import _ from 'lodash';
|
|
22
|
-
import __ from 'i18n';
|
|
23
|
-
import defaultCalculatorFactory from 'ui/maths/calculator/defaultCalculator';
|
|
24
|
-
import pluginSign from 'ui/maths/calculator/plugins/modifiers/sign';
|
|
25
|
-
import pluginPow10 from 'ui/maths/calculator/plugins/modifiers/pow10';
|
|
26
|
-
import keyboardTpl from 'ui/maths/calculator/tpl/scientificKeyboard';
|
|
27
|
-
import screenTpl from 'ui/maths/calculator/tpl/scientificScreen';
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Default config values
|
|
31
|
-
* @type {Object}
|
|
32
|
-
*/
|
|
33
|
-
var defaultConfig = {
|
|
34
|
-
title: __('Scientific Calculator'),
|
|
35
|
-
width: 450,
|
|
36
|
-
height: 400,
|
|
37
|
-
minWidth: 250,
|
|
38
|
-
minHeight: 220
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Creates a scientific calculator component. Screen and keyboard layout are replaceable.
|
|
43
|
-
* @param {Object} config - Some config entries (@see ui/dynamicComponent)
|
|
44
|
-
* @param {Function} [config.keyboardLayout] - A Handlebars template for the keyboard
|
|
45
|
-
* @param {Function} [config.screenLayout] - A Handlebars template for the screen
|
|
46
|
-
* @param {Object} [config.calculator] - Config for the calculator (@see ui/maths/calculator/core/board)
|
|
47
|
-
* @returns {dynamicComponent}
|
|
48
|
-
*/
|
|
49
|
-
export default function scientificCalculator(config) {
|
|
50
|
-
// The plugins config is directly built here instead of using a module variable to ensure the object is unique
|
|
51
|
-
// to the instance. This wil avoid global polluting by successive instances, as nested objects and arrays might
|
|
52
|
-
// be simply copied.
|
|
53
|
-
return defaultCalculatorFactory(
|
|
54
|
-
_.merge(
|
|
55
|
-
{
|
|
56
|
-
loadedPlugins: {
|
|
57
|
-
modifiers: [pluginSign, pluginPow10]
|
|
58
|
-
},
|
|
59
|
-
calculator: {
|
|
60
|
-
plugins: {
|
|
61
|
-
templateKeyboard: {
|
|
62
|
-
layout: keyboardTpl
|
|
63
|
-
},
|
|
64
|
-
simpleScreen: {
|
|
65
|
-
layout: screenTpl
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
defaultConfig,
|
|
71
|
-
config
|
|
72
|
-
)
|
|
73
|
-
);
|
|
74
|
-
}
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @author Jean-Sébastien Conan <jean-sebastien@taotesting.com>
|
|
20
|
+
*/
|
|
21
|
+
import _ from 'lodash';
|
|
22
|
+
import __ from 'i18n';
|
|
23
|
+
import defaultCalculatorFactory from 'ui/maths/calculator/defaultCalculator';
|
|
24
|
+
import pluginSign from 'ui/maths/calculator/plugins/modifiers/sign';
|
|
25
|
+
import pluginPow10 from 'ui/maths/calculator/plugins/modifiers/pow10';
|
|
26
|
+
import keyboardTpl from 'ui/maths/calculator/tpl/scientificKeyboard';
|
|
27
|
+
import screenTpl from 'ui/maths/calculator/tpl/scientificScreen';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Default config values
|
|
31
|
+
* @type {Object}
|
|
32
|
+
*/
|
|
33
|
+
var defaultConfig = {
|
|
34
|
+
title: __('Scientific Calculator'),
|
|
35
|
+
width: 450,
|
|
36
|
+
height: 400,
|
|
37
|
+
minWidth: 250,
|
|
38
|
+
minHeight: 220
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Creates a scientific calculator component. Screen and keyboard layout are replaceable.
|
|
43
|
+
* @param {Object} config - Some config entries (@see ui/dynamicComponent)
|
|
44
|
+
* @param {Function} [config.keyboardLayout] - A Handlebars template for the keyboard
|
|
45
|
+
* @param {Function} [config.screenLayout] - A Handlebars template for the screen
|
|
46
|
+
* @param {Object} [config.calculator] - Config for the calculator (@see ui/maths/calculator/core/board)
|
|
47
|
+
* @returns {dynamicComponent}
|
|
48
|
+
*/
|
|
49
|
+
export default function scientificCalculator(config) {
|
|
50
|
+
// The plugins config is directly built here instead of using a module variable to ensure the object is unique
|
|
51
|
+
// to the instance. This wil avoid global polluting by successive instances, as nested objects and arrays might
|
|
52
|
+
// be simply copied.
|
|
53
|
+
return defaultCalculatorFactory(
|
|
54
|
+
_.merge(
|
|
55
|
+
{
|
|
56
|
+
loadedPlugins: {
|
|
57
|
+
modifiers: [pluginSign, pluginPow10]
|
|
58
|
+
},
|
|
59
|
+
calculator: {
|
|
60
|
+
plugins: {
|
|
61
|
+
templateKeyboard: {
|
|
62
|
+
layout: keyboardTpl
|
|
63
|
+
},
|
|
64
|
+
simpleScreen: {
|
|
65
|
+
layout: screenTpl
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
defaultConfig,
|
|
71
|
+
config
|
|
72
|
+
)
|
|
73
|
+
);
|
|
74
|
+
}
|