Создаю новый компонент UIWin на базе webix.ui.window (это модальное окно с заголовком и кнопкой закрытия).
Далее уже на базе UIWin создаю компонент UIForm (эта форма для ввода/редактирования различных данных).
При вызове этой формы (нажатие на заначек пользователя справа от надписи ‘no autorized’ в строке меню) форма показывается правильно, но при клике на любое из двух полей ввода или на кнопку ‘Сохранить’ выскакивает ошибка : webix.js:710 Uncaught RangeError: Maximum call stack size exceeded at result.callEvent (webix.js:710:25).
исключение возникает тут :
//trigger event
callEvent: function (type, params) {
var master = this._event_master || this;
if (this._evs_events._block) return true;
type = type.toLowerCase();
var event_stack = this._evs_events[type.toLowerCase()]; //all events for provided name
var return_value = true;
if ((debug_mode.events || this.debug) && type !== "onmousemoving") //can slowdown a lot
log("info", "[" + this.name + "@" + (this._settings || {}).id + "] event:" + type, params);
if (event_stack) for (var i = 0; i < event_stack.length; i++) {
/*
Call events one by one
If any event return false - result of whole event will be false
Handlers which are not returning anything - counted as positive
*/
if (event_stack[i].apply(master, params || []) === false) return_value = false;
}
if (this._evs_map[type]) {
var target = this._evs_map[type];
target.$eventSource = this;
if (!target.callEvent(type, params)) return_value = false;
target.$eventSource = null;
}
return return_value;
},
Прошу помощи у уважаемых гуру.
webix UI v.9.4.0,
Google Chrome Версия 105.0.5195.102 (Официальная сборка), (64 бит)
CODE SNIPPET
https://snippet.webix.com/4pc01obf
==============================================================================
I create a new UIWin component based on webix.ui.window (this is a modal window with a title and a close button).
Further, on the basis of UIWin, I create a UIForm component (this form is for entering / editing various data).
When this form is invoked (clicking on the user’s stash to the right of the ‘no autorized’ label in the menu bar), the form is displayed correctly, but when either of the two input fields or the ‘Save’ button is clicked, an error pops up: webix.js:710 Uncaught RangeError: Maximum call stack size exceeded at result.callEvent (webix.js:710:25).
the exception occurs here:
//trigger event
callEvent: function (type, params) {
varmaster = this._event_master || this;
if (this._evs_events._block) return true;
type = type.toLowerCase();
var event_stack = this._evs_events[type.toLowerCase()]; //all events for provided name
var return_value = true;
if ((debug_mode.events || this.debug) && type !== "onmousemoving") //can slowdown a lot
log("info", "[" + this.name + "@" + (this._settings || {}).id + "] event:" + type, params);
if (event_stack) for (var i = 0; i < event_stack.length; i++) {
/*
call events one by one
If any event return false - result of whole event will be false
Handlers which are not returning anything - counted as positive
*/
if (event_stack[i].apply(master, params || []) === false) return_value = false;
}
if (this._evs_map[type]) {
var target = this._evs_map[type];
target.$eventSource = this;
if (!target.callEvent(type, params)) return_value = false;
target.$eventSource = null;
}
return_value;
},
I ask for help from respected gurus.