View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0021881 | mantisbt | javascript | public | 2016-11-07 10:26 | 2019-01-11 06:44 |
Reporter | syncguru | Assigned To | syncguru | ||
Priority | normal | Severity | major | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 2.0.0-rc.2 | ||||
Target Version | 2.2.0 | Fixed in Version | 2.2.0 | ||
Summary | 0021881: Remove jquery-ui is not longer used in Modern UI | ||||
Description | Looks like there is a very limited use (if any) of jquery-ui. Consider removing it. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
jquery and jquery-ui have been plugins before 1.3.x They have been bundled with MantisBT core to make life of plugin authors a bit easier. At least this one uses jQuery-UI |
|
Adding jquery-ui as a plugin creates a conflict with current Ace css. The example reproduced is a jquery-ui modal dialog, where the behaviour is to place a translucid overlay over the page, as background for the modal dialog. Previously, as jquery-ui was included as part of mantis, the css was placed in headers before the Ace css, so this probem did not exists. |
|
@vboctor @syncguru unless the conflict with css when including jQuery-UI as a plugin (see cproensa's note 0021881:0054969) introduced by this change can be resolved prior to 2.1.x release, this should be reverted to avoid regression issues. (setting priority as major so it shows as blocking for the release) |
|
@dregad, @cproensa The are two possible fixes here:
|
|
I didn't test, but I am not sure this would fix the problem. If my understanding of the CSS spec* is correct, the last style declaration takes precedence over earlier ones. Since the plugin API is including the jQueryUI CSS last, I believe things are as they should be. Based on what @cproensa said in 0021881:0054969
the problem would be Ace template's use of !important. But I'm a bit confused by this statement:
@cproensa are you sure it was working before ? Anyway option 2 is probably the only way
Or maybe just remove the !important declaration from conflicting Ace styles ? @cproensa, is there a public plugin that can be used to reproduce the behavior you described earlier ? If so, could you please provide the details ?
|
|
If i recall correctly it has been working in v2 before the removal of jquery-ui if you look at the conflicting properties: The result as reported is background solid (from jq-ui), opacity 1 (from ace)
I think that ace css overrides are designed to work "on top" of jquery-ui styles, regardless of "!important" properties.
I'm not sure this may not break other things. Some plugins may need to override mantis default styles, for example. 2- Remove the jquery-ui styles from ace since we are not using them Are the css templates mantained upstream? This would burden upgradeability. More options: 3- Revert removal of jquery-ui 4- Make the jquery-ui plugin inject the css file in an alternative way, that gets placed before ace template. This means not using the resources event, but instead trying to hook on require_css on initialization.
This plugin uses query dialog: I specifically use this rewrite: jquery-ui plugin updated for v2: |
|
@dregad, @cproensa Please try again against this PR: https://github.com/mantisbt/mantisbt/pull/1009 |
|
@syncguru |
|
Given that we are in agreement that the way the library was removed introduces regressions, I have reverted the change for now (see MantisBT master 1c8c1302), so we don't release 2.1 with a known issue. I haven't had the time to test the new PR yet. |
|
@dregad Give that v2.1 is out, we should go back to removing jquery-ui along with merging my PR (which is approved) - this should resolve this issue. |
|
MantisBT: master 14e3d50c 2016-12-28 17:39 Committer: vboctor Details Diff |
Remove jquery_ui due to size & limited use Fixes: 0021881 |
Affected Issues 0021881 |
|
mod - core/constant_inc.php | Diff File | ||
mod - core/html_api.php | Diff File | ||
rm - css/jquery-ui-1.11.4.min.css | Diff | ||
mod - js/common.js | Diff File | ||
rm - js/jquery-ui-1.11.4.min.js | Diff | ||
MantisBT: master 6875f993 2016-12-30 20:50 Committer: vboctor Details Diff |
Replace autocomplete with Ace theme bundled typeahead Fixes: 0021881 |
Affected Issues 0021881 |
|
mod - bug_report_page.php | Diff File | ||
mod - bug_update_page.php | Diff File | ||
mod - js/common.js | Diff File | ||
MantisBT: master 1c8c1302 2017-01-30 05:46 Details Diff |
Revert "Remove jquery_ui due to size & limited use" This reverts commit 14e3d50c90424dbcf3b89f0d649f0657dc201d29. Conflicts: js/common.js It has been established that removing jQuery-UI introduces regression issues due to conflicts with Ace css, e.g. with plugins relying on its functionality. This restores the library, but keeps the 'autocomplete' switch to 'typeahead' (see 6875f99375b419559a973a5a86320597b6aec70ba). Following the discussion in issue 0021881, an alternative approach to cleanly remove the library has been proposed and might be merged in the future. |
Affected Issues 0021881 |
|
mod - core/constant_inc.php | Diff File | ||
mod - core/html_api.php | Diff File | ||
add - css/jquery-ui-1.11.4.min.css | Diff File | ||
mod - js/common.js | Diff File | ||
add - js/jquery-ui-1.11.4.min.js | Diff File | ||
MantisBT: master 33a5e80f 2017-02-05 00:46 Details Diff |
Remove jQuery-UI This resolves conflicts and reapplies @syncguru's original removal commit 14e3d50c90424dbcf3b89f0d649f0657dc201d29 following Ace template adjustments to avoid CSS issues [1]. Fixes 0021881 [1] PR https://github.com/mantisbt/mantisbt/pull/1009 |
Affected Issues 0021881 |
|
mod - core/constant_inc.php | Diff File | ||
mod - core/html_api.php | Diff File | ||
rm - css/jquery-ui-1.11.4.min.css | Diff | ||
rm - js/jquery-ui-1.11.4.min.js | Diff |