Preparation for action binding

This commit is contained in:
Dennis Eichhorn 2016-07-28 16:07:11 +02:00
parent 288b9c38d6
commit 454fb98ab8

View File

@ -29,6 +29,7 @@
this.tabManager = new jsOMS.UI.TabManager(this.app.responseManager); this.tabManager = new jsOMS.UI.TabManager(this.app.responseManager);
this.tableManager = new jsOMS.UI.TableManager(this.app.responseManager); this.tableManager = new jsOMS.UI.TableManager(this.app.responseManager);
this.button = new jsOMS.UI.Button(this.app); this.button = new jsOMS.UI.Button(this.app);
this.input = new jsOMS.UI.Input();
}; };
/** /**
@ -47,7 +48,7 @@
this.formManager.bind(); this.formManager.bind();
this.tabManager.bind(); this.tabManager.bind();
this.tableManager.bind(); this.tableManager.bind();
this.button.bind(); this.bindAction();
} else { } else {
let tag = document.getElementById(id); let tag = document.getElementById(id);
@ -58,9 +59,30 @@
case 'table': case 'table':
this.tableManager.bind(id); this.tableManager.bind(id);
break; break;
default:
this.bindAction(tag);
}
}
};
jsOMS.UI.UIManager.prototype.bindAction = function(e)
{
let uiElements = typeof e === 'undefined' ? jsOMS.getAll('input, select, textarea, button', document) : [e],
length = uiElements.length;
for(let i = 0; i < length; i++) {
switch(uiElements.tagName) {
case 'input':
this.input.bind(uiElements[i]);
break;
case 'select':
this.select.bind(uiElements[i]);
break;
case 'button': case 'button':
case 'a': this.button.bind(uiElements[i]);
this.button.bind(id); break;
case 'textarea':
this.textarea.bind(uiElements[i]);
break; break;
} }
} }