mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-07-24 04:44:55 +00:00
Cleanups from a code-simplification pass over the prior commit: - Extract the repeated "build HttpParams from a plain object, skipping null/undefined" loop (previously duplicated in list(), getFew(), and the new getFilterSelectionData()) into a single shared AbstractPaperlessService.withParams() helper. - document-list-view.service.ts: fire the filter_selection_data request concurrently with the primary list request instead of nesting it inside the list request's success callback. They're independent (the follow-up only needs filterRules, not the list response), so there's no reason to wait on one before starting the other. Extracted into loadFilterSelectionData() for readability, and guarded the error path so a failed list request cancels the concurrent follow-up too rather than letting it resolve afterward and clobber the error-state reset. - views.py: give filter_selection_data a lean base queryset (_base_document_queryset) instead of the full get_queryset(), which carries select_related/prefetch_related meant for serializing full Document objects. Benchmarked this specifically: no measured query-time impact in this path, since those calls were never iterating the queryset directly and were already inert here -- keeping it for clarity, not as a performance claim. - Test fallout: since filter_selection_data now fires unconditionally on every non-search reload() rather than only after a successful primary flush, added a generic drain step to both spec files' afterEach so individual tests don't each need to know about this follow-up request unless they specifically assert on its response. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
PaperlessUi
This project was generated with Angular CLI version 10.1.5.
Development server
Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Code scaffolding
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
Build
Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --configuration production flag for a production build.
Running unit tests
Run ng test to execute the unit tests via Karma.
Running end-to-end tests
Run ng e2e to execute the end-to-end tests via Protractor.
Further help
To get more help on the Angular CLI use ng help or go check out the Angular CLI README.