smoosic 1.0.10 → 1.0.11
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/build/smoosic.js
CHANGED
|
@@ -1108,7 +1108,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1108
1108
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1109
1109
|
|
|
1110
1110
|
"use strict";
|
|
1111
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SuiRockerComponent: () => (/* binding */ SuiRockerComponent),\n/* harmony export */ SuiRockerComposite: () => (/* binding */ SuiRockerComposite)\n/* harmony export */ });\n/* harmony import */ var _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/htmlHelpers */ \"./src/common/htmlHelpers.ts\");\n/* harmony import */ var _baseComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseComponent */ \"./src/ui/dialogs/components/baseComponent.ts\");\n// [Smoosic](https://github.com/AaronDavidNewman/Smoosic)\n// Copyright (c) Aaron David Newman 2021.\n/**\n * @module /ui/dialog/components/rocker\n * **/\n\n\n/**\n * A numeric input box with +- buttons. Adjustable type and scale\n * @category SuiDialog\n * */\nclass SuiRockerComponent extends _baseComponent__WEBPACK_IMPORTED_MODULE_1__.SuiComponentBase {\n static get dataTypes() {\n return ['int', 'float', 'percent'];\n }\n static get increments() {\n return { 'int': 1, 'float': 0.1, 'percent': 10 };\n }\n static get parsers() {\n return { 'int': '_getIntValue', 'float': '_getFloatValue', 'percent': '_getPercentValue' };\n }\n constructor(dialog, params) {\n var _a, _b;\n super(dialog, params);\n this.initialValue = 0;\n this.increment = 1;\n this.dataType = (_a = params.dataType) !== null && _a !== void 0 ? _a : 'int';\n this.increment = (_b = params.increment) !== null && _b !== void 0 ? _b : SuiRockerComponent.increments[this.dataType];\n if (SuiRockerComponent.dataTypes.indexOf(this.dataType) < 0) {\n throw new Error('dialog element invalid type ' + this.dataType);\n }\n if (this.dataType === 'int' && this.increment < 1) {\n throw new Error('int component with decimal increment');\n }\n this.parser = SuiRockerComponent.parsers[this.dataType];\n this.min = params.min;\n this.max = params.max;\n this.dialog = dialog;\n }\n get html() {\n const b = _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__.buildDom;\n const id = this.parameterId;\n const r = b('div').classes(this.makeClasses('rockerControl smoControl')).attr('id', id).attr('data-param', this.smoName)\n .append(b('button').classes('increment').append(b('span').classes('icon icon-circle-up'))).append(b('button').classes('decrement').append(b('span').classes('icon icon-circle-down'))).append(b('input').attr('type', 'text').classes('rockerInput')\n .attr('id', id + '-input')).append(b('label').attr('for', id + '-input').text(this.label));\n return r;\n }\n get parameterId() {\n return this.id;\n }\n handleChange() {\n this.changeFlag = true;\n this.dialog.changed();\n this.changeFlag = false;\n }\n bind() {\n const pid = this.parameterId;\n const input = this._getInputElement();\n let val = 0;\n $('#' + pid).find('button.increment').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val += this.increment;\n if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $('#' + pid).find('button.decrement').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val -= this.increment;\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $(input).off('blur').on('blur', () => {\n val = this[this.parser]();\n if (val !== this.initialValue) {\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n else if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n this.initialValue = val;\n $(input).val(val);\n this.handleChanged();\n }\n });\n }\n _getInputElement() {\n const pid = this.parameterId;\n return $(this.dialog.dgDom.element).find('#' + pid).find('input');\n }\n _getIntValue() {\n let val = parseInt(this._getInputElement().val(), 10);\n val = isNaN(val) ? 0 : val;\n return val;\n }\n _getFloatValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1.0 : val;\n return val;\n }\n _getPercentValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1 : val;\n return val / 100;\n }\n _setIntValue(val) {\n this._getInputElement().val(val);\n }\n setValue(value) {\n if (this.dataType === 'percent') {\n value = value * 100;\n }\n this._setIntValue(value);\n this.initialValue = value;\n }\n getValue() {\n return this[this.parser]();\n }\n}\n/**\n * @category SuiDialog\n */\nclass SuiRockerComposite extends SuiRockerComponent {\n constructor(dialog, parameters) {\n super(dialog, parameters);\n this.parentControl = parameters.parentControl;\n }\n handleChanged() {\n this.changeFlag = true;\n this.parentControl.changed();\n this.changeFlag = false;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUMsYUFBYSxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TbW8vLi9zcmMvdWkvZGlhbG9ncy9jb21wb25lbnRzL3JvY2tlci50cz9jMGZkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFtTbW9vc2ljXShodHRwczovL2dpdGh1Yi5jb20vQWFyb25EYXZpZE5ld21hbi9TbW9vc2ljKVxyXG4vLyBDb3B5cmlnaHQgKGMpIEFhcm9uIERhdmlkIE5ld21hbiAyMDIxLlxyXG4vKipcclxuICogQG1vZHVsZSAvdWkvZGlhbG9nL2NvbXBvbmVudHMvcm9ja2VyXHJcbiAqICoqL1xyXG4gaW1wb3J0IHsgYnVpbGREb20gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHRtbEhlbHBlcnMnO1xyXG5pbXBvcnQgeyBTdWlDb21wb25lbnRCYXNlLCBTdWlEaWFsb2dOb3RpZmllciwgU3VpQ29tcG9uZW50UGFyZW50IH0gZnJvbSAnLi9iYXNlQ29tcG9uZW50JztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbi8qKlxyXG4gKiBCYXNpYyBkaWFsb2cgY29tcG9uZW50IGluZm8uXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VpUm9ja2VyQ29tcG9uZW50UGFyYW1zIHtcclxuICBpZDogc3RyaW5nLFxyXG4gIGNsYXNzZXM6IHN0cmluZyxcclxuICBkYXRhVHlwZT86IHN0cmluZyxcclxuICBpbmNyZW1lbnQ/OiBudW1iZXIsXHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICBzbW9OYW1lOiBzdHJpbmcsXHJcbiAgY29udHJvbDogc3RyaW5nLFxyXG4gIG1pbj86IG51bWJlcixcclxuICBtYXg/OiBudW1iZXIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIG51bWVyaWMgaW5wdXQgYm94IHdpdGggKy0gYnV0dG9ucy4gICBBZGp1c3RhYmxlIHR5cGUgYW5kIHNjYWxlXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICogKi9cclxuZXhwb3J0IGNsYXNzIFN1aVJvY2tlckNvbXBvbmVudCBleHRlbmRzIFN1aUNvbXBvbmVudEJhc2Uge1xyXG4gIHN0YXRpYyBnZXQgZGF0YVR5cGVzKCkge1xyXG4gICAgcmV0dXJuIFsnaW50JywgJ2Zsb2F0JywgJ3BlcmNlbnQnXTtcclxuICB9XHJcbiAgc3RhdGljIGdldCBpbmNyZW1lbnRzKCk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHsgJ2ludCc6IDEsICdmbG9hdCc6IDAuMSwgJ3BlcmNlbnQnOiAxMCB9O1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0IHBhcnNlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4geyAnaW50JzogJ19nZXRJbnRWYWx1ZScsICdmbG9hdCc6ICdfZ2V0RmxvYXRWYWx1ZScsICdwZXJjZW50JzogJ19nZXRQZXJjZW50VmFsdWUnIH07XHJcbiAgfVxyXG4gIGluaXRpYWxWYWx1ZTogbnVtYmVyID0gMDtcclxuICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gIGluY3JlbWVudDogbnVtYmVyID0gMTtcclxuICBwYXJzZXI6IHN0cmluZztcclxuICBtaW46IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBtYXg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IFN1aURpYWxvZ05vdGlmaWVyLCBwYXJhbXM6IFN1aVJvY2tlckNvbXBvbmVudFBhcmFtcykge1xyXG4gICAgc3VwZXIoZGlhbG9nLCBwYXJhbXMpO1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHBhcmFtcy5kYXRhVHlwZSA/PyAnaW50JztcclxuICAgIHRoaXMuaW5jcmVtZW50ID0gcGFyYW1zLmluY3JlbWVudCA/PyBTdWlSb2NrZXJDb21wb25lbnQuaW5jcmVtZW50c1t0aGlzLmRhdGFUeXBlXTtcclxuICAgIGlmIChTdWlSb2NrZXJDb21wb25lbnQuZGF0YVR5cGVzLmluZGV4T2YodGhpcy5kYXRhVHlwZSkgPCAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGlhbG9nIGVsZW1lbnQgaW52YWxpZCB0eXBlICcgKyB0aGlzLmRhdGFUeXBlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAnaW50JyAmJiB0aGlzLmluY3JlbWVudCA8IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnQgY29tcG9uZW50IHdpdGggZGVjaW1hbCBpbmNyZW1lbnQnKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFyc2VyID0gU3VpUm9ja2VyQ29tcG9uZW50LnBhcnNlcnNbdGhpcy5kYXRhVHlwZV07XHJcbiAgICB0aGlzLm1pbiA9IHBhcmFtcy5taW47XHJcbiAgICB0aGlzLm1heCA9IHBhcmFtcy5tYXg7XHJcbiAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIGdldCBodG1sKCkge1xyXG4gICAgY29uc3QgYiA9IGJ1aWxkRG9tO1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLnBhcmFtZXRlcklkO1xyXG4gICAgY29uc3QgciA9IGIoJ2RpdicpLmNsYXNzZXModGhpcy5tYWtlQ2xhc3Nlcygncm9ja2VyQ29udHJvbCBzbW9Db250cm9sJykpLmF0dHIoJ2lkJywgaWQpLmF0dHIoJ2RhdGEtcGFyYW0nLCB0aGlzLnNtb05hbWUpXHJcbiAgICAgIC5hcHBlbmQoXHJcbiAgICAgICAgYignYnV0dG9uJykuY2xhc3NlcygnaW5jcmVtZW50JykuYXBwZW5kKFxyXG4gICAgICAgICAgYignc3BhbicpLmNsYXNzZXMoJ2ljb24gaWNvbi1jaXJjbGUtdXAnKSkpLmFwcGVuZChcclxuICAgICAgICBiKCdidXR0b24nKS5jbGFzc2VzKCdkZWNyZW1lbnQnKS5hcHBlbmQoXHJcbiAgICAgICAgICBiKCdzcGFuJykuY2xhc3NlcygnaWNvbiBpY29uLWNpcmNsZS1kb3duJykpKS5hcHBlbmQoXHJcbiAgICAgICAgYignaW5wdXQnKS5hdHRyKCd0eXBlJywgJ3RleHQnKS5jbGFzc2VzKCdyb2NrZXJJbnB1dCcpXHJcbiAgICAgICAgICAuYXR0cignaWQnLCBpZCArICctaW5wdXQnKSkuYXBwZW5kKFxyXG4gICAgICAgIGIoJ2xhYmVsJykuYXR0cignZm9yJywgaWQgKyAnLWlucHV0JykudGV4dCh0aGlzLmxhYmVsKSk7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcblxyXG4gIGdldCBwYXJhbWV0ZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlkO1xyXG4gIH1cclxuICBoYW5kbGVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5kaWFsb2cuY2hhbmdlZCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBiaW5kKCkge1xyXG4gICAgY29uc3QgcGlkID0gdGhpcy5wYXJhbWV0ZXJJZDtcclxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fZ2V0SW5wdXRFbGVtZW50KCk7XHJcbiAgICBsZXQgdmFsID0gMDtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uaW5jcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsICs9IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1heCAhPSB1bmRlZmluZWQgJiYgdmFsID4gdGhpcy5tYXgpIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWF4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uZGVjcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsIC09IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoaW5wdXQpLm9mZignYmx1cicpLm9uKCdibHVyJyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHZhbCA9ICh0aGlzIGFzIGFueSlbdGhpcy5wYXJzZXJdKCk7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5pbml0aWFsVmFsdWUpIHtcclxuICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgdmFsID0gdGhpcy5taW47XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF4ICE9IHVuZGVmaW5lZCAmJiB2YWwgPiB0aGlzLm1heCkge1xyXG4gICAgICAgICAgICB2YWwgPSB0aGlzLm1heDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgJChpbnB1dCkudmFsKHZhbCk7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBfZ2V0SW5wdXRFbGVtZW50KCkge1xyXG4gICAgY29uc3QgcGlkID0gdGhpcy5wYXJhbWV0ZXJJZDtcclxuICAgIHJldHVybiAkKHRoaXMuZGlhbG9nLmRnRG9tLmVsZW1lbnQpLmZpbmQoJyMnICsgcGlkKS5maW5kKCdpbnB1dCcpO1xyXG4gIH1cclxuICBfZ2V0SW50VmFsdWUoKSB7XHJcbiAgICBsZXQgdmFsOm51bWJlciA9IHBhcnNlSW50KHRoaXMuX2dldElucHV0RWxlbWVudCgpLnZhbCgpLCAxMCk7XHJcbiAgICB2YWwgPSBpc05hTih2YWwpID8gMCA6IHZhbDtcclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG4gIF9nZXRGbG9hdFZhbHVlKCkge1xyXG4gICAgbGV0IHZhbCA9IHBhcnNlRmxvYXQodGhpcy5fZ2V0SW5wdXRFbGVtZW50KCkudmFsKCkpO1xyXG4gICAgdmFsID0gaXNOYU4odmFsKSA/IDEuMCA6IHZhbDtcclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG4gIF9nZXRQZXJjZW50VmFsdWUoKSB7XHJcbiAgICBsZXQgdmFsID0gcGFyc2VGbG9hdCh0aGlzLl9nZXRJbnB1dEVsZW1lbnQoKS52YWwoKSk7XHJcbiAgICB2YWwgPSBpc05hTih2YWwpID8gMSA6IHZhbDtcclxuICAgIHJldHVybiB2YWwgLyAxMDA7XHJcbiAgfVxyXG4gIF9zZXRJbnRWYWx1ZSh2YWw6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgdGhpcy5fZ2V0SW5wdXRFbGVtZW50KCkudmFsKHZhbCk7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZSAqIDEwMDtcclxuICAgIH1cclxuICAgIHRoaXMuX3NldEludFZhbHVlKHZhbHVlKTtcclxuICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuICh0aGlzIGFzIGFueSlbdGhpcy5wYXJzZXJdKCk7XHJcbiAgfVxyXG59XHJcbi8qKlxyXG4gKiBDcmVhdGUgcm9ja2VyIGNvbXBvc2l0ZVxyXG4gKiBAY2F0ZWdvcnkgU3VpRGlhbG9nXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN1aVJvY2tlckNvbXBvc2l0ZVBhcmFtcyB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBjbGFzc2VzOiBzdHJpbmcsXHJcbiAgZGF0YVR5cGU/OiBzdHJpbmcsXHJcbiAgaW5jcmVtZW50PzogbnVtYmVyLFxyXG4gIGRlZmF1bHRWYWx1ZTogbnVtYmVyLFxyXG4gIGxhYmVsOiBzdHJpbmcsXHJcbiAgc21vTmFtZTogc3RyaW5nLFxyXG4gIGNvbnRyb2w6IHN0cmluZyxcclxuICBwYXJlbnRDb250cm9sOiBTdWlDb21wb25lbnRQYXJlbnRcclxufVxyXG4vKipcclxuICogQGNhdGVnb3J5IFN1aURpYWxvZ1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFN1aVJvY2tlckNvbXBvc2l0ZSBleHRlbmRzIFN1aVJvY2tlckNvbXBvbmVudCB7XHJcbiAgcGFyZW50Q29udHJvbDogU3VpQ29tcG9uZW50UGFyZW50O1xyXG4gIGNvbnN0cnVjdG9yKGRpYWxvZzogU3VpRGlhbG9nTm90aWZpZXIsIHBhcmFtZXRlcnM6IFN1aVJvY2tlckNvbXBvc2l0ZVBhcmFtcykge1xyXG4gICAgc3VwZXIoZGlhbG9nLCBwYXJhbWV0ZXJzKTtcclxuICAgIHRoaXMucGFyZW50Q29udHJvbCA9IHBhcmFtZXRlcnMucGFyZW50Q29udHJvbDtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5wYXJlbnRDb250cm9sLmNoYW5nZWQoKTtcclxuICAgIHRoaXMuY2hhbmdlRmxhZyA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/dialogs/components/rocker.ts\n");
|
|
1111
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SuiRockerComponent: () => (/* binding */ SuiRockerComponent),\n/* harmony export */ SuiRockerComposite: () => (/* binding */ SuiRockerComposite)\n/* harmony export */ });\n/* harmony import */ var _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/htmlHelpers */ \"./src/common/htmlHelpers.ts\");\n/* harmony import */ var _baseComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseComponent */ \"./src/ui/dialogs/components/baseComponent.ts\");\n// [Smoosic](https://github.com/AaronDavidNewman/Smoosic)\n// Copyright (c) Aaron David Newman 2021.\n/**\n * @module /ui/dialog/components/rocker\n * **/\n\n\n/**\n * A numeric input box with +- buttons. Adjustable type and scale\n * @category SuiDialog\n * */\nclass SuiRockerComponent extends _baseComponent__WEBPACK_IMPORTED_MODULE_1__.SuiComponentBase {\n static get dataTypes() {\n return ['int', 'float', 'percent'];\n }\n static get increments() {\n return { 'int': 1, 'float': 0.1, 'percent': 10 };\n }\n static get parsers() {\n return { 'int': '_getIntValue', 'float': '_getFloatValue', 'percent': '_getPercentValue' };\n }\n constructor(dialog, params) {\n var _a, _b;\n super(dialog, params);\n this.initialValue = 0;\n this.increment = 1;\n this.dataType = (_a = params.dataType) !== null && _a !== void 0 ? _a : 'int';\n this.increment = (_b = params.increment) !== null && _b !== void 0 ? _b : SuiRockerComponent.increments[this.dataType];\n if (SuiRockerComponent.dataTypes.indexOf(this.dataType) < 0) {\n throw new Error('dialog element invalid type ' + this.dataType);\n }\n if (this.dataType === 'int' && this.increment < 1) {\n throw new Error('int component with decimal increment');\n }\n this.parser = SuiRockerComponent.parsers[this.dataType];\n this.min = params.min;\n this.max = params.max;\n this.dialog = dialog;\n }\n get html() {\n const b = _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__.buildDom;\n const id = this.parameterId;\n const r = b('div').classes(this.makeClasses('rockerControl smoControl')).attr('id', id).attr('data-param', this.smoName)\n .append(b('button').classes('increment').append(b('span').classes('icon icon-circle-up'))).append(b('button').classes('decrement').append(b('span').classes('icon icon-circle-down'))).append(b('input').attr('type', 'text').classes('rockerInput')\n .attr('id', id + '-input')).append(b('label').attr('for', id + '-input').text(this.label));\n return r;\n }\n get parameterId() {\n return this.id;\n }\n handleChange() {\n this.changeFlag = true;\n this.dialog.changed();\n this.changeFlag = false;\n }\n bind() {\n const pid = this.parameterId;\n const input = this._getInputElement();\n let val = 0;\n $('#' + pid).find('button.increment').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val += this.increment;\n if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $('#' + pid).find('button.decrement').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val -= this.increment;\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $(input).off('blur').on('blur', () => {\n val = this[this.parser]();\n if (val !== this.initialValue) {\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n else if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n this.initialValue = val;\n this.handleChanged();\n }\n });\n }\n _getInputElement() {\n const pid = this.parameterId;\n return $(this.dialog.dgDom.element).find('#' + pid).find('input');\n }\n _getIntValue() {\n let val = parseInt(this._getInputElement().val(), 10);\n val = isNaN(val) ? 0 : val;\n return val;\n }\n _getFloatValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1.0 : val;\n return val;\n }\n _getPercentValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1 : val;\n return val / 100;\n }\n _setIntValue(val) {\n this._getInputElement().val(val);\n }\n setValue(value) {\n if (this.dataType === 'percent') {\n value = value * 100;\n }\n this._setIntValue(value);\n this.initialValue = value;\n }\n getValue() {\n return this[this.parser]();\n }\n}\n/**\n * @category SuiDialog\n */\nclass SuiRockerComposite extends SuiRockerComponent {\n constructor(dialog, parameters) {\n super(dialog, parameters);\n this.parentControl = parameters.parentControl;\n }\n handleChanged() {\n this.changeFlag = true;\n this.parentControl.changed();\n this.changeFlag = false;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TbW8vLi9zcmMvdWkvZGlhbG9ncy9jb21wb25lbnRzL3JvY2tlci50cz9jMGZkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFtTbW9vc2ljXShodHRwczovL2dpdGh1Yi5jb20vQWFyb25EYXZpZE5ld21hbi9TbW9vc2ljKVxyXG4vLyBDb3B5cmlnaHQgKGMpIEFhcm9uIERhdmlkIE5ld21hbiAyMDIxLlxyXG4vKipcclxuICogQG1vZHVsZSAvdWkvZGlhbG9nL2NvbXBvbmVudHMvcm9ja2VyXHJcbiAqICoqL1xyXG4gaW1wb3J0IHsgYnVpbGREb20gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHRtbEhlbHBlcnMnO1xyXG5pbXBvcnQgeyBTdWlDb21wb25lbnRCYXNlLCBTdWlEaWFsb2dOb3RpZmllciwgU3VpQ29tcG9uZW50UGFyZW50IH0gZnJvbSAnLi9iYXNlQ29tcG9uZW50JztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbi8qKlxyXG4gKiBCYXNpYyBkaWFsb2cgY29tcG9uZW50IGluZm8uXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VpUm9ja2VyQ29tcG9uZW50UGFyYW1zIHtcclxuICBpZDogc3RyaW5nLFxyXG4gIGNsYXNzZXM6IHN0cmluZyxcclxuICBkYXRhVHlwZT86IHN0cmluZyxcclxuICBpbmNyZW1lbnQ/OiBudW1iZXIsXHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICBzbW9OYW1lOiBzdHJpbmcsXHJcbiAgY29udHJvbDogc3RyaW5nLFxyXG4gIG1pbj86IG51bWJlcixcclxuICBtYXg/OiBudW1iZXIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIG51bWVyaWMgaW5wdXQgYm94IHdpdGggKy0gYnV0dG9ucy4gICBBZGp1c3RhYmxlIHR5cGUgYW5kIHNjYWxlXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICogKi9cclxuZXhwb3J0IGNsYXNzIFN1aVJvY2tlckNvbXBvbmVudCBleHRlbmRzIFN1aUNvbXBvbmVudEJhc2Uge1xyXG4gIHN0YXRpYyBnZXQgZGF0YVR5cGVzKCkge1xyXG4gICAgcmV0dXJuIFsnaW50JywgJ2Zsb2F0JywgJ3BlcmNlbnQnXTtcclxuICB9XHJcbiAgc3RhdGljIGdldCBpbmNyZW1lbnRzKCk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHsgJ2ludCc6IDEsICdmbG9hdCc6IDAuMSwgJ3BlcmNlbnQnOiAxMCB9O1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0IHBhcnNlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4geyAnaW50JzogJ19nZXRJbnRWYWx1ZScsICdmbG9hdCc6ICdfZ2V0RmxvYXRWYWx1ZScsICdwZXJjZW50JzogJ19nZXRQZXJjZW50VmFsdWUnIH07XHJcbiAgfVxyXG4gIGluaXRpYWxWYWx1ZTogbnVtYmVyID0gMDtcclxuICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gIGluY3JlbWVudDogbnVtYmVyID0gMTtcclxuICBwYXJzZXI6IHN0cmluZztcclxuICBtaW46IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBtYXg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IFN1aURpYWxvZ05vdGlmaWVyLCBwYXJhbXM6IFN1aVJvY2tlckNvbXBvbmVudFBhcmFtcykge1xyXG4gICAgc3VwZXIoZGlhbG9nLCBwYXJhbXMpO1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHBhcmFtcy5kYXRhVHlwZSA/PyAnaW50JztcclxuICAgIHRoaXMuaW5jcmVtZW50ID0gcGFyYW1zLmluY3JlbWVudCA/PyBTdWlSb2NrZXJDb21wb25lbnQuaW5jcmVtZW50c1t0aGlzLmRhdGFUeXBlXTtcclxuICAgIGlmIChTdWlSb2NrZXJDb21wb25lbnQuZGF0YVR5cGVzLmluZGV4T2YodGhpcy5kYXRhVHlwZSkgPCAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGlhbG9nIGVsZW1lbnQgaW52YWxpZCB0eXBlICcgKyB0aGlzLmRhdGFUeXBlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAnaW50JyAmJiB0aGlzLmluY3JlbWVudCA8IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnQgY29tcG9uZW50IHdpdGggZGVjaW1hbCBpbmNyZW1lbnQnKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFyc2VyID0gU3VpUm9ja2VyQ29tcG9uZW50LnBhcnNlcnNbdGhpcy5kYXRhVHlwZV07XHJcbiAgICB0aGlzLm1pbiA9IHBhcmFtcy5taW47XHJcbiAgICB0aGlzLm1heCA9IHBhcmFtcy5tYXg7XHJcbiAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIGdldCBodG1sKCkge1xyXG4gICAgY29uc3QgYiA9IGJ1aWxkRG9tO1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLnBhcmFtZXRlcklkO1xyXG4gICAgY29uc3QgciA9IGIoJ2RpdicpLmNsYXNzZXModGhpcy5tYWtlQ2xhc3Nlcygncm9ja2VyQ29udHJvbCBzbW9Db250cm9sJykpLmF0dHIoJ2lkJywgaWQpLmF0dHIoJ2RhdGEtcGFyYW0nLCB0aGlzLnNtb05hbWUpXHJcbiAgICAgIC5hcHBlbmQoXHJcbiAgICAgICAgYignYnV0dG9uJykuY2xhc3NlcygnaW5jcmVtZW50JykuYXBwZW5kKFxyXG4gICAgICAgICAgYignc3BhbicpLmNsYXNzZXMoJ2ljb24gaWNvbi1jaXJjbGUtdXAnKSkpLmFwcGVuZChcclxuICAgICAgICBiKCdidXR0b24nKS5jbGFzc2VzKCdkZWNyZW1lbnQnKS5hcHBlbmQoXHJcbiAgICAgICAgICBiKCdzcGFuJykuY2xhc3NlcygnaWNvbiBpY29uLWNpcmNsZS1kb3duJykpKS5hcHBlbmQoXHJcbiAgICAgICAgYignaW5wdXQnKS5hdHRyKCd0eXBlJywgJ3RleHQnKS5jbGFzc2VzKCdyb2NrZXJJbnB1dCcpXHJcbiAgICAgICAgICAuYXR0cignaWQnLCBpZCArICctaW5wdXQnKSkuYXBwZW5kKFxyXG4gICAgICAgIGIoJ2xhYmVsJykuYXR0cignZm9yJywgaWQgKyAnLWlucHV0JykudGV4dCh0aGlzLmxhYmVsKSk7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcblxyXG4gIGdldCBwYXJhbWV0ZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlkO1xyXG4gIH1cclxuICBoYW5kbGVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5kaWFsb2cuY2hhbmdlZCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBiaW5kKCkge1xyXG4gICAgY29uc3QgcGlkID0gdGhpcy5wYXJhbWV0ZXJJZDtcclxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fZ2V0SW5wdXRFbGVtZW50KCk7XHJcbiAgICBsZXQgdmFsID0gMDtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uaW5jcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsICs9IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1heCAhPSB1bmRlZmluZWQgJiYgdmFsID4gdGhpcy5tYXgpIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWF4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uZGVjcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsIC09IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoaW5wdXQpLm9mZignYmx1cicpLm9uKCdibHVyJyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHZhbCA9ICh0aGlzIGFzIGFueSlbdGhpcy5wYXJzZXJdKCk7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5pbml0aWFsVmFsdWUpIHtcclxuICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgdmFsID0gdGhpcy5taW47XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF4ICE9IHVuZGVmaW5lZCAmJiB2YWwgPiB0aGlzLm1heCkge1xyXG4gICAgICAgICAgICB2YWwgPSB0aGlzLm1heDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgX2dldElucHV0RWxlbWVudCgpIHtcclxuICAgIGNvbnN0IHBpZCA9IHRoaXMucGFyYW1ldGVySWQ7XHJcbiAgICByZXR1cm4gJCh0aGlzLmRpYWxvZy5kZ0RvbS5lbGVtZW50KS5maW5kKCcjJyArIHBpZCkuZmluZCgnaW5wdXQnKTtcclxuICB9XHJcbiAgX2dldEludFZhbHVlKCkge1xyXG4gICAgbGV0IHZhbDpudW1iZXIgPSBwYXJzZUludCh0aGlzLl9nZXRJbnB1dEVsZW1lbnQoKS52YWwoKSwgMTApO1xyXG4gICAgdmFsID0gaXNOYU4odmFsKSA/IDAgOiB2YWw7XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuICBfZ2V0RmxvYXRWYWx1ZSgpIHtcclxuICAgIGxldCB2YWwgPSBwYXJzZUZsb2F0KHRoaXMuX2dldElucHV0RWxlbWVudCgpLnZhbCgpKTtcclxuICAgIHZhbCA9IGlzTmFOKHZhbCkgPyAxLjAgOiB2YWw7XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuICBfZ2V0UGVyY2VudFZhbHVlKCkge1xyXG4gICAgbGV0IHZhbCA9IHBhcnNlRmxvYXQodGhpcy5fZ2V0SW5wdXRFbGVtZW50KCkudmFsKCkpO1xyXG4gICAgdmFsID0gaXNOYU4odmFsKSA/IDEgOiB2YWw7XHJcbiAgICByZXR1cm4gdmFsIC8gMTAwO1xyXG4gIH1cclxuICBfc2V0SW50VmFsdWUodmFsOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHRoaXMuX2dldElucHV0RWxlbWVudCgpLnZhbCh2YWwpO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ3BlcmNlbnQnKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUgKiAxMDA7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZXRJbnRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gIH1cclxufVxyXG4vKipcclxuICogQ3JlYXRlIHJvY2tlciBjb21wb3NpdGVcclxuICogQGNhdGVnb3J5IFN1aURpYWxvZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTdWlSb2NrZXJDb21wb3NpdGVQYXJhbXMge1xyXG4gIGlkOiBzdHJpbmcsXHJcbiAgY2xhc3Nlczogc3RyaW5nLFxyXG4gIGRhdGFUeXBlPzogc3RyaW5nLFxyXG4gIGluY3JlbWVudD86IG51bWJlcixcclxuICBkZWZhdWx0VmFsdWU6IG51bWJlcixcclxuICBsYWJlbDogc3RyaW5nLFxyXG4gIHNtb05hbWU6IHN0cmluZyxcclxuICBjb250cm9sOiBzdHJpbmcsXHJcbiAgcGFyZW50Q29udHJvbDogU3VpQ29tcG9uZW50UGFyZW50XHJcbn1cclxuLyoqXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICovXHJcbmV4cG9ydCBjbGFzcyBTdWlSb2NrZXJDb21wb3NpdGUgZXh0ZW5kcyBTdWlSb2NrZXJDb21wb25lbnQge1xyXG4gIHBhcmVudENvbnRyb2w6IFN1aUNvbXBvbmVudFBhcmVudDtcclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IFN1aURpYWxvZ05vdGlmaWVyLCBwYXJhbWV0ZXJzOiBTdWlSb2NrZXJDb21wb3NpdGVQYXJhbXMpIHtcclxuICAgIHN1cGVyKGRpYWxvZywgcGFyYW1ldGVycyk7XHJcbiAgICB0aGlzLnBhcmVudENvbnRyb2wgPSBwYXJhbWV0ZXJzLnBhcmVudENvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VGbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMucGFyZW50Q29udHJvbC5jaGFuZ2VkKCk7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/dialogs/components/rocker.ts\n");
|
|
1112
1112
|
|
|
1113
1113
|
/***/ }),
|
|
1114
1114
|
|
package/package.json
CHANGED
package/release/smoosic.js
CHANGED
|
@@ -1108,7 +1108,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1108
1108
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1109
1109
|
|
|
1110
1110
|
"use strict";
|
|
1111
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SuiRockerComponent: () => (/* binding */ SuiRockerComponent),\n/* harmony export */ SuiRockerComposite: () => (/* binding */ SuiRockerComposite)\n/* harmony export */ });\n/* harmony import */ var _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/htmlHelpers */ \"./src/common/htmlHelpers.ts\");\n/* harmony import */ var _baseComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseComponent */ \"./src/ui/dialogs/components/baseComponent.ts\");\n// [Smoosic](https://github.com/AaronDavidNewman/Smoosic)\n// Copyright (c) Aaron David Newman 2021.\n/**\n * @module /ui/dialog/components/rocker\n * **/\n\n\n/**\n * A numeric input box with +- buttons. Adjustable type and scale\n * @category SuiDialog\n * */\nclass SuiRockerComponent extends _baseComponent__WEBPACK_IMPORTED_MODULE_1__.SuiComponentBase {\n static get dataTypes() {\n return ['int', 'float', 'percent'];\n }\n static get increments() {\n return { 'int': 1, 'float': 0.1, 'percent': 10 };\n }\n static get parsers() {\n return { 'int': '_getIntValue', 'float': '_getFloatValue', 'percent': '_getPercentValue' };\n }\n constructor(dialog, params) {\n var _a, _b;\n super(dialog, params);\n this.initialValue = 0;\n this.increment = 1;\n this.dataType = (_a = params.dataType) !== null && _a !== void 0 ? _a : 'int';\n this.increment = (_b = params.increment) !== null && _b !== void 0 ? _b : SuiRockerComponent.increments[this.dataType];\n if (SuiRockerComponent.dataTypes.indexOf(this.dataType) < 0) {\n throw new Error('dialog element invalid type ' + this.dataType);\n }\n if (this.dataType === 'int' && this.increment < 1) {\n throw new Error('int component with decimal increment');\n }\n this.parser = SuiRockerComponent.parsers[this.dataType];\n this.min = params.min;\n this.max = params.max;\n this.dialog = dialog;\n }\n get html() {\n const b = _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__.buildDom;\n const id = this.parameterId;\n const r = b('div').classes(this.makeClasses('rockerControl smoControl')).attr('id', id).attr('data-param', this.smoName)\n .append(b('button').classes('increment').append(b('span').classes('icon icon-circle-up'))).append(b('button').classes('decrement').append(b('span').classes('icon icon-circle-down'))).append(b('input').attr('type', 'text').classes('rockerInput')\n .attr('id', id + '-input')).append(b('label').attr('for', id + '-input').text(this.label));\n return r;\n }\n get parameterId() {\n return this.id;\n }\n handleChange() {\n this.changeFlag = true;\n this.dialog.changed();\n this.changeFlag = false;\n }\n bind() {\n const pid = this.parameterId;\n const input = this._getInputElement();\n let val = 0;\n $('#' + pid).find('button.increment').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val += this.increment;\n if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $('#' + pid).find('button.decrement').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val -= this.increment;\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $(input).off('blur').on('blur', () => {\n val = this[this.parser]();\n if (val !== this.initialValue) {\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n else if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n this.initialValue = val;\n $(input).val(val);\n this.handleChanged();\n }\n });\n }\n _getInputElement() {\n const pid = this.parameterId;\n return $(this.dialog.dgDom.element).find('#' + pid).find('input');\n }\n _getIntValue() {\n let val = parseInt(this._getInputElement().val(), 10);\n val = isNaN(val) ? 0 : val;\n return val;\n }\n _getFloatValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1.0 : val;\n return val;\n }\n _getPercentValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1 : val;\n return val / 100;\n }\n _setIntValue(val) {\n this._getInputElement().val(val);\n }\n setValue(value) {\n if (this.dataType === 'percent') {\n value = value * 100;\n }\n this._setIntValue(value);\n this.initialValue = value;\n }\n getValue() {\n return this[this.parser]();\n }\n}\n/**\n * @category SuiDialog\n */\nclass SuiRockerComposite extends SuiRockerComponent {\n constructor(dialog, parameters) {\n super(dialog, parameters);\n this.parentControl = parameters.parentControl;\n }\n handleChanged() {\n this.changeFlag = true;\n this.parentControl.changed();\n this.changeFlag = false;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUMsYUFBYSxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TbW8vLi9zcmMvdWkvZGlhbG9ncy9jb21wb25lbnRzL3JvY2tlci50cz9jMGZkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFtTbW9vc2ljXShodHRwczovL2dpdGh1Yi5jb20vQWFyb25EYXZpZE5ld21hbi9TbW9vc2ljKVxyXG4vLyBDb3B5cmlnaHQgKGMpIEFhcm9uIERhdmlkIE5ld21hbiAyMDIxLlxyXG4vKipcclxuICogQG1vZHVsZSAvdWkvZGlhbG9nL2NvbXBvbmVudHMvcm9ja2VyXHJcbiAqICoqL1xyXG4gaW1wb3J0IHsgYnVpbGREb20gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHRtbEhlbHBlcnMnO1xyXG5pbXBvcnQgeyBTdWlDb21wb25lbnRCYXNlLCBTdWlEaWFsb2dOb3RpZmllciwgU3VpQ29tcG9uZW50UGFyZW50IH0gZnJvbSAnLi9iYXNlQ29tcG9uZW50JztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbi8qKlxyXG4gKiBCYXNpYyBkaWFsb2cgY29tcG9uZW50IGluZm8uXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VpUm9ja2VyQ29tcG9uZW50UGFyYW1zIHtcclxuICBpZDogc3RyaW5nLFxyXG4gIGNsYXNzZXM6IHN0cmluZyxcclxuICBkYXRhVHlwZT86IHN0cmluZyxcclxuICBpbmNyZW1lbnQ/OiBudW1iZXIsXHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICBzbW9OYW1lOiBzdHJpbmcsXHJcbiAgY29udHJvbDogc3RyaW5nLFxyXG4gIG1pbj86IG51bWJlcixcclxuICBtYXg/OiBudW1iZXIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIG51bWVyaWMgaW5wdXQgYm94IHdpdGggKy0gYnV0dG9ucy4gICBBZGp1c3RhYmxlIHR5cGUgYW5kIHNjYWxlXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICogKi9cclxuZXhwb3J0IGNsYXNzIFN1aVJvY2tlckNvbXBvbmVudCBleHRlbmRzIFN1aUNvbXBvbmVudEJhc2Uge1xyXG4gIHN0YXRpYyBnZXQgZGF0YVR5cGVzKCkge1xyXG4gICAgcmV0dXJuIFsnaW50JywgJ2Zsb2F0JywgJ3BlcmNlbnQnXTtcclxuICB9XHJcbiAgc3RhdGljIGdldCBpbmNyZW1lbnRzKCk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHsgJ2ludCc6IDEsICdmbG9hdCc6IDAuMSwgJ3BlcmNlbnQnOiAxMCB9O1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0IHBhcnNlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4geyAnaW50JzogJ19nZXRJbnRWYWx1ZScsICdmbG9hdCc6ICdfZ2V0RmxvYXRWYWx1ZScsICdwZXJjZW50JzogJ19nZXRQZXJjZW50VmFsdWUnIH07XHJcbiAgfVxyXG4gIGluaXRpYWxWYWx1ZTogbnVtYmVyID0gMDtcclxuICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gIGluY3JlbWVudDogbnVtYmVyID0gMTtcclxuICBwYXJzZXI6IHN0cmluZztcclxuICBtaW46IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBtYXg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IFN1aURpYWxvZ05vdGlmaWVyLCBwYXJhbXM6IFN1aVJvY2tlckNvbXBvbmVudFBhcmFtcykge1xyXG4gICAgc3VwZXIoZGlhbG9nLCBwYXJhbXMpO1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHBhcmFtcy5kYXRhVHlwZSA/PyAnaW50JztcclxuICAgIHRoaXMuaW5jcmVtZW50ID0gcGFyYW1zLmluY3JlbWVudCA/PyBTdWlSb2NrZXJDb21wb25lbnQuaW5jcmVtZW50c1t0aGlzLmRhdGFUeXBlXTtcclxuICAgIGlmIChTdWlSb2NrZXJDb21wb25lbnQuZGF0YVR5cGVzLmluZGV4T2YodGhpcy5kYXRhVHlwZSkgPCAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGlhbG9nIGVsZW1lbnQgaW52YWxpZCB0eXBlICcgKyB0aGlzLmRhdGFUeXBlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAnaW50JyAmJiB0aGlzLmluY3JlbWVudCA8IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnQgY29tcG9uZW50IHdpdGggZGVjaW1hbCBpbmNyZW1lbnQnKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFyc2VyID0gU3VpUm9ja2VyQ29tcG9uZW50LnBhcnNlcnNbdGhpcy5kYXRhVHlwZV07XHJcbiAgICB0aGlzLm1pbiA9IHBhcmFtcy5taW47XHJcbiAgICB0aGlzLm1heCA9IHBhcmFtcy5tYXg7XHJcbiAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIGdldCBodG1sKCkge1xyXG4gICAgY29uc3QgYiA9IGJ1aWxkRG9tO1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLnBhcmFtZXRlcklkO1xyXG4gICAgY29uc3QgciA9IGIoJ2RpdicpLmNsYXNzZXModGhpcy5tYWtlQ2xhc3Nlcygncm9ja2VyQ29udHJvbCBzbW9Db250cm9sJykpLmF0dHIoJ2lkJywgaWQpLmF0dHIoJ2RhdGEtcGFyYW0nLCB0aGlzLnNtb05hbWUpXHJcbiAgICAgIC5hcHBlbmQoXHJcbiAgICAgICAgYignYnV0dG9uJykuY2xhc3NlcygnaW5jcmVtZW50JykuYXBwZW5kKFxyXG4gICAgICAgICAgYignc3BhbicpLmNsYXNzZXMoJ2ljb24gaWNvbi1jaXJjbGUtdXAnKSkpLmFwcGVuZChcclxuICAgICAgICBiKCdidXR0b24nKS5jbGFzc2VzKCdkZWNyZW1lbnQnKS5hcHBlbmQoXHJcbiAgICAgICAgICBiKCdzcGFuJykuY2xhc3NlcygnaWNvbiBpY29uLWNpcmNsZS1kb3duJykpKS5hcHBlbmQoXHJcbiAgICAgICAgYignaW5wdXQnKS5hdHRyKCd0eXBlJywgJ3RleHQnKS5jbGFzc2VzKCdyb2NrZXJJbnB1dCcpXHJcbiAgICAgICAgICAuYXR0cignaWQnLCBpZCArICctaW5wdXQnKSkuYXBwZW5kKFxyXG4gICAgICAgIGIoJ2xhYmVsJykuYXR0cignZm9yJywgaWQgKyAnLWlucHV0JykudGV4dCh0aGlzLmxhYmVsKSk7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcblxyXG4gIGdldCBwYXJhbWV0ZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlkO1xyXG4gIH1cclxuICBoYW5kbGVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5kaWFsb2cuY2hhbmdlZCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBiaW5kKCkge1xyXG4gICAgY29uc3QgcGlkID0gdGhpcy5wYXJhbWV0ZXJJZDtcclxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fZ2V0SW5wdXRFbGVtZW50KCk7XHJcbiAgICBsZXQgdmFsID0gMDtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uaW5jcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsICs9IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1heCAhPSB1bmRlZmluZWQgJiYgdmFsID4gdGhpcy5tYXgpIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWF4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uZGVjcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsIC09IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoaW5wdXQpLm9mZignYmx1cicpLm9uKCdibHVyJyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHZhbCA9ICh0aGlzIGFzIGFueSlbdGhpcy5wYXJzZXJdKCk7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5pbml0aWFsVmFsdWUpIHtcclxuICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgdmFsID0gdGhpcy5taW47XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF4ICE9IHVuZGVmaW5lZCAmJiB2YWwgPiB0aGlzLm1heCkge1xyXG4gICAgICAgICAgICB2YWwgPSB0aGlzLm1heDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgJChpbnB1dCkudmFsKHZhbCk7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBfZ2V0SW5wdXRFbGVtZW50KCkge1xyXG4gICAgY29uc3QgcGlkID0gdGhpcy5wYXJhbWV0ZXJJZDtcclxuICAgIHJldHVybiAkKHRoaXMuZGlhbG9nLmRnRG9tLmVsZW1lbnQpLmZpbmQoJyMnICsgcGlkKS5maW5kKCdpbnB1dCcpO1xyXG4gIH1cclxuICBfZ2V0SW50VmFsdWUoKSB7XHJcbiAgICBsZXQgdmFsOm51bWJlciA9IHBhcnNlSW50KHRoaXMuX2dldElucHV0RWxlbWVudCgpLnZhbCgpLCAxMCk7XHJcbiAgICB2YWwgPSBpc05hTih2YWwpID8gMCA6IHZhbDtcclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG4gIF9nZXRGbG9hdFZhbHVlKCkge1xyXG4gICAgbGV0IHZhbCA9IHBhcnNlRmxvYXQodGhpcy5fZ2V0SW5wdXRFbGVtZW50KCkudmFsKCkpO1xyXG4gICAgdmFsID0gaXNOYU4odmFsKSA/IDEuMCA6IHZhbDtcclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG4gIF9nZXRQZXJjZW50VmFsdWUoKSB7XHJcbiAgICBsZXQgdmFsID0gcGFyc2VGbG9hdCh0aGlzLl9nZXRJbnB1dEVsZW1lbnQoKS52YWwoKSk7XHJcbiAgICB2YWwgPSBpc05hTih2YWwpID8gMSA6IHZhbDtcclxuICAgIHJldHVybiB2YWwgLyAxMDA7XHJcbiAgfVxyXG4gIF9zZXRJbnRWYWx1ZSh2YWw6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgdGhpcy5fZ2V0SW5wdXRFbGVtZW50KCkudmFsKHZhbCk7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZSAqIDEwMDtcclxuICAgIH1cclxuICAgIHRoaXMuX3NldEludFZhbHVlKHZhbHVlKTtcclxuICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuICh0aGlzIGFzIGFueSlbdGhpcy5wYXJzZXJdKCk7XHJcbiAgfVxyXG59XHJcbi8qKlxyXG4gKiBDcmVhdGUgcm9ja2VyIGNvbXBvc2l0ZVxyXG4gKiBAY2F0ZWdvcnkgU3VpRGlhbG9nXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN1aVJvY2tlckNvbXBvc2l0ZVBhcmFtcyB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBjbGFzc2VzOiBzdHJpbmcsXHJcbiAgZGF0YVR5cGU/OiBzdHJpbmcsXHJcbiAgaW5jcmVtZW50PzogbnVtYmVyLFxyXG4gIGRlZmF1bHRWYWx1ZTogbnVtYmVyLFxyXG4gIGxhYmVsOiBzdHJpbmcsXHJcbiAgc21vTmFtZTogc3RyaW5nLFxyXG4gIGNvbnRyb2w6IHN0cmluZyxcclxuICBwYXJlbnRDb250cm9sOiBTdWlDb21wb25lbnRQYXJlbnRcclxufVxyXG4vKipcclxuICogQGNhdGVnb3J5IFN1aURpYWxvZ1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFN1aVJvY2tlckNvbXBvc2l0ZSBleHRlbmRzIFN1aVJvY2tlckNvbXBvbmVudCB7XHJcbiAgcGFyZW50Q29udHJvbDogU3VpQ29tcG9uZW50UGFyZW50O1xyXG4gIGNvbnN0cnVjdG9yKGRpYWxvZzogU3VpRGlhbG9nTm90aWZpZXIsIHBhcmFtZXRlcnM6IFN1aVJvY2tlckNvbXBvc2l0ZVBhcmFtcykge1xyXG4gICAgc3VwZXIoZGlhbG9nLCBwYXJhbWV0ZXJzKTtcclxuICAgIHRoaXMucGFyZW50Q29udHJvbCA9IHBhcmFtZXRlcnMucGFyZW50Q29udHJvbDtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5wYXJlbnRDb250cm9sLmNoYW5nZWQoKTtcclxuICAgIHRoaXMuY2hhbmdlRmxhZyA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/dialogs/components/rocker.ts\n");
|
|
1111
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SuiRockerComponent: () => (/* binding */ SuiRockerComponent),\n/* harmony export */ SuiRockerComposite: () => (/* binding */ SuiRockerComposite)\n/* harmony export */ });\n/* harmony import */ var _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/htmlHelpers */ \"./src/common/htmlHelpers.ts\");\n/* harmony import */ var _baseComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseComponent */ \"./src/ui/dialogs/components/baseComponent.ts\");\n// [Smoosic](https://github.com/AaronDavidNewman/Smoosic)\n// Copyright (c) Aaron David Newman 2021.\n/**\n * @module /ui/dialog/components/rocker\n * **/\n\n\n/**\n * A numeric input box with +- buttons. Adjustable type and scale\n * @category SuiDialog\n * */\nclass SuiRockerComponent extends _baseComponent__WEBPACK_IMPORTED_MODULE_1__.SuiComponentBase {\n static get dataTypes() {\n return ['int', 'float', 'percent'];\n }\n static get increments() {\n return { 'int': 1, 'float': 0.1, 'percent': 10 };\n }\n static get parsers() {\n return { 'int': '_getIntValue', 'float': '_getFloatValue', 'percent': '_getPercentValue' };\n }\n constructor(dialog, params) {\n var _a, _b;\n super(dialog, params);\n this.initialValue = 0;\n this.increment = 1;\n this.dataType = (_a = params.dataType) !== null && _a !== void 0 ? _a : 'int';\n this.increment = (_b = params.increment) !== null && _b !== void 0 ? _b : SuiRockerComponent.increments[this.dataType];\n if (SuiRockerComponent.dataTypes.indexOf(this.dataType) < 0) {\n throw new Error('dialog element invalid type ' + this.dataType);\n }\n if (this.dataType === 'int' && this.increment < 1) {\n throw new Error('int component with decimal increment');\n }\n this.parser = SuiRockerComponent.parsers[this.dataType];\n this.min = params.min;\n this.max = params.max;\n this.dialog = dialog;\n }\n get html() {\n const b = _common_htmlHelpers__WEBPACK_IMPORTED_MODULE_0__.buildDom;\n const id = this.parameterId;\n const r = b('div').classes(this.makeClasses('rockerControl smoControl')).attr('id', id).attr('data-param', this.smoName)\n .append(b('button').classes('increment').append(b('span').classes('icon icon-circle-up'))).append(b('button').classes('decrement').append(b('span').classes('icon icon-circle-down'))).append(b('input').attr('type', 'text').classes('rockerInput')\n .attr('id', id + '-input')).append(b('label').attr('for', id + '-input').text(this.label));\n return r;\n }\n get parameterId() {\n return this.id;\n }\n handleChange() {\n this.changeFlag = true;\n this.dialog.changed();\n this.changeFlag = false;\n }\n bind() {\n const pid = this.parameterId;\n const input = this._getInputElement();\n let val = 0;\n $('#' + pid).find('button.increment').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val += this.increment;\n if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $('#' + pid).find('button.decrement').off('click').on('click', () => {\n val = this[this.parser]();\n if (this.dataType === 'percent') {\n val = 100 * val;\n }\n val -= this.increment;\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n $(input).val(val);\n this.handleChanged();\n });\n $(input).off('blur').on('blur', () => {\n val = this[this.parser]();\n if (val !== this.initialValue) {\n if (this.min != undefined && val < this.min) {\n val = this.min;\n }\n else if (this.max != undefined && val > this.max) {\n val = this.max;\n }\n this.initialValue = val;\n this.handleChanged();\n }\n });\n }\n _getInputElement() {\n const pid = this.parameterId;\n return $(this.dialog.dgDom.element).find('#' + pid).find('input');\n }\n _getIntValue() {\n let val = parseInt(this._getInputElement().val(), 10);\n val = isNaN(val) ? 0 : val;\n return val;\n }\n _getFloatValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1.0 : val;\n return val;\n }\n _getPercentValue() {\n let val = parseFloat(this._getInputElement().val());\n val = isNaN(val) ? 1 : val;\n return val / 100;\n }\n _setIntValue(val) {\n this._getInputElement().val(val);\n }\n setValue(value) {\n if (this.dataType === 'percent') {\n value = value * 100;\n }\n this._setIntValue(value);\n this.initialValue = value;\n }\n getValue() {\n return this[this.parser]();\n }\n}\n/**\n * @category SuiDialog\n */\nclass SuiRockerComposite extends SuiRockerComponent {\n constructor(dialog, parameters) {\n super(dialog, parameters);\n this.parentControl = parameters.parentControl;\n }\n handleChanged() {\n this.changeFlag = true;\n this.parentControl.changed();\n this.changeFlag = false;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TbW8vLi9zcmMvdWkvZGlhbG9ncy9jb21wb25lbnRzL3JvY2tlci50cz9jMGZkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFtTbW9vc2ljXShodHRwczovL2dpdGh1Yi5jb20vQWFyb25EYXZpZE5ld21hbi9TbW9vc2ljKVxyXG4vLyBDb3B5cmlnaHQgKGMpIEFhcm9uIERhdmlkIE5ld21hbiAyMDIxLlxyXG4vKipcclxuICogQG1vZHVsZSAvdWkvZGlhbG9nL2NvbXBvbmVudHMvcm9ja2VyXHJcbiAqICoqL1xyXG4gaW1wb3J0IHsgYnVpbGREb20gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHRtbEhlbHBlcnMnO1xyXG5pbXBvcnQgeyBTdWlDb21wb25lbnRCYXNlLCBTdWlEaWFsb2dOb3RpZmllciwgU3VpQ29tcG9uZW50UGFyZW50IH0gZnJvbSAnLi9iYXNlQ29tcG9uZW50JztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbi8qKlxyXG4gKiBCYXNpYyBkaWFsb2cgY29tcG9uZW50IGluZm8uXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VpUm9ja2VyQ29tcG9uZW50UGFyYW1zIHtcclxuICBpZDogc3RyaW5nLFxyXG4gIGNsYXNzZXM6IHN0cmluZyxcclxuICBkYXRhVHlwZT86IHN0cmluZyxcclxuICBpbmNyZW1lbnQ/OiBudW1iZXIsXHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICBzbW9OYW1lOiBzdHJpbmcsXHJcbiAgY29udHJvbDogc3RyaW5nLFxyXG4gIG1pbj86IG51bWJlcixcclxuICBtYXg/OiBudW1iZXIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIG51bWVyaWMgaW5wdXQgYm94IHdpdGggKy0gYnV0dG9ucy4gICBBZGp1c3RhYmxlIHR5cGUgYW5kIHNjYWxlXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICogKi9cclxuZXhwb3J0IGNsYXNzIFN1aVJvY2tlckNvbXBvbmVudCBleHRlbmRzIFN1aUNvbXBvbmVudEJhc2Uge1xyXG4gIHN0YXRpYyBnZXQgZGF0YVR5cGVzKCkge1xyXG4gICAgcmV0dXJuIFsnaW50JywgJ2Zsb2F0JywgJ3BlcmNlbnQnXTtcclxuICB9XHJcbiAgc3RhdGljIGdldCBpbmNyZW1lbnRzKCk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHsgJ2ludCc6IDEsICdmbG9hdCc6IDAuMSwgJ3BlcmNlbnQnOiAxMCB9O1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0IHBhcnNlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4geyAnaW50JzogJ19nZXRJbnRWYWx1ZScsICdmbG9hdCc6ICdfZ2V0RmxvYXRWYWx1ZScsICdwZXJjZW50JzogJ19nZXRQZXJjZW50VmFsdWUnIH07XHJcbiAgfVxyXG4gIGluaXRpYWxWYWx1ZTogbnVtYmVyID0gMDtcclxuICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gIGluY3JlbWVudDogbnVtYmVyID0gMTtcclxuICBwYXJzZXI6IHN0cmluZztcclxuICBtaW46IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBtYXg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IFN1aURpYWxvZ05vdGlmaWVyLCBwYXJhbXM6IFN1aVJvY2tlckNvbXBvbmVudFBhcmFtcykge1xyXG4gICAgc3VwZXIoZGlhbG9nLCBwYXJhbXMpO1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHBhcmFtcy5kYXRhVHlwZSA/PyAnaW50JztcclxuICAgIHRoaXMuaW5jcmVtZW50ID0gcGFyYW1zLmluY3JlbWVudCA/PyBTdWlSb2NrZXJDb21wb25lbnQuaW5jcmVtZW50c1t0aGlzLmRhdGFUeXBlXTtcclxuICAgIGlmIChTdWlSb2NrZXJDb21wb25lbnQuZGF0YVR5cGVzLmluZGV4T2YodGhpcy5kYXRhVHlwZSkgPCAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGlhbG9nIGVsZW1lbnQgaW52YWxpZCB0eXBlICcgKyB0aGlzLmRhdGFUeXBlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAnaW50JyAmJiB0aGlzLmluY3JlbWVudCA8IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnQgY29tcG9uZW50IHdpdGggZGVjaW1hbCBpbmNyZW1lbnQnKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFyc2VyID0gU3VpUm9ja2VyQ29tcG9uZW50LnBhcnNlcnNbdGhpcy5kYXRhVHlwZV07XHJcbiAgICB0aGlzLm1pbiA9IHBhcmFtcy5taW47XHJcbiAgICB0aGlzLm1heCA9IHBhcmFtcy5tYXg7XHJcbiAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIGdldCBodG1sKCkge1xyXG4gICAgY29uc3QgYiA9IGJ1aWxkRG9tO1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLnBhcmFtZXRlcklkO1xyXG4gICAgY29uc3QgciA9IGIoJ2RpdicpLmNsYXNzZXModGhpcy5tYWtlQ2xhc3Nlcygncm9ja2VyQ29udHJvbCBzbW9Db250cm9sJykpLmF0dHIoJ2lkJywgaWQpLmF0dHIoJ2RhdGEtcGFyYW0nLCB0aGlzLnNtb05hbWUpXHJcbiAgICAgIC5hcHBlbmQoXHJcbiAgICAgICAgYignYnV0dG9uJykuY2xhc3NlcygnaW5jcmVtZW50JykuYXBwZW5kKFxyXG4gICAgICAgICAgYignc3BhbicpLmNsYXNzZXMoJ2ljb24gaWNvbi1jaXJjbGUtdXAnKSkpLmFwcGVuZChcclxuICAgICAgICBiKCdidXR0b24nKS5jbGFzc2VzKCdkZWNyZW1lbnQnKS5hcHBlbmQoXHJcbiAgICAgICAgICBiKCdzcGFuJykuY2xhc3NlcygnaWNvbiBpY29uLWNpcmNsZS1kb3duJykpKS5hcHBlbmQoXHJcbiAgICAgICAgYignaW5wdXQnKS5hdHRyKCd0eXBlJywgJ3RleHQnKS5jbGFzc2VzKCdyb2NrZXJJbnB1dCcpXHJcbiAgICAgICAgICAuYXR0cignaWQnLCBpZCArICctaW5wdXQnKSkuYXBwZW5kKFxyXG4gICAgICAgIGIoJ2xhYmVsJykuYXR0cignZm9yJywgaWQgKyAnLWlucHV0JykudGV4dCh0aGlzLmxhYmVsKSk7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcblxyXG4gIGdldCBwYXJhbWV0ZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlkO1xyXG4gIH1cclxuICBoYW5kbGVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5kaWFsb2cuY2hhbmdlZCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBiaW5kKCkge1xyXG4gICAgY29uc3QgcGlkID0gdGhpcy5wYXJhbWV0ZXJJZDtcclxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fZ2V0SW5wdXRFbGVtZW50KCk7XHJcbiAgICBsZXQgdmFsID0gMDtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uaW5jcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsICs9IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1heCAhPSB1bmRlZmluZWQgJiYgdmFsID4gdGhpcy5tYXgpIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWF4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoJyMnICsgcGlkKS5maW5kKCdidXR0b24uZGVjcmVtZW50Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB2YWwgPSAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICAgIHZhbCA9IDEwMCAqIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsIC09IHRoaXMuaW5jcmVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgIHZhbCA9IHRoaXMubWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKGlucHV0KS52YWwodmFsKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZWQoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgICQoaW5wdXQpLm9mZignYmx1cicpLm9uKCdibHVyJyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHZhbCA9ICh0aGlzIGFzIGFueSlbdGhpcy5wYXJzZXJdKCk7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5pbml0aWFsVmFsdWUpIHtcclxuICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgdmFsIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgdmFsID0gdGhpcy5taW47XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF4ICE9IHVuZGVmaW5lZCAmJiB2YWwgPiB0aGlzLm1heCkge1xyXG4gICAgICAgICAgICB2YWwgPSB0aGlzLm1heDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgX2dldElucHV0RWxlbWVudCgpIHtcclxuICAgIGNvbnN0IHBpZCA9IHRoaXMucGFyYW1ldGVySWQ7XHJcbiAgICByZXR1cm4gJCh0aGlzLmRpYWxvZy5kZ0RvbS5lbGVtZW50KS5maW5kKCcjJyArIHBpZCkuZmluZCgnaW5wdXQnKTtcclxuICB9XHJcbiAgX2dldEludFZhbHVlKCkge1xyXG4gICAgbGV0IHZhbDpudW1iZXIgPSBwYXJzZUludCh0aGlzLl9nZXRJbnB1dEVsZW1lbnQoKS52YWwoKSwgMTApO1xyXG4gICAgdmFsID0gaXNOYU4odmFsKSA/IDAgOiB2YWw7XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuICBfZ2V0RmxvYXRWYWx1ZSgpIHtcclxuICAgIGxldCB2YWwgPSBwYXJzZUZsb2F0KHRoaXMuX2dldElucHV0RWxlbWVudCgpLnZhbCgpKTtcclxuICAgIHZhbCA9IGlzTmFOKHZhbCkgPyAxLjAgOiB2YWw7XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuICBfZ2V0UGVyY2VudFZhbHVlKCkge1xyXG4gICAgbGV0IHZhbCA9IHBhcnNlRmxvYXQodGhpcy5fZ2V0SW5wdXRFbGVtZW50KCkudmFsKCkpO1xyXG4gICAgdmFsID0gaXNOYU4odmFsKSA/IDEgOiB2YWw7XHJcbiAgICByZXR1cm4gdmFsIC8gMTAwO1xyXG4gIH1cclxuICBfc2V0SW50VmFsdWUodmFsOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHRoaXMuX2dldElucHV0RWxlbWVudCgpLnZhbCh2YWwpO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ3BlcmNlbnQnKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUgKiAxMDA7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZXRJbnRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiAodGhpcyBhcyBhbnkpW3RoaXMucGFyc2VyXSgpO1xyXG4gIH1cclxufVxyXG4vKipcclxuICogQ3JlYXRlIHJvY2tlciBjb21wb3NpdGVcclxuICogQGNhdGVnb3J5IFN1aURpYWxvZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTdWlSb2NrZXJDb21wb3NpdGVQYXJhbXMge1xyXG4gIGlkOiBzdHJpbmcsXHJcbiAgY2xhc3Nlczogc3RyaW5nLFxyXG4gIGRhdGFUeXBlPzogc3RyaW5nLFxyXG4gIGluY3JlbWVudD86IG51bWJlcixcclxuICBkZWZhdWx0VmFsdWU6IG51bWJlcixcclxuICBsYWJlbDogc3RyaW5nLFxyXG4gIHNtb05hbWU6IHN0cmluZyxcclxuICBjb250cm9sOiBzdHJpbmcsXHJcbiAgcGFyZW50Q29udHJvbDogU3VpQ29tcG9uZW50UGFyZW50XHJcbn1cclxuLyoqXHJcbiAqIEBjYXRlZ29yeSBTdWlEaWFsb2dcclxuICovXHJcbmV4cG9ydCBjbGFzcyBTdWlSb2NrZXJDb21wb3NpdGUgZXh0ZW5kcyBTdWlSb2NrZXJDb21wb25lbnQge1xyXG4gIHBhcmVudENvbnRyb2w6IFN1aUNvbXBvbmVudFBhcmVudDtcclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IFN1aURpYWxvZ05vdGlmaWVyLCBwYXJhbWV0ZXJzOiBTdWlSb2NrZXJDb21wb3NpdGVQYXJhbXMpIHtcclxuICAgIHN1cGVyKGRpYWxvZywgcGFyYW1ldGVycyk7XHJcbiAgICB0aGlzLnBhcmVudENvbnRyb2wgPSBwYXJhbWV0ZXJzLnBhcmVudENvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VGbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMucGFyZW50Q29udHJvbC5jaGFuZ2VkKCk7XHJcbiAgICB0aGlzLmNoYW5nZUZsYWcgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/dialogs/components/rocker.ts\n");
|
|
1112
1112
|
|
|
1113
1113
|
/***/ }),
|
|
1114
1114
|
|