Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with ExtJS v. 5.1.0 #274

Closed
wants to merge 177 commits into from
Closed

Compatibility with ExtJS v. 5.1.0 #274

wants to merge 177 commits into from

Conversation

marcjansen
Copy link
Member

This is a work in progress PR and it is not yet ready for reviewing or merging.

Current state:

  • Examples working with either 4.2.1 or 5.1.0
    • Action
    • MVC-App
      • uncompiled dev-version
      • compiled production version
    • Geocoder
    • Feature Grid
    • LayerOpacitySlider
    • Legend Panel
    • Mappanel
    • Permalink
    • Popup
    • Print extent
    • Print preview
    • Print page
    • Print form
    • Feature Renderer
    • Stylegrid
    • Tree
    • Treelegend
    • WFS Capabilities
    • WMS Capabilities
    • Zoomchooser
    • Zoomslider
  • Testsuite passes with either 4.2.1 or 5.1.0 locally
    • Action
    • container/LayerLegend
    • container/UrlLegend
    • container/WmsLegend
    • container/VectorLegend
    • data/AttributeModel
    • data/AttributeStore
    • data/FeatureStore
    • data/LayerStore
    • data/MapfishPrintProvider
    • data/PrintPage
    • data/proxy/Protocol
    • data/reader/Attribute
    • data/reader/CswRecords
    • data/reader/WfsCapabilities
    • data/reader/Wmc
    • data/reader/WmsCapabilities
    • data/reader/WmsDescribeLayer
    • data/WmsDescribeLayerStore
    • data/ScaleStore
    • data/StyleStore
    • FeatureRenderer
    • Form
    • form/action/Search
    • form/Basic
    • form/field/GeocoderComboBox
    • form/Panel
    • grid/column/Symbolizer
    • Lang
    • LegendImage
    • panel/Map
    • panel/Legend
    • panel/PrintMapPanel
    • plugins/PrintExtent
    • plugins/PrintPageField
    • plugins/PrintProviderField
    • selection/FeatureModel
    • slider/Zoom
    • slider/LayerOpacity
    • state/PermalinkProvider
    • tree/LayerContainer
    • tree/LayerLoader
    • window/Popup
    • Version
  • Testsuite passes in relevant browsers
    • recent Chrome
    • recent Firefox
    • Internet Explorer 9
    • Internet Explorer 10
    • Internet Explorer 11
  • Travis
    • Use ExtJS 5 also for CI
    • All tests pass in Travis

These are the shortcuts to their counterparts in the GeoExt.Version namespace.

In order to allow for different code-path depending on the major ExtJS version,
these properties are introduced to make testing the environment easier.
marcjansen and others added 11 commits January 10, 2015 17:01
Fix all but one failing test of WMC-reader
Bind a checkchange handler for tree nodes for syncing layer visibility and
base layer state. In order to access the handlers they had to be moved to
a new utility file.

With this the 2 tree examples work. Tests will follow.
Make tree compatible to ExtJS 5
Fix test for tree with ExtJS5
Fix the tests of the WMSCapabilities and the WMC reader
Since the tree package has changed in ExtJS 5 the tests for the GeoExt
tree-LayerContainer class are adapted herewith.
Now they pass with ExtJS 4.2.1 and 5.1.0.
Adapt tests for tree/LayerContainer to work w/ ExtJS 4 and 5
@chrismayer
Copy link
Contributor

The tests for panel/PrintMapPanel seem to be broken in all browsers and the LegendImage test in Chrome 39

Refactor protocol proxy to support ExtJS 4 and 5.
@marcjansen
Copy link
Member Author

They look fine for me:

testsuite-all-green-ff-34

testsuite-all-green-chromium-39

Are you on windows and have the latest commits in this branch?

@chrismayer
Copy link
Contributor

Yes @marcjansen , it's on Windows.

The PrintMapPanel test Aspect ratio of the preview map is the same as of the print layout fails. I looked a bit into it. It seems to be a rounding issue. In the class itself in function syncSize the size of the PrintMappanel is set by calling this.setSize(s.width, s.height);. In the test case the calculated height (s.height) which is passed to setSize is 200.8840909090909. If this.getSize() is called afterwards you'll recognize that 200 is returned as height. So ExtJS seems to 'floor' the values. By the reverse calculation in the test the same ratio is used but the "wrong" height, which causes the rounding issue IMHO. Why this does not occur on Linux? I don't know.

Be more cautious when setting zIndex of subitems.
This was detected by a failing test in Travis, funnily browsers
didn't bother at all AFAICT.
Fix travis tests errors partially
Haromnize an overwrite & fix the setup for Travis
When on Windows, the fractional part of a calculated width / height
somehow got stripped away by ExtJS, leading to tiny differences in
the resulting ratio of the print map panel.

When we always round the calculated values, the ratio is fine on all
operating systems.
Round width/height when syncing the size.
@marcjansen
Copy link
Member Author

Since #338 IE 11 and 9 now is green for me (remember to turn off the compatibility view...)

ie11-all-tests-passed

ie-9-all-tests-green

I am now working on creating a mergeable branch which includes only the flesh of the commits gathered here. I advise every one, to no longer depend on this branch.

@marcjansen
Copy link
Member Author

Closing this one. See #339.

@marcjansen marcjansen closed this Mar 20, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants