@oat-sa/tao-core-ui 1.58.1 → 1.58.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/dist/actionbar.js +386 -395
- package/dist/adder.js +21 -19
- package/dist/animable/absorbable/absorbable.js +204 -213
- package/dist/animable/absorbable/css/absorb.css +1 -0
- package/dist/animable/absorbable/css/absorb.css.map +1 -1
- package/dist/animable/pulsable/pulsable.js +168 -177
- package/dist/autocomplete/css/autocomplete.css +1 -0
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +68 -66
- package/dist/badge/badge.js +188 -197
- package/dist/badge/css/badge.css +1 -0
- package/dist/badge/css/badge.css.map +1 -1
- package/dist/breadcrumbs.js +275 -284
- package/dist/btngrouper.js +5 -5
- package/dist/bulkActionPopup.js +490 -495
- package/dist/button.js +283 -291
- package/dist/cascadingComboBox.js +249 -258
- package/dist/ckeditor/ckConfigurator.js +26 -19
- package/dist/ckeditor/dtdHandler.js +11 -9
- package/dist/class/selector.js +441 -450
- package/dist/component/resizable.js +1 -1
- package/dist/component/windowed.js +285 -294
- package/dist/component.js +419 -428
- package/dist/contextualPopup.js +417 -426
- package/dist/dashboard.js +300 -309
- package/dist/datalist.js +753 -762
- package/dist/datatable/filterStrategy/multiple.js +1 -1
- package/dist/datatable/filterStrategy/single.js +1 -1
- package/dist/datatable.js +1527 -1550
- package/dist/dateRange/dateRange.js +393 -402
- package/dist/datetime/picker.js +665 -672
- package/dist/deleter.js +368 -377
- package/dist/destination/selector.js +286 -295
- package/dist/dialog/alert.js +3 -3
- package/dist/dialog/confirm.js +1 -1
- package/dist/dialog/confirmDelete.js +216 -225
- package/dist/dialog.js +650 -654
- package/dist/disabler.js +8 -8
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +166 -175
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +518 -527
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +380 -389
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +539 -548
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +369 -378
- package/dist/documentViewer/providers/pdfViewer.js +184 -193
- package/dist/documentViewer.js +292 -301
- package/dist/dropdown.js +383 -392
- package/dist/durationer.js +5 -5
- package/dist/dynamicComponent.js +597 -598
- package/dist/feedback.js +356 -362
- package/dist/figure/FigureStateActive.js +117 -108
- package/dist/filesender.js +2 -2
- package/dist/filter.js +230 -239
- package/dist/form/dropdownForm.js +355 -357
- package/dist/form/form.js +919 -690
- package/dist/form/simpleForm.js +1 -1
- package/dist/form/validator/renderer.js +233 -235
- package/dist/form/validator/validator.js +257 -189
- package/dist/form/widget/definitions.js +1 -1
- package/dist/form/widget/providers/checkBox.js +254 -259
- package/dist/form/widget/providers/comboBox.js +187 -192
- package/dist/form/widget/providers/default.js +8 -9
- package/dist/form/widget/providers/hidden.js +170 -179
- package/dist/form/widget/providers/hiddenBox.js +262 -267
- package/dist/form/widget/providers/radioBox.js +216 -225
- package/dist/form/widget/providers/textArea.js +187 -196
- package/dist/form/widget/providers/textBox.js +2 -3
- package/dist/form/widget/widget.js +473 -475
- package/dist/formValidator/formValidator.js +1 -1
- package/dist/formValidator/highlighters/message.js +1 -1
- package/dist/generis/form/form.js +314 -323
- package/dist/generis/validator/validator.js +209 -218
- package/dist/generis/widget/checkBox/checkBox.js +218 -227
- package/dist/generis/widget/comboBox/comboBox.js +179 -188
- package/dist/generis/widget/hiddenBox/hiddenBox.js +220 -229
- package/dist/generis/widget/textBox/textBox.js +169 -178
- package/dist/generis/widget/widget.js +246 -255
- package/dist/groupedComboBox.js +222 -231
- package/dist/groupvalidator.js +2 -2
- package/dist/highlighter.js +967 -958
- package/dist/image/ImgStateActive/helper.js +7 -5
- package/dist/image/ImgStateActive/initHelper.js +49 -43
- package/dist/image/ImgStateActive/initMediaEditor.js +24 -20
- package/dist/image/ImgStateActive/mediaSizer.js +14 -12
- package/dist/image/ImgStateActive.js +72 -70
- package/dist/incrementer.js +6 -6
- package/dist/inplacer.js +6 -6
- package/dist/itemButtonList/css/item-button-list.css +1 -0
- package/dist/itemButtonList/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +439 -435
- package/dist/keyNavigation/navigableDomElement.js +51 -38
- package/dist/keyNavigation/navigator.js +85 -70
- package/dist/listbox.js +460 -469
- package/dist/liststyler.js +8 -8
- package/dist/loadingButton/loadingButton.js +209 -218
- package/dist/lock.js +476 -485
- package/dist/login/login.js +475 -484
- package/dist/maths/calculator/basicCalculator.js +235 -244
- package/dist/maths/calculator/calculatorComponent.js +3 -3
- package/dist/maths/calculator/core/board.js +772 -781
- package/dist/maths/calculator/core/expression.js +476 -485
- package/dist/maths/calculator/core/labels.js +228 -237
- package/dist/maths/calculator/core/tokenizer.js +1 -1
- package/dist/maths/calculator/core/tokens.js +163 -170
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +244 -253
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +279 -288
- package/dist/maths/calculator/scientificCalculator.js +327 -336
- package/dist/mediaEditor/mediaEditorComponent.js +238 -245
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +7 -7
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +229 -235
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +580 -589
- package/dist/mediaplayer/players/html5.js +666 -675
- package/dist/mediaplayer/players/youtube.js +419 -424
- package/dist/mediaplayer/support.js +11 -10
- package/dist/mediaplayer/utils/reminder.js +14 -13
- package/dist/mediaplayer/utils/timeObserver.js +10 -11
- package/dist/mediaplayer/youtubeManager.js +164 -145
- package/dist/mediaplayer.js +1565 -1520
- package/dist/mediasizer.js +669 -678
- package/dist/modal.js +10 -17
- package/dist/pageSizeSelector.js +219 -228
- package/dist/pagination/providers/pages.js +280 -289
- package/dist/pagination/providers/simple.js +192 -201
- package/dist/previewer.js +30 -30
- package/dist/progressbar.js +4 -4
- package/dist/report.js +347 -356
- package/dist/resource/filters.js +271 -280
- package/dist/resource/list.js +1264 -1273
- package/dist/resource/selector.js +865 -874
- package/dist/resource/tree.js +1483 -1492
- package/dist/resourcemgr/fileBrowser.js +564 -569
- package/dist/resourcemgr/filePreview.js +16 -16
- package/dist/resourcemgr/fileSelector.js +515 -524
- package/dist/resourcemgr/util/updatePermissions.js +2 -2
- package/dist/resourcemgr.js +306 -315
- package/dist/searchModal/advancedSearch.js +796 -767
- package/dist/searchModal.js +114 -91
- package/dist/switch/switch.js +298 -307
- package/dist/tabs.js +598 -575
- package/dist/taskQueue/status.js +312 -321
- package/dist/taskQueue/table.js +375 -384
- package/dist/taskQueue/taskQueueModel.js +488 -472
- package/dist/taskQueueButton/taskable.js +264 -273
- package/dist/taskQueueButton/treeButton.js +189 -198
- package/dist/themeLoader.js +24 -23
- package/dist/themes.js +1 -1
- package/dist/toggler.js +3 -3
- package/dist/tooltip.js +295 -304
- package/dist/transformer.js +2 -2
- package/dist/tristateCheckboxGroup.js +311 -320
- package/dist/uploader.js +687 -696
- package/dist/validator/Report.js +1 -1
- package/dist/validator/Validator.js +3 -3
- package/dist/validator/validators.js +9 -9
- package/dist/validator.js +240 -230
- package/dist/waitForMedia.js +1 -1
- package/package.json +3 -3
- package/src/animable/absorbable/css/absorb.css +1 -0
- package/src/animable/absorbable/css/absorb.css.map +1 -1
- package/src/autocomplete/css/autocomplete.css +1 -0
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/badge/css/badge.css +1 -0
- package/src/badge/css/badge.css.map +1 -1
- package/src/ckeditor/ckConfigurator.js +4 -0
- package/src/itemButtonList/css/item-button-list.css +1 -0
- package/src/itemButtonList/css/item-button-list.css.map +1 -1
- package/src/.DS_Store +0 -0
- package/src/css/basic.css +0 -7826
- package/src/css/basic.css.map +0 -1
- package/src/css/ckeditor/skins/tao/css/dialog.css +0 -950
- package/src/css/ckeditor/skins/tao/css/dialog.css.map +0 -1
- package/src/css/ckeditor/skins/tao/css/editor.css +0 -1850
- package/src/css/ckeditor/skins/tao/css/editor.css.map +0 -1
- package/src/scss/.DS_Store +0 -0
- package/src/scss/basic.scss +0 -16
- package/src/scss/ckeditor/skins/tao/scss/dialog.scss +0 -763
- package/src/scss/ckeditor/skins/tao/scss/editor.scss +0 -111
- package/src/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +0 -59
- package/src/scss/ckeditor/skins/tao/scss/inc/_colorpanel.scss +0 -118
- package/src/scss/ckeditor/skins/tao/scss/inc/_elementspath.scss +0 -69
- package/src/scss/ckeditor/skins/tao/scss/inc/_mainui.scss +0 -194
- package/src/scss/ckeditor/skins/tao/scss/inc/_menu.scss +0 -181
- package/src/scss/ckeditor/skins/tao/scss/inc/_panel.scss +0 -200
- package/src/scss/ckeditor/skins/tao/scss/inc/_presets.scss +0 -32
- package/src/scss/ckeditor/skins/tao/scss/inc/_reset.scss +0 -101
- package/src/scss/ckeditor/skins/tao/scss/inc/_richcombo.scss +0 -213
- package/src/scss/ckeditor/skins/tao/scss/inc/_tao.scss +0 -59
- package/src/scss/ckeditor/skins/tao/scss/inc/_toolbar.scss +0 -301
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot.b64 +0 -1
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
- package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff.b64 +0 -1
- package/src/scss/font/tao/tao.eot +0 -0
- package/src/scss/font/tao/tao.svg +0 -235
- package/src/scss/font/tao/tao.ttf +0 -0
- package/src/scss/font/tao/tao.woff +0 -0
- package/src/scss/inc/_base.scss +0 -496
- package/src/scss/inc/_bootstrap.scss +0 -6
- package/src/scss/inc/_buttons.scss +0 -114
- package/src/scss/inc/_colors.scss +0 -88
- package/src/scss/inc/_feedback.scss +0 -150
- package/src/scss/inc/_flex-grid.scss +0 -15
- package/src/scss/inc/_fonts.scss +0 -4
- package/src/scss/inc/_forms.scss +0 -827
- package/src/scss/inc/_functions.scss +0 -283
- package/src/scss/inc/_grid.scss +0 -66
- package/src/scss/inc/_jquery.nouislider.scss +0 -254
- package/src/scss/inc/_normalize.scss +0 -528
- package/src/scss/inc/_report.scss +0 -68
- package/src/scss/inc/_secondary-properties.scss +0 -89
- package/src/scss/inc/_select2.scss +0 -634
- package/src/scss/inc/_toolbars.scss +0 -155
- package/src/scss/inc/_tooltip.scss +0 -312
- package/src/scss/inc/_variables.scss +0 -21
- package/src/scss/inc/base/_highlight.scss +0 -5
- package/src/scss/inc/base/_list-style.scss +0 -59
- package/src/scss/inc/base/_svg.scss +0 -3
- package/src/scss/inc/base/_table.scss +0 -63
- package/src/scss/inc/fonts/_source-sans-pro.scss +0 -29
- package/src/scss/inc/fonts/_tao-icon-classes.scss +0 -226
- package/src/scss/inc/fonts/_tao-icon-def.scss +0 -12
- package/src/scss/inc/fonts/_tao-icon-vars.scss +0 -240
|
@@ -1,369 +1,360 @@
|
|
|
1
1
|
define(['lodash', 'i18n', 'ui/maths/calculator/defaultCalculator', 'ui/maths/calculator/plugins/modifiers/sign', 'ui/maths/calculator/plugins/modifiers/pow10', 'handlebars', 'lib/dompurify/purify'], function (_, __, defaultCalculatorFactory, pluginSign, pluginPow10, Handlebars, DOMPurify) { 'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
4
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
5
|
+
defaultCalculatorFactory = defaultCalculatorFactory && Object.prototype.hasOwnProperty.call(defaultCalculatorFactory, 'default') ? defaultCalculatorFactory['default'] : defaultCalculatorFactory;
|
|
6
|
+
pluginSign = pluginSign && Object.prototype.hasOwnProperty.call(pluginSign, 'default') ? pluginSign['default'] : pluginSign;
|
|
7
|
+
pluginPow10 = pluginPow10 && Object.prototype.hasOwnProperty.call(pluginPow10, 'default') ? pluginPow10['default'] : pluginPow10;
|
|
8
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
9
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
10
10
|
|
|
11
|
+
function _typeof(obj) {
|
|
12
|
+
"@babel/helpers - typeof";
|
|
13
|
+
|
|
14
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
15
|
+
return typeof obj;
|
|
16
|
+
} : function (obj) {
|
|
17
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
18
|
+
}, _typeof(obj);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function Helpers0 (hb) {
|
|
22
|
+
//register a i18n helper
|
|
23
|
+
hb.registerHelper('__', function (key) {
|
|
24
|
+
return __(key);
|
|
25
|
+
});
|
|
11
26
|
/**
|
|
12
|
-
*
|
|
13
|
-
* modify it under the terms of the GNU General Public License
|
|
14
|
-
* as published by the Free Software Foundation; under version 2
|
|
15
|
-
* of the License (non-upgradable).
|
|
16
|
-
*
|
|
17
|
-
* This program is distributed in the hope that it will be useful,
|
|
18
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
-
* GNU General Public License for more details.
|
|
21
|
-
*
|
|
22
|
-
* You should have received a copy of the GNU General Public License
|
|
23
|
-
* along with this program; if not, write to the Free Software
|
|
24
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
25
|
-
*
|
|
26
|
-
* Copyright (c) 2013-2019 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
|
|
27
|
-
*
|
|
27
|
+
* Register dompurify helper
|
|
28
28
|
*
|
|
29
|
+
* https://github.com/cure53/DOMPurify
|
|
30
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
31
|
+
* to make output safe for template systems
|
|
29
32
|
*/
|
|
30
|
-
function Helpers0 (hb) {
|
|
31
|
-
//register a i18n helper
|
|
32
|
-
hb.registerHelper('__', function (key) {
|
|
33
|
-
return __(key);
|
|
34
|
-
});
|
|
35
|
-
/**
|
|
36
|
-
* Register dompurify helper
|
|
37
|
-
*
|
|
38
|
-
* https://github.com/cure53/DOMPurify
|
|
39
|
-
* with config SAFE_FOR_TEMPLATES: true
|
|
40
|
-
* to make output safe for template systems
|
|
41
|
-
*/
|
|
42
33
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
34
|
+
hb.registerHelper('dompurify', function (context) {
|
|
35
|
+
return DOMPurify.sanitize(context);
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Register join helper
|
|
39
|
+
*
|
|
40
|
+
* Example :
|
|
41
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
42
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
43
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
44
|
+
*/
|
|
54
45
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
46
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
47
|
+
var fragments = [];
|
|
48
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
49
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
50
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
60
51
|
|
|
61
|
-
|
|
62
|
-
|
|
52
|
+
_.forIn(arr, function (value, key) {
|
|
53
|
+
var fragment = '';
|
|
63
54
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
} else {
|
|
71
|
-
value = '';
|
|
55
|
+
if (value !== null || value !== undefined) {
|
|
56
|
+
if (typeof value === 'boolean') {
|
|
57
|
+
value = value ? 'true' : 'false';
|
|
58
|
+
} else if (_typeof(value) === 'object') {
|
|
59
|
+
value = _.values(value).join(' ');
|
|
72
60
|
}
|
|
61
|
+
} else {
|
|
62
|
+
value = '';
|
|
63
|
+
}
|
|
73
64
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
65
|
+
if (keyValueGlue !== undefined) {
|
|
66
|
+
fragment += key + keyValueGlue;
|
|
67
|
+
}
|
|
77
68
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
69
|
+
fragment += wrapper + value + wrapper;
|
|
70
|
+
fragments.push(fragment);
|
|
71
|
+
});
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
73
|
+
return fragments.join(fragmentGlue);
|
|
74
|
+
}); //register a classic "for loop" helper
|
|
75
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
85
76
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
77
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
78
|
+
var ret = '';
|
|
79
|
+
startIndex = parseInt(startIndex);
|
|
80
|
+
stopIndex = parseInt(stopIndex);
|
|
81
|
+
increment = parseInt(increment);
|
|
91
82
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
83
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
84
|
+
ret += options.fn(_.extend({}, this, {
|
|
85
|
+
i: i
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
97
88
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
89
|
+
return ret;
|
|
90
|
+
});
|
|
91
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
92
|
+
if (var1 == var2) {
|
|
93
|
+
return options.fn(this);
|
|
94
|
+
} else {
|
|
95
|
+
return options.inverse(this);
|
|
96
|
+
}
|
|
97
|
+
}); // register a "get property" helper
|
|
98
|
+
// it gets the named property from the provided context
|
|
108
99
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
100
|
+
hb.registerHelper('property', function (name, context) {
|
|
101
|
+
return context[name] || '';
|
|
102
|
+
}); // register an 'includes' helper
|
|
103
|
+
// it checks if value is in array
|
|
113
104
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
105
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
106
|
+
if (_.contains(haystack, needle)) {
|
|
107
|
+
return options.fn(this);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
120
111
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
112
|
+
if (!Helpers0.__initialized) {
|
|
113
|
+
Helpers0(Handlebars);
|
|
114
|
+
Helpers0.__initialized = true;
|
|
115
|
+
}
|
|
116
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
117
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
118
|
+
helpers = this.merge(helpers, Handlebars.helpers); var buffer = "", stack1, functionType="function";
|
|
128
119
|
|
|
129
120
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
121
|
+
buffer += "<div class=\"calculator-keyboard\">\n <div class=\"row\">\n <button class=\"key switch first\" data-command=\"degree\"><span>";
|
|
122
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.DEGREE)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
123
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
124
|
+
buffer += "</span></button>\n <button class=\"key switch last\" data-command=\"radian\"><span>";
|
|
125
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.RADIAN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
126
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
127
|
+
buffer += "</span></button>\n <span class=\"spacer\">";
|
|
128
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.SPACER)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
129
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
130
|
+
buffer += "</span>\n <span class=\"spacer\">";
|
|
131
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.SPACER)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
132
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
133
|
+
buffer += "</span>\n <button class=\"key command\" data-command=\"historyUp\"><span>";
|
|
134
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.HISTORYUP)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
135
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
136
|
+
buffer += "</span></button>\n <button class=\"key command\" data-command=\"historyDown\"><span>";
|
|
137
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.HISTORYDOWN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
138
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
139
|
+
buffer += "</span></button>\n <button class=\"key command\" data-command=\"stepDeleteLeft\"><span>";
|
|
140
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.BACKSPACE)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
141
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
142
|
+
buffer += "</span></button>\n <button class=\"key command\" data-command=\"clear\"><span>";
|
|
143
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.CLEARALL)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
144
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
145
|
+
buffer += "</span></button>\n </div>\n <div class=\"row\">\n <button class=\"key operator\" data-command=\"term\" data-param=\"SIN\"><span>";
|
|
146
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.SIN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
147
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
148
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"COS\"><span>";
|
|
149
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.COS)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
150
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
151
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"TAN\"><span>";
|
|
152
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.TAN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
153
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
154
|
+
buffer += "</span></button>\n <button class=\"key constant\" data-command=\"term\" data-param=\"PI\"><span>";
|
|
155
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.PI)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
156
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
157
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"LPAR\"><span>";
|
|
158
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.LPAR)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
159
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
160
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"RPAR\"><span>";
|
|
161
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.RPAR)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
162
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
163
|
+
buffer += "</span></button>\n <button class=\"key variable\" data-command=\"var\" data-param=\"ans\"><span>";
|
|
164
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.ANS)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
165
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
166
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"DIV\"><span>";
|
|
167
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.DIV)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
168
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
169
|
+
buffer += "</span></button>\n </div>\n <div class=\"row\">\n <button class=\"key operator\" data-command=\"term\" data-param=\"ASIN\"><span>";
|
|
170
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.ASIN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
171
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
172
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"ACOS\"><span>";
|
|
173
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.ACOS)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
174
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
175
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"ATAN\"><span>";
|
|
176
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.ATAN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
177
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
178
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"FAC\"><span>";
|
|
179
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.FAC)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
180
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
181
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM7\"><span>";
|
|
182
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM7)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
183
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
184
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM8\"><span>";
|
|
185
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM8)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
186
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
187
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM9\"><span>";
|
|
188
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM9)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
189
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
190
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"MUL\"><span>";
|
|
191
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.MUL)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
192
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
193
|
+
buffer += "</span></button>\n </div>\n <div class=\"row\">\n <button class=\"key operator\" data-command=\"term\" data-param=\"POW NUM2\"><span>";
|
|
194
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.POW2)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
195
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
196
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"POW NUM3\"><span>";
|
|
197
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.POW3)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
198
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
199
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"POW\"><span>";
|
|
200
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.POWY)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
201
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
202
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"POW SUB NUM1\"><span>";
|
|
203
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.POWMINUSONE)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
204
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
205
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM4\"><span>";
|
|
206
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM4)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
207
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
208
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM5\"><span>";
|
|
209
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM5)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
210
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
211
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM6\"><span>";
|
|
212
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM6)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
213
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
214
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"SUB\"><span>";
|
|
215
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.SUB)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
216
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
217
|
+
buffer += "</span></button>\n </div>\n <div class=\"row\">\n <button class=\"key operator\" data-command=\"term\" data-param=\"SQRT\"><span>";
|
|
218
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.SQRT)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
219
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
220
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"CBRT\"><span>";
|
|
221
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.CBRT)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
222
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
223
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"@NTHRT\"><span>";
|
|
224
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NTHRT)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
225
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
226
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"pow10\"><span>";
|
|
227
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.POW10)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
228
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
229
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM1\"><span>";
|
|
230
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM1)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
231
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
232
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM2\"><span>";
|
|
233
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM2)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
234
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
235
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM3\"><span>";
|
|
236
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM3)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
237
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
238
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"ADD\"><span>";
|
|
239
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.ADD)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
240
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
241
|
+
buffer += "</span></button>\n </div>\n <div class=\"row\">\n <button class=\"key operator\" data-command=\"term\" data-param=\"LOG10\"><span>";
|
|
242
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.LOG)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
243
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
244
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"LN\"><span>";
|
|
245
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.LN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
246
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
247
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"term\" data-param=\"EXP\"><span>";
|
|
248
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.EXPX)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
249
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
250
|
+
buffer += "</span></button>\n <button class=\"key constant\" data-command=\"term\" data-param=\"E\"><span>";
|
|
251
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.E)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
252
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
253
|
+
buffer += "</span></button>\n <button class=\"key operator\" data-command=\"sign\"><span>";
|
|
254
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.SIGN)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
255
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
256
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"NUM0\"><span>";
|
|
257
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.NUM0)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
258
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
259
|
+
buffer += "</span></button>\n <button class=\"key operand\" data-command=\"term\" data-param=\"DOT\"><span>";
|
|
260
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.DOT)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
261
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
262
|
+
buffer += "</span></button>\n <button class=\"key execute\" data-command=\"execute\"><span>";
|
|
263
|
+
stack1 = ((stack1 = ((stack1 = (depth0 && depth0.labels)),stack1 == null || stack1 === false ? stack1 : stack1.EXECUTE)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1);
|
|
264
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
265
|
+
buffer += "</span></button>\n </div>\n</div>";
|
|
266
|
+
return buffer;
|
|
267
|
+
});
|
|
268
|
+
function keyboardTpl(data, options, asString) {
|
|
269
|
+
var html = Template(data, options);
|
|
270
|
+
return (asString || true) ? html : $(html);
|
|
271
|
+
}
|
|
281
272
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
273
|
+
if (!Helpers0.__initialized) {
|
|
274
|
+
Helpers0(Handlebars);
|
|
275
|
+
Helpers0.__initialized = true;
|
|
276
|
+
}
|
|
277
|
+
var Template$1 = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
278
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
279
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
280
|
+
var buffer = "", stack1, helper, functionType="function";
|
|
290
281
|
|
|
291
282
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
283
|
+
buffer += "<div class=\"calculator-screen simple-screen\">\n <div class=\"screen-panel history\">";
|
|
284
|
+
if (helper = helpers.history) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
285
|
+
else { helper = (depth0 && depth0.history); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
286
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
287
|
+
buffer += "</div>\n <div class=\"screen-panel expression\">";
|
|
288
|
+
if (helper = helpers.expression) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
289
|
+
else { helper = (depth0 && depth0.expression); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
290
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
291
|
+
buffer += "</div>\n</div>";
|
|
292
|
+
return buffer;
|
|
293
|
+
});
|
|
294
|
+
function screenTpl(data, options, asString) {
|
|
295
|
+
var html = Template$1(data, options);
|
|
296
|
+
return (asString || true) ? html : $(html);
|
|
297
|
+
}
|
|
307
298
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
299
|
+
/**
|
|
300
|
+
* This program is free software; you can redistribute it and/or
|
|
301
|
+
* modify it under the terms of the GNU General Public License
|
|
302
|
+
* as published by the Free Software Foundation; under version 2
|
|
303
|
+
* of the License (non-upgradable).
|
|
304
|
+
*
|
|
305
|
+
* This program is distributed in the hope that it will be useful,
|
|
306
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
307
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
308
|
+
* GNU General Public License for more details.
|
|
309
|
+
*
|
|
310
|
+
* You should have received a copy of the GNU General Public License
|
|
311
|
+
* along with this program; if not, write to the Free Software
|
|
312
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
313
|
+
*
|
|
314
|
+
* Copyright (c) 2018 Open Assessment Technologies SA ;
|
|
315
|
+
*/
|
|
316
|
+
/**
|
|
317
|
+
* Default config values
|
|
318
|
+
* @type {Object}
|
|
319
|
+
*/
|
|
329
320
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
321
|
+
var defaultConfig = {
|
|
322
|
+
title: __('Scientific Calculator'),
|
|
323
|
+
width: 450,
|
|
324
|
+
height: 400,
|
|
325
|
+
minWidth: 250,
|
|
326
|
+
minHeight: 220
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* Creates a scientific calculator component. Screen and keyboard layout are replaceable.
|
|
330
|
+
* @param {Object} config - Some config entries (@see ui/dynamicComponent)
|
|
331
|
+
* @param {Function} [config.keyboardLayout] - A Handlebars template for the keyboard
|
|
332
|
+
* @param {Function} [config.screenLayout] - A Handlebars template for the screen
|
|
333
|
+
* @param {Object} [config.calculator] - Config for the calculator (@see ui/maths/calculator/core/board)
|
|
334
|
+
* @returns {dynamicComponent}
|
|
335
|
+
*/
|
|
345
336
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}
|
|
337
|
+
function scientificCalculator(config) {
|
|
338
|
+
// The plugins config is directly built here instead of using a module variable to ensure the object is unique
|
|
339
|
+
// to the instance. This wil avoid global polluting by successive instances, as nested objects and arrays might
|
|
340
|
+
// be simply copied.
|
|
341
|
+
return defaultCalculatorFactory(_.merge({
|
|
342
|
+
loadedPlugins: {
|
|
343
|
+
modifiers: [pluginSign, pluginPow10]
|
|
344
|
+
},
|
|
345
|
+
calculator: {
|
|
346
|
+
plugins: {
|
|
347
|
+
templateKeyboard: {
|
|
348
|
+
layout: keyboardTpl
|
|
349
|
+
},
|
|
350
|
+
simpleScreen: {
|
|
351
|
+
layout: screenTpl
|
|
362
352
|
}
|
|
363
353
|
}
|
|
364
|
-
}
|
|
365
|
-
}
|
|
354
|
+
}
|
|
355
|
+
}, defaultConfig, config));
|
|
356
|
+
}
|
|
366
357
|
|
|
367
|
-
|
|
358
|
+
return scientificCalculator;
|
|
368
359
|
|
|
369
360
|
});
|