- Prevent the user from executing multiple options at once, resulting in "Execute cannot be used while an asynchronous query is underway********** Error ****" messages
- Stop polling when debugging is complete.
- Don't show the busy cursory when debugging is complete.
- Display info messages properly, and reset them between executions.
1. Altered variable control to make its UI consistent with privileges and Security labels.
2. Changed datamodel.js to handle duplicate rows at datamodel level and not UI/Control level. (See variable control for example)
To make it work, we need to explicitly set -webkit-animation property to 'none' for classes "sql-editor-busy-icon.fa-pulse" and ".debugger-container fa-pulse".
'fa-pulse' class is responsible to spin the busy icon, but setting its -webkit-animation property to none will not spin icon but icon and message will be shown.
Issue : -
Whenever we open any alertify dialog inside the query tool and debugger panel then panel contents are not visible. Query tool panel display as blank.
This issue is only reproducible in Linux.
Solution:-
Animations and transitions are not automatically GPU accelerated and by default use browser's slow rendering engine.
We need to set 'translate3d' value of '-webkit-transform' property in order to use GPU.
After applying this property under linux, Webkit calculates wrong position of the elements so panel contents are not visible.
To make it work, we need to explicitly set '-webkit-transform' property to 'none' for .ajs-notifier, .ajs-message, .ajs-modal classes.
Fixes#1186
- Removed the "lineWrapping" option from the codemirror textarea because
it was creating issue in the code folding.
- Handle the values while depositing during debugging.
- Properly handle the Array values while saving it to sqlite database
and displayed in input dialog.
- SQL code folding was not supported in codemirror so added the same.
Also, remove the CodeMirror object for better clean up process.
When a SQL control/tab is rendered in a hidden element, it does not
render really well. Because - it rely on the height, and width of the
container to count the gutten position, and margin, and other elements.
Hence - whenever the tab, panel becomes visible, we will refresh the
control.