@oat-sa/tao-core-ui 1.60.2 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +339 -339
- package/README.md +23 -18
- package/dist/actionbar.js +393 -410
- package/dist/adder.js +143 -156
- package/dist/animable/absorbable/absorbable.js +208 -211
- package/dist/animable/absorbable/css/absorb.css +7 -8
- package/dist/animable/absorbable/css/absorb.css.map +1 -1
- package/dist/animable/pulsable/css/pulse.css +7 -7
- package/dist/animable/pulsable/css/pulse.css.map +1 -1
- package/dist/animable/pulsable/pulsable.js +174 -174
- package/dist/areaBroker.js +59 -72
- package/dist/autocomplete/css/autocomplete.css +7 -8
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +494 -604
- package/dist/autoscroll.js +23 -25
- package/dist/badge/badge.js +201 -199
- package/dist/badge/css/badge.css +7 -8
- package/dist/badge/css/badge.css.map +1 -1
- package/dist/breadcrumbs/css/breadcrumbs.css +7 -7
- package/dist/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/dist/breadcrumbs.js +286 -285
- package/dist/btngrouper.js +83 -95
- package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/dist/bulkActionPopup.js +503 -503
- package/dist/button.js +300 -293
- package/dist/calculator/css/calculator.css +10 -10
- package/dist/calculator/css/calculator.css.map +1 -1
- package/dist/calculator.js +59 -72
- package/dist/cascadingComboBox.js +257 -256
- package/dist/ckeditor/ckConfigurator.js +130 -154
- package/dist/ckeditor/dtdHandler.js +305 -345
- package/dist/class/css/selector.css +7 -7
- package/dist/class/css/selector.css.map +1 -1
- package/dist/class/selector.js +437 -470
- package/dist/component/alignable.js +97 -121
- package/dist/component/containable.js +53 -58
- package/dist/component/css/components.css +7 -7
- package/dist/component/css/components.css.map +1 -1
- package/dist/component/css/windowComponent.css +7 -7
- package/dist/component/css/windowComponent.css.map +1 -1
- package/dist/component/draggable.js +34 -36
- package/dist/component/placeable.js +84 -102
- package/dist/component/resizable.js +79 -89
- package/dist/component/stackable.js +21 -27
- package/dist/component/windowed.js +284 -297
- package/dist/component.js +439 -467
- package/dist/container.js +79 -98
- package/dist/contextualPopup/css/contextualPopup.css +7 -7
- package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
- package/dist/contextualPopup.js +417 -436
- package/dist/dashboard/css/dashboard.css +7 -7
- package/dist/dashboard/css/dashboard.css.map +1 -1
- package/dist/dashboard.js +302 -305
- package/dist/datalist/css/datalist.css +7 -7
- package/dist/datalist/css/datalist.css.map +1 -1
- package/dist/datalist.js +783 -791
- package/dist/datatable/css/datatable.css +11 -7
- package/dist/datatable/css/datatable.css.map +1 -1
- package/dist/datatable/filterStrategy/filterStrategy.js +28 -30
- package/dist/datatable/filterStrategy/multiple.js +26 -45
- package/dist/datatable/filterStrategy/single.js +28 -40
- package/dist/datatable.js +1591 -1616
- package/dist/dateRange/css/dateRange.css +7 -7
- package/dist/dateRange/css/dateRange.css.map +1 -1
- package/dist/dateRange/dateRange.js +398 -412
- package/dist/datetime/css/picker.css +7 -7
- package/dist/datetime/css/picker.css.map +1 -1
- package/dist/datetime/picker.js +670 -703
- package/dist/deleter.js +383 -398
- package/dist/destination/css/selector.css +7 -7
- package/dist/destination/css/selector.css.map +1 -1
- package/dist/destination/selector.js +295 -293
- package/dist/dialog/alert.js +30 -32
- package/dist/dialog/confirm.js +29 -32
- package/dist/dialog/confirmDelete.js +223 -221
- package/dist/dialog.js +651 -695
- package/dist/disabler.js +108 -119
- package/dist/documentViewer/css/documentViewer.css +7 -7
- package/dist/documentViewer/css/documentViewer.css.map +1 -1
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +172 -169
- package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +32 -29
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +523 -564
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +376 -393
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +53 -68
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +517 -567
- package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +73 -96
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +381 -392
- package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +125 -152
- package/dist/documentViewer/providers/pdfViewer.js +189 -191
- package/dist/documentViewer/viewerFactory.js +76 -81
- package/dist/documentViewer.js +303 -311
- package/dist/dropdown/css/dropdown.css +7 -7
- package/dist/dropdown/css/dropdown.css.map +1 -1
- package/dist/dropdown.js +392 -412
- package/dist/durationer.js +77 -85
- package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
- package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/dist/dynamicComponent.js +595 -630
- package/dist/feedback.js +365 -375
- package/dist/figure/FigureStateActive.js +246 -296
- package/dist/filesender.js +44 -54
- package/dist/filter.js +244 -240
- package/dist/form/css/dropdownForm.css +7 -7
- package/dist/form/css/dropdownForm.css.map +1 -1
- package/dist/form/css/form.css +7 -7
- package/dist/form/css/form.css.map +1 -1
- package/dist/form/dropdownForm.js +357 -362
- package/dist/form/form.js +703 -984
- package/dist/form/simpleForm.js +74 -77
- package/dist/form/validator/css/validator.css +7 -7
- package/dist/form/validator/css/validator.css.map +1 -1
- package/dist/form/validator/renderer.js +235 -241
- package/dist/form/validator/validator.js +181 -267
- package/dist/form/widget/css/widget.css +7 -7
- package/dist/form/widget/css/widget.css.map +1 -1
- package/dist/form/widget/definitions.js +27 -28
- package/dist/form/widget/loader.js +16 -16
- package/dist/form/widget/providers/checkBox.js +257 -264
- package/dist/form/widget/providers/comboBox.js +194 -193
- package/dist/form/widget/providers/default.js +44 -50
- package/dist/form/widget/providers/hidden.js +179 -176
- package/dist/form/widget/providers/hiddenBox.js +262 -272
- package/dist/form/widget/providers/radioBox.js +222 -223
- package/dist/form/widget/providers/textArea.js +197 -193
- package/dist/form/widget/providers/textBox.js +36 -37
- package/dist/form/widget/widget.js +480 -508
- package/dist/form.js +12 -17
- package/dist/formValidator/formValidator.js +74 -91
- package/dist/formValidator/highlighters/highlighter.js +43 -51
- package/dist/formValidator/highlighters/message.js +31 -32
- package/dist/formValidator/highlighters/tooltip.js +33 -35
- package/dist/generis/form/css/form.css +7 -7
- package/dist/generis/form/css/form.css.map +1 -1
- package/dist/generis/form/form.js +323 -331
- package/dist/generis/validator/css/validator.css +7 -7
- package/dist/generis/validator/css/validator.css.map +1 -1
- package/dist/generis/validator/validator.js +215 -216
- package/dist/generis/widget/checkBox/checkBox.js +227 -225
- package/dist/generis/widget/comboBox/comboBox.js +189 -183
- package/dist/generis/widget/css/widget.css +7 -7
- package/dist/generis/widget/css/widget.css.map +1 -1
- package/dist/generis/widget/hiddenBox/hiddenBox.js +231 -232
- package/dist/generis/widget/loader.js +21 -23
- package/dist/generis/widget/textBox/textBox.js +178 -172
- package/dist/generis/widget/widget.js +255 -266
- package/dist/groupedComboBox.js +231 -226
- package/dist/groupvalidator.js +30 -34
- package/dist/hider.js +43 -50
- package/dist/highlighter.js +946 -1057
- package/dist/image/ImgStateActive/extractLabel.js +20 -21
- package/dist/image/ImgStateActive/helper.js +21 -25
- package/dist/image/ImgStateActive/initHelper.js +133 -162
- package/dist/image/ImgStateActive/initMediaEditor.js +72 -92
- package/dist/image/ImgStateActive/mediaSizer.js +48 -58
- package/dist/image/ImgStateActive.js +185 -215
- package/dist/incrementer.js +91 -110
- package/dist/inplacer.js +108 -132
- package/dist/interactUtils.js +56 -67
- package/dist/itemButtonList/css/item-button-list.css +23 -24
- package/dist/itemButtonList/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +444 -469
- package/dist/keyNavigation/navigableDomElement.js +124 -158
- package/dist/keyNavigation/navigator.js +235 -312
- package/dist/listbox/css/listbox.css +7 -7
- package/dist/listbox/css/listbox.css.map +1 -1
- package/dist/listbox.js +463 -476
- package/dist/liststyler.js +75 -76
- package/dist/loadingButton/css/button.css +7 -7
- package/dist/loadingButton/css/button.css.map +1 -1
- package/dist/loadingButton/loadingButton.js +219 -218
- package/dist/lock.js +484 -509
- package/dist/login/login.js +471 -486
- package/dist/maths/calculator/basicCalculator.js +247 -242
- package/dist/maths/calculator/calculatorComponent.js +34 -36
- package/dist/maths/calculator/core/areaBroker.js +30 -28
- package/dist/maths/calculator/core/board.js +805 -872
- package/dist/maths/calculator/core/expression.js +500 -518
- package/dist/maths/calculator/core/labels.js +240 -235
- package/dist/maths/calculator/core/plugin.js +20 -20
- package/dist/maths/calculator/core/terms.js +27 -27
- package/dist/maths/calculator/core/tokenizer.js +119 -132
- package/dist/maths/calculator/core/tokens.js +157 -168
- package/dist/maths/calculator/css/calculator.css +7 -7
- package/dist/maths/calculator/css/calculator.css.map +1 -1
- package/dist/maths/calculator/defaultCalculator.js +24 -27
- package/dist/maths/calculator/plugins/core/degrad.js +22 -30
- package/dist/maths/calculator/plugins/core/history.js +55 -67
- package/dist/maths/calculator/plugins/core/remind.js +22 -25
- package/dist/maths/calculator/plugins/core/stepNavigation.js +33 -49
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +255 -258
- package/dist/maths/calculator/plugins/modifiers/pow10.js +47 -52
- package/dist/maths/calculator/plugins/modifiers/sign.js +103 -130
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +288 -293
- package/dist/maths/calculator/pluginsLoader.js +22 -22
- package/dist/maths/calculator/scientificCalculator.js +339 -334
- package/dist/mediaEditor/mediaEditorComponent.js +244 -249
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +28 -33
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +228 -236
- package/dist/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/dist/mediaEditor/plugins/mediaDimension/helper.js +81 -106
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +597 -635
- package/dist/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/dist/mediaplayer/css/player.css +7 -7
- package/dist/mediaplayer/css/player.css.map +1 -1
- package/dist/mediaplayer/players/html5.js +646 -706
- package/dist/mediaplayer/players/youtube.js +393 -438
- package/dist/mediaplayer/players.js +19 -19
- package/dist/mediaplayer/support.js +66 -79
- package/dist/mediaplayer/utils/reminder.js +117 -128
- package/dist/mediaplayer/utils/timeObserver.js +106 -109
- package/dist/mediaplayer/youtubeManager.js +142 -170
- package/dist/mediaplayer.js +1484 -1774
- package/dist/mediasizer.js +633 -676
- package/dist/modal.js +137 -153
- package/dist/movableComponent.js +37 -37
- package/dist/pageSizeSelector.js +231 -224
- package/dist/pageStatus.js +43 -46
- package/dist/pagination/css/pagination.css +7 -7
- package/dist/pagination/css/pagination.css.map +1 -1
- package/dist/pagination/paginationStrategy.js +24 -25
- package/dist/pagination/providers/pages.js +281 -291
- package/dist/pagination/providers/simple.js +202 -196
- package/dist/pagination.js +49 -72
- package/dist/previewer.js +113 -138
- package/dist/progressbar.js +70 -80
- package/dist/propertySelector/css/propertySelector.css +74 -0
- package/dist/propertySelector/css/propertySelector.css.map +1 -0
- package/dist/propertySelector/propertySelector.js +489 -0
- package/dist/report.js +356 -359
- package/dist/resource/css/selector.css +7 -7
- package/dist/resource/css/selector.css.map +1 -1
- package/dist/resource/filters.js +275 -289
- package/dist/resource/list.js +1589 -1371
- package/dist/resource/selectable.js +101 -136
- package/dist/resource/selector.js +855 -914
- package/dist/resource/tree.js +1796 -1612
- package/dist/resourcemgr/css/resourcemgr.css +7 -7
- package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
- package/dist/resourcemgr/fileBrowser.js +540 -587
- package/dist/resourcemgr/filePreview.js +16 -25
- package/dist/resourcemgr/fileSelector.js +520 -547
- package/dist/resourcemgr/util/updatePermissions.js +10 -18
- package/dist/resourcemgr.js +325 -332
- package/dist/scroller.js +29 -33
- package/dist/searchModal/advancedSearch.js +949 -833
- package/dist/searchModal/css/advancedSearch.css +7 -14
- package/dist/searchModal/css/advancedSearch.css.map +1 -1
- package/dist/searchModal/css/searchModal.css +28 -8
- package/dist/searchModal/css/searchModal.css.map +1 -1
- package/dist/searchModal.js +616 -335
- package/dist/selecter.js +21 -28
- package/dist/stacker.js +52 -60
- package/dist/switch/css/switch.css +7 -7
- package/dist/switch/css/switch.css.map +1 -1
- package/dist/switch/switch.js +305 -311
- package/dist/tableModel.js +39 -49
- package/dist/tabs/css/tabs.css +12 -12
- package/dist/tabs/css/tabs.css.map +1 -1
- package/dist/tabs.js +588 -639
- package/dist/taskQueue/css/taskQueue.css +7 -7
- package/dist/taskQueue/css/taskQueue.css.map +1 -1
- package/dist/taskQueue/status.js +317 -322
- package/dist/taskQueue/table.js +383 -394
- package/dist/taskQueue/taskQueue.js +19 -19
- package/dist/taskQueue/taskQueueModel.js +459 -538
- package/dist/taskQueue.js +49 -67
- package/dist/taskQueueButton/css/taskable.css +7 -7
- package/dist/taskQueueButton/css/taskable.css.map +1 -1
- package/dist/taskQueueButton/css/treeButton.css +7 -7
- package/dist/taskQueueButton/css/treeButton.css.map +1 -1
- package/dist/taskQueueButton/standardButton.js +45 -43
- package/dist/taskQueueButton/taskable.js +267 -272
- package/dist/taskQueueButton/treeButton.js +200 -198
- package/dist/themeLoader.js +109 -129
- package/dist/themes.js +86 -100
- package/dist/toggler.js +76 -88
- package/dist/tooltip.js +296 -311
- package/dist/tooltipster.js +17 -17
- package/dist/transformer.js +140 -169
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/dist/tristateCheckboxGroup.js +319 -325
- package/dist/uploader.js +691 -724
- package/dist/validator/Report.js +1 -2
- package/dist/validator/Validator.js +6 -25
- package/dist/validator/validators.js +66 -80
- package/dist/validator.js +218 -254
- package/dist/waitForMedia.js +45 -51
- package/dist/waitingDialog/css/waitingDialog.css +7 -7
- package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
- package/dist/waitingDialog/waitingDialog.js +59 -77
- package/package.json +109 -107
- package/scss/basic.scss +16 -16
- package/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +59 -59
- package/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -59
- package/scss/font/tao/tao.svg +234 -234
- package/scss/inc/_base.scss +495 -495
- package/scss/inc/_bootstrap.scss +6 -6
- package/scss/inc/_buttons.scss +114 -114
- package/scss/inc/_colors.scss +93 -88
- package/scss/inc/_feedback.scss +150 -150
- package/scss/inc/_flex-grid.scss +15 -15
- package/scss/inc/_fonts.scss +4 -4
- package/scss/inc/_forms.scss +832 -832
- package/scss/inc/_functions.scss +283 -283
- package/scss/inc/_jquery.nouislider.scss +254 -254
- package/scss/inc/_normalize.scss +528 -528
- package/scss/inc/_report.scss +67 -67
- package/scss/inc/_secondary-properties.scss +89 -89
- package/scss/inc/_select2.scss +634 -634
- package/scss/inc/_toolbars.scss +155 -155
- package/scss/inc/_tooltip.scss +312 -312
- package/scss/inc/_variables.scss +21 -21
- package/scss/inc/base/_highlight.scss +5 -5
- package/scss/inc/base/_list-style.scss +58 -58
- package/scss/inc/base/_svg.scss +3 -3
- package/scss/inc/base/_table.scss +62 -62
- package/scss/inc/fonts/_source-sans-pro.scss +29 -29
- package/scss/inc/fonts/_tao-icon-classes.scss +226 -226
- package/scss/inc/fonts/_tao-icon-def.scss +12 -12
- package/scss/inc/fonts/_tao-icon-vars.scss +240 -240
- package/src/actionbar/tpl/main.tpl +8 -8
- package/src/actionbar.js +251 -251
- package/src/adder.js +250 -250
- package/src/animable/absorbable/absorbable.js +134 -134
- package/src/animable/absorbable/css/absorb.css +7 -8
- package/src/animable/absorbable/css/absorb.css.map +1 -1
- package/src/animable/absorbable/scss/absorb.scss +37 -37
- package/src/animable/pulsable/css/pulse.css +7 -7
- package/src/animable/pulsable/css/pulse.css.map +1 -1
- package/src/animable/pulsable/pulsable.js +90 -90
- package/src/animable/pulsable/scss/pulse.scss +22 -22
- package/src/areaBroker.js +160 -160
- package/src/autocomplete/css/autocomplete.css +7 -8
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/autocomplete/scss/autocomplete.scss +37 -37
- package/src/autocomplete.js +1029 -1029
- package/src/autoscroll.js +57 -57
- package/src/badge/badge.js +119 -119
- package/src/badge/css/badge.css +7 -8
- package/src/badge/css/badge.css.map +1 -1
- package/src/badge/scss/badge.scss +92 -92
- package/src/badge/tpl/badge.tpl +4 -4
- package/src/breadcrumbs/css/breadcrumbs.css +7 -7
- package/src/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/src/breadcrumbs/scss/breadcrumbs.scss +52 -52
- package/src/breadcrumbs/tpl/breadcrumbs.tpl +20 -20
- package/src/breadcrumbs.js +99 -99
- package/src/btngrouper.js +213 -213
- package/src/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/src/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/src/bulkActionPopup/scss/bulkActionPopup.scss +63 -63
- package/src/bulkActionPopup/tpl/layout.tpl +76 -76
- package/src/bulkActionPopup/tpl/select.tpl +8 -8
- package/src/bulkActionPopup.js +274 -274
- package/src/button/tpl/button.tpl +4 -4
- package/src/button.js +135 -135
- package/src/calculator/css/calculator.css +10 -10
- package/src/calculator/css/calculator.css.map +1 -1
- package/src/calculator/scss/calculator.scss +139 -139
- package/src/calculator.js +188 -188
- package/src/cascadingComboBox.js +126 -126
- package/src/ckeditor/ckConfigurator.js +736 -736
- package/src/ckeditor/dtdHandler.js +1030 -1030
- package/src/class/css/selector.css +7 -7
- package/src/class/css/selector.css.map +1 -1
- package/src/class/scss/selector.scss +101 -101
- package/src/class/selector.js +329 -329
- package/src/class/tpl/listItem.tpl +9 -9
- package/src/class/tpl/selector.tpl +10 -10
- package/src/component/alignable.js +274 -274
- package/src/component/containable.js +122 -122
- package/src/component/css/components.css +7 -7
- package/src/component/css/components.css.map +1 -1
- package/src/component/css/windowComponent.css +7 -7
- package/src/component/css/windowComponent.css.map +1 -1
- package/src/component/draggable.js +104 -104
- package/src/component/placeable.js +233 -233
- package/src/component/resizable.js +195 -195
- package/src/component/scss/components.scss +507 -507
- package/src/component/scss/windowComponent.scss +62 -62
- package/src/component/stackable.js +67 -67
- package/src/component/tpl/window.tpl +7 -7
- package/src/component/windowed.js +206 -206
- package/src/component.js +401 -401
- package/src/container.js +200 -200
- package/src/contextualPopup/css/contextualPopup.css +7 -7
- package/src/contextualPopup/css/contextualPopup.css.map +1 -1
- package/src/contextualPopup/scss/contextualPopup.scss +78 -78
- package/src/contextualPopup/tpl/popup.tpl +10 -10
- package/src/contextualPopup.js +297 -297
- package/src/css/basic.css +103 -106
- package/src/css/basic.css.map +1 -1
- package/src/dashboard/css/dashboard.css +7 -7
- package/src/dashboard/css/dashboard.css.map +1 -1
- package/src/dashboard/scss/dashboard.scss +93 -93
- package/src/dashboard/tpl/dashboard.tpl +16 -16
- package/src/dashboard/tpl/dashboardMetricsList.tpl +15 -15
- package/src/dashboard.js +184 -184
- package/src/datalist/css/datalist.css +7 -7
- package/src/datalist/css/datalist.css.map +1 -1
- package/src/datalist/scss/datalist.scss +116 -116
- package/src/datalist/tpl/list.tpl +24 -24
- package/src/datalist/tpl/main.tpl +44 -44
- package/src/datalist.js +500 -500
- package/src/datatable/css/datatable.css +11 -7
- package/src/datatable/css/datatable.css.map +1 -1
- package/src/datatable/filterStrategy/filterStrategy.js +70 -70
- package/src/datatable/filterStrategy/multiple.js +126 -126
- package/src/datatable/filterStrategy/single.js +108 -108
- package/src/datatable/scss/datatable.scss +149 -146
- package/src/datatable/tpl/button.tpl +6 -6
- package/src/datatable/tpl/layout.tpl +158 -158
- package/src/datatable.js +1056 -1056
- package/src/dateRange/css/dateRange.css +7 -7
- package/src/dateRange/css/dateRange.css.map +1 -1
- package/src/dateRange/dateRange.js +341 -341
- package/src/dateRange/scss/dateRange.scss +7 -7
- package/src/dateRange/tpl/select.tpl +18 -18
- package/src/datetime/css/picker.css +7 -7
- package/src/datetime/css/picker.css.map +1 -1
- package/src/datetime/picker.js +576 -576
- package/src/datetime/scss/picker.scss +192 -192
- package/src/datetime/tpl/picker.tpl +18 -18
- package/src/deleter/undo.tpl +6 -6
- package/src/deleter.js +296 -296
- package/src/destination/css/selector.css +7 -7
- package/src/destination/css/selector.css.map +1 -1
- package/src/destination/scss/selector.scss +36 -36
- package/src/destination/selector.js +195 -195
- package/src/destination/tpl/selector.tpl +13 -13
- package/src/dialog/alert.js +70 -70
- package/src/dialog/confirm.js +85 -85
- package/src/dialog/confirmDelete.js +95 -95
- package/src/dialog/tpl/body.tpl +24 -24
- package/src/dialog/tpl/buttons.tpl +6 -6
- package/src/dialog/tpl/checkbox.tpl +5 -5
- package/src/dialog.js +517 -517
- package/src/disabler.js +230 -230
- package/src/documentViewer/css/documentViewer.css +7 -7
- package/src/documentViewer/css/documentViewer.css.map +1 -1
- package/src/documentViewer/providers/pdfViewer/fallback/viewer.js +69 -69
- package/src/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +41 -41
- package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.js +475 -475
- package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.tpl +20 -20
- package/src/documentViewer/providers/pdfViewer/pdfjs/match.tpl +1 -1
- package/src/documentViewer/providers/pdfViewer/pdfjs/page.tpl +4 -4
- package/src/documentViewer/providers/pdfViewer/pdfjs/pageView.js +318 -318
- package/src/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +167 -167
- package/src/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +451 -451
- package/src/documentViewer/providers/pdfViewer/pdfjs/textManager.js +252 -252
- package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.js +299 -299
- package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.tpl +16 -16
- package/src/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +351 -351
- package/src/documentViewer/providers/pdfViewer.js +93 -93
- package/src/documentViewer/scss/documentViewer.scss +184 -184
- package/src/documentViewer/viewerFactory.js +191 -191
- package/src/documentViewer.js +238 -238
- package/src/dropdown/css/dropdown.css +7 -7
- package/src/dropdown/css/dropdown.css.map +1 -1
- package/src/dropdown/scss/dropdown.scss +99 -99
- package/src/dropdown/tpl/dropdown.tpl +8 -8
- package/src/dropdown/tpl/list-item.tpl +4 -4
- package/src/dropdown.js +255 -255
- package/src/durationer.js +222 -222
- package/src/dynamicComponent/css/dynamicComponent.css +7 -7
- package/src/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/src/dynamicComponent/scss/dynamicComponent.scss +98 -98
- package/src/dynamicComponent/tpl/layout.tpl +17 -17
- package/src/dynamicComponent.js +554 -554
- package/src/feedback/feedback.tpl +7 -7
- package/src/feedback.js +295 -295
- package/src/figure/FigureStateActive.js +174 -174
- package/src/filesender.js +114 -114
- package/src/filter/template.tpl +5 -5
- package/src/filter.js +135 -135
- package/src/form/css/dropdownForm.css +7 -7
- package/src/form/css/dropdownForm.css.map +1 -1
- package/src/form/css/form.css +7 -7
- package/src/form/css/form.css.map +1 -1
- package/src/form/dropdownForm.js +281 -281
- package/src/form/form.js +688 -688
- package/src/form/scss/dropdownForm.scss +60 -60
- package/src/form/scss/form.scss +25 -25
- package/src/form/simpleForm.js +125 -125
- package/src/form/tpl/dropdownForm.tpl +4 -4
- package/src/form/tpl/form.tpl +7 -7
- package/src/form/validator/css/validator.css +7 -7
- package/src/form/validator/css/validator.css.map +1 -1
- package/src/form/validator/renderer.js +118 -118
- package/src/form/validator/scss/validator.scss +14 -14
- package/src/form/validator/tpl/message.tpl +1 -1
- package/src/form/validator/tpl/validator.tpl +1 -1
- package/src/form/validator/validator.js +220 -220
- package/src/form/widget/css/widget.css +7 -7
- package/src/form/widget/css/widget.css.map +1 -1
- package/src/form/widget/definitions.js +51 -51
- package/src/form/widget/loader.js +40 -40
- package/src/form/widget/providers/checkBox.js +138 -138
- package/src/form/widget/providers/comboBox.js +63 -63
- package/src/form/widget/providers/default.js +90 -90
- package/src/form/widget/providers/hidden.js +62 -62
- package/src/form/widget/providers/hiddenBox.js +152 -152
- package/src/form/widget/providers/radioBox.js +99 -99
- package/src/form/widget/providers/textArea.js +52 -52
- package/src/form/widget/providers/textBox.js +48 -48
- package/src/form/widget/scss/widget.scss +55 -55
- package/src/form/widget/tpl/checkBox.tpl +25 -25
- package/src/form/widget/tpl/comboBox.tpl +13 -13
- package/src/form/widget/tpl/hidden.tpl +1 -1
- package/src/form/widget/tpl/hiddenBox.tpl +17 -17
- package/src/form/widget/tpl/label.tpl +6 -6
- package/src/form/widget/tpl/radioBox.tpl +25 -25
- package/src/form/widget/tpl/textArea.tpl +8 -8
- package/src/form/widget/tpl/widget.tpl +8 -8
- package/src/form/widget/widget.js +372 -372
- package/src/form.js +53 -53
- package/src/formValidator/formValidator.js +253 -253
- package/src/formValidator/highlighters/highlighter.js +102 -102
- package/src/formValidator/highlighters/message.js +70 -70
- package/src/formValidator/highlighters/tooltip.js +78 -78
- package/src/generis/form/css/form.css +7 -7
- package/src/generis/form/css/form.css.map +1 -1
- package/src/generis/form/form.js +239 -239
- package/src/generis/form/readme.md +70 -70
- package/src/generis/form/scss/form.scss +23 -23
- package/src/generis/form/tpl/form.tpl +16 -16
- package/src/generis/validator/css/validator.css +7 -7
- package/src/generis/validator/css/validator.css.map +1 -1
- package/src/generis/validator/readme.md +46 -46
- package/src/generis/validator/scss/validator.scss +13 -13
- package/src/generis/validator/validator.js +128 -128
- package/src/generis/widget/checkBox/checkBox.js +112 -112
- package/src/generis/widget/checkBox/checkBox.tpl +18 -18
- package/src/generis/widget/comboBox/comboBox.js +67 -67
- package/src/generis/widget/comboBox/comboBox.tpl +12 -12
- package/src/generis/widget/css/widget.css +7 -7
- package/src/generis/widget/css/widget.css.map +1 -1
- package/src/generis/widget/hiddenBox/hiddenBox.js +132 -132
- package/src/generis/widget/hiddenBox/hiddenBox.tpl +16 -16
- package/src/generis/widget/loader.js +49 -49
- package/src/generis/widget/readme.md +59 -59
- package/src/generis/widget/scss/widget.scss +61 -61
- package/src/generis/widget/textBox/textBox.js +65 -65
- package/src/generis/widget/textBox/textBox.tpl +7 -7
- package/src/generis/widget/widget.js +164 -164
- package/src/generis/widget/widget.tpl +5 -5
- package/src/groupedComboBox.js +99 -99
- package/src/groupvalidator.js +84 -84
- package/src/hider.js +88 -88
- package/src/highlighter.js +1166 -1166
- package/src/image/ImgStateActive/extractLabel.js +29 -29
- package/src/image/ImgStateActive/helper.js +36 -36
- package/src/image/ImgStateActive/initHelper.js +137 -137
- package/src/image/ImgStateActive/initMediaEditor.js +92 -92
- package/src/image/ImgStateActive/mediaSizer.js +63 -63
- package/src/image/ImgStateActive.js +115 -115
- package/src/incrementer.js +319 -319
- package/src/inplacer.js +316 -316
- package/src/interactUtils.js +140 -140
- package/src/itemButtonList/css/item-button-list.css +23 -24
- package/src/itemButtonList/css/item-button-list.css.map +1 -1
- package/src/itemButtonList/scss/item-button-list.scss +236 -236
- package/src/itemButtonList/tpl/itemButtonList.tpl +21 -21
- package/src/itemButtonList.js +274 -274
- package/src/keyNavigation/navigableDomElement.js +282 -282
- package/src/keyNavigation/navigator.js +543 -543
- package/src/listbox/css/listbox.css +7 -7
- package/src/listbox/css/listbox.css.map +1 -1
- package/src/listbox/scss/listbox.scss +116 -116
- package/src/listbox/tpl/list.tpl +14 -14
- package/src/listbox/tpl/main.tpl +9 -9
- package/src/listbox.js +251 -251
- package/src/liststyler.js +155 -155
- package/src/loadingButton/css/button.css +7 -7
- package/src/loadingButton/css/button.css.map +1 -1
- package/src/loadingButton/loadingButton.js +110 -110
- package/src/loadingButton/scss/button.scss +41 -41
- package/src/loadingButton/tpl/button.tpl +5 -5
- package/src/lock/lock.tpl +16 -16
- package/src/lock.js +395 -395
- package/src/login/login.js +322 -322
- package/src/login/tpl/login.tpl +29 -29
- package/src/login/tpl/passwordReveal.tpl +7 -7
- package/src/maths/calculator/basicCalculator.js +55 -55
- package/src/maths/calculator/calculatorComponent.js +128 -128
- package/src/maths/calculator/core/areaBroker.js +38 -38
- package/src/maths/calculator/core/board.js +841 -841
- package/src/maths/calculator/core/expression.js +430 -430
- package/src/maths/calculator/core/labels.js +116 -116
- package/src/maths/calculator/core/plugin.js +40 -40
- package/src/maths/calculator/core/terms.js +459 -459
- package/src/maths/calculator/core/tokenizer.js +245 -245
- package/src/maths/calculator/core/tokens.js +178 -178
- package/src/maths/calculator/core/tpl/board.tpl +4 -4
- package/src/maths/calculator/css/calculator.css +7 -7
- package/src/maths/calculator/css/calculator.css.map +1 -1
- package/src/maths/calculator/defaultCalculator.js +66 -66
- package/src/maths/calculator/plugins/core/degrad.js +90 -90
- package/src/maths/calculator/plugins/core/history.js +166 -166
- package/src/maths/calculator/plugins/core/remind.js +96 -96
- package/src/maths/calculator/plugins/core/stepNavigation.js +175 -175
- package/src/maths/calculator/plugins/keyboard/templateKeyboard/defaultTemplate.tpl +36 -36
- package/src/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +91 -91
- package/src/maths/calculator/plugins/modifiers/pow10.js +143 -143
- package/src/maths/calculator/plugins/modifiers/sign.js +339 -339
- package/src/maths/calculator/plugins/screen/simpleScreen/defaultTemplate.tpl +3 -3
- package/src/maths/calculator/plugins/screen/simpleScreen/history.tpl +3 -3
- package/src/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +191 -191
- package/src/maths/calculator/pluginsLoader.js +46 -46
- package/src/maths/calculator/scientificCalculator.js +74 -74
- package/src/maths/calculator/scss/calculator.scss +396 -396
- package/src/maths/calculator/tpl/basicKeyboard.tpl +37 -37
- package/src/maths/calculator/tpl/basicScreen.tpl +2 -2
- package/src/maths/calculator/tpl/scientificKeyboard.tpl +61 -61
- package/src/maths/calculator/tpl/scientificScreen.tpl +3 -3
- package/src/mediaEditor/mediaEditorComponent.js +141 -141
- package/src/mediaEditor/plugins/mediaAlignment/helper.js +62 -62
- package/src/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +99 -99
- package/src/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/src/mediaEditor/plugins/mediaAlignment/tpl/mediaAlignment.tpl +25 -25
- package/src/mediaEditor/plugins/mediaDimension/helper.js +189 -189
- package/src/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +561 -561
- package/src/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/src/mediaEditor/plugins/mediaDimension/tpl/mediaDimension.tpl +55 -55
- package/src/mediaEditor/tpl/editor.tpl +4 -4
- package/src/mediaplayer/css/player.css +7 -7
- package/src/mediaplayer/css/player.css.map +1 -1
- package/src/mediaplayer/players/html5.js +564 -564
- package/src/mediaplayer/players/youtube.js +323 -323
- package/src/mediaplayer/players.js +29 -29
- package/src/mediaplayer/readme.md +305 -305
- package/src/mediaplayer/scss/player.scss +569 -569
- package/src/mediaplayer/support.js +126 -126
- package/src/mediaplayer/tpl/audio.tpl +6 -6
- package/src/mediaplayer/tpl/player.tpl +37 -37
- package/src/mediaplayer/tpl/source.tpl +1 -1
- package/src/mediaplayer/tpl/video.tpl +6 -6
- package/src/mediaplayer/tpl/youtube.tpl +1 -1
- package/src/mediaplayer/utils/reminder.js +184 -184
- package/src/mediaplayer/utils/timeObserver.js +143 -143
- package/src/mediaplayer/youtubeManager.js +161 -161
- package/src/mediaplayer.js +1606 -1606
- package/src/mediasizer/mediasizer.tpl +55 -55
- package/src/mediasizer.js +635 -635
- package/src/modal.js +365 -365
- package/src/movableComponent.js +78 -78
- package/src/pageSizeSelector/tpl/pageSizeSelector.tpl +9 -9
- package/src/pageSizeSelector.js +107 -107
- package/src/pageStatus.js +147 -147
- package/src/pagination/css/pagination.css +7 -7
- package/src/pagination/css/pagination.css.map +1 -1
- package/src/pagination/paginationStrategy.js +53 -53
- package/src/pagination/providers/pages.js +161 -161
- package/src/pagination/providers/simple.js +74 -74
- package/src/pagination/providers/tpl/pages/page.tpl +1 -1
- package/src/pagination/providers/tpl/pages.tpl +8 -8
- package/src/pagination/providers/tpl/simple.tpl +7 -7
- package/src/pagination/scss/pagination.scss +111 -111
- package/src/pagination.js +237 -237
- package/src/previewer.js +300 -300
- package/src/progressbar.js +165 -165
- package/src/propertySelector/css/propertySelector.css +74 -0
- package/src/propertySelector/css/propertySelector.css.map +1 -0
- package/src/propertySelector/propertySelector.js +286 -0
- package/src/propertySelector/scss/propertySelector.scss +66 -0
- package/src/propertySelector/tpl/highlighted-text.tpl +1 -0
- package/src/propertySelector/tpl/property-description.tpl +13 -0
- package/src/propertySelector/tpl/property-selector.tpl +7 -0
- package/src/report/feedback.tpl +11 -11
- package/src/report/layout.tpl +10 -10
- package/src/report.js +184 -184
- package/src/resource/css/selector.css +7 -7
- package/src/resource/css/selector.css.map +1 -1
- package/src/resource/filters.js +208 -208
- package/src/resource/list.js +200 -200
- package/src/resource/scss/_filters.scss +26 -26
- package/src/resource/scss/_resource-list.scss +107 -107
- package/src/resource/scss/_resource-tree.scss +205 -205
- package/src/resource/scss/selector.scss +187 -187
- package/src/resource/selectable.js +322 -322
- package/src/resource/selector.js +871 -871
- package/src/resource/tpl/filters.tpl +2 -2
- package/src/resource/tpl/list.tpl +7 -7
- package/src/resource/tpl/listNode.tpl +4 -4
- package/src/resource/tpl/selector.tpl +46 -46
- package/src/resource/tpl/tree.tpl +4 -4
- package/src/resource/tpl/treeNode.tpl +30 -30
- package/src/resource/tree.js +400 -400
- package/src/resourcemgr/css/resourcemgr.css +7 -7
- package/src/resourcemgr/css/resourcemgr.css.map +1 -1
- package/src/resourcemgr/fileBrowser.js +381 -381
- package/src/resourcemgr/filePreview.js +73 -73
- package/src/resourcemgr/fileSelector.js +348 -348
- package/src/resourcemgr/scss/resourcemgr.scss +254 -254
- package/src/resourcemgr/tpl/fileSelect.tpl +39 -39
- package/src/resourcemgr/tpl/folder.tpl +11 -11
- package/src/resourcemgr/tpl/layout.tpl +84 -84
- package/src/resourcemgr/tpl/rootFolder.tpl +13 -13
- package/src/resourcemgr/util/updatePermissions.js +53 -53
- package/src/resourcemgr.js +216 -216
- package/src/scroller.js +94 -94
- package/src/scss/basic.scss +16 -16
- package/src/searchModal/advancedSearch.js +638 -601
- package/src/searchModal/css/advancedSearch.css +7 -14
- package/src/searchModal/css/advancedSearch.css.map +1 -1
- package/src/searchModal/css/searchModal.css +28 -8
- package/src/searchModal/css/searchModal.css.map +1 -1
- package/src/searchModal/scss/advancedSearch.scss +171 -177
- package/src/searchModal/scss/searchModal.scss +393 -375
- package/src/searchModal/tpl/advanced-search.tpl +9 -9
- package/src/searchModal/tpl/criteria-alias.tpl +1 -0
- package/src/searchModal/tpl/criteria-class-label.tpl +1 -0
- package/src/searchModal/tpl/criteria-label.tpl +1 -0
- package/src/searchModal/tpl/highlighted-text.tpl +1 -0
- package/src/searchModal/tpl/info-message.tpl +3 -3
- package/src/searchModal/tpl/invalid-criteria-warning.tpl +10 -10
- package/src/searchModal/tpl/layout.tpl +27 -25
- package/src/searchModal/tpl/list-checkbox-criterion.tpl +17 -12
- package/src/searchModal/tpl/list-select-criterion.tpl +12 -6
- package/src/searchModal/tpl/property-select-button.tpl +1 -0
- package/src/searchModal/tpl/results-container.tpl +1 -0
- package/src/searchModal/tpl/text-criterion.tpl +11 -6
- package/src/searchModal.js +761 -496
- package/src/selecter.js +43 -43
- package/src/stacker.js +133 -133
- package/src/switch/css/switch.css +7 -7
- package/src/switch/css/switch.css.map +1 -1
- package/src/switch/scss/switch.scss +83 -83
- package/src/switch/switch.js +195 -195
- package/src/switch/tpl/switch.tpl +7 -7
- package/src/tableModel.js +112 -112
- package/src/tabs/css/tabs.css +12 -12
- package/src/tabs/css/tabs.css.map +1 -1
- package/src/tabs/scss/tabs.scss +50 -50
- package/src/tabs/tpl/panel.tpl +3 -3
- package/src/tabs/tpl/tabs.tpl +10 -10
- package/src/tabs.js +528 -528
- package/src/taskQueue/css/taskQueue.css +7 -7
- package/src/taskQueue/css/taskQueue.css.map +1 -1
- package/src/taskQueue/scss/taskQueue.scss +47 -47
- package/src/taskQueue/status.js +228 -228
- package/src/taskQueue/table.js +350 -350
- package/src/taskQueue/taskQueue.js +33 -33
- package/src/taskQueue/taskQueueModel.js +548 -548
- package/src/taskQueue/tpl/statusMessage.tpl +7 -7
- package/src/taskQueue.js +218 -218
- package/src/taskQueueButton/css/taskable.css +7 -7
- package/src/taskQueueButton/css/taskable.css.map +1 -1
- package/src/taskQueueButton/css/treeButton.css +7 -7
- package/src/taskQueueButton/css/treeButton.css.map +1 -1
- package/src/taskQueueButton/scss/taskable.scss +4 -4
- package/src/taskQueueButton/scss/treeButton.scss +34 -34
- package/src/taskQueueButton/standardButton.js +108 -108
- package/src/taskQueueButton/taskable.js +202 -202
- package/src/taskQueueButton/tpl/report.tpl +5 -5
- package/src/taskQueueButton/tpl/treeButton.tpl +6 -6
- package/src/taskQueueButton/treeButton.js +109 -109
- package/src/themeLoader.js +252 -252
- package/src/themes.js +162 -162
- package/src/toggler.js +200 -200
- package/src/tooltip/default.tpl +3 -3
- package/src/tooltip.js +160 -160
- package/src/tooltipster.js +25 -25
- package/src/transformer.js +327 -327
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/src/tristateCheckboxGroup/scss/tristateCheckboxGroup.scss +15 -15
- package/src/tristateCheckboxGroup/tpl/li.tpl +6 -6
- package/src/tristateCheckboxGroup.js +207 -207
- package/src/uploader/fileEntry.tpl +6 -6
- package/src/uploader/uploader.tpl +32 -32
- package/src/uploader.js +594 -594
- package/src/validator/Report.js +10 -10
- package/src/validator/Validator.js +108 -108
- package/src/validator/validators.js +220 -220
- package/src/validator.js +264 -264
- package/src/waitForMedia.js +82 -82
- package/src/waitingDialog/css/waitingDialog.css +7 -7
- package/src/waitingDialog/css/waitingDialog.css.map +1 -1
- package/src/waitingDialog/scss/waitingDialog.scss +34 -34
- package/src/waitingDialog/waitingDialog.js +240 -240
|
@@ -5,71 +5,68 @@ define(['i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', 'ui/maths/c
|
|
|
5
5
|
pluginFactory = pluginFactory && Object.prototype.hasOwnProperty.call(pluginFactory, 'default') ? pluginFactory['default'] : pluginFactory;
|
|
6
6
|
tokensHelper = tokensHelper && Object.prototype.hasOwnProperty.call(tokensHelper, 'default') ? tokensHelper['default'] : tokensHelper;
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* This program is free software; you can redistribute it and/or
|
|
10
|
-
* modify it under the terms of the GNU General Public License
|
|
11
|
-
* as published by the Free Software Foundation; under version 2
|
|
12
|
-
* of the License (non-upgradable).
|
|
13
|
-
*
|
|
14
|
-
* This program is distributed in the hope that it will be useful,
|
|
15
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
-
* GNU General Public License for more details.
|
|
18
|
-
*
|
|
19
|
-
* You should have received a copy of the GNU General Public License
|
|
20
|
-
* along with this program; if not, write to the Free Software
|
|
21
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
22
|
-
*
|
|
23
|
-
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
8
|
+
/**
|
|
9
|
+
* This program is free software; you can redistribute it and/or
|
|
10
|
+
* modify it under the terms of the GNU General Public License
|
|
11
|
+
* as published by the Free Software Foundation; under version 2
|
|
12
|
+
* of the License (non-upgradable).
|
|
13
|
+
*
|
|
14
|
+
* This program is distributed in the hope that it will be useful,
|
|
15
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
+
* GNU General Public License for more details.
|
|
18
|
+
*
|
|
19
|
+
* You should have received a copy of the GNU General Public License
|
|
20
|
+
* along with this program; if not, write to the Free Software
|
|
21
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
22
|
+
*
|
|
23
|
+
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
24
24
|
*/
|
|
25
25
|
var pluginName = 'pow10';
|
|
26
|
-
/**
|
|
27
|
-
* The basic `10^x` expression.
|
|
28
|
-
* @type {String}
|
|
29
|
-
*/
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
* @type {String}
|
|
27
|
+
/**
|
|
28
|
+
* The basic `10^x` expression.
|
|
29
|
+
* @type {String}
|
|
35
30
|
*/
|
|
31
|
+
var termsPow10 = '10^';
|
|
36
32
|
|
|
33
|
+
/**
|
|
34
|
+
* The multiply by `10^x` expression.
|
|
35
|
+
* @type {String}
|
|
36
|
+
*/
|
|
37
37
|
var termsMulByPow10 = '*' + termsPow10;
|
|
38
38
|
var pow10 = pluginFactory({
|
|
39
39
|
name: pluginName,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
* Called when the plugin is installing in its host.
|
|
40
|
+
/**
|
|
41
|
+
* Called when the plugin is installing in its host.
|
|
43
42
|
*/
|
|
44
43
|
install: function install() {
|
|
45
44
|
this.getCalculator().setCommand('pow10', __('Power of 10'), __('Multiply the value by 10^x'));
|
|
46
45
|
},
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
* Called when the plugin should be initialized.
|
|
46
|
+
/**
|
|
47
|
+
* Called when the plugin should be initialized.
|
|
50
48
|
*/
|
|
51
49
|
init: function init() {
|
|
52
50
|
var calculator = this.getCalculator();
|
|
53
|
-
/**
|
|
54
|
-
* Checks if the expression contains a space before the current position
|
|
55
|
-
* @returns {Boolean}
|
|
56
|
-
*/
|
|
57
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Checks if the expression contains a space before the current position
|
|
54
|
+
* @returns {Boolean}
|
|
55
|
+
*/
|
|
58
56
|
function spaceBefore() {
|
|
59
57
|
return calculator.getExpression().charAt(calculator.getPosition() - 1) === ' ';
|
|
60
58
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Checks if the token is considered as a separator
|
|
63
|
-
* @param {token} token
|
|
64
|
-
* @returns {Boolean}
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the token is considered as a separator
|
|
62
|
+
* @param {token} token
|
|
63
|
+
* @returns {Boolean}
|
|
64
|
+
*/
|
|
68
65
|
function isSeparator(token) {
|
|
69
66
|
return tokensHelper.isFunction(token) || tokensHelper.isSeparator(token) && token.type !== 'RPAR';
|
|
70
|
-
}
|
|
71
|
-
|
|
67
|
+
}
|
|
72
68
|
|
|
69
|
+
// insert the sub-expression based on strategies
|
|
73
70
|
calculator.on(nsHelper.namespaceAll('command-pow10', pluginName), function () {
|
|
74
71
|
var position = calculator.getPosition();
|
|
75
72
|
var tokens = calculator.getTokens();
|
|
@@ -79,13 +76,11 @@ define(['i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', 'ui/maths/c
|
|
|
79
76
|
var nextToken = tokens[index + 1] || null;
|
|
80
77
|
var aligned = false;
|
|
81
78
|
var expr = termsMulByPow10;
|
|
82
|
-
|
|
83
79
|
if (token) {
|
|
84
80
|
// refine the current position, as it should be either on the start or the end of the token:
|
|
85
81
|
// "aligned" means the position is properly aligned with the token, said at the start of the value,
|
|
86
82
|
// while not "aligned" means any other position inside the token
|
|
87
83
|
aligned = token.offset === position;
|
|
88
|
-
|
|
89
84
|
if (token.type === 'MUL') {
|
|
90
85
|
if (aligned) {
|
|
91
86
|
// the "multiply" operator is a special case, as it is part of the complete expression,
|
|
@@ -101,12 +96,13 @@ define(['i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', 'ui/maths/c
|
|
|
101
96
|
aligned = true;
|
|
102
97
|
}
|
|
103
98
|
}
|
|
104
|
-
}
|
|
105
|
-
|
|
99
|
+
}
|
|
106
100
|
|
|
101
|
+
// empty expression or 0, should be replaced by the shorter version
|
|
107
102
|
if (tokens.length <= 1 && !token || token.type === 'NUM0') {
|
|
108
103
|
calculator.replace(termsPow10);
|
|
109
|
-
}
|
|
104
|
+
}
|
|
105
|
+
// will insert expression at position:
|
|
110
106
|
// - use the shorter version if there is no token before, or the previous one is either an operator
|
|
111
107
|
// or a function
|
|
112
108
|
// - user the longer version in any other cases
|
|
@@ -116,20 +112,19 @@ define(['i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', 'ui/maths/c
|
|
|
116
112
|
expr = termsPow10;
|
|
117
113
|
}
|
|
118
114
|
} else if (isSeparator(token)) {
|
|
119
|
-
expr = termsPow10;
|
|
115
|
+
expr = termsPow10;
|
|
120
116
|
|
|
117
|
+
// the expression may need a space before if the previous token is a function
|
|
121
118
|
if (tokensHelper.isFunction(token) && !spaceBefore()) {
|
|
122
119
|
expr = ' ' + expr;
|
|
123
120
|
}
|
|
124
121
|
}
|
|
125
|
-
|
|
126
122
|
calculator.insert(expr);
|
|
127
123
|
}
|
|
128
124
|
});
|
|
129
125
|
},
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
* Called when the plugin is destroyed. Mostly when the host is destroyed itself.
|
|
126
|
+
/**
|
|
127
|
+
* Called when the plugin is destroyed. Mostly when the host is destroyed itself.
|
|
133
128
|
*/
|
|
134
129
|
destroy: function destroy() {
|
|
135
130
|
this.getCalculator().deleteCommand('pow10').off('.' + pluginName);
|
|
@@ -7,56 +7,55 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
7
7
|
tokensHelper = tokensHelper && Object.prototype.hasOwnProperty.call(tokensHelper, 'default') ? tokensHelper['default'] : tokensHelper;
|
|
8
8
|
registeredTerms = registeredTerms && Object.prototype.hasOwnProperty.call(registeredTerms, 'default') ? registeredTerms['default'] : registeredTerms;
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* This program is free software; you can redistribute it and/or
|
|
12
|
-
* modify it under the terms of the GNU General Public License
|
|
13
|
-
* as published by the Free Software Foundation; under version 2
|
|
14
|
-
* of the License (non-upgradable).
|
|
15
|
-
*
|
|
16
|
-
* This program is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU General Public License
|
|
22
|
-
* along with this program; if not, write to the Free Software
|
|
23
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
24
|
-
*
|
|
25
|
-
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
10
|
+
/**
|
|
11
|
+
* This program is free software; you can redistribute it and/or
|
|
12
|
+
* modify it under the terms of the GNU General Public License
|
|
13
|
+
* as published by the Free Software Foundation; under version 2
|
|
14
|
+
* of the License (non-upgradable).
|
|
15
|
+
*
|
|
16
|
+
* This program is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU General Public License
|
|
22
|
+
* along with this program; if not, write to the Free Software
|
|
23
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
24
|
+
*
|
|
25
|
+
* Copyright (c) 2019 Open Assessment Technologies SA ;
|
|
26
26
|
*/
|
|
27
27
|
var pluginName = 'sign';
|
|
28
|
-
/**
|
|
29
|
-
* List of tokens that refuse explicit positive sign
|
|
30
|
-
* @type {String[]}
|
|
31
|
-
*/
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* @
|
|
36
|
-
* @property {String} sign - The sign to insert
|
|
37
|
-
* @property {Number} offset - The offset where insert the sign
|
|
38
|
-
* @property {Number} length - The length of text to replace
|
|
39
|
-
* @property {Number} move - The move to apply on the current position
|
|
29
|
+
/**
|
|
30
|
+
* List of tokens that refuse explicit positive sign
|
|
31
|
+
* @type {String[]}
|
|
40
32
|
*/
|
|
33
|
+
var refuseExplicitPositive = ['LPAR', 'SUB', 'ADD', 'MUL', 'DIV', 'MOD', 'POW', 'ASSIGN'];
|
|
41
34
|
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* @
|
|
35
|
+
/**
|
|
36
|
+
* @typedef {Object} signChange
|
|
37
|
+
* @property {String} sign - The sign to insert
|
|
38
|
+
* @property {Number} offset - The offset where insert the sign
|
|
39
|
+
* @property {Number} length - The length of text to replace
|
|
40
|
+
* @property {Number} move - The move to apply on the current position
|
|
46
41
|
*/
|
|
47
42
|
|
|
43
|
+
/**
|
|
44
|
+
* List of known strategies to apply on an expression in order to process sign change.
|
|
45
|
+
* Each strategy will return either `null` if cannot apply, or the descriptor of the change to apply.
|
|
46
|
+
* @type {Function[]}
|
|
47
|
+
*/
|
|
48
48
|
var strategies = [
|
|
49
|
-
/**
|
|
50
|
-
* Strategy that applies on numeric operands only
|
|
51
|
-
* @param {Number} index - The index of the current token
|
|
52
|
-
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
53
|
-
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
49
|
+
/**
|
|
50
|
+
* Strategy that applies on numeric operands only
|
|
51
|
+
* @param {Number} index - The index of the current token
|
|
52
|
+
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
53
|
+
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
54
54
|
*/
|
|
55
55
|
function strategyNumeric(index, tokens) {
|
|
56
56
|
var token = tokens[index] || null;
|
|
57
57
|
var type = tokensHelper.getType(token);
|
|
58
58
|
var result = null;
|
|
59
|
-
|
|
60
59
|
if (tokensHelper.isDigit(type) && index >= 0) {
|
|
61
60
|
// find the first token on the left of the operand
|
|
62
61
|
while (index && tokensHelper.isDigit(type)) {
|
|
@@ -64,7 +63,6 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
64
63
|
token = tokens[index] || null;
|
|
65
64
|
type = tokensHelper.getType(token);
|
|
66
65
|
}
|
|
67
|
-
|
|
68
66
|
if (tokensHelper.isDigit(type) && index === 0) {
|
|
69
67
|
// the operand is the first of the expression, so the sign is implicit +, simply negate the value
|
|
70
68
|
result = insertNegativeSign(token);
|
|
@@ -73,20 +71,18 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
73
71
|
result = applySignChange(index, tokens);
|
|
74
72
|
}
|
|
75
73
|
}
|
|
76
|
-
|
|
77
74
|
return result;
|
|
78
75
|
},
|
|
79
|
-
/**
|
|
80
|
-
* Strategy that applies on operators only
|
|
81
|
-
* @param {Number} index - The index of the current token
|
|
82
|
-
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
83
|
-
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
76
|
+
/**
|
|
77
|
+
* Strategy that applies on operators only
|
|
78
|
+
* @param {Number} index - The index of the current token
|
|
79
|
+
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
80
|
+
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
84
81
|
*/
|
|
85
82
|
function strategyOperator(index, tokens) {
|
|
86
83
|
var token = tokens[index] || null;
|
|
87
84
|
var type = tokensHelper.getType(token);
|
|
88
85
|
var result = null;
|
|
89
|
-
|
|
90
86
|
if (tokensHelper.isOperator(type) && index >= 0) {
|
|
91
87
|
if (token.type === 'SUB') {
|
|
92
88
|
// the operator is -, simply replace it by +
|
|
@@ -99,20 +95,18 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
99
95
|
result = applyStrategies(index - 1, tokens);
|
|
100
96
|
}
|
|
101
97
|
}
|
|
102
|
-
|
|
103
98
|
return result;
|
|
104
99
|
},
|
|
105
|
-
/**
|
|
106
|
-
* Strategy that applies on identifiers only (constants, variables, functions)
|
|
107
|
-
* @param {Number} index - The index of the current token
|
|
108
|
-
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
109
|
-
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
100
|
+
/**
|
|
101
|
+
* Strategy that applies on identifiers only (constants, variables, functions)
|
|
102
|
+
* @param {Number} index - The index of the current token
|
|
103
|
+
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
104
|
+
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
110
105
|
*/
|
|
111
106
|
function strategyIdentifier(index, tokens) {
|
|
112
107
|
var token = tokens[index] || null;
|
|
113
108
|
var type = tokensHelper.getType(token);
|
|
114
109
|
var result = null;
|
|
115
|
-
|
|
116
110
|
if (tokensHelper.isIdentifier(type) && index >= 0) {
|
|
117
111
|
if (index === 0) {
|
|
118
112
|
// the token is the first of the expression, so the sign is implicit +, simply negate the value
|
|
@@ -122,40 +116,35 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
122
116
|
result = applySignChange(index - 1, tokens);
|
|
123
117
|
}
|
|
124
118
|
}
|
|
125
|
-
|
|
126
119
|
return result;
|
|
127
120
|
},
|
|
128
|
-
/**
|
|
129
|
-
* Strategy that applies on sub-expression only
|
|
130
|
-
* @param {Number} index - The index of the current token
|
|
131
|
-
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
132
|
-
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
121
|
+
/**
|
|
122
|
+
* Strategy that applies on sub-expression only
|
|
123
|
+
* @param {Number} index - The index of the current token
|
|
124
|
+
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
125
|
+
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
133
126
|
*/
|
|
134
127
|
function strategyExpression(index, tokens) {
|
|
135
128
|
var token = tokens[index] || null;
|
|
136
129
|
var type = tokensHelper.getType(token);
|
|
137
130
|
var result = null;
|
|
138
131
|
var count = 0;
|
|
139
|
-
|
|
140
132
|
if (tokensHelper.isAggregator(type) && index >= 0) {
|
|
141
133
|
if (token.type === 'RPAR') {
|
|
142
134
|
count++;
|
|
143
|
-
}
|
|
144
|
-
|
|
135
|
+
}
|
|
145
136
|
|
|
137
|
+
// find the opening parenthesis
|
|
146
138
|
while (index && (token.type !== 'LPAR' || count)) {
|
|
147
139
|
index--;
|
|
148
140
|
token = tokens[index] || null;
|
|
149
|
-
|
|
150
141
|
if (token.type === 'RPAR') {
|
|
151
142
|
count++;
|
|
152
143
|
}
|
|
153
|
-
|
|
154
144
|
if (token.type === 'LPAR') {
|
|
155
145
|
count--;
|
|
156
146
|
}
|
|
157
147
|
}
|
|
158
|
-
|
|
159
148
|
if (!count && token.type === 'LPAR') {
|
|
160
149
|
if (index === 0) {
|
|
161
150
|
// the token is the first of the expression, so the sign is implicit +, simply negate the value
|
|
@@ -166,40 +155,35 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
166
155
|
}
|
|
167
156
|
}
|
|
168
157
|
}
|
|
169
|
-
|
|
170
158
|
return result;
|
|
171
159
|
}];
|
|
172
|
-
/**
|
|
173
|
-
* Apply strategies to produce a sign change descriptor
|
|
174
|
-
* @param {Number} index - The index of the current token
|
|
175
|
-
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
176
|
-
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
177
|
-
*/
|
|
178
160
|
|
|
161
|
+
/**
|
|
162
|
+
* Apply strategies to produce a sign change descriptor
|
|
163
|
+
* @param {Number} index - The index of the current token
|
|
164
|
+
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
165
|
+
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
166
|
+
*/
|
|
179
167
|
function applyStrategies(index, tokens) {
|
|
180
168
|
var result = null;
|
|
181
|
-
|
|
182
169
|
_.forEach(strategies, function (strategy) {
|
|
183
170
|
result = strategy(index, tokens);
|
|
184
171
|
return !result;
|
|
185
172
|
});
|
|
186
|
-
|
|
187
173
|
return result;
|
|
188
174
|
}
|
|
189
|
-
/**
|
|
190
|
-
* Apply a sign change at the current index
|
|
191
|
-
* @param {Number} index - The index of the current token
|
|
192
|
-
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
193
|
-
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
194
|
-
*/
|
|
195
|
-
|
|
196
175
|
|
|
176
|
+
/**
|
|
177
|
+
* Apply a sign change at the current index
|
|
178
|
+
* @param {Number} index - The index of the current token
|
|
179
|
+
* @param {token[]} tokens - The list of tokens that represent the expression
|
|
180
|
+
* @returns {signChange|null} - The result of the strategy: `null` if cannot apply, or the descriptor of the change
|
|
181
|
+
*/
|
|
197
182
|
function applySignChange(index, tokens) {
|
|
198
183
|
var token = tokens[index] || null;
|
|
199
184
|
var nextToken = tokens[index + 1] || null;
|
|
200
185
|
var type = tokensHelper.getType(token);
|
|
201
186
|
var result = null;
|
|
202
|
-
|
|
203
187
|
if (token) {
|
|
204
188
|
if (tokensHelper.isOperator(type)) {
|
|
205
189
|
// an operator precedes the operand
|
|
@@ -218,26 +202,23 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
218
202
|
result = insertNegativeSign(nextToken);
|
|
219
203
|
}
|
|
220
204
|
}
|
|
221
|
-
|
|
222
205
|
return result;
|
|
223
206
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Checks if a token accept an explicit positive sign on the right
|
|
226
|
-
* @param {Object} token
|
|
227
|
-
* @returns {Boolean}
|
|
228
|
-
*/
|
|
229
|
-
|
|
230
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Checks if a token accept an explicit positive sign on the right
|
|
210
|
+
* @param {Object} token
|
|
211
|
+
* @returns {Boolean}
|
|
212
|
+
*/
|
|
231
213
|
function acceptExplicitPositive(token) {
|
|
232
214
|
return !token || refuseExplicitPositive.indexOf(token.type) === -1 && !tokensHelper.isFunction(tokensHelper.getType(token));
|
|
233
215
|
}
|
|
234
|
-
/**
|
|
235
|
-
* Produces a descriptor to insert a negative sign
|
|
236
|
-
* @param {token} token
|
|
237
|
-
* @returns {signChange}
|
|
238
|
-
*/
|
|
239
|
-
|
|
240
216
|
|
|
217
|
+
/**
|
|
218
|
+
* Produces a descriptor to insert a negative sign
|
|
219
|
+
* @param {token} token
|
|
220
|
+
* @returns {signChange}
|
|
221
|
+
*/
|
|
241
222
|
function insertNegativeSign(token) {
|
|
242
223
|
return {
|
|
243
224
|
offset: token.offset,
|
|
@@ -246,13 +227,12 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
246
227
|
move: registeredTerms.SUB.value.length
|
|
247
228
|
};
|
|
248
229
|
}
|
|
249
|
-
/**
|
|
250
|
-
* Produces a descriptor to replace a sign by a negative sign
|
|
251
|
-
* @param {token} token
|
|
252
|
-
* @returns {signChange}
|
|
253
|
-
*/
|
|
254
|
-
|
|
255
230
|
|
|
231
|
+
/**
|
|
232
|
+
* Produces a descriptor to replace a sign by a negative sign
|
|
233
|
+
* @param {token} token
|
|
234
|
+
* @returns {signChange}
|
|
235
|
+
*/
|
|
256
236
|
function replaceByNegativeSign(token) {
|
|
257
237
|
return {
|
|
258
238
|
offset: token.offset,
|
|
@@ -261,15 +241,14 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
261
241
|
move: registeredTerms.SUB.value.length - token.value.length
|
|
262
242
|
};
|
|
263
243
|
}
|
|
264
|
-
/**
|
|
265
|
-
* Produces a descriptor to replace a sign by a positive sign
|
|
266
|
-
* @param {token} token
|
|
267
|
-
* @param {Number} index
|
|
268
|
-
* @param {token[]} tokens
|
|
269
|
-
* @returns {signChange}
|
|
270
|
-
*/
|
|
271
|
-
|
|
272
244
|
|
|
245
|
+
/**
|
|
246
|
+
* Produces a descriptor to replace a sign by a positive sign
|
|
247
|
+
* @param {token} token
|
|
248
|
+
* @param {Number} index
|
|
249
|
+
* @param {token[]} tokens
|
|
250
|
+
* @returns {signChange}
|
|
251
|
+
*/
|
|
273
252
|
function replaceByPositiveSign(token, index, tokens) {
|
|
274
253
|
var allowExplicit = index && acceptExplicitPositive(tokens[index - 1]);
|
|
275
254
|
return {
|
|
@@ -279,46 +258,41 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
279
258
|
move: (allowExplicit ? registeredTerms.ADD.value.length : 0) - token.value.length
|
|
280
259
|
};
|
|
281
260
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Replaces text at position
|
|
284
|
-
* @param {String} str - The string in which apply the replacement
|
|
285
|
-
* @param {Number} index - The index from which applying the replacement
|
|
286
|
-
* @param {Number} length - The length of the string to replace
|
|
287
|
-
* @param {String} sub - The replacement string
|
|
288
|
-
* @returns {String}
|
|
289
|
-
*/
|
|
290
|
-
|
|
291
261
|
|
|
262
|
+
/**
|
|
263
|
+
* Replaces text at position
|
|
264
|
+
* @param {String} str - The string in which apply the replacement
|
|
265
|
+
* @param {Number} index - The index from which applying the replacement
|
|
266
|
+
* @param {Number} length - The length of the string to replace
|
|
267
|
+
* @param {String} sub - The replacement string
|
|
268
|
+
* @returns {String}
|
|
269
|
+
*/
|
|
292
270
|
function splice(str, index, length, sub) {
|
|
293
271
|
return str.substring(0, index) + sub + str.substring(index + length);
|
|
294
272
|
}
|
|
295
|
-
|
|
296
273
|
var sign = pluginFactory({
|
|
297
274
|
name: pluginName,
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
* Called when the plugin is installing in its host.
|
|
275
|
+
/**
|
|
276
|
+
* Called when the plugin is installing in its host.
|
|
301
277
|
*/
|
|
302
278
|
install: function install() {
|
|
303
279
|
var calculator = this.getCalculator();
|
|
304
280
|
calculator.setCommand('sign', __('Sign change'), __('Change the sign of the current operand'));
|
|
305
281
|
},
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
* Called when the plugin should be initialized.
|
|
282
|
+
/**
|
|
283
|
+
* Called when the plugin should be initialized.
|
|
309
284
|
*/
|
|
310
285
|
init: function init() {
|
|
311
|
-
var calculator = this.getCalculator();
|
|
286
|
+
var calculator = this.getCalculator();
|
|
312
287
|
|
|
288
|
+
// applies a sign change based on strategies
|
|
313
289
|
calculator.on(nsHelper.namespaceAll('command-sign', pluginName), function () {
|
|
314
290
|
var tokens = calculator.getTokens();
|
|
315
291
|
var index = calculator.getTokenIndex();
|
|
316
292
|
var expression = calculator.getExpression();
|
|
317
293
|
var result;
|
|
318
|
-
|
|
319
294
|
if (expression !== '0') {
|
|
320
295
|
result = applyStrategies(index, tokens);
|
|
321
|
-
|
|
322
296
|
if (result) {
|
|
323
297
|
expression = splice(expression, result.offset, result.length, result.sign);
|
|
324
298
|
calculator.replace(expression, calculator.getPosition() + result.move);
|
|
@@ -326,9 +300,8 @@ define(['lodash', 'i18n', 'util/namespace', 'ui/maths/calculator/core/plugin', '
|
|
|
326
300
|
}
|
|
327
301
|
});
|
|
328
302
|
},
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
* Called when the plugin is destroyed. Mostly when the host is destroyed itself.
|
|
303
|
+
/**
|
|
304
|
+
* Called when the plugin is destroyed. Mostly when the host is destroyed itself.
|
|
332
305
|
*/
|
|
333
306
|
destroy: function destroy() {
|
|
334
307
|
var calculator = this.getCalculator();
|