There are many frontend technologies in old application. WebForms, DevExpress webforms, DevExpress MVC with ScriptSharp and jquery. DevExtreme as javascript solution.
====== Webforms, DevExpress controls ======
Some pages are as webforms (*.aspx), or webforms controls (*.ascx). For both Id element attributes are very necessary. These are mostly as properties in code behind.
Most components are from devexpress package
Data for controls are bound to particular (mostly static) class and method mostly via DataSourceID attributes, for our comboBox above, definition for data source class is
Webforms has some limited html like markup for e.g. conditions, call methods e.g. Component usage is preffered.
Examples:
Gridview with edit form with hidden field for special usage of updating, inserting rows. Input in row without binding - [PR](https://protank.visualstudio.com/_git/PD/pullrequest/1361?_a=files)
Each devexpress webform control has some client control name, which is used from javascript e.g.
this.workPlanStore.setSelectedRows(x)}
// settings for row popup menu which is available at the end of row on ...
customRowSettings={{
visible: true,
displayEdit: false,
displayDelete: false,
customButtons: [
{ name: "planning", title: localize("sewerDrainGrid.planning"), icon: "" },
{ name: "detail", title: localize("sewerDrainGrid.workPlanDetail"), icon: "" },
],
handleButtonClick: this.handleRowButtonClick
}}
onRowsDeselected={(x) => this.workPlanStore.setDeselectedRows(x)}
>
Stores and observables
====== Internet Explorer Support ======
Protank Dynamics web application is supported for Internet Explorer 11 browser. There are some troubles with it.
E.g. Syntax error in some JavaScript stops execution of following JavaScript calls.
Recommendation for debugging web app in in IE
* Disable or remove all Addons from browser
* Use development tools via F12 in own non-docked windows.
* Stop showing log messages in Console, there is a lot of messages from Identity Server. It's possible //only via left mouse button menu in Console// - menu Item 'Log'.
* Try to find errors in Console first, specially for JavaScript syntax errors, exceptions etc.
* **Don't select** JavaScript file for debugging via //search for file by name// - left top corner - it's very slow and all Development Tools stop working.
* Has debugger unconnected (menu Debugger, icon of plug point) whenever possible. It slows down all tools a lot. Connect debugger only if necessary.
Task which fixes some IE troubles
* BC compatible Javascrit [[https://protank.visualstudio.com/_git/PD/pullrequest/1431?_a=overview|PR]]
* IE compatible CSS [[https://protank.visualstudio.com/_git/PD/commit/9f3a2948dea37d06b660832591b4a8f0ea8eb466|commit]]