-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Maps] Add 'InjectedData' class and revise so File Upload Features are assigned to new InjectedData instances #46381
[Maps] Add 'InjectedData' class and revise so File Upload Features are assigned to new InjectedData instances #46381
Conversation
Pinging @elastic/kibana-gis |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice start. I think this concept could also be used by embeddables. For example APM, just wanted to pass geojson directly into Maps instead of having Maps fetch its own data.
How about renaming pushedData
? Maybe cannedData or staticData or injectedData or inlineData? The work "pushed" is a little vague.
x-pack/legacy/plugins/maps/public/layers/sources/client_file_source/geojson_file_source.js
Outdated
Show resolved
Hide resolved
💔 Build Failed |
…n-geojson-descriptor
…n-geojson-descriptor
💔 Build Failed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm with green CI
code review, tested in Chrome
💚 Build Succeeded |
💚 Build Succeeded |
…e assigned to new InjectedData instances (elastic#46381) * Add 'PushedData' class and revise so data is assigned to new instances * Update 'pushedData' refs to 'injectedData' * Set default visibility to true on injected data * Review feedback * Update tests to account for injectedData * Review feedback
…e assigned to new InjectedData instances (#46381) (#47158) * Add 'PushedData' class and revise so data is assigned to new instances * Update 'pushedData' refs to 'injectedData' * Set default visibility to true on injected data * Review feedback * Update tests to account for injectedData * Review feedback
…ysens/kibana into console-fix-menu-actions-alignment * 'console-fix-menu-actions-alignment' of github.com:jloleysens/kibana: (59 commits) [Canvas] i18n for page manager, page preview, and shape preview (elastic#46865) [SIEM] hide siem data on empty string or _all (elastic#47166) [Uptime] Shim UI exports for new platform (elastic#44722) [Monitoring] Metricbeat Migration Wizard Tests (elastic#47139) [Logs UI] Support partitioned log rate results in API (elastic#46751) [APM] Remove beta badge from transaction breakdown (elastic#47163) test: 💍 convert Interpreter font function tests to Jest (elastic#47193) visualizations 👉 NP-ready (elastic#47142) [Uptime] Update pings chart colors (elastic#46780) Add scroll into view to avoid tooltip overlap (elastic#47106) Variety of quick a11y fixes (elastic#46569) [Graph] Empty workspace overlay (elastic#45547) [ML] Converts index and saved search selection to React (elastic#47117) [Uptime] Change default status filter in ping list to all on monitor page (elastic#47108) refactor: 💡 convert Interpreter .js -> .ts (elastic#44545) Add TypeScript rules to STYLEGUIDE [skip ci] (elastic#47125) chore(NA): fix logic behind cleaning x-pack node modules on build (elastic#47091) [SIEM] Update Settings Text (elastic#47147) Add KQL functionality in the find function of the saved objects (elastic#41136) [Maps] Add 'InjectedData' class and revise so File Upload Features are assigned to new InjectedData instances (elastic#46381) ...
Previously the entire parsed GeoJSON object was assigned to the
layerDescriptor
object. This issue wasn't apparent until attempting a fix for #40205 and getting OOM errors on files of higher size. Specifically, the application would crash when copying the descriptor object inmap_selectors > hasDirtyState() > copyPersistentState
. The best way to test this fix currently is to set the following breakpoint:and inspect the
layerDescriptor
object passed to the function. Previously, thelayerDescriptor > sourceDescriptor
contained the feature collection, now the feature collection is stored inlayerDescriptor > __pushedData
which isn't copied here, preventing any potential errors.The process used is highly similar to that used for
DataRequests
however this data is different in that it's "pushed" to us upfront by the File Upload plugin.