HTM-1960: Custom extract functionality for layer attributes#1274
Merged
mprins merged 10 commits intoMay 12, 2026
Conversation
Test Results 1 files ±0 237 suites ±0 9m 2s ⏱️ +10s Results for commit fde7110. ± Comparison against base commit d49e46b. This pull request removes 5 and adds 6 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
2 tasks
01ce416 to
3854823
Compare
acc6aef to
f8da8c6
Compare
This was referenced May 1, 2026
68d47cd to
757fe8f
Compare
mprins
commented
May 8, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the attribute list “export” flow from the deprecated /export endpoint to the new /extract API, adding support for asynchronous extracts with server-sent progress events and a follow-up download step.
Changes:
- Replaced layer export capability/request calls with extract formats, extract request, and extract download calls.
- Added an
ExtractProgressEventsService(SSE) and wired progress reporting into the attribute list export UI. - Updated API service layer, mocks, and i18n messages to align with the new extract terminology/endpoints.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/core/src/lib/components/attribute-list/services/attribute-list-manager.service.ts | Renames export methods to extract equivalents and adds download method. |
| projects/core/src/lib/components/attribute-list/services/attribute-list-manager.service.spec.ts | Updates unit tests for extract methods (but still contains outdated stubs elsewhere). |
| projects/core/src/lib/components/attribute-list/services/attribute-list-export.service.ts | Implements async extract workflow with SSE progress + download-on-complete. |
| projects/core/src/lib/components/attribute-list/services/attribute-list-api.service.ts | Switches to /extract request + download API calls and extract formats endpoint. |
| projects/core/src/lib/components/attribute-list/models/attribute-list-api-service.model.ts | Renames API model interfaces to extract and introduces download params/response. |
| projects/core/src/lib/components/attribute-list/attribute-list-export-button/attribute-list-export-button.component.ts | Wires UI to extract progress and updated formats enum. |
| projects/core/src/lib/components/attribute-list/attribute-list-export-button/attribute-list-export-button.component.spec.ts | Updates component tests to use extract format enum. |
| projects/core/src/lib/components/attribute-list/attribute-list-export-button/attribute-list-export-button.component.html | Replaces indeterminate spinner with progress spinner and adjusts menu items. |
| projects/core/assets/locale/messages.core.nl.xlf | Updates/extends translations for extract flow and download failure. |
| projects/core/assets/locale/messages.core.en.xlf | Updates/extends translations for extract flow and download failure. |
| projects/core/assets/locale/messages.core.de.xlf | Updates/extends translations for extract flow and download failure. |
| projects/api/src/lib/services/tailormap-api-v1.service.ts | Implements /extract/formats, /extract/{clientId}, and extract download endpoint calls. |
| projects/api/src/lib/services/tailormap-api-v1.service.spec.ts | Updates API service test for extract formats endpoint. |
| projects/api/src/lib/services/tailormap-api-v1.service.model.ts | Renames service model methods to extract equivalents and adds download method. |
| projects/api/src/lib/services/tailormap-api-v1-mock.service.ts | Updates mock implementation for extract formats/request/download. |
| projects/api/src/lib/services/index.ts | Exposes the new ExtractProgressEventsService. |
| projects/api/src/lib/services/extract-progress-events.service.ts | New SSE client service for extract progress/completion events. |
| projects/api/src/lib/models/layer-extract-response.model.ts | New model for extract request response. |
| projects/api/src/lib/models/layer-extract-capabilities.model.ts | New model for extract formats/capabilities. |
| projects/api/src/lib/models/layer-export-capabilities.model.ts | Removes deprecated export capabilities model. |
| projects/api/src/lib/models/index.ts | Exports new extract models. |
| projects/api/src/lib/mock-data/tailormap-api.mock-data.ts | Updates mock data for extract formats model. |
Comments suppressed due to low confidence (1)
projects/core/src/lib/components/attribute-list/services/attribute-list-manager.service.spec.ts:44
- The test setup below updates
mockApiServiceto the new extract method names, but there are stilldataLoaderWithoutMethodstubs later in this spec that use the removedgetLayerExportCapabilities$/getLayerExport$members. With the updatedAttributeListApiServiceModel, those stubs will no longer type-check and can break the build; update them to the new methods (or cast toPartial<AttributeListApiServiceModel>when intentionally omitting members).
mockApiService = {
getFeatures$: jest.fn(),
getLayerExtractCapabilities$: jest.fn(),
startLayerExtract$: jest.fn(),
getUniqueValues$: jest.fn(),
canExpandRow$: jest.fn(),
getFeatureDetails$: jest.fn(),
} as Record<keyof AttributeListApiServiceModel, jest.Mock>;
f20981d to
e17a5df
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
e17a5df to
fde7110
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a feature branch to collect all subtasks
/exportAPI, to be replaced by the/extractAPI/eventsand/extract#1273/extractAPI, cleanup old/exportAPI #1312