diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 68144c201..76a884747 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,6 +46,9 @@ repos: - ts - markdown exclude: "(^Pipfile\\.lock$)" + additional_dependencies: + - prettier@3.3.3 + - 'prettier-plugin-organize-imports@4.1.0' # Python hooks - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.8.2 diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index f7d738f21..000000000 --- a/.prettierrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - # https://prettier.io/docs/en/options.html#semicolons - "semi": false, - # https://prettier.io/docs/en/options.html#quotes - "singleQuote": true, - # https://prettier.io/docs/en/options.html#trailing-commas - "trailingComma": "es5", - "overrides": [ - { - "files": ["docs/*.md"], - "options": { - "tabWidth": 4, - } - } - ] -} diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 000000000..e2c09cb32 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,19 @@ +const config = { + // https://prettier.io/docs/en/options.html#semicolons + semi: false, + // https://prettier.io/docs/en/options.html#quotes + singleQuote: true, + // https://prettier.io/docs/en/options.html#trailing-commas + trailingComma: 'es5', + overrides: [ + { + files: ['docs/*.md'], + options: { + tabWidth: 4, + }, + }, + ], + plugins: [require('prettier-plugin-organize-imports')], +} + +module.exports = config diff --git a/src-ui/e2e/admin/settings.spec.ts b/src-ui/e2e/admin/settings.spec.ts index ed651fd5d..edff75b28 100644 --- a/src-ui/e2e/admin/settings.spec.ts +++ b/src-ui/e2e/admin/settings.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { expect, test } from '@playwright/test' import path from 'node:path' const REQUESTS_HAR = path.join(__dirname, 'requests/api-settings.har') diff --git a/src-ui/e2e/dashboard/dashboard.spec.ts b/src-ui/e2e/dashboard/dashboard.spec.ts index f062b63e7..2ee8c1f35 100644 --- a/src-ui/e2e/dashboard/dashboard.spec.ts +++ b/src-ui/e2e/dashboard/dashboard.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { expect, test } from '@playwright/test' import path from 'node:path' const REQUESTS_HAR1 = path.join(__dirname, 'requests/api-dashboard1.har') diff --git a/src-ui/e2e/document-detail/document-detail.spec.ts b/src-ui/e2e/document-detail/document-detail.spec.ts index 39e503fff..8e0967188 100644 --- a/src-ui/e2e/document-detail/document-detail.spec.ts +++ b/src-ui/e2e/document-detail/document-detail.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { expect, test } from '@playwright/test' import path from 'node:path' const REQUESTS_HAR = path.join(__dirname, 'requests/api-document-detail.har') diff --git a/src-ui/e2e/document-list/document-list.spec.ts b/src-ui/e2e/document-list/document-list.spec.ts index d624a92ad..67655aaf5 100644 --- a/src-ui/e2e/document-list/document-list.spec.ts +++ b/src-ui/e2e/document-list/document-list.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { expect, test } from '@playwright/test' import path from 'node:path' const REQUESTS_HAR1 = path.join(__dirname, 'requests/api-document-list1.har') diff --git a/src-ui/e2e/permissions/global-permissions.spec.ts b/src-ui/e2e/permissions/global-permissions.spec.ts index 5cbc0df46..e5bc98edf 100644 --- a/src-ui/e2e/permissions/global-permissions.spec.ts +++ b/src-ui/e2e/permissions/global-permissions.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { expect, test } from '@playwright/test' import path from 'node:path' const REQUESTS_HAR = path.join(__dirname, 'requests/api-global-permissions.har') diff --git a/src-ui/extra-webpack.config.ts b/src-ui/extra-webpack.config.ts index b53892fc7..f19a84df4 100644 --- a/src-ui/extra-webpack.config.ts +++ b/src-ui/extra-webpack.config.ts @@ -1,8 +1,8 @@ -import * as webpack from 'webpack' import { CustomWebpackBrowserSchema, TargetOptions, } from '@angular-builders/custom-webpack' +import * as webpack from 'webpack' const { codecovWebpackPlugin } = require('@codecov/webpack-plugin') export default ( diff --git a/src-ui/package-lock.json b/src-ui/package-lock.json index 7ba56a1c2..5e0b3c453 100644 --- a/src-ui/package-lock.json +++ b/src-ui/package-lock.json @@ -63,6 +63,7 @@ "jest-preset-angular": "^14.2.4", "jest-websocket-mock": "^2.5.0", "patch-package": "^8.0.0", + "prettier-plugin-organize-imports": "^4.1.0", "ts-node": "~10.9.1", "typescript": "^5.5.4" } @@ -14597,6 +14598,40 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-organize-imports": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.1.0.tgz", + "integrity": "sha512-5aWRdCgv645xaa58X8lOxzZoiHAldAPChljr/MT0crXVOWTZ+Svl4hIWlz+niYSlO6ikE5UXkN1JrRvIP2ut0A==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "prettier": ">=2.0", + "typescript": ">=2.9", + "vue-tsc": "^2.1.0" + }, + "peerDependenciesMeta": { + "vue-tsc": { + "optional": true + } + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", diff --git a/src-ui/package.json b/src-ui/package.json index 1055df0d4..1b7deea1d 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -65,6 +65,7 @@ "jest-preset-angular": "^14.2.4", "jest-websocket-mock": "^2.5.0", "patch-package": "^8.0.0", + "prettier-plugin-organize-imports": "^4.1.0", "ts-node": "~10.9.1", "typescript": "^5.5.4" }, diff --git a/src-ui/setup-jest.ts b/src-ui/setup-jest.ts index f545e7295..10c9f99f1 100644 --- a/src-ui/setup-jest.ts +++ b/src-ui/setup-jest.ts @@ -1,9 +1,9 @@ +import '@angular/localize/init' import { jest } from '@jest/globals' +import { TextDecoder, TextEncoder } from 'util' if (process.env.NODE_ENV === 'test') { require('jest-preset-angular/setup-jest') } -import '@angular/localize/init' -import { TextEncoder, TextDecoder } from 'util' global.TextEncoder = TextEncoder global.TextDecoder = TextDecoder diff --git a/src-ui/src/app/app-routing.module.ts b/src-ui/src/app/app-routing.module.ts index c2e86208c..cdd225497 100644 --- a/src-ui/src/app/app-routing.module.ts +++ b/src-ui/src/app/app-routing.module.ts @@ -1,33 +1,33 @@ import { NgModule } from '@angular/core' -import { Routes, RouterModule } from '@angular/router' +import { RouterModule, Routes } from '@angular/router' +import { ConfigComponent } from './components/admin/config/config.component' +import { LogsComponent } from './components/admin/logs/logs.component' +import { SettingsComponent } from './components/admin/settings/settings.component' +import { TasksComponent } from './components/admin/tasks/tasks.component' +import { TrashComponent } from './components/admin/trash/trash.component' +import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component' import { AppFrameComponent } from './components/app-frame/app-frame.component' import { DashboardComponent } from './components/dashboard/dashboard.component' +import { DocumentAsnComponent } from './components/document-asn/document-asn.component' import { DocumentDetailComponent } from './components/document-detail/document-detail.component' import { DocumentListComponent } from './components/document-list/document-list.component' import { CorrespondentListComponent } from './components/manage/correspondent-list/correspondent-list.component' +import { CustomFieldsComponent } from './components/manage/custom-fields/custom-fields.component' import { DocumentTypeListComponent } from './components/manage/document-type-list/document-type-list.component' -import { LogsComponent } from './components/admin/logs/logs.component' -import { SettingsComponent } from './components/admin/settings/settings.component' -import { TagListComponent } from './components/manage/tag-list/tag-list.component' -import { NotFoundComponent } from './components/not-found/not-found.component' -import { DocumentAsnComponent } from './components/document-asn/document-asn.component' -import { DirtyFormGuard } from './guards/dirty-form.guard' +import { MailComponent } from './components/manage/mail/mail.component' +import { SavedViewsComponent } from './components/manage/saved-views/saved-views.component' import { StoragePathListComponent } from './components/manage/storage-path-list/storage-path-list.component' -import { TasksComponent } from './components/admin/tasks/tasks.component' -import { PermissionsGuard } from './guards/permissions.guard' +import { TagListComponent } from './components/manage/tag-list/tag-list.component' +import { WorkflowsComponent } from './components/manage/workflows/workflows.component' +import { NotFoundComponent } from './components/not-found/not-found.component' import { DirtyDocGuard } from './guards/dirty-doc.guard' +import { DirtyFormGuard } from './guards/dirty-form.guard' import { DirtySavedViewGuard } from './guards/dirty-saved-view.guard' +import { PermissionsGuard } from './guards/permissions.guard' import { PermissionAction, PermissionType, } from './services/permissions.service' -import { WorkflowsComponent } from './components/manage/workflows/workflows.component' -import { MailComponent } from './components/manage/mail/mail.component' -import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component' -import { CustomFieldsComponent } from './components/manage/custom-fields/custom-fields.component' -import { ConfigComponent } from './components/admin/config/config.component' -import { TrashComponent } from './components/admin/trash/trash.component' -import { SavedViewsComponent } from './components/manage/saved-views/saved-views.component' export const routes: Routes = [ { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, diff --git a/src-ui/src/app/app.component.spec.ts b/src-ui/src/app/app.component.spec.ts index a2d3d6795..cd11864c3 100644 --- a/src-ui/src/app/app.component.spec.ts +++ b/src-ui/src/app/app.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, @@ -6,25 +7,24 @@ import { tick, } from '@angular/core/testing' import { Router, RouterModule } from '@angular/router' -import { TourService, TourNgBootstrapModule } from 'ngx-ui-tour-ng-bootstrap' +import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxFileDropModule } from 'ngx-file-drop' +import { TourNgBootstrapModule, TourService } from 'ngx-ui-tour-ng-bootstrap' import { Subject } from 'rxjs' import { routes } from './app-routing.module' import { AppComponent } from './app.component' import { ToastsComponent } from './components/common/toasts/toasts.component' +import { FileDropComponent } from './components/file-drop/file-drop.component' +import { DirtySavedViewGuard } from './guards/dirty-saved-view.guard' +import { PermissionsGuard } from './guards/permissions.guard' import { ConsumerStatusService, FileStatus, } from './services/consumer-status.service' -import { PermissionsService } from './services/permissions.service' -import { ToastService, Toast } from './services/toast.service' -import { SettingsService } from './services/settings.service' -import { FileDropComponent } from './components/file-drop/file-drop.component' -import { NgxFileDropModule } from 'ngx-file-drop' -import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap' import { HotKeyService } from './services/hot-key.service' -import { PermissionsGuard } from './guards/permissions.guard' -import { DirtySavedViewGuard } from './guards/dirty-saved-view.guard' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsService } from './services/permissions.service' +import { SettingsService } from './services/settings.service' +import { Toast, ToastService } from './services/toast.service' describe('AppComponent', () => { let component: AppComponent diff --git a/src-ui/src/app/app.component.ts b/src-ui/src/app/app.component.ts index 594f972a9..34f47d964 100644 --- a/src-ui/src/app/app.component.ts +++ b/src-ui/src/app/app.component.ts @@ -1,18 +1,18 @@ -import { SettingsService } from './services/settings.service' -import { SETTINGS_KEYS } from './data/ui-settings' import { Component, OnDestroy, OnInit, Renderer2 } from '@angular/core' import { Router } from '@angular/router' -import { Subscription, first } from 'rxjs' -import { ConsumerStatusService } from './services/consumer-status.service' -import { ToastService } from './services/toast.service' -import { TasksService } from './services/tasks.service' import { TourService } from 'ngx-ui-tour-ng-bootstrap' +import { first, Subscription } from 'rxjs' +import { SETTINGS_KEYS } from './data/ui-settings' +import { ConsumerStatusService } from './services/consumer-status.service' +import { HotKeyService } from './services/hot-key.service' import { PermissionAction, PermissionsService, PermissionType, } from './services/permissions.service' -import { HotKeyService } from './services/hot-key.service' +import { SettingsService } from './services/settings.service' +import { TasksService } from './services/tasks.service' +import { ToastService } from './services/toast.service' @Component({ selector: 'pngx-root', diff --git a/src-ui/src/app/app.module.ts b/src-ui/src/app/app.module.ts index 79880c75b..5a463cd4e 100644 --- a/src-ui/src/app/app.module.ts +++ b/src-ui/src/app/app.module.ts @@ -1,139 +1,20 @@ -import { BrowserModule } from '@angular/platform-browser' -import { APP_INITIALIZER, NgModule } from '@angular/core' -import { AppRoutingModule } from './app-routing.module' -import { AppComponent } from './app.component' -import { - NgbDateAdapter, - NgbDateParserFormatter, - NgbModule, -} from '@ng-bootstrap/ng-bootstrap' +import { DragDropModule } from '@angular/cdk/drag-drop' +import { DatePipe, registerLocaleData } from '@angular/common' import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http' -import { DocumentListComponent } from './components/document-list/document-list.component' -import { DocumentDetailComponent } from './components/document-detail/document-detail.component' -import { DashboardComponent } from './components/dashboard/dashboard.component' -import { TagListComponent } from './components/manage/tag-list/tag-list.component' -import { DocumentTypeListComponent } from './components/manage/document-type-list/document-type-list.component' -import { CorrespondentListComponent } from './components/manage/correspondent-list/correspondent-list.component' -import { LogsComponent } from './components/admin/logs/logs.component' -import { SettingsComponent } from './components/admin/settings/settings.component' +import { APP_INITIALIZER, NgModule } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { DatePipe, registerLocaleData } from '@angular/common' -import { NotFoundComponent } from './components/not-found/not-found.component' -import { ConfirmDialogComponent } from './components/common/confirm-dialog/confirm-dialog.component' -import { CorrespondentEditDialogComponent } from './components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' -import { TagEditDialogComponent } from './components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' -import { DocumentTypeEditDialogComponent } from './components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' -import { TagComponent } from './components/common/tag/tag.component' -import { ClearableBadgeComponent } from './components/common/clearable-badge/clearable-badge.component' -import { PageHeaderComponent } from './components/common/page-header/page-header.component' -import { AppFrameComponent } from './components/app-frame/app-frame.component' -import { ToastsComponent } from './components/common/toasts/toasts.component' -import { FilterEditorComponent } from './components/document-list/filter-editor/filter-editor.component' -import { FilterableDropdownComponent } from './components/common/filterable-dropdown/filterable-dropdown.component' -import { ToggleableDropdownButtonComponent } from './components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' -import { DatesDropdownComponent } from './components/common/dates-dropdown/dates-dropdown.component' -import { DocumentCardLargeComponent } from './components/document-list/document-card-large/document-card-large.component' -import { DocumentCardSmallComponent } from './components/document-list/document-card-small/document-card-small.component' -import { BulkEditorComponent } from './components/document-list/bulk-editor/bulk-editor.component' -import { NgxFileDropModule } from 'ngx-file-drop' -import { TextComponent } from './components/common/input/text/text.component' -import { TextAreaComponent } from './components/common/input/textarea/textarea.component' -import { SelectComponent } from './components/common/input/select/select.component' -import { CheckComponent } from './components/common/input/check/check.component' -import { UrlComponent } from './components/common/input/url/url.component' -import { PasswordComponent } from './components/common/input/password/password.component' -import { SaveViewConfigDialogComponent } from './components/document-list/save-view-config-dialog/save-view-config-dialog.component' -import { TagsComponent } from './components/common/input/tags/tags.component' -import { IfPermissionsDirective } from './directives/if-permissions.directive' -import { SortableDirective } from './directives/sortable.directive' -import { CookieService } from 'ngx-cookie-service' -import { CsrfInterceptor } from './interceptors/csrf.interceptor' -import { SavedViewWidgetComponent } from './components/dashboard/widgets/saved-view-widget/saved-view-widget.component' -import { StatisticsWidgetComponent } from './components/dashboard/widgets/statistics-widget/statistics-widget.component' -import { UploadFileWidgetComponent } from './components/dashboard/widgets/upload-file-widget/upload-file-widget.component' -import { WidgetFrameComponent } from './components/dashboard/widgets/widget-frame/widget-frame.component' -import { WelcomeWidgetComponent } from './components/dashboard/widgets/welcome-widget/welcome-widget.component' -import { YesNoPipe } from './pipes/yes-no.pipe' -import { FileSizePipe } from './pipes/file-size.pipe' -import { FilterPipe } from './pipes/filter.pipe' -import { DocumentTitlePipe } from './pipes/document-title.pipe' -import { MetadataCollapseComponent } from './components/document-detail/metadata-collapse/metadata-collapse.component' -import { SelectDialogComponent } from './components/common/select-dialog/select-dialog.component' +import { BrowserModule } from '@angular/platform-browser' +import { + NgbDateAdapter, + NgbDateParserFormatter, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { NumberComponent } from './components/common/input/number/number.component' -import { SafeUrlPipe } from './pipes/safeurl.pipe' -import { SafeHtmlPipe } from './pipes/safehtml.pipe' -import { CustomDatePipe } from './pipes/custom-date.pipe' -import { DateComponent } from './components/common/input/date/date.component' -import { ISODateAdapter } from './utils/ngb-iso-date-adapter' -import { LocalizedDateParserFormatter } from './utils/ngb-date-parser-formatter' -import { ApiVersionInterceptor } from './interceptors/api-version.interceptor' -import { ColorSliderModule } from 'ngx-color/slider' -import { ColorComponent } from './components/common/input/color/color.component' -import { DocumentAsnComponent } from './components/document-asn/document-asn.component' -import { DocumentNotesComponent } from './components/document-notes/document-notes.component' -import { PermissionsGuard } from './guards/permissions.guard' -import { DirtyDocGuard } from './guards/dirty-doc.guard' -import { DirtySavedViewGuard } from './guards/dirty-saved-view.guard' -import { StoragePathListComponent } from './components/manage/storage-path-list/storage-path-list.component' -import { StoragePathEditDialogComponent } from './components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' -import { SettingsService } from './services/settings.service' -import { TasksComponent } from './components/admin/tasks/tasks.component' -import { TourNgBootstrapModule } from 'ngx-ui-tour-ng-bootstrap' -import { UserEditDialogComponent } from './components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component' -import { GroupEditDialogComponent } from './components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component' -import { PermissionsSelectComponent } from './components/common/permissions-select/permissions-select.component' -import { MailAccountEditDialogComponent } from './components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component' -import { MailRuleEditDialogComponent } from './components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component' -import { PermissionsUserComponent } from './components/common/input/permissions/permissions-user/permissions-user.component' -import { PermissionsGroupComponent } from './components/common/input/permissions/permissions-group/permissions-group.component' -import { IfOwnerDirective } from './directives/if-owner.directive' -import { IfObjectPermissionsDirective } from './directives/if-object-permissions.directive' -import { PermissionsDialogComponent } from './components/common/permissions-dialog/permissions-dialog.component' -import { PermissionsFormComponent } from './components/common/input/permissions/permissions-form/permissions-form.component' -import { PermissionsFilterDropdownComponent } from './components/common/permissions-filter-dropdown/permissions-filter-dropdown.component' -import { UsernamePipe } from './pipes/username.pipe' -import { LogoComponent } from './components/common/logo/logo.component' -import { IsNumberPipe } from './pipes/is-number.pipe' -import { ShareLinksDropdownComponent } from './components/common/share-links-dropdown/share-links-dropdown.component' -import { WorkflowsComponent } from './components/manage/workflows/workflows.component' -import { WorkflowEditDialogComponent } from './components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' -import { MailComponent } from './components/manage/mail/mail.component' -import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component' -import { DragDropModule } from '@angular/cdk/drag-drop' -import { FileDropComponent } from './components/file-drop/file-drop.component' -import { CustomFieldsComponent } from './components/manage/custom-fields/custom-fields.component' -import { CustomFieldEditDialogComponent } from './components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' -import { CustomFieldsDropdownComponent } from './components/common/custom-fields-dropdown/custom-fields-dropdown.component' -import { CustomFieldsQueryDropdownComponent } from './components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component' -import { ProfileEditDialogComponent } from './components/common/profile-edit-dialog/profile-edit-dialog.component' import { PdfViewerModule } from 'ng2-pdf-viewer' -import { DocumentLinkComponent } from './components/common/input/document-link/document-link.component' -import { PreviewPopupComponent } from './components/common/preview-popup/preview-popup.component' -import { SwitchComponent } from './components/common/input/switch/switch.component' -import { ConfigComponent } from './components/admin/config/config.component' -import { FileComponent } from './components/common/input/file/file.component' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' -import { ConfirmButtonComponent } from './components/common/confirm-button/confirm-button.component' -import { MonetaryComponent } from './components/common/input/monetary/monetary.component' -import { SystemStatusDialogComponent } from './components/common/system-status-dialog/system-status-dialog.component' -import { RotateConfirmDialogComponent } from './components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' -import { MergeConfirmDialogComponent } from './components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component' -import { SplitConfirmDialogComponent } from './components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component' -import { DocumentHistoryComponent } from './components/document-history/document-history.component' -import { DragDropSelectComponent } from './components/common/input/drag-drop-select/drag-drop-select.component' -import { CustomFieldDisplayComponent } from './components/common/custom-field-display/custom-field-display.component' -import { GlobalSearchComponent } from './components/app-frame/global-search/global-search.component' -import { HotkeyDialogComponent } from './components/common/hotkey-dialog/hotkey-dialog.component' -import { DeletePagesConfirmDialogComponent } from './components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component' -import { TrashComponent } from './components/admin/trash/trash.component' -import { EntriesComponent } from './components/common/input/entries/entries.component' -import { SavedViewsComponent } from './components/manage/saved-views/saved-views.component' -import { CustomFieldsBulkEditDialogComponent } from './components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component' import { airplane, archive, @@ -146,11 +27,11 @@ import { arrowRightShort, arrowUpRight, asterisk, - braces, bodyText, boxArrowUp, boxArrowUpRight, boxes, + braces, calendar, calendarEvent, calendarEventFill, @@ -208,6 +89,7 @@ import { listTask, listUl, microsoft, + NgxBootstrapIconsModule, nodePlus, pencil, people, @@ -227,8 +109,8 @@ import { sliders2Vertical, sortAlphaDown, sortAlphaUpAlt, - tagFill, tag, + tagFill, tags, textIndentLeft, textLeft, @@ -242,6 +124,124 @@ import { xCircle, xLg, } from 'ngx-bootstrap-icons' +import { ColorSliderModule } from 'ngx-color/slider' +import { CookieService } from 'ngx-cookie-service' +import { NgxFileDropModule } from 'ngx-file-drop' +import { TourNgBootstrapModule } from 'ngx-ui-tour-ng-bootstrap' +import { AppRoutingModule } from './app-routing.module' +import { AppComponent } from './app.component' +import { ConfigComponent } from './components/admin/config/config.component' +import { LogsComponent } from './components/admin/logs/logs.component' +import { SettingsComponent } from './components/admin/settings/settings.component' +import { TasksComponent } from './components/admin/tasks/tasks.component' +import { TrashComponent } from './components/admin/trash/trash.component' +import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component' +import { AppFrameComponent } from './components/app-frame/app-frame.component' +import { GlobalSearchComponent } from './components/app-frame/global-search/global-search.component' +import { ClearableBadgeComponent } from './components/common/clearable-badge/clearable-badge.component' +import { ConfirmButtonComponent } from './components/common/confirm-button/confirm-button.component' +import { ConfirmDialogComponent } from './components/common/confirm-dialog/confirm-dialog.component' +import { DeletePagesConfirmDialogComponent } from './components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component' +import { MergeConfirmDialogComponent } from './components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component' +import { RotateConfirmDialogComponent } from './components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' +import { SplitConfirmDialogComponent } from './components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component' +import { CustomFieldDisplayComponent } from './components/common/custom-field-display/custom-field-display.component' +import { CustomFieldsDropdownComponent } from './components/common/custom-fields-dropdown/custom-fields-dropdown.component' +import { CustomFieldsQueryDropdownComponent } from './components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component' +import { DatesDropdownComponent } from './components/common/dates-dropdown/dates-dropdown.component' +import { CorrespondentEditDialogComponent } from './components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' +import { CustomFieldEditDialogComponent } from './components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { DocumentTypeEditDialogComponent } from './components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' +import { GroupEditDialogComponent } from './components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component' +import { MailAccountEditDialogComponent } from './components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component' +import { MailRuleEditDialogComponent } from './components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component' +import { StoragePathEditDialogComponent } from './components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' +import { TagEditDialogComponent } from './components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' +import { UserEditDialogComponent } from './components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component' +import { WorkflowEditDialogComponent } from './components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' +import { FilterableDropdownComponent } from './components/common/filterable-dropdown/filterable-dropdown.component' +import { ToggleableDropdownButtonComponent } from './components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' +import { HotkeyDialogComponent } from './components/common/hotkey-dialog/hotkey-dialog.component' +import { CheckComponent } from './components/common/input/check/check.component' +import { ColorComponent } from './components/common/input/color/color.component' +import { DateComponent } from './components/common/input/date/date.component' +import { DocumentLinkComponent } from './components/common/input/document-link/document-link.component' +import { DragDropSelectComponent } from './components/common/input/drag-drop-select/drag-drop-select.component' +import { EntriesComponent } from './components/common/input/entries/entries.component' +import { FileComponent } from './components/common/input/file/file.component' +import { MonetaryComponent } from './components/common/input/monetary/monetary.component' +import { NumberComponent } from './components/common/input/number/number.component' +import { PasswordComponent } from './components/common/input/password/password.component' +import { PermissionsFormComponent } from './components/common/input/permissions/permissions-form/permissions-form.component' +import { PermissionsGroupComponent } from './components/common/input/permissions/permissions-group/permissions-group.component' +import { PermissionsUserComponent } from './components/common/input/permissions/permissions-user/permissions-user.component' +import { SelectComponent } from './components/common/input/select/select.component' +import { SwitchComponent } from './components/common/input/switch/switch.component' +import { TagsComponent } from './components/common/input/tags/tags.component' +import { TextComponent } from './components/common/input/text/text.component' +import { TextAreaComponent } from './components/common/input/textarea/textarea.component' +import { UrlComponent } from './components/common/input/url/url.component' +import { LogoComponent } from './components/common/logo/logo.component' +import { PageHeaderComponent } from './components/common/page-header/page-header.component' +import { PermissionsDialogComponent } from './components/common/permissions-dialog/permissions-dialog.component' +import { PermissionsFilterDropdownComponent } from './components/common/permissions-filter-dropdown/permissions-filter-dropdown.component' +import { PermissionsSelectComponent } from './components/common/permissions-select/permissions-select.component' +import { PreviewPopupComponent } from './components/common/preview-popup/preview-popup.component' +import { ProfileEditDialogComponent } from './components/common/profile-edit-dialog/profile-edit-dialog.component' +import { SelectDialogComponent } from './components/common/select-dialog/select-dialog.component' +import { ShareLinksDropdownComponent } from './components/common/share-links-dropdown/share-links-dropdown.component' +import { SystemStatusDialogComponent } from './components/common/system-status-dialog/system-status-dialog.component' +import { TagComponent } from './components/common/tag/tag.component' +import { ToastsComponent } from './components/common/toasts/toasts.component' +import { DashboardComponent } from './components/dashboard/dashboard.component' +import { SavedViewWidgetComponent } from './components/dashboard/widgets/saved-view-widget/saved-view-widget.component' +import { StatisticsWidgetComponent } from './components/dashboard/widgets/statistics-widget/statistics-widget.component' +import { UploadFileWidgetComponent } from './components/dashboard/widgets/upload-file-widget/upload-file-widget.component' +import { WelcomeWidgetComponent } from './components/dashboard/widgets/welcome-widget/welcome-widget.component' +import { WidgetFrameComponent } from './components/dashboard/widgets/widget-frame/widget-frame.component' +import { DocumentAsnComponent } from './components/document-asn/document-asn.component' +import { DocumentDetailComponent } from './components/document-detail/document-detail.component' +import { MetadataCollapseComponent } from './components/document-detail/metadata-collapse/metadata-collapse.component' +import { DocumentHistoryComponent } from './components/document-history/document-history.component' +import { BulkEditorComponent } from './components/document-list/bulk-editor/bulk-editor.component' +import { CustomFieldsBulkEditDialogComponent } from './components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component' +import { DocumentCardLargeComponent } from './components/document-list/document-card-large/document-card-large.component' +import { DocumentCardSmallComponent } from './components/document-list/document-card-small/document-card-small.component' +import { DocumentListComponent } from './components/document-list/document-list.component' +import { FilterEditorComponent } from './components/document-list/filter-editor/filter-editor.component' +import { SaveViewConfigDialogComponent } from './components/document-list/save-view-config-dialog/save-view-config-dialog.component' +import { DocumentNotesComponent } from './components/document-notes/document-notes.component' +import { FileDropComponent } from './components/file-drop/file-drop.component' +import { CorrespondentListComponent } from './components/manage/correspondent-list/correspondent-list.component' +import { CustomFieldsComponent } from './components/manage/custom-fields/custom-fields.component' +import { DocumentTypeListComponent } from './components/manage/document-type-list/document-type-list.component' +import { MailComponent } from './components/manage/mail/mail.component' +import { SavedViewsComponent } from './components/manage/saved-views/saved-views.component' +import { StoragePathListComponent } from './components/manage/storage-path-list/storage-path-list.component' +import { TagListComponent } from './components/manage/tag-list/tag-list.component' +import { WorkflowsComponent } from './components/manage/workflows/workflows.component' +import { NotFoundComponent } from './components/not-found/not-found.component' +import { IfObjectPermissionsDirective } from './directives/if-object-permissions.directive' +import { IfOwnerDirective } from './directives/if-owner.directive' +import { IfPermissionsDirective } from './directives/if-permissions.directive' +import { SortableDirective } from './directives/sortable.directive' +import { DirtyDocGuard } from './guards/dirty-doc.guard' +import { DirtySavedViewGuard } from './guards/dirty-saved-view.guard' +import { PermissionsGuard } from './guards/permissions.guard' +import { ApiVersionInterceptor } from './interceptors/api-version.interceptor' +import { CsrfInterceptor } from './interceptors/csrf.interceptor' +import { CustomDatePipe } from './pipes/custom-date.pipe' +import { DocumentTitlePipe } from './pipes/document-title.pipe' +import { FileSizePipe } from './pipes/file-size.pipe' +import { FilterPipe } from './pipes/filter.pipe' +import { IsNumberPipe } from './pipes/is-number.pipe' +import { SafeHtmlPipe } from './pipes/safehtml.pipe' +import { SafeUrlPipe } from './pipes/safeurl.pipe' +import { UsernamePipe } from './pipes/username.pipe' +import { YesNoPipe } from './pipes/yes-no.pipe' +import { SettingsService } from './services/settings.service' +import { LocalizedDateParserFormatter } from './utils/ngb-date-parser-formatter' +import { ISODateAdapter } from './utils/ngb-iso-date-adapter' const icons = { airplane, diff --git a/src-ui/src/app/components/admin/config/config.component.spec.ts b/src-ui/src/app/components/admin/config/config.component.spec.ts index 1eb9ea8a9..470add34b 100644 --- a/src-ui/src/app/components/admin/config/config.component.spec.ts +++ b/src-ui/src/app/components/admin/config/config.component.spec.ts @@ -1,24 +1,24 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { ConfigComponent } from './config.component' -import { ConfigService } from 'src/app/services/config.service' -import { ToastService } from 'src/app/services/toast.service' -import { of, throwError } from 'rxjs' -import { OutputTypeConfig } from 'src/app/data/paperless-config' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { BrowserModule } from '@angular/platform-browser' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { TextComponent } from '../../common/input/text/text.component' -import { NumberComponent } from '../../common/input/number/number.component' -import { SwitchComponent } from '../../common/input/switch/switch.component' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { SelectComponent } from '../../common/input/select/select.component' -import { FileComponent } from '../../common/input/file/file.component' -import { SettingsService } from 'src/app/services/settings.service' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { of, throwError } from 'rxjs' +import { OutputTypeConfig } from 'src/app/data/paperless-config' +import { ConfigService } from 'src/app/services/config.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { FileComponent } from '../../common/input/file/file.component' +import { NumberComponent } from '../../common/input/number/number.component' +import { SelectComponent } from '../../common/input/select/select.component' +import { SwitchComponent } from '../../common/input/switch/switch.component' +import { TextComponent } from '../../common/input/text/text.component' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { ConfigComponent } from './config.component' describe('ConfigComponent', () => { let component: ConfigComponent diff --git a/src-ui/src/app/components/admin/config/config.component.ts b/src-ui/src/app/components/admin/config/config.component.ts index acc644412..9204fcc5d 100644 --- a/src-ui/src/app/components/admin/config/config.component.ts +++ b/src-ui/src/app/components/admin/config/config.component.ts @@ -1,24 +1,23 @@ import { Component, OnDestroy, OnInit } from '@angular/core' import { AbstractControl, FormControl, FormGroup } from '@angular/forms' +import { DirtyComponent, dirtyCheck } from '@ngneat/dirty-check-forms' import { BehaviorSubject, Observable, - Subject, Subscription, first, takeUntil, } from 'rxjs' import { - PaperlessConfigOptions, ConfigCategory, ConfigOption, ConfigOptionType, PaperlessConfig, + PaperlessConfigOptions, } from 'src/app/data/paperless-config' import { ConfigService } from 'src/app/services/config.service' -import { ToastService } from 'src/app/services/toast.service' -import { DirtyComponent, dirtyCheck } from '@ngneat/dirty-check-forms' import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ diff --git a/src-ui/src/app/components/admin/logs/logs.component.spec.ts b/src-ui/src/app/components/admin/logs/logs.component.spec.ts index 15e2590dc..07a5d85d2 100644 --- a/src-ui/src/app/components/admin/logs/logs.component.spec.ts +++ b/src-ui/src/app/components/admin/logs/logs.component.spec.ts @@ -1,13 +1,13 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' +import { BrowserModule, By } from '@angular/platform-browser' +import { NgbModule, NgbNavLink } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of, throwError } from 'rxjs' import { LogService } from 'src/app/services/rest/log.service' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { LogsComponent } from './logs.component' -import { of, throwError } from 'rxjs' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { NgbModule, NgbNavLink } from '@ng-bootstrap/ng-bootstrap' -import { BrowserModule, By } from '@angular/platform-browser' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const paperless_logs = [ '[2023-05-29 03:05:01,224] [DEBUG] [paperless.tasks] Training data unchanged.', diff --git a/src-ui/src/app/components/admin/logs/logs.component.ts b/src-ui/src/app/components/admin/logs/logs.component.ts index 58d54fbd4..fe12976c6 100644 --- a/src-ui/src/app/components/admin/logs/logs.component.ts +++ b/src-ui/src/app/components/admin/logs/logs.component.ts @@ -1,10 +1,10 @@ import { + ChangeDetectorRef, Component, ElementRef, + OnDestroy, OnInit, ViewChild, - ChangeDetectorRef, - OnDestroy, } from '@angular/core' import { filter, takeUntil, timer } from 'rxjs' import { LogService } from 'src/app/services/rest/log.service' diff --git a/src-ui/src/app/components/admin/settings/settings.component.spec.ts b/src-ui/src/app/components/admin/settings/settings.component.spec.ts index b6f863163..488785f34 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.spec.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.spec.ts @@ -1,34 +1,45 @@ -import { ViewportScroller, DatePipe } from '@angular/common' +import { DragDropModule } from '@angular/cdk/drag-drop' +import { DatePipe, ViewportScroller } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' -import { Router, ActivatedRoute, convertToParamMap } from '@angular/router' +import { ActivatedRoute, Router, convertToParamMap } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' import { - NgbModule, NgbAlertModule, - NgbNavLink, NgbModal, NgbModalModule, + NgbModule, + NgbNavLink, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' +import { + InstallType, + SystemStatus, + SystemStatusItemStatus, +} from 'src/app/data/system-status' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { PermissionsService } from 'src/app/services/permissions.service' import { GroupService } from 'src/app/services/rest/group.service' -import { SavedViewService } from 'src/app/services/rest/saved-view.service' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' -import { ToastService, Toast } from 'src/app/services/toast.service' +import { SystemStatusService } from 'src/app/services/system-status.service' +import { Toast, ToastService } from 'src/app/services/toast.service' +import { ConfirmButtonComponent } from '../../common/confirm-button/confirm-button.component' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' import { CheckComponent } from '../../common/input/check/check.component' import { ColorComponent } from '../../common/input/color/color.component' +import { DragDropSelectComponent } from '../../common/input/drag-drop-select/drag-drop-select.component' import { NumberComponent } from '../../common/input/number/number.component' import { PermissionsGroupComponent } from '../../common/input/permissions/permissions-group/permissions-group.component' import { PermissionsUserComponent } from '../../common/input/permissions/permissions-user/permissions-user.component' @@ -36,20 +47,8 @@ import { SelectComponent } from '../../common/input/select/select.component' import { TagsComponent } from '../../common/input/tags/tags.component' import { TextComponent } from '../../common/input/text/text.component' import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { SettingsComponent } from './settings.component' -import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { ConfirmButtonComponent } from '../../common/confirm-button/confirm-button.component' import { SystemStatusDialogComponent } from '../../common/system-status-dialog/system-status-dialog.component' -import { SystemStatusService } from 'src/app/services/system-status.service' -import { - SystemStatus, - InstallType, - SystemStatusItemStatus, -} from 'src/app/data/system-status' -import { DragDropSelectComponent } from '../../common/input/drag-drop-select/drag-drop-select.component' -import { DragDropModule } from '@angular/cdk/drag-drop' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { SettingsComponent } from './settings.component' const users = [ { id: 1, username: 'user1', is_superuser: false }, diff --git a/src-ui/src/app/components/admin/settings/settings.component.ts b/src-ui/src/app/components/admin/settings/settings.component.ts index de6d34a2a..bf3dfd432 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.ts @@ -1,13 +1,13 @@ import { ViewportScroller } from '@angular/common' import { - Component, - OnInit, AfterViewInit, - OnDestroy, + Component, Inject, LOCALE_ID, + OnDestroy, + OnInit, } from '@angular/core' -import { FormGroup, FormControl } from '@angular/forms' +import { FormControl, FormGroup } from '@angular/forms' import { ActivatedRoute, Router } from '@angular/router' import { NgbModal, @@ -18,36 +18,36 @@ import { DirtyComponent, dirtyCheck } from '@ngneat/dirty-check-forms' import { TourService } from 'ngx-ui-tour-ng-bootstrap' import { BehaviorSubject, - Subscription, Observable, Subject, + Subscription, first, takeUntil, tap, } from 'rxjs' import { Group } from 'src/app/data/group' +import { + SystemStatus, + SystemStatusItemStatus, +} from 'src/app/data/system-status' import { GlobalSearchType, SETTINGS_KEYS } from 'src/app/data/ui-settings' import { User } from 'src/app/data/user' import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { - PermissionsService, PermissionAction, PermissionType, + PermissionsService, } from 'src/app/services/permissions.service' import { GroupService } from 'src/app/services/rest/group.service' import { UserService } from 'src/app/services/rest/user.service' import { - SettingsService, LanguageOption, + SettingsService, } from 'src/app/services/settings.service' -import { ToastService, Toast } from 'src/app/services/toast.service' -import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' -import { SystemStatusDialogComponent } from '../../common/system-status-dialog/system-status-dialog.component' import { SystemStatusService } from 'src/app/services/system-status.service' -import { - SystemStatusItemStatus, - SystemStatus, -} from 'src/app/data/system-status' +import { Toast, ToastService } from 'src/app/services/toast.service' +import { SystemStatusDialogComponent } from '../../common/system-status-dialog/system-status-dialog.component' +import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' enum SettingsNavIDs { General = 1, diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts b/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts index 5d4158666..4c03b5cab 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts +++ b/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts @@ -1,25 +1,29 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { Router } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' import { NgbModal, + NgbModalRef, NgbModule, NgbNavItem, - NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' +import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { routes } from 'src/app/app-routing.module' import { PaperlessTask, - PaperlessTaskType, PaperlessTaskStatus, + PaperlessTaskType, } from 'src/app/data/paperless-task' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { PermissionsService } from 'src/app/services/permissions.service' import { TasksService } from 'src/app/services/tasks.service' @@ -27,10 +31,6 @@ import { environment } from 'src/environments/environment' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { TasksComponent, TaskTab } from './tasks.component' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { FormsModule } from '@angular/forms' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const tasks: PaperlessTask[] = [ { diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.ts b/src-ui/src/app/components/admin/tasks/tasks.component.ts index e8078fb77..9928b9977 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.ts +++ b/src-ui/src/app/components/admin/tasks/tasks.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy } from '@angular/core' +import { Component, OnDestroy, OnInit } from '@angular/core' import { Router } from '@angular/router' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { diff --git a/src-ui/src/app/components/admin/trash/trash.component.spec.ts b/src-ui/src/app/components/admin/trash/trash.component.spec.ts index 066311726..91f3287af 100644 --- a/src-ui/src/app/components/admin/trash/trash.component.spec.ts +++ b/src-ui/src/app/components/admin/trash/trash.component.spec.ts @@ -1,22 +1,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { TrashComponent } from './trash.component' import { HttpClientTestingModule } from '@angular/common/http/testing' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' +import { Router } from '@angular/router' import { NgbModal, NgbPaginationModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { TrashService } from 'src/app/services/trash.service' import { of, throwError } from 'rxjs' -import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' -import { By } from '@angular/platform-browser' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { ToastService } from 'src/app/services/toast.service' -import { Router } from '@angular/router' +import { TrashService } from 'src/app/services/trash.service' +import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { TrashComponent } from './trash.component' const documentsInTrash = [ { diff --git a/src-ui/src/app/components/admin/trash/trash.component.ts b/src-ui/src/app/components/admin/trash/trash.component.ts index 543717f6b..ea6650388 100644 --- a/src-ui/src/app/components/admin/trash/trash.component.ts +++ b/src-ui/src/app/components/admin/trash/trash.component.ts @@ -1,13 +1,13 @@ import { Component, OnDestroy } from '@angular/core' +import { Router } from '@angular/router' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' +import { delay, takeUntil, tap } from 'rxjs' import { Document } from 'src/app/data/document' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { TrashService } from 'src/app/services/trash.service' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' -import { delay, takeUntil, tap } from 'rxjs' -import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { Router } from '@angular/router' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts b/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts index f166ad662..0e2a52b65 100644 --- a/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts +++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts @@ -1,4 +1,5 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, @@ -9,14 +10,17 @@ import { import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { RouterTestingModule } from '@angular/router/testing' import { - NgbModule, NgbAlertModule, NgbModal, NgbModalRef, + NgbModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { throwError, of } from 'rxjs' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' +import { Group } from 'src/app/data/group' +import { User } from 'src/app/data/user' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsGuard } from 'src/app/guards/permissions.guard' @@ -41,10 +45,6 @@ import { TextComponent } from '../../common/input/text/text.component' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { SettingsComponent } from '../settings/settings.component' import { UsersAndGroupsComponent } from './users-groups.component' -import { User } from 'src/app/data/user' -import { Group } from 'src/app/data/group' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const users = [ { id: 1, username: 'user1', is_superuser: false }, diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.ts b/src-ui/src/app/components/admin/users-groups/users-groups.component.ts index f049677ab..5ccde711f 100644 --- a/src-ui/src/app/components/admin/users-groups/users-groups.component.ts +++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.ts @@ -6,13 +6,13 @@ import { User } from 'src/app/data/user' import { PermissionsService } from 'src/app/services/permissions.service' import { GroupService } from 'src/app/services/rest/group.service' import { UserService } from 'src/app/services/rest/user.service' +import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' import { GroupEditDialogComponent } from '../../common/edit-dialog/group-edit-dialog/group-edit-dialog.component' import { UserEditDialogComponent } from '../../common/edit-dialog/user-edit-dialog/user-edit-dialog.component' import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' -import { SettingsService } from 'src/app/services/settings.service' @Component({ selector: 'pngx-users-groups', diff --git a/src-ui/src/app/components/app-frame/app-frame.component.spec.ts b/src-ui/src/app/components/app-frame/app-frame.component.spec.ts index f440946da..d59c68116 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.spec.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.spec.ts @@ -1,43 +1,43 @@ +import { CdkDragDrop, DragDropModule } from '@angular/cdk/drag-drop' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { AppFrameComponent } from './app-frame.component' import { ComponentFixture, TestBed, fakeAsync, tick, } from '@angular/core/testing' -import { NgbModal, NgbModalModule, NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { BrowserModule } from '@angular/platform-browser' -import { RouterTestingModule } from '@angular/router/testing' -import { SettingsService } from 'src/app/services/settings.service' -import { SavedViewService } from 'src/app/services/rest/saved-view.service' -import { PermissionsService } from 'src/app/services/permissions.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { RemoteVersionService } from 'src/app/services/rest/remote-version.service' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { BrowserModule } from '@angular/platform-browser' +import { ActivatedRoute, Router } from '@angular/router' +import { RouterTestingModule } from '@angular/router/testing' +import { NgbModal, NgbModalModule, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' -import { ToastService } from 'src/app/services/toast.service' +import { routes } from 'src/app/app-routing.module' +import { SavedView } from 'src/app/data/saved-view' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { DjangoMessageLevel, DjangoMessagesService, } from 'src/app/services/django-messages.service' -import { environment } from 'src/environments/environment' import { OpenDocumentsService } from 'src/app/services/open-documents.service' -import { ActivatedRoute, Router } from '@angular/router' -import { DocumentDetailComponent } from '../document-detail/document-detail.component' +import { PermissionsService } from 'src/app/services/permissions.service' +import { RemoteVersionService } from 'src/app/services/rest/remote-version.service' +import { SavedViewService } from 'src/app/services/rest/saved-view.service' import { SearchService } from 'src/app/services/rest/search.service' -import { routes } from 'src/app/app-routing.module' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' -import { CdkDragDrop, DragDropModule } from '@angular/cdk/drag-drop' -import { SavedView } from 'src/app/data/saved-view' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { environment } from 'src/environments/environment' import { ProfileEditDialogComponent } from '../common/profile-edit-dialog/profile-edit-dialog.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { DocumentDetailComponent } from '../document-detail/document-detail.component' +import { AppFrameComponent } from './app-frame.component' import { GlobalSearchComponent } from './global-search/global-search.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const saved_views = [ { diff --git a/src-ui/src/app/components/app-frame/app-frame.component.ts b/src-ui/src/app/components/app-frame/app-frame.component.ts index 83d927562..efa42f382 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.ts @@ -1,40 +1,40 @@ +import { + CdkDragDrop, + CdkDragEnd, + CdkDragStart, + moveItemInArray, +} from '@angular/cdk/drag-drop' import { Component, HostListener, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' +import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { Observable } from 'rxjs' import { first } from 'rxjs/operators' import { Document } from 'src/app/data/document' -import { OpenDocumentsService } from 'src/app/services/open-documents.service' +import { SavedView } from 'src/app/data/saved-view' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { ComponentCanDeactivate } from 'src/app/guards/dirty-doc.guard' import { DjangoMessageLevel, DjangoMessagesService, } from 'src/app/services/django-messages.service' -import { SavedViewService } from 'src/app/services/rest/saved-view.service' -import { environment } from 'src/environments/environment' -import { DocumentDetailComponent } from '../document-detail/document-detail.component' -import { - RemoteVersionService, - AppRemoteVersion, -} from 'src/app/services/rest/remote-version.service' -import { SettingsService } from 'src/app/services/settings.service' -import { TasksService } from 'src/app/services/tasks.service' -import { ComponentCanDeactivate } from 'src/app/guards/dirty-doc.guard' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { ToastService } from 'src/app/services/toast.service' -import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' +import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { PermissionAction, PermissionsService, PermissionType, } from 'src/app/services/permissions.service' -import { SavedView } from 'src/app/data/saved-view' import { - CdkDragStart, - CdkDragEnd, - CdkDragDrop, - moveItemInArray, -} from '@angular/cdk/drag-drop' -import { NgbModal } from '@ng-bootstrap/ng-bootstrap' + AppRemoteVersion, + RemoteVersionService, +} from 'src/app/services/rest/remote-version.service' +import { SavedViewService } from 'src/app/services/rest/saved-view.service' +import { SettingsService } from 'src/app/services/settings.service' +import { TasksService } from 'src/app/services/tasks.service' +import { ToastService } from 'src/app/services/toast.service' +import { environment } from 'src/environments/environment' import { ProfileEditDialogComponent } from '../common/profile-edit-dialog/profile-edit-dialog.component' +import { DocumentDetailComponent } from '../document-detail/document-detail.component' +import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' @Component({ selector: 'pngx-app-frame', diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts b/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts index a951319d7..fa3aaff36 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts @@ -1,12 +1,13 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ElementRef } from '@angular/core' import { ComponentFixture, TestBed, fakeAsync, tick, } from '@angular/core/testing' -import { GlobalSearchComponent } from './global-search.component' -import { of } from 'rxjs' -import { SearchService } from 'src/app/services/rest/search.service' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { Router } from '@angular/router' import { NgbDropdownModule, @@ -14,11 +15,9 @@ import { NgbModalModule, NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' -import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' -import { UserEditDialogComponent } from '../../common/edit-dialog/user-edit-dialog/user-edit-dialog.component' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' +import { DataType } from 'src/app/data/datatype' import { FILTER_FULLTEXT_QUERY, FILTER_HAS_CORRESPONDENT_ANY, @@ -27,20 +26,21 @@ import { FILTER_HAS_TAGS_ALL, FILTER_TITLE_CONTENT, } from 'src/app/data/filter-rule-type' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { DocumentService } from 'src/app/services/rest/document.service' -import { MailRuleEditDialogComponent } from '../../common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component' -import { MailAccountEditDialogComponent } from '../../common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component' -import { GroupEditDialogComponent } from '../../common/edit-dialog/group-edit-dialog/group-edit-dialog.component' -import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' -import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' -import { ElementRef } from '@angular/core' -import { ToastService } from 'src/app/services/toast.service' -import { DataType } from 'src/app/data/datatype' -import { queryParamsFromFilterRules } from 'src/app/utils/query-params' -import { SettingsService } from 'src/app/services/settings.service' import { GlobalSearchType, SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { DocumentService } from 'src/app/services/rest/document.service' +import { SearchService } from 'src/app/services/rest/search.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { queryParamsFromFilterRules } from 'src/app/utils/query-params' +import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' +import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { GroupEditDialogComponent } from '../../common/edit-dialog/group-edit-dialog/group-edit-dialog.component' +import { MailAccountEditDialogComponent } from '../../common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component' +import { MailRuleEditDialogComponent } from '../../common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component' +import { UserEditDialogComponent } from '../../common/edit-dialog/user-edit-dialog/user-edit-dialog.component' +import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' +import { GlobalSearchComponent } from './global-search.component' const searchResults = { total: 11, diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.ts b/src-ui/src/app/components/app-frame/global-search/global-search.component.ts index dda1bc5f3..682d4e81b 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.ts +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.ts @@ -1,14 +1,15 @@ import { Component, - ViewChild, ElementRef, - ViewChildren, - QueryList, OnInit, + QueryList, + ViewChild, + ViewChildren, } from '@angular/core' import { Router } from '@angular/router' import { NgbDropdown, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' import { Subject, debounceTime, distinctUntilChanged, filter, map } from 'rxjs' +import { DataType } from 'src/app/data/datatype' import { FILTER_FULLTEXT_QUERY, FILTER_HAS_CORRESPONDENT_ANY, @@ -17,19 +18,22 @@ import { FILTER_HAS_TAGS_ALL, FILTER_TITLE_CONTENT, } from 'src/app/data/filter-rule-type' -import { DataType } from 'src/app/data/datatype' import { ObjectWithId } from 'src/app/data/object-with-id' +import { GlobalSearchType, SETTINGS_KEYS } from 'src/app/data/ui-settings' import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { HotKeyService } from 'src/app/services/hot-key.service' import { - PermissionsService, PermissionAction, + PermissionsService, } from 'src/app/services/permissions.service' import { DocumentService } from 'src/app/services/rest/document.service' import { GlobalSearchResult, SearchService, } from 'src/app/services/rest/search.service' +import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' +import { paramsFromViewState } from 'src/app/utils/query-params' import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' import { DocumentTypeEditDialogComponent } from '../../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' @@ -41,10 +45,6 @@ import { StoragePathEditDialogComponent } from '../../common/edit-dialog/storage import { TagEditDialogComponent } from '../../common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' import { UserEditDialogComponent } from '../../common/edit-dialog/user-edit-dialog/user-edit-dialog.component' import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' -import { HotKeyService } from 'src/app/services/hot-key.service' -import { paramsFromViewState } from 'src/app/utils/query-params' -import { SettingsService } from 'src/app/services/settings.service' -import { GlobalSearchType, SETTINGS_KEYS } from 'src/app/data/ui-settings' @Component({ selector: 'pngx-global-search', diff --git a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts index d4e7077d2..0c55889db 100644 --- a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts +++ b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts @@ -1,6 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { ClearableBadgeComponent } from './clearable-badge.component' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { ClearableBadgeComponent } from './clearable-badge.component' describe('ClearableBadgeComponent', () => { let component: ClearableBadgeComponent diff --git a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts index 89648934b..092185e8d 100644 --- a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts +++ b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, Output, EventEmitter } from '@angular/core' +import { Component, EventEmitter, Input, Output } from '@angular/core' @Component({ selector: 'pngx-clearable-badge', diff --git a/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts b/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts index d67777d45..e0974566d 100644 --- a/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts @@ -1,8 +1,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { ConfirmButtonComponent } from './confirm-button.component' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { ConfirmButtonComponent } from './confirm-button.component' describe('ConfirmButtonComponent', () => { let component: ConfirmButtonComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.spec.ts index 0a15659aa..cb8c6a356 100644 --- a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.spec.ts @@ -1,14 +1,8 @@ -import { - ComponentFixture, - TestBed, - discardPeriodicTasks, - fakeAsync, - tick, -} from '@angular/core/testing' -import { ConfirmDialogComponent } from './confirm-dialog.component' +import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { Subject } from 'rxjs' +import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' +import { ConfirmDialogComponent } from './confirm-dialog.component' describe('ConfirmDialogComponent', () => { let component: ConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts index f854f4ada..d92eb3010 100644 --- a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts @@ -1,6 +1,6 @@ import { Component, EventEmitter, Input, Output } from '@angular/core' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { interval, Subject, take } from 'rxjs' +import { Subject } from 'rxjs' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ diff --git a/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.spec.ts index eec1c7349..3545bcf7c 100644 --- a/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.spec.ts @@ -1,12 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { DeletePagesConfirmDialogComponent } from './delete-pages-confirm-dialog.component' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { PdfViewerComponent } from 'ng2-pdf-viewer' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { PdfViewerComponent } from 'ng2-pdf-viewer' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { DeletePagesConfirmDialogComponent } from './delete-pages-confirm-dialog.component' describe('DeletePagesConfirmDialogComponent', () => { let component: DeletePagesConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.ts index c47dea0ed..5b1396509 100644 --- a/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component.ts @@ -1,8 +1,8 @@ import { Component, TemplateRef, ViewChild } from '@angular/core' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { PDFDocumentProxy, PdfViewerComponent } from 'ng2-pdf-viewer' import { DocumentService } from 'src/app/services/rest/document.service' import { ConfirmDialogComponent } from '../confirm-dialog.component' -import { PDFDocumentProxy, PdfViewerComponent } from 'ng2-pdf-viewer' @Component({ selector: 'pngx-delete-pages-confirm-dialog', diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts index d2fe17813..9674e386c 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts @@ -1,12 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { MergeConfirmDialogComponent } from './merge-confirm-dialog.component' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { DocumentService } from 'src/app/services/rest/document.service' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { MergeConfirmDialogComponent } from './merge-confirm-dialog.component' describe('MergeConfirmDialogComponent', () => { let component: MergeConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts index a8f88b943..ce49263b2 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts @@ -1,11 +1,11 @@ -import { Component, OnInit } from '@angular/core' -import { ConfirmDialogComponent } from '../confirm-dialog.component' -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { DocumentService } from 'src/app/services/rest/document.service' -import { PermissionsService } from 'src/app/services/permissions.service' import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop' -import { Subject, takeUntil } from 'rxjs' +import { Component, OnInit } from '@angular/core' +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { takeUntil } from 'rxjs' import { Document } from 'src/app/data/document' +import { PermissionsService } from 'src/app/services/permissions.service' +import { DocumentService } from 'src/app/services/rest/document.service' +import { ConfirmDialogComponent } from '../confirm-dialog.component' @Component({ selector: 'pngx-merge-confirm-dialog', diff --git a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts index 041f6e1a9..6c447455d 100644 --- a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts @@ -1,10 +1,10 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { RotateConfirmDialogComponent } from './rotate-confirm-dialog.component' -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' +import { RotateConfirmDialogComponent } from './rotate-confirm-dialog.component' describe('RotateConfirmDialogComponent', () => { let component: RotateConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts index 7cef2b72e..5b089bbe6 100644 --- a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' -import { ConfirmDialogComponent } from '../confirm-dialog.component' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { DocumentService } from 'src/app/services/rest/document.service' +import { ConfirmDialogComponent } from '../confirm-dialog.component' @Component({ selector: 'pngx-rotate-confirm-dialog', diff --git a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts index ffb5e12f3..2d0135df8 100644 --- a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts @@ -1,14 +1,14 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { SplitConfirmDialogComponent } from './split-confirm-dialog.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { ReactiveFormsModule, FormsModule } from '@angular/forms' -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { DocumentService } from 'src/app/services/rest/document.service' -import { PdfViewerModule } from 'ng2-pdf-viewer' -import { of } from 'rxjs' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { PdfViewerModule } from 'ng2-pdf-viewer' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' +import { DocumentService } from 'src/app/services/rest/document.service' +import { SplitConfirmDialogComponent } from './split-confirm-dialog.component' describe('SplitConfirmDialogComponent', () => { let component: SplitConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts index d5f264116..9d764d050 100644 --- a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts @@ -1,10 +1,10 @@ import { Component, OnInit } from '@angular/core' -import { ConfirmDialogComponent } from '../confirm-dialog.component' -import { Document } from 'src/app/data/document' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { DocumentService } from 'src/app/services/rest/document.service' -import { PermissionsService } from 'src/app/services/permissions.service' import { PDFDocumentProxy } from 'ng2-pdf-viewer' +import { Document } from 'src/app/data/document' +import { PermissionsService } from 'src/app/services/permissions.service' +import { DocumentService } from 'src/app/services/rest/document.service' +import { ConfirmDialogComponent } from '../confirm-dialog.component' @Component({ selector: 'pngx-split-confirm-dialog', diff --git a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.spec.ts b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.spec.ts index 824e1e05b..1ead0a7dd 100644 --- a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.spec.ts +++ b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.spec.ts @@ -1,12 +1,12 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { of } from 'rxjs' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { DisplayField, Document } from 'src/app/data/document' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { DocumentService } from 'src/app/services/rest/document.service' import { CustomFieldDisplayComponent } from './custom-field-display.component' -import { DisplayField, Document } from 'src/app/data/document' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const customFields: CustomField[] = [ { id: 1, name: 'Field 1', data_type: CustomFieldDataType.String }, diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts index 7cf568b5f..6ffef8ff8 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts @@ -1,28 +1,28 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed, fakeAsync, tick, } from '@angular/core/testing' -import { CustomFieldsDropdownComponent } from './custom-fields-dropdown.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { ToastService } from 'src/app/services/toast.service' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { of } from 'rxjs' -import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' -import { SelectComponent } from '../input/select/select.component' -import { NgSelectModule } from '@ng-select/ng-select' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' import { NgbDropdownModule, NgbModal, NgbModalModule, NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' -import { CustomFieldEditDialogComponent } from '../edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' -import { By } from '@angular/platform-browser' +import { NgSelectModule } from '@ng-select/ng-select' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { of } from 'rxjs' +import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { ToastService } from 'src/app/services/toast.service' +import { CustomFieldEditDialogComponent } from '../edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { SelectComponent } from '../input/select/select.component' +import { CustomFieldsDropdownComponent } from './custom-fields-dropdown.component' const fields: CustomField[] = [ { diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts index f8732c4f8..b93280354 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts @@ -3,7 +3,6 @@ import { ElementRef, EventEmitter, Input, - OnDestroy, Output, QueryList, ViewChild, @@ -13,15 +12,15 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { first, takeUntil } from 'rxjs' import { CustomField, DATA_TYPE_LABELS } from 'src/app/data/custom-field' import { CustomFieldInstance } from 'src/app/data/custom-field-instance' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { ToastService } from 'src/app/services/toast.service' -import { CustomFieldEditDialogComponent } from '../edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' import { PermissionAction, PermissionType, PermissionsService, } from 'src/app/services/permissions.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { ToastService } from 'src/app/services/toast.service' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' +import { CustomFieldEditDialogComponent } from '../edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' @Component({ selector: 'pngx-custom-fields-dropdown', diff --git a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts index dc915c24d..1ec277bc4 100644 --- a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts @@ -1,14 +1,15 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, fakeAsync, TestBed, tick, } from '@angular/core/testing' -import { - CustomFieldQueriesModel, - CustomFieldsQueryDropdownComponent, -} from './custom-fields-query-dropdown.component' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectModule } from '@ng-select/ng-select' +import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { @@ -16,17 +17,16 @@ import { CustomFieldQueryLogicalOperator, CustomFieldQueryOperatorGroups, } from 'src/app/data/custom-field-query' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { - CustomFieldQueryExpression, CustomFieldQueryAtom, CustomFieldQueryElement, + CustomFieldQueryExpression, } from 'src/app/utils/custom-field-query-element' -import { NgSelectModule } from '@ng-select/ng-select' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { + CustomFieldQueriesModel, + CustomFieldsQueryDropdownComponent, +} from './custom-fields-query-dropdown.component' const customFields = [ { diff --git a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts index e10eb6972..5a40ae0f0 100644 --- a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts +++ b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts @@ -9,23 +9,23 @@ import { } from '@angular/core' import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap' import { NgSelectComponent } from '@ng-select/ng-select' -import { Subject, first, takeUntil } from 'rxjs' +import { first, Subject, takeUntil } from 'rxjs' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { + CUSTOM_FIELD_QUERY_MAX_ATOMS, + CUSTOM_FIELD_QUERY_MAX_DEPTH, + CUSTOM_FIELD_QUERY_OPERATOR_GROUPS_BY_TYPE, + CUSTOM_FIELD_QUERY_OPERATOR_LABELS, + CUSTOM_FIELD_QUERY_OPERATORS_BY_GROUP, CustomFieldQueryElementType, CustomFieldQueryOperator, - CUSTOM_FIELD_QUERY_OPERATOR_GROUPS_BY_TYPE, - CUSTOM_FIELD_QUERY_OPERATORS_BY_GROUP, CustomFieldQueryOperatorGroups, - CUSTOM_FIELD_QUERY_OPERATOR_LABELS, - CUSTOM_FIELD_QUERY_MAX_DEPTH, - CUSTOM_FIELD_QUERY_MAX_ATOMS, } from 'src/app/data/custom-field-query' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { + CustomFieldQueryAtom, CustomFieldQueryElement, CustomFieldQueryExpression, - CustomFieldQueryAtom, } from 'src/app/utils/custom-field-query-element' import { popperOptionsReenablePreventOverflow } from 'src/app/utils/popper-options' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' diff --git a/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.spec.ts b/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.spec.ts index 19a327f17..91b0c71e5 100644 --- a/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.spec.ts @@ -1,24 +1,24 @@ +import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed, fakeAsync, tick, } from '@angular/core/testing' -let fixture: ComponentFixture -import { - DatesDropdownComponent, - DateSelection, - RelativeDate, -} from './dates-dropdown.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { SettingsService } from 'src/app/services/settings.service' import { ClearableBadgeComponent } from '../clearable-badge/clearable-badge.component' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' -import { DatePipe } from '@angular/common' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { + DateSelection, + DatesDropdownComponent, + RelativeDate, +} from './dates-dropdown.component' +let fixture: ComponentFixture describe('DatesDropdownComponent', () => { let component: DatesDropdownComponent diff --git a/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.ts b/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.ts index 21b39f0cb..7029412a5 100644 --- a/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.ts +++ b/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.ts @@ -2,9 +2,9 @@ import { Component, EventEmitter, Input, - Output, - OnInit, OnDestroy, + OnInit, + Output, } from '@angular/core' import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap' import { Subject, Subscription } from 'rxjs' diff --git a/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.spec.ts index 608fff4fb..78ddb96c5 100644 --- a/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' @@ -11,7 +12,6 @@ import { SelectComponent } from '../../input/select/select.component' import { TextComponent } from '../../input/text/text.component' import { EditDialogMode } from '../edit-dialog.component' import { CorrespondentEditDialogComponent } from './correspondent-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('CorrespondentEditDialogComponent', () => { let component: CorrespondentEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.ts index fcac0424a..854086a89 100644 --- a/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.ts @@ -2,8 +2,8 @@ import { Component } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component' -import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model' import { Correspondent } from 'src/app/data/correspondent' +import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model' import { CorrespondentService } from 'src/app/services/rest/correspondent.service' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' diff --git a/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.spec.ts index 6ecf72b5d..75f8e0bfe 100644 --- a/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.spec.ts @@ -1,10 +1,13 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { CustomFieldEditDialogComponent } from './custom-field-edit-dialog.component' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ElementRef, QueryList } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { CustomFieldDataType } from 'src/app/data/custom-field' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' @@ -12,10 +15,7 @@ import { SettingsService } from 'src/app/services/settings.service' import { SelectComponent } from '../../input/select/select.component' import { TextComponent } from '../../input/text/text.component' import { EditDialogMode } from '../edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { CustomFieldDataType } from 'src/app/data/custom-field' -import { ElementRef, QueryList } from '@angular/core' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { CustomFieldEditDialogComponent } from './custom-field-edit-dialog.component' describe('CustomFieldEditDialogComponent', () => { let component: CustomFieldEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts index a3392290e..49e39649e 100644 --- a/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts @@ -6,18 +6,18 @@ import { QueryList, ViewChildren, } from '@angular/core' -import { FormGroup, FormControl, FormArray } from '@angular/forms' +import { FormArray, FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { takeUntil } from 'rxjs' import { - DATA_TYPE_LABELS, CustomField, CustomFieldDataType, + DATA_TYPE_LABELS, } from 'src/app/data/custom-field' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' import { EditDialogComponent, EditDialogMode } from '../edit-dialog.component' -import { takeUntil } from 'rxjs' @Component({ selector: 'pngx-custom-field-edit-dialog', diff --git a/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.spec.ts index 0a0d32e65..e71e20136 100644 --- a/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' @@ -11,7 +12,6 @@ import { SelectComponent } from '../../input/select/select.component' import { TextComponent } from '../../input/text/text.component' import { EditDialogMode } from '../edit-dialog.component' import { DocumentTypeEditDialogComponent } from './document-type-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('DocumentTypeEditDialogComponent', () => { let component: DocumentTypeEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.ts index bce1eb759..cd797219b 100644 --- a/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.ts @@ -2,8 +2,8 @@ import { Component } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component' -import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model' import { DocumentType } from 'src/app/data/document-type' +import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model' import { DocumentTypeService } from 'src/app/services/rest/document-type.service' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts index 48a45e693..3f9abea9e 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, @@ -10,8 +11,8 @@ import { tick, } from '@angular/core/testing' import { - FormGroup, FormControl, + FormGroup, FormsModule, ReactiveFormsModule, } from '@angular/forms' @@ -19,9 +20,9 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { of } from 'rxjs' import { DEFAULT_MATCHING_ALGORITHM, + MATCH_ALL, MATCH_AUTO, MATCH_NONE, - MATCH_ALL, } from 'src/app/data/matching-model' import { Tag } from 'src/app/data/tag' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' @@ -30,7 +31,6 @@ import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' import { environment } from 'src/environments/environment' import { EditDialogComponent, EditDialogMode } from './edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' @Component({ template: ` diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts index ba32549f3..3bcb6e953 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts @@ -9,13 +9,13 @@ import { } from 'src/app/data/matching-model' import { ObjectWithId } from 'src/app/data/object-with-id' import { ObjectWithPermissions } from 'src/app/data/object-with-permissions' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { User } from 'src/app/data/user' import { AbstractPaperlessService } from 'src/app/services/rest/abstract-paperless-service' import { UserService } from 'src/app/services/rest/user.service' -import { PermissionsFormObject } from '../input/permissions/permissions-form/permissions-form.component' import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' +import { PermissionsFormObject } from '../input/permissions/permissions-form/permissions-form.component' export enum EditDialogMode { CREATE = 0, diff --git a/src-ui/src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.spec.ts index c27c0ea8e..22abf083d 100644 --- a/src-ui/src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.spec.ts @@ -1,8 +1,10 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SettingsService } from 'src/app/services/settings.service' @@ -12,8 +14,6 @@ import { TextComponent } from '../../input/text/text.component' import { PermissionsSelectComponent } from '../../permissions-select/permissions-select.component' import { EditDialogMode } from '../edit-dialog.component' import { GroupEditDialogComponent } from './group-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' describe('GroupEditDialogComponent', () => { let component: GroupEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.spec.ts index 408667f62..01949d460 100644 --- a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, @@ -23,7 +24,6 @@ import { SelectComponent } from '../../input/select/select.component' import { TextComponent } from '../../input/text/text.component' import { EditDialogMode } from '../edit-dialog.component' import { MailAccountEditDialogComponent } from './mail-account-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('MailAccountEditDialogComponent', () => { let component: MailAccountEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.spec.ts index 19655ae4d..312224415 100644 --- a/src-ui/src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' @@ -5,8 +6,8 @@ import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' import { of } from 'rxjs' import { - MailMetadataCorrespondentOption, MailAction, + MailMetadataCorrespondentOption, } from 'src/app/data/mail-rule' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' @@ -19,12 +20,11 @@ import { CheckComponent } from '../../input/check/check.component' import { NumberComponent } from '../../input/number/number.component' import { PermissionsFormComponent } from '../../input/permissions/permissions-form/permissions-form.component' import { SelectComponent } from '../../input/select/select.component' +import { SwitchComponent } from '../../input/switch/switch.component' import { TagsComponent } from '../../input/tags/tags.component' import { TextComponent } from '../../input/text/text.component' import { EditDialogMode } from '../edit-dialog.component' import { MailRuleEditDialogComponent } from './mail-rule-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { SwitchComponent } from '../../input/switch/switch.component' describe('MailRuleEditDialogComponent', () => { let component: MailRuleEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.spec.ts index 174397981..76d1162f1 100644 --- a/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.spec.ts @@ -1,15 +1,21 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' import { NgbAccordionButton, NgbActiveModal, NgbModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { of, throwError } from 'rxjs' +import { FILTER_TITLE } from 'src/app/data/filter-rule-type' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' +import { DocumentService } from 'src/app/services/rest/document.service' +import { StoragePathService } from 'src/app/services/rest/storage-path.service' import { SettingsService } from 'src/app/services/settings.service' import { PermissionsFormComponent } from '../../input/permissions/permissions-form/permissions-form.component' import { SelectComponent } from '../../input/select/select.component' @@ -17,12 +23,6 @@ import { TextComponent } from '../../input/text/text.component' import { TextAreaComponent } from '../../input/textarea/textarea.component' import { EditDialogMode } from '../edit-dialog.component' import { StoragePathEditDialogComponent } from './storage-path-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { StoragePathService } from 'src/app/services/rest/storage-path.service' -import { DocumentService } from 'src/app/services/rest/document.service' -import { of, throwError } from 'rxjs' -import { FILTER_TITLE } from 'src/app/data/filter-rule-type' -import { By } from '@angular/platform-browser' describe('StoragePathEditDialogComponent', () => { let component: StoragePathEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.ts index ae7a047bf..a4a7dbf5e 100644 --- a/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.ts @@ -2,17 +2,17 @@ import { Component, OnDestroy } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { - Subject, Observable, + Subject, + catchError, concat, - of, distinctUntilChanged, + filter, + map, + of, + switchMap, takeUntil, tap, - switchMap, - map, - catchError, - filter, } from 'rxjs' import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component' import { Document } from 'src/app/data/document' diff --git a/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.spec.ts index 7107226ef..67aff08c6 100644 --- a/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.spec.ts @@ -1,8 +1,10 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SettingsService } from 'src/app/services/settings.service' @@ -13,8 +15,6 @@ import { SelectComponent } from '../../input/select/select.component' import { TextComponent } from '../../input/text/text.component' import { EditDialogMode } from '../edit-dialog.component' import { TagEditDialogComponent } from './tag-edit-dialog.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('TagEditDialogComponent', () => { let component: TagEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.ts index 3eb726738..b4e10c9da 100644 --- a/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.ts @@ -2,12 +2,12 @@ import { Component } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component' +import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model' import { Tag } from 'src/app/data/tag' import { TagService } from 'src/app/services/rest/tag.service' -import { randomColor } from 'src/app/utils/color' -import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' +import { randomColor } from 'src/app/utils/color' @Component({ selector: 'pngx-tag-edit-dialog', diff --git a/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.spec.ts index 5adaf3388..4b15f50cc 100644 --- a/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.spec.ts @@ -1,17 +1,22 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { + AbstractControl, FormsModule, ReactiveFormsModule, - AbstractControl, } from '@angular/forms' import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { PermissionsService } from 'src/app/services/permissions.service' import { GroupService } from 'src/app/services/rest/group.service' +import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' import { PasswordComponent } from '../../input/password/password.component' import { PermissionsFormComponent } from '../../input/permissions/permissions-form/permissions-form.component' import { SelectComponent } from '../../input/select/select.component' @@ -19,11 +24,6 @@ import { TextComponent } from '../../input/text/text.component' import { PermissionsSelectComponent } from '../../permissions-select/permissions-select.component' import { EditDialogMode } from '../edit-dialog.component' import { UserEditDialogComponent } from './user-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { ToastService } from 'src/app/services/toast.service' -import { UserService } from 'src/app/services/rest/user.service' -import { PermissionsService } from 'src/app/services/permissions.service' describe('UserEditDialogComponent', () => { let component: UserEditDialogComponent diff --git a/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.spec.ts index ade5e2f31..4486c79a5 100644 --- a/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.spec.ts @@ -1,24 +1,39 @@ +import { CdkDragDrop } from '@angular/cdk/drag-drop' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' import { of } from 'rxjs' +import { CustomFieldDataType } from 'src/app/data/custom-field' +import { MATCHING_ALGORITHMS, MATCH_AUTO } from 'src/app/data/matching-model' +import { Workflow } from 'src/app/data/workflow' +import { + WorkflowAction, + WorkflowActionType, +} from 'src/app/data/workflow-action' +import { + DocumentSource, + WorkflowTriggerType, +} from 'src/app/data/workflow-trigger' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { DocumentTypeService } from 'src/app/services/rest/document-type.service' import { MailRuleService } from 'src/app/services/rest/mail-rule.service' import { StoragePathService } from 'src/app/services/rest/storage-path.service' import { SettingsService } from 'src/app/services/settings.service' +import { ConfirmButtonComponent } from '../../confirm-button/confirm-button.component' import { NumberComponent } from '../../input/number/number.component' import { PermissionsGroupComponent } from '../../input/permissions/permissions-group/permissions-group.component' import { PermissionsUserComponent } from '../../input/permissions/permissions-user/permissions-user.component' import { SelectComponent } from '../../input/select/select.component' +import { SwitchComponent } from '../../input/switch/switch.component' import { TagsComponent } from '../../input/tags/tags.component' import { TextComponent } from '../../input/text/text.component' -import { SwitchComponent } from '../../input/switch/switch.component' import { EditDialogMode } from '../edit-dialog.component' import { DOCUMENT_SOURCE_OPTIONS, @@ -27,21 +42,6 @@ import { WORKFLOW_TYPE_OPTIONS, WorkflowEditDialogComponent, } from './workflow-edit-dialog.component' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { Workflow } from 'src/app/data/workflow' -import { - WorkflowTriggerType, - DocumentSource, -} from 'src/app/data/workflow-trigger' -import { CdkDragDrop } from '@angular/cdk/drag-drop' -import { - WorkflowAction, - WorkflowActionType, -} from 'src/app/data/workflow-action' -import { MATCHING_ALGORITHMS, MATCH_AUTO } from 'src/app/data/matching-model' -import { ConfirmButtonComponent } from '../../confirm-button/confirm-button.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { CustomFieldDataType } from 'src/app/data/custom-field' const workflow: Workflow = { name: 'Workflow 1', diff --git a/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts index e5aa32267..2face94a3 100644 --- a/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts @@ -1,38 +1,38 @@ +import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop' import { Component, OnInit } from '@angular/core' -import { FormGroup, FormControl, FormArray } from '@angular/forms' +import { FormArray, FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { first } from 'rxjs' -import { Workflow } from 'src/app/data/workflow' import { Correspondent } from 'src/app/data/correspondent' -import { DocumentType } from 'src/app/data/document-type' -import { StoragePath } from 'src/app/data/storage-path' -import { WorkflowService } from 'src/app/services/rest/workflow.service' -import { CorrespondentService } from 'src/app/services/rest/correspondent.service' -import { DocumentTypeService } from 'src/app/services/rest/document-type.service' -import { StoragePathService } from 'src/app/services/rest/storage-path.service' -import { UserService } from 'src/app/services/rest/user.service' -import { SettingsService } from 'src/app/services/settings.service' -import { EditDialogComponent } from '../edit-dialog.component' -import { MailRuleService } from 'src/app/services/rest/mail-rule.service' -import { MailRule } from 'src/app/data/mail-rule' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { DocumentType } from 'src/app/data/document-type' +import { MailRule } from 'src/app/data/mail-rule' +import { + MATCHING_ALGORITHMS, + MATCH_AUTO, + MATCH_NONE, +} from 'src/app/data/matching-model' +import { StoragePath } from 'src/app/data/storage-path' +import { Workflow } from 'src/app/data/workflow' +import { + WorkflowAction, + WorkflowActionType, +} from 'src/app/data/workflow-action' import { DocumentSource, ScheduleDateField, WorkflowTrigger, WorkflowTriggerType, } from 'src/app/data/workflow-trigger' -import { - WorkflowAction, - WorkflowActionType, -} from 'src/app/data/workflow-action' -import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop' -import { - MATCHING_ALGORITHMS, - MATCH_AUTO, - MATCH_NONE, -} from 'src/app/data/matching-model' +import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { MailRuleService } from 'src/app/services/rest/mail-rule.service' +import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { UserService } from 'src/app/services/rest/user.service' +import { WorkflowService } from 'src/app/services/rest/workflow.service' +import { SettingsService } from 'src/app/services/settings.service' +import { EditDialogComponent } from '../edit-dialog.component' export const DOCUMENT_SOURCE_OPTIONS = [ { diff --git a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts index 2a4cce8d6..6746b60b0 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts @@ -4,6 +4,18 @@ import { fakeAsync, tick, } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { + DEFAULT_MATCHING_ALGORITHM, + MATCH_ALL, +} from 'src/app/data/matching-model' +import { Tag } from 'src/app/data/tag' +import { FilterPipe } from 'src/app/pipes/filter.pipe' +import { HotKeyService } from 'src/app/services/hot-key.service' +import { ClearableBadgeComponent } from '../clearable-badge/clearable-badge.component' +import { TagComponent } from '../tag/tag.component' import { ChangedItems, FilterableDropdownComponent, @@ -11,22 +23,10 @@ import { Intersection, LogicalOperator, } from './filterable-dropdown.component' -import { FilterPipe } from 'src/app/pipes/filter.pipe' -import { NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { Tag } from 'src/app/data/tag' -import { - DEFAULT_MATCHING_ALGORITHM, - MATCH_ALL, -} from 'src/app/data/matching-model' import { ToggleableDropdownButtonComponent, ToggleableItemState, } from './toggleable-dropdown-button/toggleable-dropdown-button.component' -import { TagComponent } from '../tag/tag.component' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { ClearableBadgeComponent } from '../clearable-badge/clearable-badge.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { HotKeyService } from 'src/app/services/hot-key.service' const items: Tag[] = [ { diff --git a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts index df225c7d9..0fdb6b9ee 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts +++ b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts @@ -1,22 +1,22 @@ import { Component, + ElementRef, EventEmitter, Input, - Output, - ElementRef, - ViewChild, OnInit, + Output, + ViewChild, } from '@angular/core' -import { FilterPipe } from 'src/app/pipes/filter.pipe' import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap' -import { ToggleableItemState } from './toggleable-dropdown-button/toggleable-dropdown-button.component' +import { Subject, filter, takeUntil } from 'rxjs' import { MatchingModel } from 'src/app/data/matching-model' -import { Subject, filter, take, takeUntil } from 'rxjs' -import { SelectionDataItem } from 'src/app/services/rest/document.service' import { ObjectWithPermissions } from 'src/app/data/object-with-permissions' +import { FilterPipe } from 'src/app/pipes/filter.pipe' import { HotKeyService } from 'src/app/services/hot-key.service' +import { SelectionDataItem } from 'src/app/services/rest/document.service' import { popperOptionsReenablePreventOverflow } from 'src/app/utils/popper-options' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' +import { ToggleableItemState } from './toggleable-dropdown-button/toggleable-dropdown-button.component' export interface ChangedItems { itemsToAdd: MatchingModel[] diff --git a/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.spec.ts b/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.spec.ts index 52bd36e0f..ca5d46365 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.spec.ts +++ b/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.spec.ts @@ -1,10 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' +import { Tag } from 'src/app/data/tag' +import { TagComponent } from '../../tag/tag.component' import { ToggleableDropdownButtonComponent, ToggleableItemState, } from './toggleable-dropdown-button.component' -import { TagComponent } from '../../tag/tag.component' -import { Tag } from 'src/app/data/tag' describe('ToggleableDropdownButtonComponent', () => { let component: ToggleableDropdownButtonComponent diff --git a/src-ui/src/app/components/common/hotkey-dialog/hotkey-dialog.component.spec.ts b/src-ui/src/app/components/common/hotkey-dialog/hotkey-dialog.component.spec.ts index a47e51692..ce11797a7 100644 --- a/src-ui/src/app/components/common/hotkey-dialog/hotkey-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/hotkey-dialog/hotkey-dialog.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { HotkeyDialogComponent } from './hotkey-dialog.component' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { HotkeyDialogComponent } from './hotkey-dialog.component' describe('HotkeyDialogComponent', () => { let component: HotkeyDialogComponent diff --git a/src-ui/src/app/components/common/input/abstract-input.spec.ts b/src-ui/src/app/components/common/input/abstract-input.spec.ts index f3836f9d7..9957029c9 100644 --- a/src-ui/src/app/components/common/input/abstract-input.spec.ts +++ b/src-ui/src/app/components/common/input/abstract-input.spec.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' -import { AbstractInputComponent } from './abstract-input' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { AbstractInputComponent } from './abstract-input' @Component({ template: ` diff --git a/src-ui/src/app/components/common/input/check/check.component.spec.ts b/src-ui/src/app/components/common/input/check/check.component.spec.ts index 7008c4811..79ce00cbf 100644 --- a/src-ui/src/app/components/common/input/check/check.component.spec.ts +++ b/src-ui/src/app/components/common/input/check/check.component.spec.ts @@ -1,10 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { CheckComponent } from './check.component' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' +import { CheckComponent } from './check.component' describe('CheckComponent', () => { let component: CheckComponent diff --git a/src-ui/src/app/components/common/input/color/color.component.spec.ts b/src-ui/src/app/components/common/input/color/color.component.spec.ts index 543880be5..9db2cb93e 100644 --- a/src-ui/src/app/components/common/input/color/color.component.spec.ts +++ b/src-ui/src/app/components/common/input/color/color.component.spec.ts @@ -4,10 +4,10 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { ColorComponent } from './color.component' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' -import { ColorSliderModule } from 'ngx-color/slider' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { ColorSliderModule } from 'ngx-color/slider' +import { ColorComponent } from './color.component' describe('ColorComponent', () => { let component: ColorComponent diff --git a/src-ui/src/app/components/common/input/date/date.component.spec.ts b/src-ui/src/app/components/common/input/date/date.component.spec.ts index d0bd219d0..0e4edefb9 100644 --- a/src-ui/src/app/components/common/input/date/date.component.spec.ts +++ b/src-ui/src/app/components/common/input/date/date.component.spec.ts @@ -1,19 +1,19 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { DateComponent } from './date.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' +import { RouterTestingModule } from '@angular/router/testing' import { NgbDateParserFormatter, NgbDatepickerModule, } from '@ng-bootstrap/ng-bootstrap' -import { RouterTestingModule } from '@angular/router/testing' -import { LocalizedDateParserFormatter } from 'src/app/utils/ngb-date-parser-formatter' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { LocalizedDateParserFormatter } from 'src/app/utils/ngb-date-parser-formatter' +import { DateComponent } from './date.component' describe('DateComponent', () => { let component: DateComponent diff --git a/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts b/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts index 14f4747d4..dda8b3299 100644 --- a/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts +++ b/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { @@ -7,10 +8,9 @@ import { } from '@angular/forms' import { NgSelectModule } from '@ng-select/ng-select' import { of, throwError } from 'rxjs' +import { FILTER_TITLE } from 'src/app/data/filter-rule-type' import { DocumentService } from 'src/app/services/rest/document.service' import { DocumentLinkComponent } from './document-link.component' -import { FILTER_TITLE } from 'src/app/data/filter-rule-type' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const documents = [ { diff --git a/src-ui/src/app/components/common/input/document-link/document-link.component.ts b/src-ui/src/app/components/common/input/document-link/document-link.component.ts index a75968203..d507cdd0a 100644 --- a/src-ui/src/app/components/common/input/document-link/document-link.component.ts +++ b/src-ui/src/app/components/common/input/document-link/document-link.component.ts @@ -1,19 +1,19 @@ -import { Component, forwardRef, OnInit, Input, OnDestroy } from '@angular/core' +import { Component, forwardRef, Input, OnDestroy, OnInit } from '@angular/core' import { NG_VALUE_ACCESSOR } from '@angular/forms' import { - Subject, - Observable, - takeUntil, - concat, - of, - distinctUntilChanged, - tap, - switchMap, - map, catchError, + concat, + distinctUntilChanged, + map, + Observable, + of, + Subject, + switchMap, + takeUntil, + tap, } from 'rxjs' -import { FILTER_TITLE } from 'src/app/data/filter-rule-type' import { Document } from 'src/app/data/document' +import { FILTER_TITLE } from 'src/app/data/filter-rule-type' import { DocumentService } from 'src/app/services/rest/document.service' import { AbstractInputComponent } from '../abstract-input' diff --git a/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.spec.ts b/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.spec.ts index b5b5bb47d..962192cb7 100644 --- a/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.spec.ts +++ b/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.spec.ts @@ -1,5 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' import { DragDropModule } from '@angular/cdk/drag-drop' +import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms' import { DragDropSelectComponent } from './drag-drop-select.component' diff --git a/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.ts b/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.ts index 6225ef3b7..d2aeb32f6 100644 --- a/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.ts +++ b/src-ui/src/app/components/common/input/drag-drop-select/drag-drop-select.component.ts @@ -1,11 +1,11 @@ -import { Component, Input, ViewChild, forwardRef } from '@angular/core' -import { NG_VALUE_ACCESSOR } from '@angular/forms' -import { AbstractInputComponent } from '../abstract-input' import { CdkDragDrop, CdkDropList, moveItemInArray, } from '@angular/cdk/drag-drop' +import { Component, Input, ViewChild, forwardRef } from '@angular/core' +import { NG_VALUE_ACCESSOR } from '@angular/forms' +import { AbstractInputComponent } from '../abstract-input' @Component({ providers: [ diff --git a/src-ui/src/app/components/common/input/entries/entries.component.spec.ts b/src-ui/src/app/components/common/input/entries/entries.component.spec.ts index b9eaeb913..5f2bcaeba 100644 --- a/src-ui/src/app/components/common/input/entries/entries.component.spec.ts +++ b/src-ui/src/app/components/common/input/entries/entries.component.spec.ts @@ -4,8 +4,8 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { EntriesComponent } from './entries.component' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { EntriesComponent } from './entries.component' describe('EntriesComponent', () => { let component: EntriesComponent diff --git a/src-ui/src/app/components/common/input/entries/entries.component.ts b/src-ui/src/app/components/common/input/entries/entries.component.ts index 72811fd11..87855c4a3 100644 --- a/src-ui/src/app/components/common/input/entries/entries.component.ts +++ b/src-ui/src/app/components/common/input/entries/entries.component.ts @@ -1,6 +1,6 @@ import { Component, forwardRef } from '@angular/core' -import { AbstractInputComponent } from '../abstract-input' import { NG_VALUE_ACCESSOR } from '@angular/forms' +import { AbstractInputComponent } from '../abstract-input' @Component({ providers: [ diff --git a/src-ui/src/app/components/common/input/file/file.component.spec.ts b/src-ui/src/app/components/common/input/file/file.component.spec.ts index e5572643a..7b6380f03 100644 --- a/src-ui/src/app/components/common/input/file/file.component.spec.ts +++ b/src-ui/src/app/components/common/input/file/file.component.spec.ts @@ -1,9 +1,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { FileComponent } from './file.component' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { FileComponent } from './file.component' describe('FileComponent', () => { let component: FileComponent diff --git a/src-ui/src/app/components/common/input/monetary/monetary.component.spec.ts b/src-ui/src/app/components/common/input/monetary/monetary.component.spec.ts index 7a06d842e..49ccc811a 100644 --- a/src-ui/src/app/components/common/input/monetary/monetary.component.spec.ts +++ b/src-ui/src/app/components/common/input/monetary/monetary.component.spec.ts @@ -1,13 +1,13 @@ +import { CurrencyPipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { CurrencyPipe } from '@angular/common' import { MonetaryComponent } from './monetary.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('MonetaryComponent', () => { let component: MonetaryComponent diff --git a/src-ui/src/app/components/common/input/monetary/monetary.component.ts b/src-ui/src/app/components/common/input/monetary/monetary.component.ts index c90042860..bdcca5f97 100644 --- a/src-ui/src/app/components/common/input/monetary/monetary.component.ts +++ b/src-ui/src/app/components/common/input/monetary/monetary.component.ts @@ -1,7 +1,7 @@ +import { getLocaleCurrencyCode } from '@angular/common' import { Component, forwardRef, Inject, Input, LOCALE_ID } from '@angular/core' import { NG_VALUE_ACCESSOR } from '@angular/forms' import { AbstractInputComponent } from '../abstract-input' -import { getLocaleCurrencyCode } from '@angular/common' @Component({ providers: [ diff --git a/src-ui/src/app/components/common/input/number/number.component.spec.ts b/src-ui/src/app/components/common/input/number/number.component.spec.ts index 58c4c22b9..fba0bd63d 100644 --- a/src-ui/src/app/components/common/input/number/number.component.spec.ts +++ b/src-ui/src/app/components/common/input/number/number.component.spec.ts @@ -1,14 +1,14 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NumberComponent } from './number.component' -import { DocumentService } from 'src/app/services/rest/document.service' -import { provideHttpClientTesting } from '@angular/common/http/testing' import { of } from 'rxjs' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { DocumentService } from 'src/app/services/rest/document.service' +import { NumberComponent } from './number.component' describe('NumberComponent', () => { let component: NumberComponent diff --git a/src-ui/src/app/components/common/input/password/password.component.spec.ts b/src-ui/src/app/components/common/input/password/password.component.spec.ts index 55c7cca0d..bb7388015 100644 --- a/src-ui/src/app/components/common/input/password/password.component.spec.ts +++ b/src-ui/src/app/components/common/input/password/password.component.spec.ts @@ -1,12 +1,12 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' -import { PasswordComponent } from './password.component' import { By } from '@angular/platform-browser' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { PasswordComponent } from './password.component' describe('PasswordComponent', () => { let component: PasswordComponent diff --git a/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.spec.ts b/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.spec.ts index 90957c3ea..9467d3917 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.spec.ts +++ b/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.spec.ts @@ -1,17 +1,17 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' -import { PermissionsFormComponent } from './permissions-form.component' -import { SelectComponent } from '../../select/select.component' import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectModule } from '@ng-select/ng-select' +import { SelectComponent } from '../../select/select.component' import { PermissionsGroupComponent } from '../permissions-group/permissions-group.component' import { PermissionsUserComponent } from '../permissions-user/permissions-user.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { NgSelectModule } from '@ng-select/ng-select' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsFormComponent } from './permissions-form.component' describe('PermissionsFormComponent', () => { let component: PermissionsFormComponent diff --git a/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.spec.ts b/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.spec.ts index 0cd5a58da..fc139ac26 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.spec.ts +++ b/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.spec.ts @@ -1,15 +1,15 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { PermissionsGroupComponent } from './permissions-group.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' import { NgSelectModule } from '@ng-select/ng-select' -import { GroupService } from 'src/app/services/rest/group.service' import { of } from 'rxjs' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { GroupService } from 'src/app/services/rest/group.service' +import { PermissionsGroupComponent } from './permissions-group.component' describe('PermissionsGroupComponent', () => { let component: PermissionsGroupComponent diff --git a/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.ts b/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.ts index 391cca9f1..ee0e8632f 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.ts +++ b/src-ui/src/app/components/common/input/permissions/permissions-group/permissions-group.component.ts @@ -1,4 +1,4 @@ -import { Component, forwardRef, Input, OnInit } from '@angular/core' +import { Component, forwardRef } from '@angular/core' import { NG_VALUE_ACCESSOR } from '@angular/forms' import { first } from 'rxjs/operators' import { Group } from 'src/app/data/group' diff --git a/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.spec.ts b/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.spec.ts index 51e1c32ed..53a3d3f2c 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.spec.ts +++ b/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.spec.ts @@ -1,16 +1,15 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { PermissionsUserComponent } from './permissions-user.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' import { NgSelectModule } from '@ng-select/ng-select' -import { GroupService } from 'src/app/services/rest/group.service' import { of } from 'rxjs' import { UserService } from 'src/app/services/rest/user.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsUserComponent } from './permissions-user.component' describe('PermissionsUserComponent', () => { let component: PermissionsUserComponent diff --git a/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.ts b/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.ts index 1b9ea7414..e8c4f9a8b 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.ts +++ b/src-ui/src/app/components/common/input/permissions/permissions-user/permissions-user.component.ts @@ -1,4 +1,4 @@ -import { Component, forwardRef, Input, OnInit } from '@angular/core' +import { Component, forwardRef } from '@angular/core' import { NG_VALUE_ACCESSOR } from '@angular/forms' import { first } from 'rxjs/operators' import { User } from 'src/app/data/user' diff --git a/src-ui/src/app/components/common/input/select/select.component.spec.ts b/src-ui/src/app/components/common/input/select/select.component.spec.ts index 79eec16e8..8af96acf0 100644 --- a/src-ui/src/app/components/common/input/select/select.component.spec.ts +++ b/src-ui/src/app/components/common/input/select/select.component.spec.ts @@ -6,17 +6,17 @@ import { } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' -import { SelectComponent } from './select.component' -import { Tag } from 'src/app/data/tag' +import { RouterTestingModule } from '@angular/router/testing' +import { NgSelectModule } from '@ng-select/ng-select' import { DEFAULT_MATCHING_ALGORITHM, MATCH_ALL, } from 'src/app/data/matching-model' -import { NgSelectModule } from '@ng-select/ng-select' -import { RouterTestingModule } from '@angular/router/testing' +import { Tag } from 'src/app/data/tag' +import { SelectComponent } from './select.component' const items: Tag[] = [ { diff --git a/src-ui/src/app/components/common/input/switch/switch.component.spec.ts b/src-ui/src/app/components/common/input/switch/switch.component.spec.ts index 790330955..a0ea4708a 100644 --- a/src-ui/src/app/components/common/input/switch/switch.component.spec.ts +++ b/src-ui/src/app/components/common/input/switch/switch.component.spec.ts @@ -1,11 +1,11 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { SwitchComponent } from './switch.component' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap' +import { SwitchComponent } from './switch.component' describe('SwitchComponent', () => { let component: SwitchComponent diff --git a/src-ui/src/app/components/common/input/tags/tags.component.spec.ts b/src-ui/src/app/components/common/input/tags/tags.component.spec.ts index 804e58974..522ddde72 100644 --- a/src-ui/src/app/components/common/input/tags/tags.component.spec.ts +++ b/src-ui/src/app/components/common/input/tags/tags.component.spec.ts @@ -1,20 +1,12 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' -import { TagsComponent } from './tags.component' -import { Tag } from 'src/app/data/tag' -import { - DEFAULT_MATCHING_ALGORITHM, - MATCH_ALL, -} from 'src/app/data/matching-model' -import { NgSelectModule } from '@ng-select/ng-select' import { RouterTestingModule } from '@angular/router/testing' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { of } from 'rxjs' -import { TagService } from 'src/app/services/rest/tag.service' import { NgbAccordionModule, NgbModal, @@ -22,16 +14,24 @@ import { NgbModalRef, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' +import { + DEFAULT_MATCHING_ALGORITHM, + MATCH_ALL, +} from 'src/app/data/matching-model' +import { Tag } from 'src/app/data/tag' +import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' +import { TagService } from 'src/app/services/rest/tag.service' +import { SettingsService } from 'src/app/services/settings.service' import { TagEditDialogComponent } from '../../edit-dialog/tag-edit-dialog/tag-edit-dialog.component' import { CheckComponent } from '../check/check.component' -import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' -import { TextComponent } from '../text/text.component' import { ColorComponent } from '../color/color.component' import { PermissionsFormComponent } from '../permissions/permissions-form/permissions-form.component' import { SelectComponent } from '../select/select.component' -import { SettingsService } from 'src/app/services/settings.service' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { TextComponent } from '../text/text.component' +import { TagsComponent } from './tags.component' const tags: Tag[] = [ { diff --git a/src-ui/src/app/components/common/input/tags/tags.component.ts b/src-ui/src/app/components/common/input/tags/tags.component.ts index efbbb9a6e..0232a74a0 100644 --- a/src-ui/src/app/components/common/input/tags/tags.component.ts +++ b/src-ui/src/app/components/common/input/tags/tags.component.ts @@ -9,12 +9,12 @@ import { } from '@angular/core' import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectComponent } from '@ng-select/ng-select' +import { first, firstValueFrom, tap } from 'rxjs' import { Tag } from 'src/app/data/tag' -import { TagEditDialogComponent } from '../../edit-dialog/tag-edit-dialog/tag-edit-dialog.component' import { TagService } from 'src/app/services/rest/tag.service' import { EditDialogMode } from '../../edit-dialog/edit-dialog.component' -import { first, firstValueFrom, tap } from 'rxjs' -import { NgSelectComponent } from '@ng-select/ng-select' +import { TagEditDialogComponent } from '../../edit-dialog/tag-edit-dialog/tag-edit-dialog.component' @Component({ providers: [ diff --git a/src-ui/src/app/components/common/input/text/text.component.spec.ts b/src-ui/src/app/components/common/input/text/text.component.spec.ts index 3b8e76e53..da77aebe3 100644 --- a/src-ui/src/app/components/common/input/text/text.component.spec.ts +++ b/src-ui/src/app/components/common/input/text/text.component.spec.ts @@ -1,8 +1,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' import { TextComponent } from './text.component' diff --git a/src-ui/src/app/components/common/input/textarea/textarea.component.spec.ts b/src-ui/src/app/components/common/input/textarea/textarea.component.spec.ts index 15113c472..1cd6ee5d9 100644 --- a/src-ui/src/app/components/common/input/textarea/textarea.component.spec.ts +++ b/src-ui/src/app/components/common/input/textarea/textarea.component.spec.ts @@ -1,8 +1,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' import { TextAreaComponent } from './textarea.component' diff --git a/src-ui/src/app/components/common/input/url/url.component.spec.ts b/src-ui/src/app/components/common/input/url/url.component.spec.ts index 12ee33001..23e94fab7 100644 --- a/src-ui/src/app/components/common/input/url/url.component.spec.ts +++ b/src-ui/src/app/components/common/input/url/url.component.spec.ts @@ -1,11 +1,11 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, - ReactiveFormsModule, NG_VALUE_ACCESSOR, + ReactiveFormsModule, } from '@angular/forms' -import { UrlComponent } from './url.component' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { UrlComponent } from './url.component' describe('TextComponent', () => { let component: UrlComponent diff --git a/src-ui/src/app/components/common/logo/logo.component.spec.ts b/src-ui/src/app/components/common/logo/logo.component.spec.ts index 201e19eb9..8af7e4480 100644 --- a/src-ui/src/app/components/common/logo/logo.component.spec.ts +++ b/src-ui/src/app/components/common/logo/logo.component.spec.ts @@ -1,11 +1,11 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { LogoComponent } from './logo.component' -import { By } from '@angular/platform-browser' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { By } from '@angular/platform-browser' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { SettingsService } from 'src/app/services/settings.service' +import { LogoComponent } from './logo.component' describe('LogoComponent', () => { let component: LogoComponent diff --git a/src-ui/src/app/components/common/page-header/page-header.component.spec.ts b/src-ui/src/app/components/common/page-header/page-header.component.spec.ts index dbecb150f..de4ccfffc 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.spec.ts +++ b/src-ui/src/app/components/common/page-header/page-header.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { Title } from '@angular/platform-browser' -import { PageHeaderComponent } from './page-header.component' import { environment } from 'src/environments/environment' +import { PageHeaderComponent } from './page-header.component' describe('PageHeaderComponent', () => { let component: PageHeaderComponent diff --git a/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.spec.ts b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.spec.ts index dc4821ce0..9b1c16f64 100644 --- a/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.spec.ts @@ -1,18 +1,18 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { PermissionsDialogComponent } from './permissions-dialog.component' -import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectModule } from '@ng-select/ng-select' +import { of } from 'rxjs' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { UserService } from 'src/app/services/rest/user.service' -import { of } from 'rxjs' import { PermissionsFormComponent } from '../input/permissions/permissions-form/permissions-form.component' -import { SelectComponent } from '../input/select/select.component' -import { NgSelectModule } from '@ng-select/ng-select' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { PermissionsUserComponent } from '../input/permissions/permissions-user/permissions-user.component' import { PermissionsGroupComponent } from '../input/permissions/permissions-group/permissions-group.component' +import { PermissionsUserComponent } from '../input/permissions/permissions-user/permissions-user.component' +import { SelectComponent } from '../input/select/select.component' import { SwitchComponent } from '../input/switch/switch.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsDialogComponent } from './permissions-dialog.component' const set_permissions = { owner: 10, diff --git a/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.spec.ts b/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.spec.ts index b55d2d250..bd07eb02c 100644 --- a/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.spec.ts @@ -1,21 +1,21 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsService } from 'src/app/services/permissions.service' import { UserService } from 'src/app/services/rest/user.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ClearableBadgeComponent } from '../clearable-badge/clearable-badge.component' import { OwnerFilterType, PermissionsFilterDropdownComponent, PermissionsSelectionModel, } from './permissions-filter-dropdown.component' -import { ClearableBadgeComponent } from '../clearable-badge/clearable-badge.component' -import { SettingsService } from 'src/app/services/settings.service' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const currentUserID = 13 diff --git a/src-ui/src/app/components/common/permissions-select/permissions-select.component.spec.ts b/src-ui/src/app/components/common/permissions-select/permissions-select.component.spec.ts index 4cad74f2e..6fed0d16a 100644 --- a/src-ui/src/app/components/common/permissions-select/permissions-select.component.spec.ts +++ b/src-ui/src/app/components/common/permissions-select/permissions-select.component.spec.ts @@ -1,21 +1,21 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { PermissionsSelectComponent } from './permissions-select.component' import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' +import { By } from '@angular/platform-browser' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { PermissionAction, PermissionType, } from 'src/app/services/permissions.service' -import { By } from '@angular/platform-browser' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsSelectComponent } from './permissions-select.component' const permissions = [ 'add_document', diff --git a/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts b/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts index 977eec5ac..1167434c9 100644 --- a/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts +++ b/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts @@ -6,14 +6,14 @@ import { FormGroup, NG_VALUE_ACCESSOR, } from '@angular/forms' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { PermissionAction, PermissionsService, PermissionType, } from 'src/app/services/permissions.service' -import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' @Component({ providers: [ diff --git a/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts b/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts index 12021fc90..a9cc9c9fd 100644 --- a/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts +++ b/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts @@ -5,23 +5,23 @@ import { tick, } from '@angular/core/testing' -import { PreviewPopupComponent } from './preview-popup.component' -import { By } from '@angular/platform-browser' -import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' -import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { DocumentService } from 'src/app/services/rest/document.service' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { PdfViewerModule } from 'ng2-pdf-viewer' import { HttpClient, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http' -import { of, throwError } from 'rxjs' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { By } from '@angular/platform-browser' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' +import { PdfViewerModule } from 'ng2-pdf-viewer' +import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { of, throwError } from 'rxjs' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' +import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' +import { DocumentService } from 'src/app/services/rest/document.service' +import { SettingsService } from 'src/app/services/settings.service' +import { PreviewPopupComponent } from './preview-popup.component' const doc = { id: 10, diff --git a/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.spec.ts b/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.spec.ts index aa793941e..d213c86e4 100644 --- a/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.spec.ts @@ -5,8 +5,8 @@ import { tick, } from '@angular/core/testing' -import { ProfileEditDialogComponent } from './profile-edit-dialog.component' -import { ProfileService } from 'src/app/services/profile.service' +import { Clipboard } from '@angular/cdk/clipboard' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbAccordionModule, @@ -14,14 +14,14 @@ import { NgbModalModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { TextComponent } from '../input/text/text.component' -import { PasswordComponent } from '../input/password/password.component' -import { of, throwError } from 'rxjs' -import { ToastService } from 'src/app/services/toast.service' -import { Clipboard } from '@angular/cdk/clipboard' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of, throwError } from 'rxjs' +import { ProfileService } from 'src/app/services/profile.service' +import { ToastService } from 'src/app/services/toast.service' import { ConfirmButtonComponent } from '../confirm-button/confirm-button.component' +import { PasswordComponent } from '../input/password/password.component' +import { TextComponent } from '../input/text/text.component' +import { ProfileEditDialogComponent } from './profile-edit-dialog.component' const socialAccount = { id: 1, diff --git a/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts b/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts index 4256bfdd7..8faaf4ade 100644 --- a/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts @@ -1,15 +1,15 @@ +import { Clipboard } from '@angular/cdk/clipboard' import { Component, OnInit } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { ProfileService } from 'src/app/services/profile.service' +import { takeUntil } from 'rxjs' import { - TotpSettings, SocialAccount, SocialAccountProvider, + TotpSettings, } from 'src/app/data/user-profile' +import { ProfileService } from 'src/app/services/profile.service' import { ToastService } from 'src/app/services/toast.service' -import { takeUntil } from 'rxjs' -import { Clipboard } from '@angular/cdk/clipboard' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ diff --git a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts index 81573eb98..8b3c71e2a 100644 --- a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts @@ -1,3 +1,5 @@ +import { Clipboard } from '@angular/cdk/clipboard' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, @@ -9,16 +11,14 @@ import { tick, } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { FileVersion, ShareLink } from 'src/app/data/share-link' import { ShareLinkService } from 'src/app/services/rest/share-link.service' import { ToastService } from 'src/app/services/toast.service' import { environment } from 'src/environments/environment' import { ShareLinksDropdownComponent } from './share-links-dropdown.component' -import { Clipboard } from '@angular/cdk/clipboard' -import { By } from '@angular/platform-browser' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('ShareLinksDropdownComponent', () => { let component: ShareLinksDropdownComponent diff --git a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts index caf24914a..16775c49d 100644 --- a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts +++ b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts @@ -1,10 +1,10 @@ +import { Clipboard } from '@angular/cdk/clipboard' import { Component, Input, OnInit } from '@angular/core' import { first } from 'rxjs' -import { ShareLink, FileVersion } from 'src/app/data/share-link' +import { FileVersion, ShareLink } from 'src/app/data/share-link' import { ShareLinkService } from 'src/app/services/rest/share-link.service' import { ToastService } from 'src/app/services/toast.service' import { environment } from 'src/environments/environment' -import { Clipboard } from '@angular/cdk/clipboard' @Component({ selector: 'pngx-share-links-dropdown', diff --git a/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.spec.ts b/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.spec.ts index 43e336adb..077a2d04e 100644 --- a/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.spec.ts @@ -1,3 +1,6 @@ +import { Clipboard, ClipboardModule } from '@angular/cdk/clipboard' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed, @@ -10,17 +13,14 @@ import { NgbPopoverModule, NgbProgressbarModule, } from '@ng-bootstrap/ng-bootstrap' -import { Clipboard, ClipboardModule } from '@angular/cdk/clipboard' -import { SystemStatusDialogComponent } from './system-status-dialog.component' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { - SystemStatusItemStatus, InstallType, SystemStatus, + SystemStatusItemStatus, } from 'src/app/data/system-status' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { FileSizePipe } from 'src/app/pipes/file-size.pipe' +import { SystemStatusDialogComponent } from './system-status-dialog.component' const status: SystemStatus = { pngx_version: '2.4.3', diff --git a/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.ts b/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.ts index 8535969a5..24d173ef8 100644 --- a/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.ts +++ b/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.ts @@ -1,11 +1,10 @@ -import { Component, Input } from '@angular/core' +import { Clipboard } from '@angular/cdk/clipboard' +import { Component } from '@angular/core' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { SystemStatus, SystemStatusItemStatus, } from 'src/app/data/system-status' -import { SystemStatusService } from 'src/app/services/system-status.service' -import { Clipboard } from '@angular/cdk/clipboard' @Component({ selector: 'pngx-system-status-dialog', diff --git a/src-ui/src/app/components/common/tag/tag.component.spec.ts b/src-ui/src/app/components/common/tag/tag.component.spec.ts index 07f72a906..33d980e0a 100644 --- a/src-ui/src/app/components/common/tag/tag.component.spec.ts +++ b/src-ui/src/app/components/common/tag/tag.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { TagComponent } from './tag.component' -import { Tag } from 'src/app/data/tag' import { By } from '@angular/platform-browser' +import { Tag } from 'src/app/data/tag' +import { TagComponent } from './tag.component' const tag: Tag = { id: 1, diff --git a/src-ui/src/app/components/common/toasts/toasts.component.spec.ts b/src-ui/src/app/components/common/toasts/toasts.component.spec.ts index 0ddfb61d5..1a6b80931 100644 --- a/src-ui/src/app/components/common/toasts/toasts.component.spec.ts +++ b/src-ui/src/app/components/common/toasts/toasts.component.spec.ts @@ -1,19 +1,19 @@ +import { Clipboard } from '@angular/cdk/clipboard' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { + ComponentFixture, TestBed, discardPeriodicTasks, fakeAsync, flush, tick, } from '@angular/core/testing' +import { NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' import { ToastService } from 'src/app/services/toast.service' import { ToastsComponent } from './toasts.component' -import { ComponentFixture } from '@angular/core/testing' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { of } from 'rxjs' -import { NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { Clipboard } from '@angular/cdk/clipboard' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const toasts = [ { diff --git a/src-ui/src/app/components/common/toasts/toasts.component.ts b/src-ui/src/app/components/common/toasts/toasts.component.ts index 37198d1e0..cb88959e9 100644 --- a/src-ui/src/app/components/common/toasts/toasts.component.ts +++ b/src-ui/src/app/components/common/toasts/toasts.component.ts @@ -1,7 +1,7 @@ +import { Clipboard } from '@angular/cdk/clipboard' import { Component, OnDestroy, OnInit } from '@angular/core' import { Subscription, interval, take } from 'rxjs' import { Toast, ToastService } from 'src/app/services/toast.service' -import { Clipboard } from '@angular/cdk/clipboard' @Component({ selector: 'pngx-toasts', diff --git a/src-ui/src/app/components/dashboard/dashboard.component.spec.ts b/src-ui/src/app/components/dashboard/dashboard.component.spec.ts index ba13f0949..529e9ece2 100644 --- a/src-ui/src/app/components/dashboard/dashboard.component.spec.ts +++ b/src-ui/src/app/components/dashboard/dashboard.component.spec.ts @@ -1,28 +1,28 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { NgbAlertModule } from '@ng-bootstrap/ng-bootstrap' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' -import { DashboardComponent } from './dashboard.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { SettingsService } from 'src/app/services/settings.service' -import { StatisticsWidgetComponent } from './widgets/statistics-widget/statistics-widget.component' -import { PageHeaderComponent } from '../common/page-header/page-header.component' -import { WidgetFrameComponent } from './widgets/widget-frame/widget-frame.component' -import { UploadFileWidgetComponent } from './widgets/upload-file-widget/upload-file-widget.component' -import { SavedViewService } from 'src/app/services/rest/saved-view.service' -import { PermissionsService } from 'src/app/services/permissions.service' -import { By } from '@angular/platform-browser' -import { SavedViewWidgetComponent } from './widgets/saved-view-widget/saved-view-widget.component' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { RouterTestingModule } from '@angular/router/testing' -import { TourNgBootstrapModule, TourService } from 'ngx-ui-tour-ng-bootstrap' -import { LogoComponent } from '../common/logo/logo.component' -import { of, throwError } from 'rxjs' -import { ToastService } from 'src/app/services/toast.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { CdkDragDrop, DragDropModule } from '@angular/cdk/drag-drop' -import { SavedView } from 'src/app/data/saved-view' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { By } from '@angular/platform-browser' +import { RouterTestingModule } from '@angular/router/testing' +import { NgbAlertModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { TourNgBootstrapModule, TourService } from 'ngx-ui-tour-ng-bootstrap' +import { of, throwError } from 'rxjs' +import { SavedView } from 'src/app/data/saved-view' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' +import { PermissionsService } from 'src/app/services/permissions.service' +import { SavedViewService } from 'src/app/services/rest/saved-view.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { LogoComponent } from '../common/logo/logo.component' +import { PageHeaderComponent } from '../common/page-header/page-header.component' +import { DashboardComponent } from './dashboard.component' +import { SavedViewWidgetComponent } from './widgets/saved-view-widget/saved-view-widget.component' +import { StatisticsWidgetComponent } from './widgets/statistics-widget/statistics-widget.component' +import { UploadFileWidgetComponent } from './widgets/upload-file-widget/upload-file-widget.component' +import { WidgetFrameComponent } from './widgets/widget-frame/widget-frame.component' const saved_views = [ { diff --git a/src-ui/src/app/components/dashboard/dashboard.component.ts b/src-ui/src/app/components/dashboard/dashboard.component.ts index 906cc775a..194054f00 100644 --- a/src-ui/src/app/components/dashboard/dashboard.component.ts +++ b/src-ui/src/app/components/dashboard/dashboard.component.ts @@ -1,17 +1,17 @@ -import { Component } from '@angular/core' -import { SavedViewService } from 'src/app/services/rest/saved-view.service' -import { SettingsService } from 'src/app/services/settings.service' -import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' -import { TourService } from 'ngx-ui-tour-ng-bootstrap' -import { SavedView } from 'src/app/data/saved-view' -import { ToastService } from 'src/app/services/toast.service' import { CdkDragDrop, CdkDragEnd, CdkDragStart, moveItemInArray, } from '@angular/cdk/drag-drop' +import { Component } from '@angular/core' +import { TourService } from 'ngx-ui-tour-ng-bootstrap' +import { SavedView } from 'src/app/data/saved-view' +import { SavedViewService } from 'src/app/services/rest/saved-view.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' import { environment } from 'src/environments/environment' +import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' @Component({ selector: 'pngx-dashboard', diff --git a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts index aa82cf765..6f8cb2183 100644 --- a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts +++ b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts @@ -1,4 +1,6 @@ +import { DragDropModule } from '@angular/cdk/drag-drop' import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, @@ -6,11 +8,17 @@ import { fakeAsync, tick, } from '@angular/core/testing' +import { By } from '@angular/platform-browser' import { Router } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { of, Subject } from 'rxjs' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { Subject, of } from 'rxjs' import { routes } from 'src/app/app-routing.module' +import { CustomFieldDisplayComponent } from 'src/app/components/common/custom-field-display/custom-field-display.component' +import { PreviewPopupComponent } from 'src/app/components/common/preview-popup/preview-popup.component' +import { CustomFieldDataType } from 'src/app/data/custom-field' +import { DisplayField, DisplayMode } from 'src/app/data/document' import { FILTER_CORRESPONDENT, FILTER_DOCUMENT_TYPE, @@ -23,25 +31,17 @@ import { IfPermissionsDirective } from 'src/app/directives/if-permissions.direct import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' +import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' import { ConsumerStatusService, FileStatus, } from 'src/app/services/consumer-status.service' import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { PermissionsService } from 'src/app/services/permissions.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { DocumentService } from 'src/app/services/rest/document.service' import { WidgetFrameComponent } from '../widget-frame/widget-frame.component' import { SavedViewWidgetComponent } from './saved-view-widget.component' -import { By } from '@angular/platform-browser' -import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' -import { DragDropModule } from '@angular/cdk/drag-drop' -import { PreviewPopupComponent } from 'src/app/components/common/preview-popup/preview-popup.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { CustomFieldDataType } from 'src/app/data/custom-field' -import { CustomFieldDisplayComponent } from 'src/app/components/common/custom-field-display/custom-field-display.component' -import { DisplayMode, DisplayField } from 'src/app/data/document' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const savedView: SavedView = { id: 1, diff --git a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts index db89df138..187e12417 100644 --- a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts +++ b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts @@ -7,7 +7,10 @@ import { ViewChildren, } from '@angular/core' import { Router } from '@angular/router' +import { NgbPopover } from '@ng-bootstrap/ng-bootstrap' import { delay, Subject, takeUntil, tap } from 'rxjs' +import { LoadingComponentWithPermissions } from 'src/app/components/loading-component/loading.component' +import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { DEFAULT_DASHBOARD_DISPLAY_FIELDS, DEFAULT_DASHBOARD_VIEW_PAGE_SIZE, @@ -16,9 +19,6 @@ import { DisplayMode, Document, } from 'src/app/data/document' -import { SavedView } from 'src/app/data/saved-view' -import { ConsumerStatusService } from 'src/app/services/consumer-status.service' -import { DocumentService } from 'src/app/services/rest/document.service' import { FILTER_CORRESPONDENT, FILTER_DOCUMENT_TYPE, @@ -26,18 +26,18 @@ import { FILTER_HAS_TAGS_ALL, FILTER_STORAGE_PATH, } from 'src/app/data/filter-rule-type' -import { OpenDocumentsService } from 'src/app/services/open-documents.service' +import { SavedView } from 'src/app/data/saved-view' +import { ConsumerStatusService } from 'src/app/services/consumer-status.service' import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { NgbPopover } from '@ng-bootstrap/ng-bootstrap' +import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { PermissionAction, - PermissionType, PermissionsService, + PermissionType, } from 'src/app/services/permissions.service' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { DocumentService } from 'src/app/services/rest/document.service' import { SettingsService } from 'src/app/services/settings.service' -import { LoadingComponentWithPermissions } from 'src/app/components/loading-component/loading.component' @Component({ selector: 'pngx-saved-view-widget', diff --git a/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.spec.ts b/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.spec.ts index f4536d3f2..beece0c43 100644 --- a/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.spec.ts +++ b/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.spec.ts @@ -1,24 +1,23 @@ -import { TestBed } from '@angular/core/testing' -import { StatisticsWidgetComponent } from './statistics-widget.component' -import { ComponentFixture } from '@angular/core/testing' +import { DragDropModule } from '@angular/cdk/drag-drop' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { WidgetFrameComponent } from '../widget-frame/widget-frame.component' -import { environment } from 'src/environments/environment' +import { ComponentFixture, TestBed } from '@angular/core/testing' import { RouterTestingModule } from '@angular/router/testing' +import { NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { Subject } from 'rxjs' import { routes } from 'src/app/app-routing.module' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { ConsumerStatusService, FileStatus, } from 'src/app/services/consumer-status.service' -import { Subject } from 'rxjs' -import { DragDropModule } from '@angular/cdk/drag-drop' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { environment } from 'src/environments/environment' +import { WidgetFrameComponent } from '../widget-frame/widget-frame.component' +import { StatisticsWidgetComponent } from './statistics-widget.component' describe('StatisticsWidgetComponent', () => { let component: StatisticsWidgetComponent diff --git a/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.ts b/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.ts index c2d5d7cb7..3376f6aa2 100644 --- a/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.ts +++ b/src-ui/src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.ts @@ -1,12 +1,12 @@ import { HttpClient } from '@angular/common/http' import { Component, OnDestroy, OnInit } from '@angular/core' -import { first, Observable, Subject, Subscription, takeUntil } from 'rxjs' +import * as mimeTypeNames from 'mime-names' +import { first, Subject, Subscription, takeUntil } from 'rxjs' +import { ComponentWithPermissions } from 'src/app/components/with-permissions/with-permissions.component' import { FILTER_HAS_TAGS_ANY } from 'src/app/data/filter-rule-type' import { ConsumerStatusService } from 'src/app/services/consumer-status.service' import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { environment } from 'src/environments/environment' -import * as mimeTypeNames from 'mime-names' -import { ComponentWithPermissions } from 'src/app/components/with-permissions/with-permissions.component' export interface Statistics { documents_total?: number diff --git a/src-ui/src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.spec.ts b/src-ui/src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.spec.ts index 0cfdf6e98..882109f40 100644 --- a/src-ui/src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.spec.ts +++ b/src-ui/src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.spec.ts @@ -1,3 +1,5 @@ +import { DragDropModule } from '@angular/cdk/drag-drop' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, @@ -8,11 +10,12 @@ import { import { By } from '@angular/platform-browser' import { RouterTestingModule } from '@angular/router/testing' import { - NgbModule, - NgbAlertModule, NgbAlert, + NgbAlertModule, NgbCollapse, + NgbModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { routes } from 'src/app/app-routing.module' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsGuard } from 'src/app/guards/permissions.guard' @@ -25,9 +28,6 @@ import { PermissionsService } from 'src/app/services/permissions.service' import { UploadDocumentsService } from 'src/app/services/upload-documents.service' import { WidgetFrameComponent } from '../widget-frame/widget-frame.component' import { UploadFileWidgetComponent } from './upload-file-widget.component' -import { DragDropModule } from '@angular/cdk/drag-drop' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' const FAILED_STATUSES = [new FileStatus()] const WORKING_STATUSES = [new FileStatus(), new FileStatus()] diff --git a/src-ui/src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.spec.ts b/src-ui/src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.spec.ts index 07f0658ae..a06bf55e0 100644 --- a/src-ui/src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.spec.ts +++ b/src-ui/src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.spec.ts @@ -1,6 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { By } from '@angular/platform-browser' -import { NgbAlertModule, NgbAlert } from '@ng-bootstrap/ng-bootstrap' +import { NgbAlert, NgbAlertModule } from '@ng-bootstrap/ng-bootstrap' import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { WidgetFrameComponent } from '../widget-frame/widget-frame.component' import { WelcomeWidgetComponent } from './welcome-widget.component' diff --git a/src-ui/src/app/components/dashboard/widgets/widget-frame/widget-frame.component.spec.ts b/src-ui/src/app/components/dashboard/widgets/widget-frame/widget-frame.component.spec.ts index b6e8d8515..545e42085 100644 --- a/src-ui/src/app/components/dashboard/widgets/widget-frame/widget-frame.component.spec.ts +++ b/src-ui/src/app/components/dashboard/widgets/widget-frame/widget-frame.component.spec.ts @@ -1,10 +1,10 @@ +import { DragDropModule } from '@angular/cdk/drag-drop' import { Component } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' import { By } from '@angular/platform-browser' import { NgbAlertModule } from '@ng-bootstrap/ng-bootstrap' import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { WidgetFrameComponent } from './widget-frame.component' -import { DragDropModule } from '@angular/cdk/drag-drop' @Component({ template: ` diff --git a/src-ui/src/app/components/document-asn/document-asn.component.spec.ts b/src-ui/src/app/components/document-asn/document-asn.component.spec.ts index c8ad0d13d..d56e0b0ee 100644 --- a/src-ui/src/app/components/document-asn/document-asn.component.spec.ts +++ b/src-ui/src/app/components/document-asn/document-asn.component.spec.ts @@ -1,12 +1,12 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { ActivatedRoute, Router, convertToParamMap } from '@angular/router' +import { RouterTestingModule } from '@angular/router/testing' import { of } from 'rxjs' +import { routes } from 'src/app/app-routing.module' +import { FilterRule } from 'src/app/data/filter-rule' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { DocumentService } from 'src/app/services/rest/document.service' import { DocumentAsnComponent } from './document-asn.component' -import { RouterTestingModule } from '@angular/router/testing' -import { FilterRule } from 'src/app/data/filter-rule' -import { routes } from 'src/app/app-routing.module' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' describe('DocumentAsnComponent', () => { let component: DocumentAsnComponent diff --git a/src-ui/src/app/components/document-asn/document-asn.component.ts b/src-ui/src/app/components/document-asn/document-asn.component.ts index 2a802642a..d2001cc37 100644 --- a/src-ui/src/app/components/document-asn/document-asn.component.ts +++ b/src-ui/src/app/components/document-asn/document-asn.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit } from '@angular/core' -import { DocumentService } from '../../services/rest/document.service' import { ActivatedRoute, Router } from '@angular/router' import { FILTER_ASN } from '../../data/filter-rule-type' +import { DocumentService } from '../../services/rest/document.service' @Component({ selector: 'pngx-document-asncomponent', diff --git a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts index 46b72cb4e..d0951af1a 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts @@ -1,4 +1,5 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, @@ -6,40 +7,44 @@ import { import { ComponentFixture, TestBed, + discardPeriodicTasks, fakeAsync, tick, - discardPeriodicTasks, } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { - Router, ActivatedRoute, - convertToParamMap, + Router, RouterModule, + convertToParamMap, } from '@angular/router' import { + NgbDateStruct, NgbModal, - NgbModule, NgbModalModule, NgbModalRef, - NgbDateStruct, + NgbModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { PdfViewerModule } from 'ng2-pdf-viewer' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' -import { - FILTER_FULLTEXT_MORELIKE, - FILTER_CORRESPONDENT, - FILTER_DOCUMENT_TYPE, - FILTER_STORAGE_PATH, - FILTER_HAS_TAGS_ALL, - FILTER_CREATED_AFTER, - FILTER_CREATED_BEFORE, -} from 'src/app/data/filter-rule-type' import { Correspondent } from 'src/app/data/correspondent' +import { CustomFieldDataType } from 'src/app/data/custom-field' +import { DataType } from 'src/app/data/datatype' import { Document } from 'src/app/data/document' import { DocumentType } from 'src/app/data/document-type' +import { + FILTER_CORRESPONDENT, + FILTER_CREATED_AFTER, + FILTER_CREATED_BEFORE, + FILTER_DOCUMENT_TYPE, + FILTER_FULLTEXT_MORELIKE, + FILTER_HAS_TAGS_ALL, + FILTER_STORAGE_PATH, +} from 'src/app/data/filter-rule-type' import { StoragePath } from 'src/app/data/storage-path' import { Tag } from 'src/app/data/tag' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' @@ -53,13 +58,20 @@ import { DocumentListViewService } from 'src/app/services/document-list-view.ser import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { PermissionsService } from 'src/app/services/permissions.service' import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { DocumentTypeService } from 'src/app/services/rest/document-type.service' import { DocumentService } from 'src/app/services/rest/document.service' import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { TagService } from 'src/app/services/rest/tag.service' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' +import { environment } from 'src/environments/environment' import { ConfirmDialogComponent } from '../common/confirm-dialog/confirm-dialog.component' +import { DeletePagesConfirmDialogComponent } from '../common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component' +import { RotateConfirmDialogComponent } from '../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' +import { SplitConfirmDialogComponent } from '../common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component' +import { CustomFieldsDropdownComponent } from '../common/custom-fields-dropdown/custom-fields-dropdown.component' import { CorrespondentEditDialogComponent } from '../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' import { DocumentTypeEditDialogComponent } from '../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' import { StoragePathEditDialogComponent } from '../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' @@ -69,23 +81,11 @@ import { PermissionsFormComponent } from '../common/input/permissions/permission import { SelectComponent } from '../common/input/select/select.component' import { TagsComponent } from '../common/input/tags/tags.component' import { TextComponent } from '../common/input/text/text.component' +import { TextAreaComponent } from '../common/input/textarea/textarea.component' import { PageHeaderComponent } from '../common/page-header/page-header.component' +import { ShareLinksDropdownComponent } from '../common/share-links-dropdown/share-links-dropdown.component' import { DocumentNotesComponent } from '../document-notes/document-notes.component' import { DocumentDetailComponent } from './document-detail.component' -import { ShareLinksDropdownComponent } from '../common/share-links-dropdown/share-links-dropdown.component' -import { CustomFieldsDropdownComponent } from '../common/custom-fields-dropdown/custom-fields-dropdown.component' -import { CustomFieldDataType } from 'src/app/data/custom-field' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { environment } from 'src/environments/environment' -import { RotateConfirmDialogComponent } from '../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' -import { SplitConfirmDialogComponent } from '../common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component' -import { DeletePagesConfirmDialogComponent } from '../common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component' -import { PdfViewerModule } from 'ng2-pdf-viewer' -import { DataType } from 'src/app/data/datatype' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { TagService } from 'src/app/services/rest/tag.service' -import { TextAreaComponent } from '../common/input/textarea/textarea.component' const doc: Document = { id: 3, diff --git a/src-ui/src/app/components/document-detail/document-detail.component.ts b/src-ui/src/app/components/document-detail/document-detail.component.ts index 2b39535ca..6a5bc98db 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.ts @@ -1,4 +1,5 @@ -import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core' +import { HttpClient } from '@angular/common/http' +import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core' import { FormArray, FormControl, FormGroup } from '@angular/forms' import { ActivatedRoute, Router } from '@angular/router' import { @@ -7,35 +8,28 @@ import { NgbNav, NgbNavChangeEvent, } from '@ng-bootstrap/ng-bootstrap' -import { Correspondent } from 'src/app/data/correspondent' -import { Document } from 'src/app/data/document' -import { DocumentMetadata } from 'src/app/data/document-metadata' -import { DocumentType } from 'src/app/data/document-type' -import { Tag } from 'src/app/data/tag' -import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { OpenDocumentsService } from 'src/app/services/open-documents.service' -import { CorrespondentService } from 'src/app/services/rest/correspondent.service' -import { DocumentTypeService } from 'src/app/services/rest/document-type.service' -import { DocumentService } from 'src/app/services/rest/document.service' -import { ConfirmDialogComponent } from '../common/confirm-dialog/confirm-dialog.component' -import { CorrespondentEditDialogComponent } from '../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' -import { DocumentTypeEditDialogComponent } from '../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' -import { ToastService } from 'src/app/services/toast.service' -import { TextComponent } from '../common/input/text/text.component' -import { SettingsService } from 'src/app/services/settings.service' import { dirtyCheck, DirtyComponent } from '@ngneat/dirty-check-forms' -import { Observable, Subject, BehaviorSubject } from 'rxjs' +import { PDFDocumentProxy } from 'ng2-pdf-viewer' +import { BehaviorSubject, Observable, Subject } from 'rxjs' import { - first, - takeUntil, - switchMap, - map, debounceTime, distinctUntilChanged, filter, + first, + map, + switchMap, + takeUntil, } from 'rxjs/operators' +import { Correspondent } from 'src/app/data/correspondent' +import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { CustomFieldInstance } from 'src/app/data/custom-field-instance' +import { DataType } from 'src/app/data/datatype' +import { Document } from 'src/app/data/document' +import { DocumentMetadata } from 'src/app/data/document-metadata' +import { DocumentNote } from 'src/app/data/document-note' import { DocumentSuggestions } from 'src/app/data/document-suggestions' +import { DocumentType } from 'src/app/data/document-type' +import { FilterRule } from 'src/app/data/filter-rule' import { FILTER_CORRESPONDENT, FILTER_CREATED_AFTER, @@ -45,34 +39,40 @@ import { FILTER_HAS_TAGS_ALL, FILTER_STORAGE_PATH, } from 'src/app/data/filter-rule-type' -import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { ObjectWithId } from 'src/app/data/object-with-id' import { StoragePath } from 'src/app/data/storage-path' -import { StoragePathEditDialogComponent } from '../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' +import { Tag } from 'src/app/data/tag' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { User } from 'src/app/data/user' +import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { HotKeyService } from 'src/app/services/hot-key.service' +import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { PermissionAction, PermissionsService, PermissionType, } from 'src/app/services/permissions.service' -import { User } from 'src/app/data/user' -import { UserService } from 'src/app/services/rest/user.service' -import { DocumentNote } from 'src/app/data/document-note' -import { HttpClient } from '@angular/common/http' -import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' -import { EditDialogMode } from '../common/edit-dialog/edit-dialog.component' -import { ObjectWithId } from 'src/app/data/object-with-id' -import { FilterRule } from 'src/app/data/filter-rule' -import { ISODateAdapter } from 'src/app/utils/ngb-iso-date-adapter' -import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' -import { CustomFieldInstance } from 'src/app/data/custom-field-instance' +import { CorrespondentService } from 'src/app/services/rest/correspondent.service' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { SplitConfirmDialogComponent } from '../common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component' -import { RotateConfirmDialogComponent } from '../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' -import { DeletePagesConfirmDialogComponent } from '../common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component' -import { HotKeyService } from 'src/app/services/hot-key.service' -import { PDFDocumentProxy } from 'ng2-pdf-viewer' -import { DataType } from 'src/app/data/datatype' +import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { DocumentService } from 'src/app/services/rest/document.service' +import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { UserService } from 'src/app/services/rest/user.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { ISODateAdapter } from 'src/app/utils/ngb-iso-date-adapter' import * as UTIF from 'utif' +import { ConfirmDialogComponent } from '../common/confirm-dialog/confirm-dialog.component' +import { DeletePagesConfirmDialogComponent } from '../common/confirm-dialog/delete-pages-confirm-dialog/delete-pages-confirm-dialog.component' +import { RotateConfirmDialogComponent } from '../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' +import { SplitConfirmDialogComponent } from '../common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component' +import { CorrespondentEditDialogComponent } from '../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' +import { DocumentTypeEditDialogComponent } from '../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' +import { EditDialogMode } from '../common/edit-dialog/edit-dialog.component' +import { StoragePathEditDialogComponent } from '../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' +import { TextComponent } from '../common/input/text/text.component' +import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' enum DocumentDetailNavIDs { Details = 1, diff --git a/src-ui/src/app/components/document-detail/metadata-collapse/metadata-collapse.component.spec.ts b/src-ui/src/app/components/document-detail/metadata-collapse/metadata-collapse.component.spec.ts index 6ea6af226..056b8bef3 100644 --- a/src-ui/src/app/components/document-detail/metadata-collapse/metadata-collapse.component.spec.ts +++ b/src-ui/src/app/components/document-detail/metadata-collapse/metadata-collapse.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { MetadataCollapseComponent } from './metadata-collapse.component' import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { MetadataCollapseComponent } from './metadata-collapse.component' const metadata = [ { diff --git a/src-ui/src/app/components/document-history/document-history.component.spec.ts b/src-ui/src/app/components/document-history/document-history.component.spec.ts index 53023f4af..f8758c381 100644 --- a/src-ui/src/app/components/document-history/document-history.component.spec.ts +++ b/src-ui/src/app/components/document-history/document-history.component.spec.ts @@ -1,20 +1,20 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { DocumentHistoryComponent } from './document-history.component' -import { DocumentService } from 'src/app/services/rest/document.service' -import { of } from 'rxjs' -import { AuditLogAction } from 'src/app/data/auditlog-entry' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { NgbCollapseModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { of } from 'rxjs' +import { AuditLogAction } from 'src/app/data/auditlog-entry' +import { DataType } from 'src/app/data/datatype' +import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { CorrespondentService } from 'src/app/services/rest/correspondent.service' import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { DocumentService } from 'src/app/services/rest/document.service' import { StoragePathService } from 'src/app/services/rest/storage-path.service' import { UserService } from 'src/app/services/rest/user.service' -import { DataType } from 'src/app/data/datatype' +import { DocumentHistoryComponent } from './document-history.component' describe('DocumentHistoryComponent', () => { let component: DocumentHistoryComponent diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts index c0db41512..0b0698907 100644 --- a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts +++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, @@ -7,58 +8,57 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { NgbModal, - NgbModule, NgbModalModule, NgbModalRef, + NgbModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' +import { Correspondent } from 'src/app/data/correspondent' +import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { DocumentType } from 'src/app/data/document-type' +import { Results } from 'src/app/data/results' +import { StoragePath } from 'src/app/data/storage-path' +import { Tag } from 'src/app/data/tag' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { FilterPipe } from 'src/app/pipes/filter.pipe' +import { IsNumberPipe } from 'src/app/pipes/is-number.pipe' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { PermissionsService } from 'src/app/services/permissions.service' import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { DocumentTypeService } from 'src/app/services/rest/document-type.service' import { - SelectionData, DocumentService, + SelectionData, } from 'src/app/services/rest/document.service' +import { GroupService } from 'src/app/services/rest/group.service' import { StoragePathService } from 'src/app/services/rest/storage-path.service' import { TagService } from 'src/app/services/rest/tag.service' +import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { environment } from 'src/environments/environment' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' +import { MergeConfirmDialogComponent } from '../../common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component' +import { RotateConfirmDialogComponent } from '../../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' +import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' +import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { DocumentTypeEditDialogComponent } from '../../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' +import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' +import { StoragePathEditDialogComponent } from '../../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' +import { TagEditDialogComponent } from '../../common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' import { FilterableDropdownComponent } from '../../common/filterable-dropdown/filterable-dropdown.component' import { ToggleableDropdownButtonComponent } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' -import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' import { PermissionsFormComponent } from '../../common/input/permissions/permissions-form/permissions-form.component' -import { BulkEditorComponent } from './bulk-editor.component' -import { SelectComponent } from '../../common/input/select/select.component' -import { UserService } from 'src/app/services/rest/user.service' import { PermissionsGroupComponent } from '../../common/input/permissions/permissions-group/permissions-group.component' import { PermissionsUserComponent } from '../../common/input/permissions/permissions-user/permissions-user.component' -import { NgSelectModule } from '@ng-select/ng-select' -import { GroupService } from 'src/app/services/rest/group.service' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { SelectComponent } from '../../common/input/select/select.component' import { SwitchComponent } from '../../common/input/switch/switch.component' -import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' -import { TagEditDialogComponent } from '../../common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' -import { Results } from 'src/app/data/results' -import { Tag } from 'src/app/data/tag' -import { Correspondent } from 'src/app/data/correspondent' -import { DocumentType } from 'src/app/data/document-type' -import { StoragePath } from 'src/app/data/storage-path' -import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' -import { DocumentTypeEditDialogComponent } from '../../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' -import { StoragePathEditDialogComponent } from '../../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' -import { IsNumberPipe } from 'src/app/pipes/is-number.pipe' -import { RotateConfirmDialogComponent } from '../../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' -import { MergeConfirmDialogComponent } from '../../common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' -import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' +import { BulkEditorComponent } from './bulk-editor.component' const selectionData: SelectionData = { selected_tags: [ diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts index f671602c0..628a3f133 100644 --- a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts +++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -1,49 +1,49 @@ import { Component, Input, OnDestroy, OnInit } from '@angular/core' -import { Tag } from 'src/app/data/tag' -import { Correspondent } from 'src/app/data/correspondent' -import { DocumentType } from 'src/app/data/document-type' -import { TagService } from 'src/app/services/rest/tag.service' -import { CorrespondentService } from 'src/app/services/rest/correspondent.service' -import { DocumentTypeService } from 'src/app/services/rest/document-type.service' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { FormControl, FormGroup } from '@angular/forms' import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' -import { - DocumentService, - SelectionDataItem, -} from 'src/app/services/rest/document.service' -import { OpenDocumentsService } from 'src/app/services/open-documents.service' -import { ConfirmDialogComponent } from 'src/app/components/common/confirm-dialog/confirm-dialog.component' -import { - ChangedItems, - FilterableDropdownSelectionModel, -} from '../../common/filterable-dropdown/filterable-dropdown.component' -import { ToggleableItemState } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' -import { MatchingModel } from 'src/app/data/matching-model' -import { SettingsService } from 'src/app/services/settings.service' -import { ToastService } from 'src/app/services/toast.service' import { saveAs } from 'file-saver' -import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { first, map, Subject, switchMap, takeUntil } from 'rxjs' +import { ConfirmDialogComponent } from 'src/app/components/common/confirm-dialog/confirm-dialog.component' +import { Correspondent } from 'src/app/data/correspondent' +import { CustomField } from 'src/app/data/custom-field' +import { DocumentType } from 'src/app/data/document-type' +import { MatchingModel } from 'src/app/data/matching-model' import { StoragePath } from 'src/app/data/storage-path' +import { Tag } from 'src/app/data/tag' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' -import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { PermissionAction, PermissionsService, PermissionType, } from 'src/app/services/permissions.service' -import { FormControl, FormGroup } from '@angular/forms' -import { first, map, Subject, switchMap, takeUntil } from 'rxjs' -import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' -import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' -import { TagEditDialogComponent } from '../../common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' -import { DocumentTypeEditDialogComponent } from '../../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' -import { StoragePathEditDialogComponent } from '../../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' -import { RotateConfirmDialogComponent } from '../../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' -import { MergeConfirmDialogComponent } from '../../common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component' -import { CustomField } from 'src/app/data/custom-field' +import { CorrespondentService } from 'src/app/services/rest/correspondent.service' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { + DocumentService, + SelectionDataItem, +} from 'src/app/services/rest/document.service' +import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { TagService } from 'src/app/services/rest/tag.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { MergeConfirmDialogComponent } from '../../common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component' +import { RotateConfirmDialogComponent } from '../../common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component' +import { CorrespondentEditDialogComponent } from '../../common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component' import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { DocumentTypeEditDialogComponent } from '../../common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component' +import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' +import { StoragePathEditDialogComponent } from '../../common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component' +import { TagEditDialogComponent } from '../../common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component' +import { + ChangedItems, + FilterableDropdownSelectionModel, +} from '../../common/filterable-dropdown/filterable-dropdown.component' +import { ToggleableItemState } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' +import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' +import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' import { CustomFieldsBulkEditDialogComponent } from './custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component' @Component({ diff --git a/src-ui/src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.spec.ts b/src-ui/src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.spec.ts index a5c76d5bc..a03a1ca62 100644 --- a/src-ui/src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.spec.ts @@ -1,15 +1,15 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { CustomFieldsBulkEditDialogComponent } from './custom-fields-bulk-edit-dialog.component' +import { provideHttpClient } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { NgSelectModule } from '@ng-select/ng-select' import { of, throwError } from 'rxjs' -import { DocumentService } from 'src/app/services/rest/document.service' import { SelectComponent } from 'src/app/components/common/input/select/select.component' import { CustomFieldDataType } from 'src/app/data/custom-field' -import { NgSelectModule } from '@ng-select/ng-select' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { provideHttpClient } from '@angular/common/http' +import { DocumentService } from 'src/app/services/rest/document.service' +import { CustomFieldsBulkEditDialogComponent } from './custom-fields-bulk-edit-dialog.component' describe('CustomFieldsBulkEditDialogComponent', () => { let component: CustomFieldsBulkEditDialogComponent diff --git a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts index 9fca1140d..237ee58c4 100644 --- a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts +++ b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts @@ -1,23 +1,23 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { By } from '@angular/platform-browser' import { RouterTestingModule } from '@angular/router/testing' import { NgbPopoverModule, - NgbTooltipModule, NgbProgressbarModule, + NgbTooltipModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' -import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' -import { DocumentCardLargeComponent } from './document-card-large.component' import { IsNumberPipe } from 'src/app/pipes/is-number.pipe' -import { PreviewPopupComponent } from '../../common/preview-popup/preview-popup.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' import { CustomFieldDisplayComponent } from '../../common/custom-field-display/custom-field-display.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PreviewPopupComponent } from '../../common/preview-popup/preview-popup.component' +import { DocumentCardLargeComponent } from './document-card-large.component' const doc = { id: 10, diff --git a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts index de655ec2e..9170f530f 100644 --- a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts +++ b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts @@ -11,11 +11,11 @@ import { DisplayField, Document, } from 'src/app/data/document' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { DocumentService } from 'src/app/services/rest/document.service' import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' import { PreviewPopupComponent } from '../../common/preview-popup/preview-popup.component' +import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ selector: 'pngx-document-card-large', diff --git a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.spec.ts b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.spec.ts index c9a232c5c..729521052 100644 --- a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.spec.ts +++ b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.spec.ts @@ -1,26 +1,26 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' +import { By } from '@angular/platform-browser' import { RouterTestingModule } from '@angular/router/testing' import { NgbPopoverModule, - NgbTooltipModule, NgbProgressbarModule, + NgbTooltipModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' +import { Tag } from 'src/app/data/tag' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' -import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' -import { DocumentCardSmallComponent } from './document-card-small.component' -import { of } from 'rxjs' -import { By } from '@angular/platform-browser' -import { TagComponent } from '../../common/tag/tag.component' -import { Tag } from 'src/app/data/tag' import { IsNumberPipe } from 'src/app/pipes/is-number.pipe' -import { PreviewPopupComponent } from '../../common/preview-popup/preview-popup.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe' import { CustomFieldDisplayComponent } from '../../common/custom-field-display/custom-field-display.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PreviewPopupComponent } from '../../common/preview-popup/preview-popup.component' +import { TagComponent } from '../../common/tag/tag.component' +import { DocumentCardSmallComponent } from './document-card-small.component' const doc = { id: 10, diff --git a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts index 44f7e69cb..43a73e3e0 100644 --- a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts +++ b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts @@ -12,11 +12,11 @@ import { DisplayField, Document, } from 'src/app/data/document' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { DocumentService } from 'src/app/services/rest/document.service' import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' import { PreviewPopupComponent } from '../../common/preview-popup/preview-popup.component' +import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ selector: 'pngx-document-card-small', diff --git a/src-ui/src/app/components/document-list/document-list.component.spec.ts b/src-ui/src/app/components/document-list/document-list.component.spec.ts index 36ea05ed6..63b7e41ad 100644 --- a/src-ui/src/app/components/document-list/document-list.component.spec.ts +++ b/src-ui/src/app/components/document-list/document-list.component.spec.ts @@ -1,15 +1,15 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { DocumentListComponent } from './document-list.component' +import { DatePipe } from '@angular/common' +import { + HttpErrorResponse, + provideHttpClient, + withInterceptorsFromDi, +} from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' +import { ActivatedRoute, Router, convertToParamMap } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' -import { routes } from 'src/app/app-routing.module' -import { FilterEditorComponent } from './filter-editor/filter-editor.component' -import { PermissionsFilterDropdownComponent } from '../common/permissions-filter-dropdown/permissions-filter-dropdown.component' -import { DatesDropdownComponent } from '../common/dates-dropdown/dates-dropdown.component' -import { FilterableDropdownComponent } from '../common/filterable-dropdown/filterable-dropdown.component' -import { PageHeaderComponent } from '../common/page-header/page-header.component' -import { BulkEditorComponent } from './bulk-editor/bulk-editor.component' -import { FilterPipe } from 'src/app/pipes/filter.pipe' import { NgbDatepickerModule, NgbDropdown, @@ -21,58 +21,58 @@ import { NgbTooltipModule, NgbTypeaheadModule, } from '@ng-bootstrap/ng-bootstrap' -import { ClearableBadgeComponent } from '../common/clearable-badge/clearable-badge.component' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { ToggleableDropdownButtonComponent } from '../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' -import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' -import { DatePipe } from '@angular/common' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { - ConsumerStatusService, - FileStatus, -} from 'src/app/services/consumer-status.service' +import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { Subject, of, throwError } from 'rxjs' -import { SavedViewService } from 'src/app/services/rest/saved-view.service' -import { ActivatedRoute, Router, convertToParamMap } from '@angular/router' -import { SavedView } from 'src/app/data/saved-view' -import { - FILTER_FULLTEXT_MORELIKE, - FILTER_FULLTEXT_QUERY, - FILTER_HAS_TAGS_ANY, -} from 'src/app/data/filter-rule-type' -import { By } from '@angular/platform-browser' -import { SortableDirective } from 'src/app/directives/sortable.directive' -import { ToastService } from 'src/app/services/toast.service' -import { DocumentCardSmallComponent } from './document-card-small/document-card-small.component' -import { DocumentCardLargeComponent } from './document-card-large/document-card-large.component' -import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' -import { UsernamePipe } from 'src/app/pipes/username.pipe' +import { routes } from 'src/app/app-routing.module' import { DEFAULT_DISPLAY_FIELDS, DisplayField, DisplayMode, Document, } from 'src/app/data/document' -import { DocumentService } from 'src/app/services/rest/document.service' -import { ConfirmDialogComponent } from '../common/confirm-dialog/confirm-dialog.component' -import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' -import { SaveViewConfigDialogComponent } from './save-view-config-dialog/save-view-config-dialog.component' -import { TextComponent } from '../common/input/text/text.component' -import { CheckComponent } from '../common/input/check/check.component' import { - HttpErrorResponse, - provideHttpClient, - withInterceptorsFromDi, -} from '@angular/common/http' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' -import { SettingsService } from 'src/app/services/settings.service' + FILTER_FULLTEXT_MORELIKE, + FILTER_FULLTEXT_QUERY, + FILTER_HAS_TAGS_ANY, +} from 'src/app/data/filter-rule-type' +import { SavedView } from 'src/app/data/saved-view' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { SortableDirective } from 'src/app/directives/sortable.directive' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' +import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' +import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' +import { FilterPipe } from 'src/app/pipes/filter.pipe' import { IsNumberPipe } from 'src/app/pipes/is-number.pipe' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' +import { UsernamePipe } from 'src/app/pipes/username.pipe' +import { + ConsumerStatusService, + FileStatus, +} from 'src/app/services/consumer-status.service' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { PermissionsService } from 'src/app/services/permissions.service' -import { NgSelectModule } from '@ng-select/ng-select' +import { DocumentService } from 'src/app/services/rest/document.service' +import { SavedViewService } from 'src/app/services/rest/saved-view.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { ClearableBadgeComponent } from '../common/clearable-badge/clearable-badge.component' +import { ConfirmDialogComponent } from '../common/confirm-dialog/confirm-dialog.component' +import { DatesDropdownComponent } from '../common/dates-dropdown/dates-dropdown.component' +import { FilterableDropdownComponent } from '../common/filterable-dropdown/filterable-dropdown.component' +import { ToggleableDropdownButtonComponent } from '../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' +import { CheckComponent } from '../common/input/check/check.component' +import { TextComponent } from '../common/input/text/text.component' +import { PageHeaderComponent } from '../common/page-header/page-header.component' +import { PermissionsFilterDropdownComponent } from '../common/permissions-filter-dropdown/permissions-filter-dropdown.component' import { PreviewPopupComponent } from '../common/preview-popup/preview-popup.component' +import { BulkEditorComponent } from './bulk-editor/bulk-editor.component' +import { DocumentCardLargeComponent } from './document-card-large/document-card-large.component' +import { DocumentCardSmallComponent } from './document-card-small/document-card-small.component' +import { DocumentListComponent } from './document-list.component' +import { FilterEditorComponent } from './filter-editor/filter-editor.component' +import { SaveViewConfigDialogComponent } from './save-view-config-dialog/save-view-config-dialog.component' const docs: Document[] = [ { diff --git a/src-ui/src/app/components/document-list/document-list.component.ts b/src-ui/src/app/components/document-list/document-list.component.ts index c21c78fc8..4bfb68449 100644 --- a/src-ui/src/app/components/document-list/document-list.component.ts +++ b/src-ui/src/app/components/document-list/document-list.component.ts @@ -9,18 +9,14 @@ import { import { ActivatedRoute, convertToParamMap, Router } from '@angular/router' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { filter, first, map, Subject, switchMap, takeUntil } from 'rxjs' -import { FilterRule } from 'src/app/data/filter-rule' -import { - filterRulesDiffer, - isFullTextFilterRule, -} from 'src/app/utils/filter-rules' -import { FILTER_FULLTEXT_MORELIKE } from 'src/app/data/filter-rule-type' import { DEFAULT_DISPLAY_FIELDS, DisplayField, DisplayMode, Document, } from 'src/app/data/document' +import { FilterRule } from 'src/app/data/filter-rule' +import { FILTER_FULLTEXT_MORELIKE } from 'src/app/data/filter-rule-type' import { SavedView } from 'src/app/data/saved-view' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { @@ -29,15 +25,19 @@ import { } from 'src/app/directives/sortable.directive' import { ConsumerStatusService } from 'src/app/services/consumer-status.service' import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { HotKeyService } from 'src/app/services/hot-key.service' import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { PermissionsService } from 'src/app/services/permissions.service' import { SavedViewService } from 'src/app/services/rest/saved-view.service' import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' +import { + filterRulesDiffer, + isFullTextFilterRule, +} from 'src/app/utils/filter-rules' import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' import { FilterEditorComponent } from './filter-editor/filter-editor.component' import { SaveViewConfigDialogComponent } from './save-view-config-dialog/save-view-config-dialog.component' -import { HotKeyService } from 'src/app/services/hot-key.service' @Component({ selector: 'pngx-document-list', diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts index 7df942a2c..019ce4aab 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts @@ -1,110 +1,108 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' import { ComponentFixture, - fakeAsync, TestBed, + fakeAsync, tick, } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' +import { RouterModule } from '@angular/router' import { - NgbDropdownModule, NgbDatepickerModule, NgbDropdownItem, + NgbDropdownModule, NgbTypeaheadModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' +import { Correspondent } from 'src/app/data/correspondent' +import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { + CustomFieldQueryLogicalOperator, + CustomFieldQueryOperator, +} from 'src/app/data/custom-field-query' +import { DocumentType } from 'src/app/data/document-type' import { - FILTER_TITLE, - FILTER_TITLE_CONTENT, - FILTER_ASN, - FILTER_ASN_ISNULL, - FILTER_ASN_GT, - FILTER_ASN_LT, - FILTER_FULLTEXT_QUERY, - FILTER_FULLTEXT_MORELIKE, - FILTER_CREATED_AFTER, - FILTER_CREATED_BEFORE, FILTER_ADDED_AFTER, FILTER_ADDED_BEFORE, + FILTER_ASN, + FILTER_ASN_GT, + FILTER_ASN_ISNULL, + FILTER_ASN_LT, + FILTER_CORRESPONDENT, + FILTER_CREATED_AFTER, + FILTER_CREATED_BEFORE, + FILTER_CUSTOM_FIELDS_QUERY, + FILTER_CUSTOM_FIELDS_TEXT, + FILTER_DOCUMENT_TYPE, + FILTER_DOES_NOT_HAVE_CORRESPONDENT, + FILTER_DOES_NOT_HAVE_DOCUMENT_TYPE, + FILTER_DOES_NOT_HAVE_STORAGE_PATH, + FILTER_DOES_NOT_HAVE_TAG, + FILTER_FULLTEXT_MORELIKE, + FILTER_FULLTEXT_QUERY, + FILTER_HAS_ANY_TAG, + FILTER_HAS_CORRESPONDENT_ANY, + FILTER_HAS_CUSTOM_FIELDS_ALL, + FILTER_HAS_CUSTOM_FIELDS_ANY, + FILTER_HAS_DOCUMENT_TYPE_ANY, + FILTER_HAS_STORAGE_PATH_ANY, FILTER_HAS_TAGS_ALL, FILTER_HAS_TAGS_ANY, - FILTER_HAS_ANY_TAG, - FILTER_DOES_NOT_HAVE_TAG, - FILTER_CORRESPONDENT, - FILTER_HAS_CORRESPONDENT_ANY, - FILTER_DOES_NOT_HAVE_CORRESPONDENT, - FILTER_DOCUMENT_TYPE, - FILTER_HAS_DOCUMENT_TYPE_ANY, - FILTER_DOES_NOT_HAVE_DOCUMENT_TYPE, - FILTER_STORAGE_PATH, - FILTER_HAS_STORAGE_PATH_ANY, - FILTER_DOES_NOT_HAVE_STORAGE_PATH, FILTER_OWNER, FILTER_OWNER_ANY, FILTER_OWNER_DOES_NOT_INCLUDE, FILTER_OWNER_ISNULL, - FILTER_CUSTOM_FIELDS_TEXT, FILTER_SHARED_BY_USER, - FILTER_HAS_CUSTOM_FIELDS_ANY, - FILTER_HAS_ANY_CUSTOM_FIELDS, - FILTER_DOES_NOT_HAVE_CUSTOM_FIELDS, - FILTER_HAS_CUSTOM_FIELDS_ALL, - FILTER_CUSTOM_FIELDS_QUERY, + FILTER_STORAGE_PATH, + FILTER_TITLE, + FILTER_TITLE_CONTENT, } from 'src/app/data/filter-rule-type' -import { Correspondent } from 'src/app/data/correspondent' -import { DocumentType } from 'src/app/data/document-type' import { StoragePath } from 'src/app/data/storage-path' import { Tag } from 'src/app/data/tag' import { User } from 'src/app/data/user' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { FilterPipe } from 'src/app/pipes/filter.pipe' -import { CorrespondentService } from 'src/app/services/rest/correspondent.service' -import { DocumentTypeService } from 'src/app/services/rest/document-type.service' -import { DocumentService } from 'src/app/services/rest/document.service' -import { StoragePathService } from 'src/app/services/rest/storage-path.service' -import { TagService } from 'src/app/services/rest/tag.service' -import { UserService } from 'src/app/services/rest/user.service' -import { SettingsService } from 'src/app/services/settings.service' -import { ClearableBadgeComponent } from '../../common/clearable-badge/clearable-badge.component' -import { DatesDropdownComponent } from '../../common/dates-dropdown/dates-dropdown.component' -import { - FilterableDropdownComponent, - LogicalOperator, - Intersection, -} from '../../common/filterable-dropdown/filterable-dropdown.component' -import { ToggleableDropdownButtonComponent } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' -import { - PermissionsFilterDropdownComponent, - OwnerFilterType, -} from '../../common/permissions-filter-dropdown/permissions-filter-dropdown.component' -import { FilterEditorComponent } from './filter-editor.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { PermissionType, PermissionsService, } from 'src/app/services/permissions.service' -import { environment } from 'src/environments/environment' -import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' +import { CorrespondentService } from 'src/app/services/rest/correspondent.service' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { RouterModule } from '@angular/router' +import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { DocumentService } from 'src/app/services/rest/document.service' import { SearchService } from 'src/app/services/rest/search.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { CustomFieldsQueryDropdownComponent } from '../../common/custom-fields-query-dropdown/custom-fields-query-dropdown.component' -import { - CustomFieldQueryLogicalOperator, - CustomFieldQueryOperator, -} from 'src/app/data/custom-field-query' +import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { TagService } from 'src/app/services/rest/tag.service' +import { UserService } from 'src/app/services/rest/user.service' +import { SettingsService } from 'src/app/services/settings.service' import { CustomFieldQueryAtom, CustomFieldQueryExpression, } from 'src/app/utils/custom-field-query-element' +import { environment } from 'src/environments/environment' +import { ClearableBadgeComponent } from '../../common/clearable-badge/clearable-badge.component' +import { CustomFieldsQueryDropdownComponent } from '../../common/custom-fields-query-dropdown/custom-fields-query-dropdown.component' +import { DatesDropdownComponent } from '../../common/dates-dropdown/dates-dropdown.component' +import { + FilterableDropdownComponent, + Intersection, + LogicalOperator, +} from '../../common/filterable-dropdown/filterable-dropdown.component' +import { ToggleableDropdownButtonComponent } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' +import { + OwnerFilterType, + PermissionsFilterDropdownComponent, +} from '../../common/permissions-filter-dropdown/permissions-filter-dropdown.component' +import { FilterEditorComponent } from './filter-editor.component' const tags: Tag[] = [ { diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts index f9e5ec36e..8b55bcb05 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -1,17 +1,14 @@ import { + AfterViewInit, Component, + ElementRef, EventEmitter, Input, - Output, - OnInit, OnDestroy, + OnInit, + Output, ViewChild, - ElementRef, - AfterViewInit, } from '@angular/core' -import { Tag } from 'src/app/data/tag' -import { Correspondent } from 'src/app/data/correspondent' -import { DocumentType } from 'src/app/data/document-type' import { Observable, Subject, from } from 'rxjs' import { catchError, @@ -22,85 +19,86 @@ import { switchMap, takeUntil, } from 'rxjs/operators' -import { DocumentTypeService } from 'src/app/services/rest/document-type.service' -import { TagService } from 'src/app/services/rest/tag.service' -import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { Correspondent } from 'src/app/data/correspondent' +import { CustomField } from 'src/app/data/custom-field' +import { + CustomFieldQueryLogicalOperator, + CustomFieldQueryOperator, +} from 'src/app/data/custom-field-query' +import { Document } from 'src/app/data/document' +import { DocumentType } from 'src/app/data/document-type' import { FilterRule } from 'src/app/data/filter-rule' -import { filterRulesDiffer } from 'src/app/utils/filter-rules' import { FILTER_ADDED_AFTER, FILTER_ADDED_BEFORE, FILTER_ASN, - FILTER_HAS_CORRESPONDENT_ANY, + FILTER_ASN_GT, + FILTER_ASN_ISNULL, + FILTER_ASN_LT, + FILTER_CORRESPONDENT, FILTER_CREATED_AFTER, FILTER_CREATED_BEFORE, - FILTER_HAS_DOCUMENT_TYPE_ANY, - FILTER_FULLTEXT_MORELIKE, - FILTER_FULLTEXT_QUERY, - FILTER_HAS_ANY_TAG, - FILTER_HAS_TAGS_ALL, - FILTER_HAS_TAGS_ANY, - FILTER_DOES_NOT_HAVE_TAG, - FILTER_TITLE, - FILTER_TITLE_CONTENT, - FILTER_HAS_STORAGE_PATH_ANY, - FILTER_ASN_ISNULL, - FILTER_ASN_GT, - FILTER_ASN_LT, + FILTER_CUSTOM_FIELDS_QUERY, + FILTER_CUSTOM_FIELDS_TEXT, + FILTER_DOCUMENT_TYPE, FILTER_DOES_NOT_HAVE_CORRESPONDENT, FILTER_DOES_NOT_HAVE_DOCUMENT_TYPE, FILTER_DOES_NOT_HAVE_STORAGE_PATH, - FILTER_DOCUMENT_TYPE, - FILTER_CORRESPONDENT, - FILTER_STORAGE_PATH, + FILTER_DOES_NOT_HAVE_TAG, + FILTER_FULLTEXT_MORELIKE, + FILTER_FULLTEXT_QUERY, + FILTER_HAS_ANY_TAG, + FILTER_HAS_CORRESPONDENT_ANY, + FILTER_HAS_CUSTOM_FIELDS_ALL, + FILTER_HAS_CUSTOM_FIELDS_ANY, + FILTER_HAS_DOCUMENT_TYPE_ANY, + FILTER_HAS_STORAGE_PATH_ANY, + FILTER_HAS_TAGS_ALL, + FILTER_HAS_TAGS_ANY, FILTER_OWNER, + FILTER_OWNER_ANY, FILTER_OWNER_DOES_NOT_INCLUDE, FILTER_OWNER_ISNULL, - FILTER_OWNER_ANY, - FILTER_CUSTOM_FIELDS_TEXT, FILTER_SHARED_BY_USER, - FILTER_HAS_CUSTOM_FIELDS_ANY, - FILTER_HAS_CUSTOM_FIELDS_ALL, - FILTER_HAS_ANY_CUSTOM_FIELDS, - FILTER_CUSTOM_FIELDS_QUERY, + FILTER_STORAGE_PATH, + FILTER_TITLE, + FILTER_TITLE_CONTENT, } from 'src/app/data/filter-rule-type' +import { StoragePath } from 'src/app/data/storage-path' +import { Tag } from 'src/app/data/tag' +import { + PermissionAction, + PermissionType, + PermissionsService, +} from 'src/app/services/permissions.service' +import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { + DocumentService, + SelectionData, + SelectionDataItem, +} from 'src/app/services/rest/document.service' +import { SearchService } from 'src/app/services/rest/search.service' +import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { TagService } from 'src/app/services/rest/tag.service' +import { + CustomFieldQueryAtom, + CustomFieldQueryExpression, +} from 'src/app/utils/custom-field-query-element' +import { filterRulesDiffer } from 'src/app/utils/filter-rules' +import { CustomFieldQueriesModel } from '../../common/custom-fields-query-dropdown/custom-fields-query-dropdown.component' +import { RelativeDate } from '../../common/dates-dropdown/dates-dropdown.component' import { FilterableDropdownSelectionModel, Intersection, LogicalOperator, } from '../../common/filterable-dropdown/filterable-dropdown.component' import { ToggleableItemState } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component' -import { - DocumentService, - SelectionData, - SelectionDataItem, -} from 'src/app/services/rest/document.service' -import { Document } from 'src/app/data/document' -import { StoragePath } from 'src/app/data/storage-path' -import { StoragePathService } from 'src/app/services/rest/storage-path.service' -import { RelativeDate } from '../../common/dates-dropdown/dates-dropdown.component' import { OwnerFilterType, PermissionsSelectionModel, } from '../../common/permissions-filter-dropdown/permissions-filter-dropdown.component' -import { - PermissionAction, - PermissionType, - PermissionsService, -} from 'src/app/services/permissions.service' -import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { CustomField } from 'src/app/data/custom-field' -import { SearchService } from 'src/app/services/rest/search.service' -import { - CustomFieldQueryLogicalOperator, - CustomFieldQueryOperator, -} from 'src/app/data/custom-field-query' -import { CustomFieldQueriesModel } from '../../common/custom-fields-query-dropdown/custom-fields-query-dropdown.component' -import { - CustomFieldQueryExpression, - CustomFieldQueryAtom, -} from 'src/app/utils/custom-field-query-element' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' const TEXT_FILTER_TARGET_TITLE = 'title' diff --git a/src-ui/src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.spec.ts b/src-ui/src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.spec.ts index f1412ce21..91b61ccc2 100644 --- a/src-ui/src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.spec.ts +++ b/src-ui/src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.spec.ts @@ -4,12 +4,12 @@ import { fakeAsync, tick, } from '@angular/core/testing' -import { SaveViewConfigDialogComponent } from './save-view-config-dialog.component' -import { NgbActiveModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap' -import { By } from '@angular/platform-browser' -import { TextComponent } from '../../common/input/text/text.component' -import { CheckComponent } from '../../common/input/check/check.component' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' +import { NgbActiveModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap' +import { CheckComponent } from '../../common/input/check/check.component' +import { TextComponent } from '../../common/input/text/text.component' +import { SaveViewConfigDialogComponent } from './save-view-config-dialog.component' describe('SaveViewConfigDialogComponent', () => { let component: SaveViewConfigDialogComponent diff --git a/src-ui/src/app/components/document-notes/document-notes.component.spec.ts b/src-ui/src/app/components/document-notes/document-notes.component.spec.ts index 3853d9fda..136e49c9c 100644 --- a/src-ui/src/app/components/document-notes/document-notes.component.spec.ts +++ b/src-ui/src/app/components/document-notes/document-notes.component.spec.ts @@ -1,20 +1,19 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { environment } from 'src/environments/environment' -import { DocumentNotesComponent } from './document-notes.component' -import { UserService } from 'src/app/services/rest/user.service' -import { of, throwError } from 'rxjs' -import { DocumentNotesService } from 'src/app/services/rest/document-notes.service' -import { ToastService } from 'src/app/services/toast.service' -import { DocumentNote } from 'src/app/data/document-note' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { DatePipe } from '@angular/common' -import { By } from '@angular/platform-browser' -import { PermissionsService } from 'src/app/services/permissions.service' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of, throwError } from 'rxjs' +import { DocumentNote } from 'src/app/data/document-note' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' +import { PermissionsService } from 'src/app/services/permissions.service' +import { DocumentNotesService } from 'src/app/services/rest/document-notes.service' +import { UserService } from 'src/app/services/rest/user.service' +import { ToastService } from 'src/app/services/toast.service' +import { DocumentNotesComponent } from './document-notes.component' const notes: DocumentNote[] = [ { diff --git a/src-ui/src/app/components/document-notes/document-notes.component.ts b/src-ui/src/app/components/document-notes/document-notes.component.ts index e35f08e7f..8baf562e5 100644 --- a/src-ui/src/app/components/document-notes/document-notes.component.ts +++ b/src-ui/src/app/components/document-notes/document-notes.component.ts @@ -1,11 +1,11 @@ -import { Component, Input, Output, EventEmitter } from '@angular/core' -import { DocumentNotesService } from 'src/app/services/rest/document-notes.service' -import { DocumentNote } from 'src/app/data/document-note' +import { Component, EventEmitter, Input, Output } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' +import { DocumentNote } from 'src/app/data/document-note' +import { User } from 'src/app/data/user' +import { DocumentNotesService } from 'src/app/services/rest/document-notes.service' +import { UserService } from 'src/app/services/rest/user.service' import { ToastService } from 'src/app/services/toast.service' import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' -import { UserService } from 'src/app/services/rest/user.service' -import { User } from 'src/app/data/user' @Component({ selector: 'pngx-document-notes', diff --git a/src-ui/src/app/components/file-drop/file-drop.component.spec.ts b/src-ui/src/app/components/file-drop/file-drop.component.spec.ts index c58a64708..221fb4101 100644 --- a/src-ui/src/app/components/file-drop/file-drop.component.spec.ts +++ b/src-ui/src/app/components/file-drop/file-drop.component.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, @@ -8,14 +9,13 @@ import { tick, } from '@angular/core/testing' import { By } from '@angular/platform-browser' +import { NgxFileDropEntry, NgxFileDropModule } from 'ngx-file-drop' import { PermissionsService } from 'src/app/services/permissions.service' import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { UploadDocumentsService } from 'src/app/services/upload-documents.service' import { ToastsComponent } from '../common/toasts/toasts.component' import { FileDropComponent } from './file-drop.component' -import { NgxFileDropEntry, NgxFileDropModule } from 'ngx-file-drop' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('FileDropComponent', () => { let component: FileDropComponent diff --git a/src-ui/src/app/components/file-drop/file-drop.component.ts b/src-ui/src/app/components/file-drop/file-drop.component.ts index 7e5096130..2042d64a1 100644 --- a/src-ui/src/app/components/file-drop/file-drop.component.ts +++ b/src-ui/src/app/components/file-drop/file-drop.component.ts @@ -1,8 +1,8 @@ import { Component, HostListener, ViewChild } from '@angular/core' import { NgxFileDropComponent, NgxFileDropEntry } from 'ngx-file-drop' import { - PermissionsService, PermissionAction, + PermissionsService, PermissionType, } from 'src/app/services/permissions.service' import { SettingsService } from 'src/app/services/settings.service' diff --git a/src-ui/src/app/components/loading-component/loading.component.spec.ts b/src-ui/src/app/components/loading-component/loading.component.spec.ts index 82ae0a014..d4667093d 100644 --- a/src-ui/src/app/components/loading-component/loading.component.spec.ts +++ b/src-ui/src/app/components/loading-component/loading.component.spec.ts @@ -1,8 +1,7 @@ -import { TestBed } from '@angular/core/testing' -import { Subject } from 'rxjs' -import { LoadingComponentWithPermissions } from './loading.component' -import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' import { Component } from '@angular/core' +import { TestBed } from '@angular/core/testing' +import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' +import { LoadingComponentWithPermissions } from './loading.component' class MockComponentWithPermissions extends ComponentWithPermissions {} diff --git a/src-ui/src/app/components/loading-component/loading.component.ts b/src-ui/src/app/components/loading-component/loading.component.ts index 62c963c1d..0cde537d3 100644 --- a/src-ui/src/app/components/loading-component/loading.component.ts +++ b/src-ui/src/app/components/loading-component/loading.component.ts @@ -1,6 +1,6 @@ +import { Directive, OnDestroy } from '@angular/core' import { Subject } from 'rxjs' import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' -import { Directive, OnDestroy } from '@angular/core' @Directive() export abstract class LoadingComponentWithPermissions diff --git a/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.spec.ts b/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.spec.ts index 92e0ea758..5b6f725fa 100644 --- a/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.spec.ts +++ b/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.spec.ts @@ -1,16 +1,16 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { CorrespondentListComponent } from './correspondent-list.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' import { DatePipe } from '@angular/common' -import { SortableDirective } from 'src/app/directives/sortable.directive' -import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { CorrespondentService } from 'src/app/services/rest/correspondent.service' -import { of } from 'rxjs' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { SortableDirective } from 'src/app/directives/sortable.directive' +import { CorrespondentService } from 'src/app/services/rest/correspondent.service' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { CorrespondentListComponent } from './correspondent-list.component' describe('CorrespondentListComponent', () => { let component: CorrespondentListComponent diff --git a/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.ts b/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.ts index 94e12cd48..09bfd1338 100644 --- a/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.ts +++ b/src-ui/src/app/components/manage/correspondent-list/correspondent-list.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { FILTER_HAS_CORRESPONDENT_ANY } from 'src/app/data/filter-rule-type' import { Correspondent } from 'src/app/data/correspondent' +import { FILTER_HAS_CORRESPONDENT_ANY } from 'src/app/data/filter-rule-type' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { diff --git a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts index c927b52da..1c1c78fa1 100644 --- a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts +++ b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts @@ -1,34 +1,34 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { CustomFieldsComponent } from './custom-fields.component' -import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { NgbModal, - NgbPaginationModule, NgbModalModule, NgbModalRef, + NgbPaginationModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' -import { of, throwError } from 'rxjs' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { PermissionsService } from 'src/app/services/permissions.service' -import { ToastService } from 'src/app/services/toast.service' -import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { FILTER_CUSTOM_FIELDS_QUERY } from 'src/app/data/filter-rule-type' +import { of, throwError } from 'rxjs' +import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { CustomFieldQueryLogicalOperator, CustomFieldQueryOperator, } from 'src/app/data/custom-field-query' +import { FILTER_CUSTOM_FIELDS_QUERY } from 'src/app/data/filter-rule-type' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { PermissionsService } from 'src/app/services/permissions.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' +import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { CustomFieldsComponent } from './custom-fields.component' const fields: CustomField[] = [ { diff --git a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.ts b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.ts index 106a88721..cd6986e00 100644 --- a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.ts +++ b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.ts @@ -1,20 +1,20 @@ import { Component, OnInit } from '@angular/core' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { delay, takeUntil, tap } from 'rxjs' -import { DATA_TYPE_LABELS, CustomField } from 'src/app/data/custom-field' -import { PermissionsService } from 'src/app/services/permissions.service' -import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' -import { ToastService } from 'src/app/services/toast.service' -import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' -import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' -import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { FILTER_CUSTOM_FIELDS_QUERY } from 'src/app/data/filter-rule-type' +import { CustomField, DATA_TYPE_LABELS } from 'src/app/data/custom-field' import { CustomFieldQueryLogicalOperator, CustomFieldQueryOperator, } from 'src/app/data/custom-field-query' +import { FILTER_CUSTOM_FIELDS_QUERY } from 'src/app/data/filter-rule-type' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' +import { PermissionsService } from 'src/app/services/permissions.service' +import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' +import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' +import { CustomFieldEditDialogComponent } from '../../common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component' +import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ diff --git a/src-ui/src/app/components/manage/document-type-list/document-type-list.component.spec.ts b/src-ui/src/app/components/manage/document-type-list/document-type-list.component.spec.ts index 06e66ed07..1dbaa580d 100644 --- a/src-ui/src/app/components/manage/document-type-list/document-type-list.component.spec.ts +++ b/src-ui/src/app/components/manage/document-type-list/document-type-list.component.spec.ts @@ -1,16 +1,16 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { provideHttpClientTesting } from '@angular/common/http/testing' import { DatePipe } from '@angular/common' -import { SortableDirective } from 'src/app/directives/sortable.directive' -import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { of } from 'rxjs' -import { DocumentTypeListComponent } from './document-type-list.component' -import { DocumentTypeService } from 'src/app/services/rest/document-type.service' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { of } from 'rxjs' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { SortableDirective } from 'src/app/directives/sortable.directive' +import { DocumentTypeService } from 'src/app/services/rest/document-type.service' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { DocumentTypeListComponent } from './document-type-list.component' describe('DocumentTypeListComponent', () => { let component: DocumentTypeListComponent diff --git a/src-ui/src/app/components/manage/document-type-list/document-type-list.component.ts b/src-ui/src/app/components/manage/document-type-list/document-type-list.component.ts index 8a4804144..14b831d01 100644 --- a/src-ui/src/app/components/manage/document-type-list/document-type-list.component.ts +++ b/src-ui/src/app/components/manage/document-type-list/document-type-list.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { FILTER_HAS_DOCUMENT_TYPE_ANY } from 'src/app/data/filter-rule-type' import { DocumentType } from 'src/app/data/document-type' +import { FILTER_HAS_DOCUMENT_TYPE_ANY } from 'src/app/data/filter-rule-type' import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { PermissionsService, diff --git a/src-ui/src/app/components/manage/mail/mail.component.spec.ts b/src-ui/src/app/components/manage/mail/mail.component.spec.ts index 5f9a3c73a..fe98d610f 100644 --- a/src-ui/src/app/components/manage/mail/mail.component.spec.ts +++ b/src-ui/src/app/components/manage/mail/mail.component.spec.ts @@ -1,16 +1,20 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { MailComponent } from './mail.component' import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { By } from '@angular/platform-browser' +import { ActivatedRoute, convertToParamMap } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' import { - NgbModule, NgbAlertModule, - NgbModalRef, NgbModal, + NgbModalRef, + NgbModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' import { MailAccount, MailAccountType } from 'src/app/data/mail-account' @@ -20,9 +24,13 @@ import { IfPermissionsDirective } from 'src/app/directives/if-permissions.direct import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' +import { PermissionsService } from 'src/app/services/permissions.service' import { MailAccountService } from 'src/app/services/rest/mail-account.service' import { MailRuleService } from 'src/app/services/rest/mail-rule.service' +import { SettingsService } from 'src/app/services/settings.service' +import { ToastService } from 'src/app/services/toast.service' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' +import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' import { MailAccountEditDialogComponent } from '../../common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component' import { MailRuleEditDialogComponent } from '../../common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component' import { CheckComponent } from '../../common/input/check/check.component' @@ -32,20 +40,12 @@ import { PermissionsFormComponent } from '../../common/input/permissions/permiss import { PermissionsGroupComponent } from '../../common/input/permissions/permissions-group/permissions-group.component' import { PermissionsUserComponent } from '../../common/input/permissions/permissions-user/permissions-user.component' import { SelectComponent } from '../../common/input/select/select.component' +import { SwitchComponent } from '../../common/input/switch/switch.component' +import { TagsComponent } from '../../common/input/tags/tags.component' import { TextComponent } from '../../common/input/text/text.component' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' -import { PermissionsService } from 'src/app/services/permissions.service' -import { ToastService } from 'src/app/services/toast.service' -import { TagsComponent } from '../../common/input/tags/tags.component' -import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { SwitchComponent } from '../../common/input/switch/switch.component' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { By } from '@angular/platform-browser' -import { ActivatedRoute, convertToParamMap } from '@angular/router' -import { SettingsService } from 'src/app/services/settings.service' +import { MailComponent } from './mail.component' const mailAccounts = [ { id: 1, name: 'account1', account_type: MailAccountType.IMAP }, diff --git a/src-ui/src/app/components/manage/mail/mail.component.ts b/src-ui/src/app/components/manage/mail/mail.component.ts index c15ef28af..678d84ca9 100644 --- a/src-ui/src/app/components/manage/mail/mail.component.ts +++ b/src-ui/src/app/components/manage/mail/mail.component.ts @@ -1,16 +1,19 @@ -import { Component, OnInit, OnDestroy } from '@angular/core' +import { Component, OnDestroy, OnInit } from '@angular/core' +import { ActivatedRoute } from '@angular/router' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { Subject, delay, first, takeUntil, tap } from 'rxjs' -import { ObjectWithPermissions } from 'src/app/data/object-with-permissions' import { MailAccount, MailAccountType } from 'src/app/data/mail-account' import { MailRule } from 'src/app/data/mail-rule' +import { ObjectWithPermissions } from 'src/app/data/object-with-permissions' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { - PermissionsService, PermissionAction, + PermissionsService, } from 'src/app/services/permissions.service' import { AbstractPaperlessService } from 'src/app/services/rest/abstract-paperless-service' import { MailAccountService } from 'src/app/services/rest/mail-account.service' import { MailRuleService } from 'src/app/services/rest/mail-rule.service' +import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' @@ -18,9 +21,6 @@ import { MailAccountEditDialogComponent } from '../../common/edit-dialog/mail-ac import { MailRuleEditDialogComponent } from '../../common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component' import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' -import { SettingsService } from 'src/app/services/settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { ActivatedRoute } from '@angular/router' @Component({ selector: 'pngx-mail', diff --git a/src-ui/src/app/components/manage/management-list/management-list.component.spec.ts b/src-ui/src/app/components/manage/management-list/management-list.component.spec.ts index 02dec4b59..511ba5b3b 100644 --- a/src-ui/src/app/components/manage/management-list/management-list.component.spec.ts +++ b/src-ui/src/app/components/manage/management-list/management-list.component.spec.ts @@ -1,4 +1,5 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, @@ -8,40 +9,41 @@ import { } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' +import { RouterTestingModule } from '@angular/router/testing' import { NgbModal, NgbModalModule, NgbModalRef, NgbPaginationModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' +import { routes } from 'src/app/app-routing.module' +import { FILTER_HAS_TAGS_ALL } from 'src/app/data/filter-rule-type' +import { + MATCH_AUTO, + MATCH_LITERAL, + MATCH_NONE, +} from 'src/app/data/matching-model' import { Tag } from 'src/app/data/tag' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SortableDirective } from 'src/app/directives/sortable.directive' +import { PermissionsGuard } from 'src/app/guards/permissions.guard' import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' -import { TagService } from 'src/app/services/rest/tag.service' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { TagListComponent } from '../tag-list/tag-list.component' -import { ManagementListComponent } from './management-list.component' +import { DocumentListViewService } from 'src/app/services/document-list-view.service' import { PermissionAction, PermissionsService, } from 'src/app/services/permissions.service' -import { ToastService } from 'src/app/services/toast.service' -import { EditDialogComponent } from '../../common/edit-dialog/edit-dialog.component' -import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' -import { DocumentListViewService } from 'src/app/services/document-list-view.service' -import { FILTER_HAS_TAGS_ALL } from 'src/app/data/filter-rule-type' -import { RouterTestingModule } from '@angular/router/testing' -import { routes } from 'src/app/app-routing.module' -import { PermissionsGuard } from 'src/app/guards/permissions.guard' -import { MATCH_AUTO } from 'src/app/data/matching-model' -import { MATCH_NONE } from 'src/app/data/matching-model' -import { MATCH_LITERAL } from 'src/app/data/matching-model' -import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { BulkEditObjectOperation } from 'src/app/services/rest/abstract-name-filter-service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { TagService } from 'src/app/services/rest/tag.service' +import { ToastService } from 'src/app/services/toast.service' +import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' +import { EditDialogComponent } from '../../common/edit-dialog/edit-dialog.component' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { PermissionsDialogComponent } from '../../common/permissions-dialog/permissions-dialog.component' +import { TagListComponent } from '../tag-list/tag-list.component' +import { ManagementListComponent } from './management-list.component' const tags: Tag[] = [ { diff --git a/src-ui/src/app/components/manage/management-list/management-list.component.ts b/src-ui/src/app/components/manage/management-list/management-list.component.ts index 75af9f94c..4c2189e88 100644 --- a/src-ui/src/app/components/manage/management-list/management-list.component.ts +++ b/src-ui/src/app/components/manage/management-list/management-list.component.ts @@ -15,10 +15,10 @@ import { tap, } from 'rxjs/operators' import { - MatchingModel, - MATCHING_ALGORITHMS, MATCH_AUTO, MATCH_NONE, + MATCHING_ALGORITHMS, + MatchingModel, } from 'src/app/data/matching-model' import { ObjectWithId } from 'src/app/data/object-with-id' import { ObjectWithPermissions } from 'src/app/data/object-with-permissions' diff --git a/src-ui/src/app/components/manage/saved-views/saved-views.component.spec.ts b/src-ui/src/app/components/manage/saved-views/saved-views.component.spec.ts index aaa77439a..9ff50f1bc 100644 --- a/src-ui/src/app/components/manage/saved-views/saved-views.component.spec.ts +++ b/src-ui/src/app/components/manage/saved-views/saved-views.component.spec.ts @@ -1,7 +1,8 @@ +import { DragDropModule } from '@angular/cdk/drag-drop' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { ReactiveFormsModule, FormsModule } from '@angular/forms' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' @@ -20,7 +21,6 @@ import { SelectComponent } from '../../common/input/select/select.component' import { TextComponent } from '../../common/input/text/text.component' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { SavedViewsComponent } from './saved-views.component' -import { DragDropModule } from '@angular/cdk/drag-drop' const savedViews = [ { id: 1, name: 'view1', show_in_sidebar: true, show_on_dashboard: true }, diff --git a/src-ui/src/app/components/manage/saved-views/saved-views.component.ts b/src-ui/src/app/components/manage/saved-views/saved-views.component.ts index ba72cb6e5..bd6f5362b 100644 --- a/src-ui/src/app/components/manage/saved-views/saved-views.component.ts +++ b/src-ui/src/app/components/manage/saved-views/saved-views.component.ts @@ -1,11 +1,11 @@ import { Component, OnDestroy, OnInit } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' +import { dirtyCheck } from '@ngneat/dirty-check-forms' +import { BehaviorSubject, Observable, takeUntil } from 'rxjs' +import { DisplayMode } from 'src/app/data/document' import { SavedView } from 'src/app/data/saved-view' import { SavedViewService } from 'src/app/services/rest/saved-view.service' import { SettingsService } from 'src/app/services/settings.service' -import { DisplayMode } from 'src/app/data/document' -import { BehaviorSubject, Observable, takeUntil } from 'rxjs' -import { dirtyCheck } from '@ngneat/dirty-check-forms' import { ToastService } from 'src/app/services/toast.service' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' diff --git a/src-ui/src/app/components/manage/storage-path-list/storage-path-list.component.spec.ts b/src-ui/src/app/components/manage/storage-path-list/storage-path-list.component.spec.ts index 00cb2b037..b69aac37a 100644 --- a/src-ui/src/app/components/manage/storage-path-list/storage-path-list.component.spec.ts +++ b/src-ui/src/app/components/manage/storage-path-list/storage-path-list.component.spec.ts @@ -1,18 +1,18 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' +import { StoragePath } from 'src/app/data/storage-path' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SortableDirective } from 'src/app/directives/sortable.directive' +import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { StoragePathService } from 'src/app/services/rest/storage-path.service' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { StoragePathListComponent } from './storage-path-list.component' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' -import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' -import { StoragePath } from 'src/app/data/storage-path' describe('StoragePathListComponent', () => { let component: StoragePathListComponent diff --git a/src-ui/src/app/components/manage/tag-list/tag-list.component.spec.ts b/src-ui/src/app/components/manage/tag-list/tag-list.component.spec.ts index 33cf36e7c..687fe38d7 100644 --- a/src-ui/src/app/components/manage/tag-list/tag-list.component.spec.ts +++ b/src-ui/src/app/components/manage/tag-list/tag-list.component.spec.ts @@ -1,17 +1,17 @@ import { DatePipe } from '@angular/common' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { SortableDirective } from 'src/app/directives/sortable.directive' +import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' import { TagService } from 'src/app/services/rest/tag.service' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { TagListComponent } from './tag-list.component' -import { SafeHtmlPipe } from 'src/app/pipes/safehtml.pipe' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' describe('TagListComponent', () => { let component: TagListComponent diff --git a/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts b/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts index a268d964c..61f1238cc 100644 --- a/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts +++ b/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts @@ -1,32 +1,32 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { NgbModal, - NgbPaginationModule, - NgbModalRef, NgbModalModule, + NgbModalRef, + NgbPaginationModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { Workflow } from 'src/app/data/workflow' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' -import { WorkflowService } from 'src/app/services/rest/workflow.service' -import { ToastService } from 'src/app/services/toast.service' -import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' -import { PageHeaderComponent } from '../../common/page-header/page-header.component' -import { WorkflowsComponent } from './workflows.component' -import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' -import { PermissionsService } from 'src/app/services/permissions.service' +import { WorkflowActionType } from 'src/app/data/workflow-action' import { DocumentSource, WorkflowTriggerType, } from 'src/app/data/workflow-trigger' -import { WorkflowActionType } from 'src/app/data/workflow-action' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' +import { PermissionsService } from 'src/app/services/permissions.service' +import { WorkflowService } from 'src/app/services/rest/workflow.service' +import { ToastService } from 'src/app/services/toast.service' +import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' +import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' +import { PageHeaderComponent } from '../../common/page-header/page-header.component' +import { WorkflowsComponent } from './workflows.component' const workflows: Workflow[] = [ { diff --git a/src-ui/src/app/components/manage/workflows/workflows.component.ts b/src-ui/src/app/components/manage/workflows/workflows.component.ts index 5178a04f7..c697ee482 100644 --- a/src-ui/src/app/components/manage/workflows/workflows.component.ts +++ b/src-ui/src/app/components/manage/workflows/workflows.component.ts @@ -1,16 +1,16 @@ import { Component, OnInit } from '@angular/core' -import { WorkflowService } from 'src/app/services/rest/workflow.service' +import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { delay, takeUntil, tap } from 'rxjs' import { Workflow } from 'src/app/data/workflow' -import { NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { ToastService } from 'src/app/services/toast.service' import { PermissionsService } from 'src/app/services/permissions.service' -import { - WorkflowEditDialogComponent, - WORKFLOW_TYPE_OPTIONS, -} from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' +import { WorkflowService } from 'src/app/services/rest/workflow.service' +import { ToastService } from 'src/app/services/toast.service' import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component' import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component' +import { + WORKFLOW_TYPE_OPTIONS, + WorkflowEditDialogComponent, +} from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @Component({ diff --git a/src-ui/src/app/components/not-found/not-found.component.spec.ts b/src-ui/src/app/components/not-found/not-found.component.spec.ts index 6d4a70aca..3c8f08d8e 100644 --- a/src-ui/src/app/components/not-found/not-found.component.spec.ts +++ b/src-ui/src/app/components/not-found/not-found.component.spec.ts @@ -1,10 +1,10 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing' -import { NotFoundComponent } from './not-found.component' -import { By } from '@angular/platform-browser' -import { LogoComponent } from '../common/logo/logo.component' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { By } from '@angular/platform-browser' +import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' +import { LogoComponent } from '../common/logo/logo.component' +import { NotFoundComponent } from './not-found.component' describe('NotFoundComponent', () => { let component: NotFoundComponent diff --git a/src-ui/src/app/data/document.ts b/src-ui/src/app/data/document.ts index 40a499ae4..168fcff92 100644 --- a/src-ui/src/app/data/document.ts +++ b/src-ui/src/app/data/document.ts @@ -1,11 +1,11 @@ -import { Correspondent } from './correspondent' -import { Tag } from './tag' -import { DocumentType } from './document-type' import { Observable } from 'rxjs' -import { StoragePath } from './storage-path' -import { ObjectWithPermissions } from './object-with-permissions' -import { DocumentNote } from './document-note' +import { Correspondent } from './correspondent' import { CustomFieldInstance } from './custom-field-instance' +import { DocumentNote } from './document-note' +import { DocumentType } from './document-type' +import { ObjectWithPermissions } from './object-with-permissions' +import { StoragePath } from './storage-path' +import { Tag } from './tag' export enum DisplayMode { TABLE = 'table', diff --git a/src-ui/src/app/data/saved-view.ts b/src-ui/src/app/data/saved-view.ts index 1dc35ed32..15959b8ad 100644 --- a/src-ui/src/app/data/saved-view.ts +++ b/src-ui/src/app/data/saved-view.ts @@ -1,4 +1,4 @@ -import { DisplayMode, DisplayField } from './document' +import { DisplayField, DisplayMode } from './document' import { FilterRule } from './filter-rule' import { ObjectWithPermissions } from './object-with-permissions' diff --git a/src-ui/src/app/directives/if-object-permissions.directive.spec.ts b/src-ui/src/app/directives/if-object-permissions.directive.spec.ts index b964ff811..ff3f108eb 100644 --- a/src-ui/src/app/directives/if-object-permissions.directive.spec.ts +++ b/src-ui/src/app/directives/if-object-permissions.directive.spec.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { IfObjectPermissionsDirective } from './if-object-permissions.directive' import { PermissionsService } from '../services/permissions.service' +import { IfObjectPermissionsDirective } from './if-object-permissions.directive' @Component({ template: ` diff --git a/src-ui/src/app/directives/if-owner.directive.spec.ts b/src-ui/src/app/directives/if-owner.directive.spec.ts index 289a8c4ca..0f8aadeab 100644 --- a/src-ui/src/app/directives/if-owner.directive.spec.ts +++ b/src-ui/src/app/directives/if-owner.directive.spec.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { IfOwnerDirective } from './if-owner.directive' import { PermissionsService } from '../services/permissions.service' +import { IfOwnerDirective } from './if-owner.directive' @Component({ template: ` diff --git a/src-ui/src/app/directives/if-permissions.directive.spec.ts b/src-ui/src/app/directives/if-permissions.directive.spec.ts index e44706571..c55b17a40 100644 --- a/src-ui/src/app/directives/if-permissions.directive.spec.ts +++ b/src-ui/src/app/directives/if-permissions.directive.spec.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { IfPermissionsDirective } from './if-permissions.directive' import { PermissionsService } from '../services/permissions.service' +import { IfPermissionsDirective } from './if-permissions.directive' @Component({ template: ` diff --git a/src-ui/src/app/directives/if-permissions.directive.ts b/src-ui/src/app/directives/if-permissions.directive.ts index 29d40d129..f3a6e3376 100644 --- a/src-ui/src/app/directives/if-permissions.directive.ts +++ b/src-ui/src/app/directives/if-permissions.directive.ts @@ -1,9 +1,9 @@ import { + Directive, Input, OnInit, - Directive, - ViewContainerRef, TemplateRef, + ViewContainerRef, } from '@angular/core' import { PermissionAction, diff --git a/src-ui/src/app/directives/sortable.directive.spec.ts b/src-ui/src/app/directives/sortable.directive.spec.ts index 4d5cd8831..16bf84beb 100644 --- a/src-ui/src/app/directives/sortable.directive.spec.ts +++ b/src-ui/src/app/directives/sortable.directive.spec.ts @@ -1,7 +1,7 @@ import { Component, DebugElement } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { SortEvent, SortableDirective } from './sortable.directive' import { By } from '@angular/platform-browser' +import { SortEvent, SortableDirective } from './sortable.directive' @Component({ template: ` diff --git a/src-ui/src/app/guards/dirty-doc.guard.spec.ts b/src-ui/src/app/guards/dirty-doc.guard.spec.ts index 1b99c1ba7..6f9429126 100644 --- a/src-ui/src/app/guards/dirty-doc.guard.spec.ts +++ b/src-ui/src/app/guards/dirty-doc.guard.spec.ts @@ -1,8 +1,8 @@ -import { TestBed } from '@angular/core/testing' -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { RouterTestingModule } from '@angular/router/testing' -import { routes } from '../app-routing.module' import { Component } from '@angular/core' +import { TestBed } from '@angular/core/testing' +import { RouterTestingModule } from '@angular/router/testing' +import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { routes } from '../app-routing.module' import { ComponentCanDeactivate, DirtyDocGuard } from './dirty-doc.guard' @Component({}) diff --git a/src-ui/src/app/guards/dirty-form.guard.spec.ts b/src-ui/src/app/guards/dirty-form.guard.spec.ts index c5c473b27..5884955e3 100644 --- a/src-ui/src/app/guards/dirty-form.guard.spec.ts +++ b/src-ui/src/app/guards/dirty-form.guard.spec.ts @@ -1,12 +1,12 @@ +import { Component } from '@angular/core' import { TestBed } from '@angular/core/testing' -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { ActivatedRoute } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' +import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { DirtyComponent } from '@ngneat/dirty-check-forms' import { routes } from '../app-routing.module' import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' import { DirtyFormGuard } from './dirty-form.guard' -import { DirtyComponent } from '@ngneat/dirty-check-forms' -import { ActivatedRoute } from '@angular/router' -import { Component } from '@angular/core' @Component({}) class GenericDirtyComponent implements DirtyComponent { diff --git a/src-ui/src/app/guards/dirty-form.guard.ts b/src-ui/src/app/guards/dirty-form.guard.ts index e20f1a848..4f27de89a 100644 --- a/src-ui/src/app/guards/dirty-form.guard.ts +++ b/src-ui/src/app/guards/dirty-form.guard.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core' +import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { DirtyCheckGuard } from '@ngneat/dirty-check-forms' import { Observable, Subject } from 'rxjs' -import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { ConfirmDialogComponent } from 'src/app/components/common/confirm-dialog/confirm-dialog.component' @Injectable({ providedIn: 'root' }) diff --git a/src-ui/src/app/guards/dirty-saved-view.guard.spec.ts b/src-ui/src/app/guards/dirty-saved-view.guard.spec.ts index 07ac5e08a..a745f919b 100644 --- a/src-ui/src/app/guards/dirty-saved-view.guard.spec.ts +++ b/src-ui/src/app/guards/dirty-saved-view.guard.spec.ts @@ -1,13 +1,13 @@ -import { TestBed } from '@angular/core/testing' -import { DirtySavedViewGuard } from './dirty-saved-view.guard' -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' -import { SettingsService } from '../services/settings.service' -import { DocumentListComponent } from '../components/document-list/document-list.component' -import { RouterTestingModule } from '@angular/router/testing' -import { routes } from '../app-routing.module' -import { provideHttpClientTesting } from '@angular/common/http/testing' -import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { TestBed } from '@angular/core/testing' +import { RouterTestingModule } from '@angular/router/testing' +import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' +import { routes } from '../app-routing.module' +import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' +import { DocumentListComponent } from '../components/document-list/document-list.component' +import { SettingsService } from '../services/settings.service' +import { DirtySavedViewGuard } from './dirty-saved-view.guard' describe('DirtySavedViewGuard', () => { let guard: DirtySavedViewGuard diff --git a/src-ui/src/app/guards/dirty-saved-view.guard.ts b/src-ui/src/app/guards/dirty-saved-view.guard.ts index 9dd487d96..709acfa09 100644 --- a/src-ui/src/app/guards/dirty-saved-view.guard.ts +++ b/src-ui/src/app/guards/dirty-saved-view.guard.ts @@ -1,10 +1,10 @@ import { Injectable } from '@angular/core' -import { first, Observable, Subject } from 'rxjs' -import { DocumentListComponent } from '../components/document-list/document-list.component' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' +import { first, Observable, Subject } from 'rxjs' import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' -import { SettingsService } from '../services/settings.service' +import { DocumentListComponent } from '../components/document-list/document-list.component' import { SETTINGS_KEYS } from '../data/ui-settings' +import { SettingsService } from '../services/settings.service' @Injectable() export class DirtySavedViewGuard { diff --git a/src-ui/src/app/guards/permissions.guard.spec.ts b/src-ui/src/app/guards/permissions.guard.spec.ts index 76b7c3929..77fe615e1 100644 --- a/src-ui/src/app/guards/permissions.guard.spec.ts +++ b/src-ui/src/app/guards/permissions.guard.spec.ts @@ -1,15 +1,13 @@ import { TestBed } from '@angular/core/testing' -import { PermissionsGuard } from './permissions.guard' +import { ActivatedRoute, RouterState } from '@angular/router' +import { TourService } from 'ngx-ui-tour-ng-bootstrap' import { PermissionAction, PermissionType, PermissionsService, } from '../services/permissions.service' -import { ActivatedRoute } from '@angular/router' -import { RouterStateSnapshot } from '@angular/router' -import { TourService } from 'ngx-ui-tour-ng-bootstrap' import { ToastService } from '../services/toast.service' -import { RouterState } from '@angular/router' +import { PermissionsGuard } from './permissions.guard' describe('PermissionsGuard', () => { let guard: PermissionsGuard diff --git a/src-ui/src/app/guards/permissions.guard.ts b/src-ui/src/app/guards/permissions.guard.ts index 402cc00f5..c820edea2 100644 --- a/src-ui/src/app/guards/permissions.guard.ts +++ b/src-ui/src/app/guards/permissions.guard.ts @@ -1,13 +1,13 @@ +import { Injectable } from '@angular/core' import { ActivatedRouteSnapshot, + Router, RouterStateSnapshot, UrlTree, - Router, } from '@angular/router' -import { Injectable } from '@angular/core' +import { TourService } from 'ngx-ui-tour-ng-bootstrap' import { PermissionsService } from '../services/permissions.service' import { ToastService } from '../services/toast.service' -import { TourService } from 'ngx-ui-tour-ng-bootstrap' @Injectable() export class PermissionsGuard { diff --git a/src-ui/src/app/interceptors/api-version.interceptor.spec.ts b/src-ui/src/app/interceptors/api-version.interceptor.spec.ts index e3a2d7e5d..c4ddd9349 100644 --- a/src-ui/src/app/interceptors/api-version.interceptor.spec.ts +++ b/src-ui/src/app/interceptors/api-version.interceptor.spec.ts @@ -1,8 +1,8 @@ -import { TestBed } from '@angular/core/testing' -import { ApiVersionInterceptor } from './api-version.interceptor' import { HttpEvent, HttpRequest } from '@angular/common/http' +import { TestBed } from '@angular/core/testing' import { of } from 'rxjs' import { environment } from 'src/environments/environment' +import { ApiVersionInterceptor } from './api-version.interceptor' describe('ApiVersionInterceptor', () => { let interceptor: ApiVersionInterceptor diff --git a/src-ui/src/app/interceptors/api-version.interceptor.ts b/src-ui/src/app/interceptors/api-version.interceptor.ts index eb246c580..f6ec6798d 100644 --- a/src-ui/src/app/interceptors/api-version.interceptor.ts +++ b/src-ui/src/app/interceptors/api-version.interceptor.ts @@ -1,10 +1,10 @@ -import { Injectable } from '@angular/core' import { - HttpRequest, - HttpHandler, HttpEvent, + HttpHandler, HttpInterceptor, + HttpRequest, } from '@angular/common/http' +import { Injectable } from '@angular/core' import { Observable } from 'rxjs' import { environment } from 'src/environments/environment' diff --git a/src-ui/src/app/interceptors/csrf.interceptor.spec.ts b/src-ui/src/app/interceptors/csrf.interceptor.spec.ts index 78ebeb318..fb2e1a2fa 100644 --- a/src-ui/src/app/interceptors/csrf.interceptor.spec.ts +++ b/src-ui/src/app/interceptors/csrf.interceptor.spec.ts @@ -1,9 +1,9 @@ -import { TestBed } from '@angular/core/testing' -import { CsrfInterceptor } from './csrf.interceptor' -import { Meta } from '@angular/platform-browser' import { HttpEvent, HttpRequest } from '@angular/common/http' -import { of } from 'rxjs' +import { TestBed } from '@angular/core/testing' +import { Meta } from '@angular/platform-browser' import { CookieService } from 'ngx-cookie-service' +import { of } from 'rxjs' +import { CsrfInterceptor } from './csrf.interceptor' describe('CsrfInterceptor', () => { let interceptor: CsrfInterceptor diff --git a/src-ui/src/app/interceptors/csrf.interceptor.ts b/src-ui/src/app/interceptors/csrf.interceptor.ts index c91111544..2febf2014 100644 --- a/src-ui/src/app/interceptors/csrf.interceptor.ts +++ b/src-ui/src/app/interceptors/csrf.interceptor.ts @@ -1,13 +1,13 @@ -import { Injectable } from '@angular/core' import { - HttpRequest, - HttpHandler, HttpEvent, + HttpHandler, HttpInterceptor, + HttpRequest, } from '@angular/common/http' -import { Observable } from 'rxjs' -import { CookieService } from 'ngx-cookie-service' +import { Injectable } from '@angular/core' import { Meta } from '@angular/platform-browser' +import { CookieService } from 'ngx-cookie-service' +import { Observable } from 'rxjs' @Injectable() export class CsrfInterceptor implements HttpInterceptor { diff --git a/src-ui/src/app/pipes/custom-date.pipe.spec.ts b/src-ui/src/app/pipes/custom-date.pipe.spec.ts index 0877d9157..758c52d54 100644 --- a/src-ui/src/app/pipes/custom-date.pipe.spec.ts +++ b/src-ui/src/app/pipes/custom-date.pipe.spec.ts @@ -1,9 +1,9 @@ -import { TestBed } from '@angular/core/testing' -import { CustomDatePipe } from './custom-date.pipe' -import { SettingsService } from '../services/settings.service' -import { provideHttpClientTesting } from '@angular/common/http/testing' import { DatePipe } from '@angular/common' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { provideHttpClientTesting } from '@angular/common/http/testing' +import { TestBed } from '@angular/core/testing' +import { SettingsService } from '../services/settings.service' +import { CustomDatePipe } from './custom-date.pipe' describe('CustomDatePipe', () => { let datePipe: CustomDatePipe diff --git a/src-ui/src/app/pipes/safehtml.pipe.spec.ts b/src-ui/src/app/pipes/safehtml.pipe.spec.ts index 28fb9deed..8ef9a9e47 100644 --- a/src-ui/src/app/pipes/safehtml.pipe.spec.ts +++ b/src-ui/src/app/pipes/safehtml.pipe.spec.ts @@ -1,6 +1,6 @@ import { TestBed } from '@angular/core/testing' -import { SafeHtmlPipe } from './safehtml.pipe' import { BrowserModule, DomSanitizer } from '@angular/platform-browser' +import { SafeHtmlPipe } from './safehtml.pipe' describe('SafeHtmlPipe', () => { let pipe: SafeHtmlPipe diff --git a/src-ui/src/app/pipes/safeurl.pipe.spec.ts b/src-ui/src/app/pipes/safeurl.pipe.spec.ts index cf34a0d6d..b1fc16885 100644 --- a/src-ui/src/app/pipes/safeurl.pipe.spec.ts +++ b/src-ui/src/app/pipes/safeurl.pipe.spec.ts @@ -1,6 +1,6 @@ import { TestBed } from '@angular/core/testing' -import { SafeUrlPipe } from './safeurl.pipe' import { BrowserModule, DomSanitizer } from '@angular/platform-browser' +import { SafeUrlPipe } from './safeurl.pipe' describe('SafeUrlPipe', () => { let pipe: SafeUrlPipe diff --git a/src-ui/src/app/pipes/username.pipe.spec.ts b/src-ui/src/app/pipes/username.pipe.spec.ts index 58eeaccde..083816326 100644 --- a/src-ui/src/app/pipes/username.pipe.spec.ts +++ b/src-ui/src/app/pipes/username.pipe.spec.ts @@ -1,13 +1,12 @@ -import { TestBed } from '@angular/core/testing' -import { UsernamePipe } from './username.pipe' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' +import { TestBed } from '@angular/core/testing' import { environment } from 'src/environments/environment' import { PermissionsService } from '../services/permissions.service' -import { UserService } from '../services/rest/user.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { UsernamePipe } from './username.pipe' describe('UsernamePipe', () => { let pipe: UsernamePipe diff --git a/src-ui/src/app/pipes/username.pipe.ts b/src-ui/src/app/pipes/username.pipe.ts index 8a79811b5..54e8385d8 100644 --- a/src-ui/src/app/pipes/username.pipe.ts +++ b/src-ui/src/app/pipes/username.pipe.ts @@ -1,11 +1,11 @@ import { Pipe, PipeTransform } from '@angular/core' -import { UserService } from '../services/rest/user.service' +import { User } from '../data/user' import { PermissionAction, PermissionType, PermissionsService, } from '../services/permissions.service' -import { User } from '../data/user' +import { UserService } from '../services/rest/user.service' @Pipe({ name: 'username', diff --git a/src-ui/src/app/services/config.service.spec.ts b/src-ui/src/app/services/config.service.spec.ts index 91c90e734..45335b33a 100644 --- a/src-ui/src/app/services/config.service.spec.ts +++ b/src-ui/src/app/services/config.service.spec.ts @@ -1,13 +1,13 @@ import { TestBed } from '@angular/core/testing' -import { ConfigService } from './config.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' import { environment } from 'src/environments/environment' import { OutputTypeConfig, PaperlessConfig } from '../data/paperless-config' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { ConfigService } from './config.service' describe('ConfigService', () => { let service: ConfigService diff --git a/src-ui/src/app/services/consumer-status.service.spec.ts b/src-ui/src/app/services/consumer-status.service.spec.ts index a39a9a145..b699f8772 100644 --- a/src-ui/src/app/services/consumer-status.service.spec.ts +++ b/src-ui/src/app/services/consumer-status.service.spec.ts @@ -1,22 +1,22 @@ -import { TestBed } from '@angular/core/testing' -import { - ConsumerStatusService, - FILE_STATUS_MESSAGES, - FileStatusPhase, -} from './consumer-status.service' -import { - HttpTestingController, - provideHttpClientTesting, -} from '@angular/common/http/testing' -import { environment } from 'src/environments/environment' -import { DocumentService } from './rest/document.service' import { HttpEventType, HttpResponse, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http' +import { + HttpTestingController, + provideHttpClientTesting, +} from '@angular/common/http/testing' +import { TestBed } from '@angular/core/testing' import WS from 'jest-websocket-mock' +import { environment } from 'src/environments/environment' +import { + ConsumerStatusService, + FILE_STATUS_MESSAGES, + FileStatusPhase, +} from './consumer-status.service' +import { DocumentService } from './rest/document.service' import { SettingsService } from './settings.service' describe('ConsumerStatusService', () => { diff --git a/src-ui/src/app/services/document-list-view.service.spec.ts b/src-ui/src/app/services/document-list-view.service.spec.ts index 26455f8c0..2ef084b17 100644 --- a/src-ui/src/app/services/document-list-view.service.spec.ts +++ b/src-ui/src/app/services/document-list-view.service.spec.ts @@ -1,30 +1,30 @@ -import { TestBed } from '@angular/core/testing' -import { DocumentListViewService } from './document-list-view.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { environment } from 'src/environments/environment' -import { Subscription } from 'rxjs' -import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' +import { TestBed } from '@angular/core/testing' import { Params, Router, convertToParamMap } from '@angular/router' +import { RouterTestingModule } from '@angular/router/testing' +import { Subscription } from 'rxjs' +import { routes } from 'src/app/app-routing.module' +import { environment } from 'src/environments/environment' +import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' +import { + DEFAULT_DISPLAY_FIELDS, + DisplayField, + DisplayMode, +} from '../data/document' +import { FilterRule } from '../data/filter-rule' import { FILTER_HAS_TAGS_ALL, FILTER_HAS_TAGS_ANY, } from '../data/filter-rule-type' import { SavedView } from '../data/saved-view' -import { FilterRule } from '../data/filter-rule' -import { RouterTestingModule } from '@angular/router/testing' -import { routes } from 'src/app/app-routing.module' -import { PermissionsGuard } from '../guards/permissions.guard' -import { SettingsService } from './settings.service' import { SETTINGS_KEYS } from '../data/ui-settings' -import { - DisplayMode, - DisplayField, - DEFAULT_DISPLAY_FIELDS, -} from '../data/document' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PermissionsGuard } from '../guards/permissions.guard' +import { DocumentListViewService } from './document-list-view.service' +import { SettingsService } from './settings.service' const documents = [ { diff --git a/src-ui/src/app/services/document-list-view.service.ts b/src-ui/src/app/services/document-list-view.service.ts index eee8daea1..e15c11d3a 100644 --- a/src-ui/src/app/services/document-list-view.service.ts +++ b/src-ui/src/app/services/document-list-view.service.ts @@ -1,21 +1,21 @@ import { Injectable } from '@angular/core' import { ParamMap, Router } from '@angular/router' import { Observable, Subject, first, takeUntil } from 'rxjs' -import { FilterRule } from '../data/filter-rule' -import { - filterRulesDiffer, - cloneFilterRules, - isFullTextFilterRule, -} from '../utils/filter-rules' import { DEFAULT_DISPLAY_FIELDS, DisplayField, DisplayMode, Document, } from '../data/document' +import { FilterRule } from '../data/filter-rule' import { SavedView } from '../data/saved-view' -import { SETTINGS_KEYS } from '../data/ui-settings' import { DOCUMENT_LIST_SERVICE } from '../data/storage-keys' +import { SETTINGS_KEYS } from '../data/ui-settings' +import { + cloneFilterRules, + filterRulesDiffer, + isFullTextFilterRule, +} from '../utils/filter-rules' import { paramsFromViewState, paramsToViewState } from '../utils/query-params' import { DocumentService, SelectionData } from './rest/document.service' import { SettingsService } from './settings.service' diff --git a/src-ui/src/app/services/hot-key.service.spec.ts b/src-ui/src/app/services/hot-key.service.spec.ts index d23293c59..76dcb6dce 100644 --- a/src-ui/src/app/services/hot-key.service.spec.ts +++ b/src-ui/src/app/services/hot-key.service.spec.ts @@ -1,9 +1,9 @@ +import { DOCUMENT } from '@angular/common' import { TestBed } from '@angular/core/testing' import { EventManager } from '@angular/platform-browser' -import { DOCUMENT } from '@angular/common' -import { HotKeyService } from './hot-key.service' import { NgbModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap' +import { HotKeyService } from './hot-key.service' describe('HotKeyService', () => { let service: HotKeyService diff --git a/src-ui/src/app/services/open-documents.service.spec.ts b/src-ui/src/app/services/open-documents.service.spec.ts index 3dc7f9c3f..d34199b1e 100644 --- a/src-ui/src/app/services/open-documents.service.spec.ts +++ b/src-ui/src/app/services/open-documents.service.spec.ts @@ -1,16 +1,15 @@ -import { TestBed } from '@angular/core/testing' -import { OpenDocumentsService } from './open-documents.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { environment } from 'src/environments/environment' -import { Subscription, throwError } from 'rxjs' +import { TestBed } from '@angular/core/testing' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' +import { Subscription } from 'rxjs' +import { environment } from 'src/environments/environment' import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' import { OPEN_DOCUMENT_SERVICE } from '../data/storage-keys' -import { wind } from 'ngx-bootstrap-icons' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { OpenDocumentsService } from './open-documents.service' const documents = [ { diff --git a/src-ui/src/app/services/open-documents.service.ts b/src-ui/src/app/services/open-documents.service.ts index 33e98ce12..e9a3c7a70 100644 --- a/src-ui/src/app/services/open-documents.service.ts +++ b/src-ui/src/app/services/open-documents.service.ts @@ -1,11 +1,11 @@ import { Injectable } from '@angular/core' +import { NgbModal } from '@ng-bootstrap/ng-bootstrap' +import { Observable, Subject, of } from 'rxjs' +import { first } from 'rxjs/operators' +import { ConfirmDialogComponent } from 'src/app/components/common/confirm-dialog/confirm-dialog.component' import { Document } from '../data/document' import { OPEN_DOCUMENT_SERVICE } from '../data/storage-keys' import { DocumentService } from './rest/document.service' -import { NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { ConfirmDialogComponent } from 'src/app/components/common/confirm-dialog/confirm-dialog.component' -import { Observable, Subject, of } from 'rxjs' -import { first } from 'rxjs/operators' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/permissions.service.spec.ts b/src-ui/src/app/services/permissions.service.spec.ts index ecbdb6f1b..fb4937072 100644 --- a/src-ui/src/app/services/permissions.service.spec.ts +++ b/src-ui/src/app/services/permissions.service.spec.ts @@ -1,10 +1,10 @@ import { TestBed } from '@angular/core/testing' +import { Document } from '../data/document' import { PermissionAction, PermissionType, PermissionsService, } from './permissions.service' -import { Document } from '../data/document' describe('PermissionsService', () => { let permissionsService: PermissionsService diff --git a/src-ui/src/app/services/profile.service.spec.ts b/src-ui/src/app/services/profile.service.spec.ts index b7b85ee35..0dcb814a8 100644 --- a/src-ui/src/app/services/profile.service.spec.ts +++ b/src-ui/src/app/services/profile.service.spec.ts @@ -1,12 +1,12 @@ import { TestBed } from '@angular/core/testing' -import { ProfileService } from './profile.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' import { environment } from 'src/environments/environment' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { ProfileService } from './profile.service' describe('ProfileService', () => { let httpTestingController: HttpTestingController diff --git a/src-ui/src/app/services/profile.service.ts b/src-ui/src/app/services/profile.service.ts index 09839d012..42075674b 100644 --- a/src-ui/src/app/services/profile.service.ts +++ b/src-ui/src/app/services/profile.service.ts @@ -1,12 +1,12 @@ import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' import { Observable } from 'rxjs' +import { environment } from 'src/environments/environment' import { - TotpSettings, PaperlessUserProfile, SocialAccountProvider, + TotpSettings, } from '../data/user-profile' -import { environment } from 'src/environments/environment' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/rest/abstract-name-filter-service.spec.ts b/src-ui/src/app/services/rest/abstract-name-filter-service.spec.ts index f61efc640..8d3b4bfc4 100644 --- a/src-ui/src/app/services/rest/abstract-name-filter-service.spec.ts +++ b/src-ui/src/app/services/rest/abstract-name-filter-service.spec.ts @@ -1,6 +1,6 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' import { AbstractNameFilterService, diff --git a/src-ui/src/app/services/rest/abstract-name-filter-service.ts b/src-ui/src/app/services/rest/abstract-name-filter-service.ts index 03c7e5470..a43e8f84a 100644 --- a/src-ui/src/app/services/rest/abstract-name-filter-service.ts +++ b/src-ui/src/app/services/rest/abstract-name-filter-service.ts @@ -1,7 +1,7 @@ -import { ObjectWithId } from 'src/app/data/object-with-id' -import { AbstractPaperlessService } from './abstract-paperless-service' -import { PermissionsObject } from 'src/app/data/object-with-permissions' import { Observable } from 'rxjs' +import { ObjectWithId } from 'src/app/data/object-with-id' +import { PermissionsObject } from 'src/app/data/object-with-permissions' +import { AbstractPaperlessService } from './abstract-paperless-service' export enum BulkEditObjectOperation { SetPermissions = 'set_permissions', diff --git a/src-ui/src/app/services/rest/abstract-paperless-service.spec.ts b/src-ui/src/app/services/rest/abstract-paperless-service.spec.ts index 38549c0bc..3bbd278b1 100644 --- a/src-ui/src/app/services/rest/abstract-paperless-service.spec.ts +++ b/src-ui/src/app/services/rest/abstract-paperless-service.spec.ts @@ -1,12 +1,12 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { AbstractPaperlessService } from './abstract-paperless-service' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { AbstractPaperlessService } from './abstract-paperless-service' let httpTestingController: HttpTestingController let service: AbstractPaperlessService diff --git a/src-ui/src/app/services/rest/correspondent.service.spec.ts b/src-ui/src/app/services/rest/correspondent.service.spec.ts index 94cfa9c07..afd544bf7 100644 --- a/src-ui/src/app/services/rest/correspondent.service.spec.ts +++ b/src-ui/src/app/services/rest/correspondent.service.spec.ts @@ -1,5 +1,5 @@ -import { CorrespondentService } from './correspondent.service' import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' +import { CorrespondentService } from './correspondent.service' commonAbstractNameFilterPaperlessServiceTests( 'correspondents', diff --git a/src-ui/src/app/services/rest/custom-fields.service.spec.ts b/src-ui/src/app/services/rest/custom-fields.service.spec.ts index a002a2867..fed493716 100644 --- a/src-ui/src/app/services/rest/custom-fields.service.spec.ts +++ b/src-ui/src/app/services/rest/custom-fields.service.spec.ts @@ -1,7 +1,5 @@ import { HttpTestingController } from '@angular/common/http/testing' import { Subscription } from 'rxjs' -import { TestBed } from '@angular/core/testing' -import { environment } from 'src/environments/environment' import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' import { CustomFieldsService } from './custom-fields.service' diff --git a/src-ui/src/app/services/rest/custom-fields.service.ts b/src-ui/src/app/services/rest/custom-fields.service.ts index e4be128aa..0ac31eefd 100644 --- a/src-ui/src/app/services/rest/custom-fields.service.ts +++ b/src-ui/src/app/services/rest/custom-fields.service.ts @@ -1,7 +1,7 @@ -import { Injectable } from '@angular/core' import { HttpClient } from '@angular/common/http' -import { AbstractPaperlessService } from './abstract-paperless-service' +import { Injectable } from '@angular/core' import { CustomField } from 'src/app/data/custom-field' +import { AbstractPaperlessService } from './abstract-paperless-service' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/rest/document-notes.service.spec.ts b/src-ui/src/app/services/rest/document-notes.service.spec.ts index df3f8ee30..62cff8d6d 100644 --- a/src-ui/src/app/services/rest/document-notes.service.spec.ts +++ b/src-ui/src/app/services/rest/document-notes.service.spec.ts @@ -1,6 +1,6 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' import { DocumentNotesService } from './document-notes.service' diff --git a/src-ui/src/app/services/rest/document-notes.service.ts b/src-ui/src/app/services/rest/document-notes.service.ts index f053303cd..3d3d6dacf 100644 --- a/src-ui/src/app/services/rest/document-notes.service.ts +++ b/src-ui/src/app/services/rest/document-notes.service.ts @@ -1,8 +1,8 @@ -import { Injectable } from '@angular/core' import { HttpClient, HttpParams } from '@angular/common/http' +import { Injectable } from '@angular/core' +import { Observable } from 'rxjs' import { DocumentNote } from 'src/app/data/document-note' import { AbstractPaperlessService } from './abstract-paperless-service' -import { Observable } from 'rxjs' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/rest/document-type.service.spec.ts b/src-ui/src/app/services/rest/document-type.service.spec.ts index 9fc91514e..76a96c1dc 100644 --- a/src-ui/src/app/services/rest/document-type.service.spec.ts +++ b/src-ui/src/app/services/rest/document-type.service.spec.ts @@ -1,5 +1,5 @@ -import { DocumentTypeService } from './document-type.service' import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' +import { DocumentTypeService } from './document-type.service' commonAbstractNameFilterPaperlessServiceTests( 'document_types', diff --git a/src-ui/src/app/services/rest/document.service.spec.ts b/src-ui/src/app/services/rest/document.service.spec.ts index 3bea435fc..72610abee 100644 --- a/src-ui/src/app/services/rest/document.service.spec.ts +++ b/src-ui/src/app/services/rest/document.service.spec.ts @@ -1,20 +1,20 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' -import { environment } from 'src/environments/environment' -import { DocumentService } from './document.service' -import { FILTER_TITLE } from 'src/app/data/filter-rule-type' -import { SettingsService } from '../settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { Subscription } from 'rxjs' import { DOCUMENT_SORT_FIELDS, DOCUMENT_SORT_FIELDS_FULLTEXT, } from 'src/app/data/document' +import { FILTER_TITLE } from 'src/app/data/filter-rule-type' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { environment } from 'src/environments/environment' import { PermissionsService } from '../permissions.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { SettingsService } from '../settings.service' +import { DocumentService } from './document.service' let httpTestingController: HttpTestingController let service: DocumentService diff --git a/src-ui/src/app/services/rest/document.service.ts b/src-ui/src/app/services/rest/document.service.ts index 4d17bbd24..a703f0388 100644 --- a/src-ui/src/app/services/rest/document.service.ts +++ b/src-ui/src/app/services/rest/document.service.ts @@ -1,30 +1,30 @@ +import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' +import { Observable } from 'rxjs' +import { map, tap } from 'rxjs/operators' +import { AuditLogEntry } from 'src/app/data/auditlog-entry' import { DOCUMENT_SORT_FIELDS, DOCUMENT_SORT_FIELDS_FULLTEXT, Document, } from 'src/app/data/document' import { DocumentMetadata } from 'src/app/data/document-metadata' -import { AbstractPaperlessService } from './abstract-paperless-service' -import { HttpClient } from '@angular/common/http' -import { Observable } from 'rxjs' -import { Results } from 'src/app/data/results' -import { FilterRule } from 'src/app/data/filter-rule' -import { map, tap } from 'rxjs/operators' -import { CorrespondentService } from './correspondent.service' -import { DocumentTypeService } from './document-type.service' -import { TagService } from './tag.service' import { DocumentSuggestions } from 'src/app/data/document-suggestions' +import { FilterRule } from 'src/app/data/filter-rule' +import { Results } from 'src/app/data/results' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { queryParamsFromFilterRules } from '../../utils/query-params' -import { StoragePathService } from './storage-path.service' import { PermissionAction, PermissionType, PermissionsService, } from '../permissions.service' import { SettingsService } from '../settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { AuditLogEntry } from 'src/app/data/auditlog-entry' +import { AbstractPaperlessService } from './abstract-paperless-service' +import { CorrespondentService } from './correspondent.service' +import { DocumentTypeService } from './document-type.service' +import { StoragePathService } from './storage-path.service' +import { TagService } from './tag.service' export interface SelectionDataItem { id: number diff --git a/src-ui/src/app/services/rest/group.service.spec.ts b/src-ui/src/app/services/rest/group.service.spec.ts index 98183b589..70c10194d 100644 --- a/src-ui/src/app/services/rest/group.service.spec.ts +++ b/src-ui/src/app/services/rest/group.service.spec.ts @@ -1,9 +1,9 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' -import { GroupService } from './group.service' import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' +import { GroupService } from './group.service' let httpTestingController: HttpTestingController let service: GroupService diff --git a/src-ui/src/app/services/rest/log.service.spec.ts b/src-ui/src/app/services/rest/log.service.spec.ts index ec0bf094a..e3138b895 100644 --- a/src-ui/src/app/services/rest/log.service.spec.ts +++ b/src-ui/src/app/services/rest/log.service.spec.ts @@ -1,12 +1,12 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' import { LogService } from './log.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' let httpTestingController: HttpTestingController let service: LogService diff --git a/src-ui/src/app/services/rest/mail-account.service.spec.ts b/src-ui/src/app/services/rest/mail-account.service.spec.ts index ef69b979e..565f86862 100644 --- a/src-ui/src/app/services/rest/mail-account.service.spec.ts +++ b/src-ui/src/app/services/rest/mail-account.service.spec.ts @@ -1,10 +1,10 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' +import { IMAPSecurity, MailAccountType } from 'src/app/data/mail-account' import { environment } from 'src/environments/environment' import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' import { MailAccountService } from './mail-account.service' -import { IMAPSecurity, MailAccountType } from 'src/app/data/mail-account' let httpTestingController: HttpTestingController let service: MailAccountService diff --git a/src-ui/src/app/services/rest/mail-rule.service.spec.ts b/src-ui/src/app/services/rest/mail-rule.service.spec.ts index b0e1d7de3..f2016d797 100644 --- a/src-ui/src/app/services/rest/mail-rule.service.spec.ts +++ b/src-ui/src/app/services/rest/mail-rule.service.spec.ts @@ -1,12 +1,14 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' +import { + MailAction, + MailFilterAttachmentType, + MailMetadataTitleOption, +} from 'src/app/data/mail-rule' import { environment } from 'src/environments/environment' import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' import { MailRuleService } from './mail-rule.service' -import { MailFilterAttachmentType } from 'src/app/data/mail-rule' -import { MailMetadataTitleOption } from 'src/app/data/mail-rule' -import { MailAction } from 'src/app/data/mail-rule' let httpTestingController: HttpTestingController let service: MailRuleService diff --git a/src-ui/src/app/services/rest/mail-rule.service.ts b/src-ui/src/app/services/rest/mail-rule.service.ts index b5a0c0ec1..85644cc25 100644 --- a/src-ui/src/app/services/rest/mail-rule.service.ts +++ b/src-ui/src/app/services/rest/mail-rule.service.ts @@ -1,6 +1,5 @@ import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' -import { combineLatest, Observable } from 'rxjs' import { tap } from 'rxjs/operators' import { MailRule } from 'src/app/data/mail-rule' import { AbstractPaperlessService } from './abstract-paperless-service' diff --git a/src-ui/src/app/services/rest/remote-version.service.spec.ts b/src-ui/src/app/services/rest/remote-version.service.spec.ts index 2390dd5c5..a9734ca42 100644 --- a/src-ui/src/app/services/rest/remote-version.service.spec.ts +++ b/src-ui/src/app/services/rest/remote-version.service.spec.ts @@ -1,12 +1,12 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' import { RemoteVersionService } from './remote-version.service' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' let httpTestingController: HttpTestingController let service: RemoteVersionService diff --git a/src-ui/src/app/services/rest/remote-version.service.ts b/src-ui/src/app/services/rest/remote-version.service.ts index 9b1def363..efed538ce 100644 --- a/src-ui/src/app/services/rest/remote-version.service.ts +++ b/src-ui/src/app/services/rest/remote-version.service.ts @@ -1,6 +1,6 @@ import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' -import { map, Observable } from 'rxjs' +import { Observable } from 'rxjs' import { environment } from 'src/environments/environment' export interface AppRemoteVersion { diff --git a/src-ui/src/app/services/rest/saved-view.service.spec.ts b/src-ui/src/app/services/rest/saved-view.service.spec.ts index fc2d996a5..9a84fbd2c 100644 --- a/src-ui/src/app/services/rest/saved-view.service.spec.ts +++ b/src-ui/src/app/services/rest/saved-view.service.spec.ts @@ -1,11 +1,11 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { environment } from 'src/environments/environment' +import { SettingsService } from '../settings.service' import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' import { SavedViewService } from './saved-view.service' -import { SettingsService } from '../settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' let httpTestingController: HttpTestingController let service: SavedViewService diff --git a/src-ui/src/app/services/rest/saved-view.service.ts b/src-ui/src/app/services/rest/saved-view.service.ts index 274522c71..a23de7cd1 100644 --- a/src-ui/src/app/services/rest/saved-view.service.ts +++ b/src-ui/src/app/services/rest/saved-view.service.ts @@ -2,11 +2,11 @@ import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' import { combineLatest, Observable } from 'rxjs' import { tap } from 'rxjs/operators' -import { SavedView } from 'src/app/data/saved-view' -import { AbstractPaperlessService } from './abstract-paperless-service' -import { SettingsService } from '../settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { Results } from 'src/app/data/results' +import { SavedView } from 'src/app/data/saved-view' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' +import { SettingsService } from '../settings.service' +import { AbstractPaperlessService } from './abstract-paperless-service' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/rest/search.service.spec.ts b/src-ui/src/app/services/rest/search.service.spec.ts index 7705fb481..6a30612ab 100644 --- a/src-ui/src/app/services/rest/search.service.spec.ts +++ b/src-ui/src/app/services/rest/search.service.spec.ts @@ -1,14 +1,14 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' -import { environment } from 'src/environments/environment' -import { SearchService } from './search.service' -import { SettingsService } from '../settings.service' +import { Subscription } from 'rxjs' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { environment } from 'src/environments/environment' +import { SettingsService } from '../settings.service' +import { SearchService } from './search.service' let httpTestingController: HttpTestingController let service: SearchService diff --git a/src-ui/src/app/services/rest/search.service.ts b/src-ui/src/app/services/rest/search.service.ts index 7a82d4f2f..aea852dd1 100644 --- a/src-ui/src/app/services/rest/search.service.ts +++ b/src-ui/src/app/services/rest/search.service.ts @@ -1,21 +1,21 @@ import { HttpClient, HttpParams } from '@angular/common/http' import { Injectable } from '@angular/core' import { Observable } from 'rxjs' -import { environment } from 'src/environments/environment' -import { Document } from 'src/app/data/document' -import { DocumentType } from 'src/app/data/document-type' import { Correspondent } from 'src/app/data/correspondent' import { CustomField } from 'src/app/data/custom-field' +import { Document } from 'src/app/data/document' +import { DocumentType } from 'src/app/data/document-type' import { Group } from 'src/app/data/group' import { MailAccount } from 'src/app/data/mail-account' import { MailRule } from 'src/app/data/mail-rule' +import { SavedView } from 'src/app/data/saved-view' import { StoragePath } from 'src/app/data/storage-path' import { Tag } from 'src/app/data/tag' +import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { User } from 'src/app/data/user' import { Workflow } from 'src/app/data/workflow' +import { environment } from 'src/environments/environment' import { SettingsService } from '../settings.service' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { SavedView } from 'src/app/data/saved-view' export interface GlobalSearchResult { total: number diff --git a/src-ui/src/app/services/rest/share-link.service.ts b/src-ui/src/app/services/rest/share-link.service.ts index ef45b7b25..72421752b 100644 --- a/src-ui/src/app/services/rest/share-link.service.ts +++ b/src-ui/src/app/services/rest/share-link.service.ts @@ -1,8 +1,8 @@ -import { Injectable } from '@angular/core' -import { ShareLink, FileVersion } from 'src/app/data/share-link' -import { AbstractNameFilterService } from './abstract-name-filter-service' import { HttpClient } from '@angular/common/http' +import { Injectable } from '@angular/core' import { Observable } from 'rxjs' +import { FileVersion, ShareLink } from 'src/app/data/share-link' +import { AbstractNameFilterService } from './abstract-name-filter-service' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/rest/storage-path.service.spec.ts b/src-ui/src/app/services/rest/storage-path.service.spec.ts index 8b67a125b..2142a1c84 100644 --- a/src-ui/src/app/services/rest/storage-path.service.spec.ts +++ b/src-ui/src/app/services/rest/storage-path.service.spec.ts @@ -1,9 +1,9 @@ -import { StoragePathService } from './storage-path.service' -import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' -import { Subscription } from 'rxjs' import { HttpTestingController } from '@angular/common/http/testing' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' +import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' +import { StoragePathService } from './storage-path.service' let httpTestingController: HttpTestingController let service: StoragePathService diff --git a/src-ui/src/app/services/rest/storage-path.service.ts b/src-ui/src/app/services/rest/storage-path.service.ts index 1ac7c82d7..9dcde86bd 100644 --- a/src-ui/src/app/services/rest/storage-path.service.ts +++ b/src-ui/src/app/services/rest/storage-path.service.ts @@ -1,8 +1,8 @@ import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' +import { Observable } from 'rxjs' import { StoragePath } from 'src/app/data/storage-path' import { AbstractNameFilterService } from './abstract-name-filter-service' -import { Observable } from 'rxjs' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/rest/tag.service.spec.ts b/src-ui/src/app/services/rest/tag.service.spec.ts index 9b28fc9b6..7979fc0b1 100644 --- a/src-ui/src/app/services/rest/tag.service.spec.ts +++ b/src-ui/src/app/services/rest/tag.service.spec.ts @@ -1,4 +1,4 @@ -import { TagService } from './tag.service' import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' +import { TagService } from './tag.service' commonAbstractNameFilterPaperlessServiceTests('tags', TagService) diff --git a/src-ui/src/app/services/rest/user.service.spec.ts b/src-ui/src/app/services/rest/user.service.spec.ts index 3fd682d4e..807074879 100644 --- a/src-ui/src/app/services/rest/user.service.spec.ts +++ b/src-ui/src/app/services/rest/user.service.spec.ts @@ -1,6 +1,6 @@ import { HttpTestingController } from '@angular/common/http/testing' -import { Subscription } from 'rxjs' import { TestBed } from '@angular/core/testing' +import { Subscription } from 'rxjs' import { environment } from 'src/environments/environment' import { commonAbstractNameFilterPaperlessServiceTests } from './abstract-name-filter-service.spec' import { UserService } from './user.service' diff --git a/src-ui/src/app/services/rest/workflow.service.spec.ts b/src-ui/src/app/services/rest/workflow.service.spec.ts index cdffda3e1..51c61ca2c 100644 --- a/src-ui/src/app/services/rest/workflow.service.spec.ts +++ b/src-ui/src/app/services/rest/workflow.service.spec.ts @@ -1,14 +1,14 @@ import { HttpTestingController } from '@angular/common/http/testing' import { TestBed } from '@angular/core/testing' -import { environment } from 'src/environments/environment' -import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' -import { WorkflowService } from './workflow.service' import { Workflow } from 'src/app/data/workflow' +import { WorkflowActionType } from 'src/app/data/workflow-action' import { DocumentSource, WorkflowTriggerType, } from 'src/app/data/workflow-trigger' -import { WorkflowActionType } from 'src/app/data/workflow-action' +import { environment } from 'src/environments/environment' +import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec' +import { WorkflowService } from './workflow.service' let httpTestingController: HttpTestingController let service: WorkflowService diff --git a/src-ui/src/app/services/settings.service.spec.ts b/src-ui/src/app/services/settings.service.spec.ts index e0ccf09ba..a887df995 100644 --- a/src-ui/src/app/services/settings.service.spec.ts +++ b/src-ui/src/app/services/settings.service.spec.ts @@ -1,3 +1,4 @@ +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, @@ -7,17 +8,16 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { RouterTestingModule } from '@angular/router/testing' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' import { CookieService } from 'ngx-cookie-service' -import { Subscription, of } from 'rxjs' +import { of, Subscription } from 'rxjs' import { environment } from 'src/environments/environment' import { AppModule } from '../app.module' -import { UiSettings, SETTINGS_KEYS } from '../data/ui-settings' -import { SettingsService } from './settings.service' -import { SavedView } from '../data/saved-view' -import { CustomFieldsService } from './rest/custom-fields.service' import { CustomFieldDataType } from '../data/custom-field' -import { PermissionsService } from './permissions.service' import { DEFAULT_DISPLAY_FIELDS, DisplayField } from '../data/document' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { SavedView } from '../data/saved-view' +import { SETTINGS_KEYS, UiSettings } from '../data/ui-settings' +import { PermissionsService } from './permissions.service' +import { CustomFieldsService } from './rest/custom-fields.service' +import { SettingsService } from './settings.service' import { ToastService } from './toast.service' const customFields = [ diff --git a/src-ui/src/app/services/settings.service.ts b/src-ui/src/app/services/settings.service.ts index 670bf9943..e270adc81 100644 --- a/src-ui/src/app/services/settings.service.ts +++ b/src-ui/src/app/services/settings.service.ts @@ -17,22 +17,22 @@ import { hexToHsl, } from 'src/app/utils/color' import { environment } from 'src/environments/environment' +import { DEFAULT_DISPLAY_FIELDS, DisplayField } from '../data/document' +import { SavedView } from '../data/saved-view' import { - UiSettings, + PAPERLESS_GREEN_HEX, SETTINGS, SETTINGS_KEYS, - PAPERLESS_GREEN_HEX, + UiSettings, } from '../data/ui-settings' import { User } from '../data/user' import { PermissionAction, - PermissionType, PermissionsService, + PermissionType, } from './permissions.service' -import { ToastService } from './toast.service' -import { SavedView } from '../data/saved-view' import { CustomFieldsService } from './rest/custom-fields.service' -import { DEFAULT_DISPLAY_FIELDS, DisplayField } from '../data/document' +import { ToastService } from './toast.service' export interface LanguageOption { code: string diff --git a/src-ui/src/app/services/system-status.service.spec.ts b/src-ui/src/app/services/system-status.service.spec.ts index 29c510197..e5b0bb7e9 100644 --- a/src-ui/src/app/services/system-status.service.spec.ts +++ b/src-ui/src/app/services/system-status.service.spec.ts @@ -1,12 +1,12 @@ import { TestBed } from '@angular/core/testing' -import { SystemStatusService } from './system-status.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' import { environment } from 'src/environments/environment' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { SystemStatusService } from './system-status.service' describe('SystemStatusService', () => { let httpTestingController: HttpTestingController diff --git a/src-ui/src/app/services/system-status.service.ts b/src-ui/src/app/services/system-status.service.ts index ae6c5a91c..a0755b45d 100644 --- a/src-ui/src/app/services/system-status.service.ts +++ b/src-ui/src/app/services/system-status.service.ts @@ -1,8 +1,8 @@ import { HttpClient } from '@angular/common/http' import { Injectable } from '@angular/core' import { Observable } from 'rxjs' -import { SystemStatus } from '../data/system-status' import { environment } from 'src/environments/environment' +import { SystemStatus } from '../data/system-status' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/services/tasks.service.spec.ts b/src-ui/src/app/services/tasks.service.spec.ts index d746707b7..fa84c9a19 100644 --- a/src-ui/src/app/services/tasks.service.spec.ts +++ b/src-ui/src/app/services/tasks.service.spec.ts @@ -1,13 +1,12 @@ -import { TestBed } from '@angular/core/testing' -import { TasksService } from './tasks.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' +import { TestBed } from '@angular/core/testing' import { environment } from 'src/environments/environment' -import { PaperlessTaskType } from '../data/paperless-task' -import { PaperlessTaskStatus } from '../data/paperless-task' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { PaperlessTaskStatus, PaperlessTaskType } from '../data/paperless-task' +import { TasksService } from './tasks.service' describe('TasksService', () => { let httpTestingController: HttpTestingController diff --git a/src-ui/src/app/services/trash.service.spec.ts b/src-ui/src/app/services/trash.service.spec.ts index 7457960e5..19126be7d 100644 --- a/src-ui/src/app/services/trash.service.spec.ts +++ b/src-ui/src/app/services/trash.service.spec.ts @@ -1,11 +1,11 @@ import { TestBed } from '@angular/core/testing' -import { TrashService } from './trash.service' import { HttpClientTestingModule, HttpTestingController, } from '@angular/common/http/testing' import { environment } from 'src/environments/environment' +import { TrashService } from './trash.service' describe('TrashService', () => { let service: TrashService diff --git a/src-ui/src/app/services/upload-documents.service.spec.ts b/src-ui/src/app/services/upload-documents.service.spec.ts index 60a00d461..cf0812306 100644 --- a/src-ui/src/app/services/upload-documents.service.spec.ts +++ b/src-ui/src/app/services/upload-documents.service.spec.ts @@ -1,19 +1,19 @@ -import { TestBed } from '@angular/core/testing' -import { UploadDocumentsService } from './upload-documents.service' -import { - HttpTestingController, - provideHttpClientTesting, -} from '@angular/common/http/testing' -import { environment } from 'src/environments/environment' import { HttpEventType, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http' +import { + HttpTestingController, + provideHttpClientTesting, +} from '@angular/common/http/testing' +import { TestBed } from '@angular/core/testing' +import { environment } from 'src/environments/environment' import { ConsumerStatusService, FileStatusPhase, } from './consumer-status.service' +import { UploadDocumentsService } from './upload-documents.service' const files = [ { diff --git a/src-ui/src/app/services/upload-documents.service.ts b/src-ui/src/app/services/upload-documents.service.ts index 8ddbb1813..8a5e42b47 100644 --- a/src-ui/src/app/services/upload-documents.service.ts +++ b/src-ui/src/app/services/upload-documents.service.ts @@ -1,12 +1,12 @@ -import { Injectable } from '@angular/core' import { HttpEventType } from '@angular/common/http' +import { Injectable } from '@angular/core' import { FileSystemFileEntry, NgxFileDropEntry } from 'ngx-file-drop' +import { Subscription } from 'rxjs' import { ConsumerStatusService, FileStatusPhase, } from './consumer-status.service' import { DocumentService } from './rest/document.service' -import { Subscription } from 'rxjs' @Injectable({ providedIn: 'root', diff --git a/src-ui/src/app/utils/custom-field-query-element.spec.ts b/src-ui/src/app/utils/custom-field-query-element.spec.ts index 65be3738a..411dcd6f9 100644 --- a/src-ui/src/app/utils/custom-field-query-element.spec.ts +++ b/src-ui/src/app/utils/custom-field-query-element.spec.ts @@ -1,14 +1,14 @@ -import { - CustomFieldQueryElement, - CustomFieldQueryAtom, - CustomFieldQueryExpression, -} from './custom-field-query-element' +import { fakeAsync, tick } from '@angular/core/testing' import { CustomFieldQueryElementType, CustomFieldQueryLogicalOperator, CustomFieldQueryOperator, } from '../data/custom-field-query' -import { fakeAsync, tick } from '@angular/core/testing' +import { + CustomFieldQueryAtom, + CustomFieldQueryElement, + CustomFieldQueryExpression, +} from './custom-field-query-element' describe('CustomFieldQueryElement', () => { it('should initialize with correct type and id', () => { diff --git a/src-ui/src/app/utils/custom-field-query-element.ts b/src-ui/src/app/utils/custom-field-query-element.ts index 696853f12..3438f2c85 100644 --- a/src-ui/src/app/utils/custom-field-query-element.ts +++ b/src-ui/src/app/utils/custom-field-query-element.ts @@ -1,8 +1,8 @@ import { Subject, debounceTime, distinctUntilChanged } from 'rxjs' import { v4 as uuidv4 } from 'uuid' import { - CustomFieldQueryElementType, CUSTOM_FIELD_QUERY_VALUE_TYPES_BY_OPERATOR, + CustomFieldQueryElementType, CustomFieldQueryLogicalOperator, CustomFieldQueryOperator, } from '../data/custom-field-query' diff --git a/src-ui/src/app/utils/filter-rules.spec.ts b/src-ui/src/app/utils/filter-rules.spec.ts index b02218635..a694e60ba 100644 --- a/src-ui/src/app/utils/filter-rules.spec.ts +++ b/src-ui/src/app/utils/filter-rules.spec.ts @@ -1,11 +1,13 @@ -import { cloneFilterRules } from './filter-rules' import { FilterRule } from '../data/filter-rule' import { FILTER_FULLTEXT_QUERY, FILTER_HAS_TAGS_ALL, } from '../data/filter-rule-type' -import { isFullTextFilterRule } from './filter-rules' -import { filterRulesDiffer } from './filter-rules' +import { + cloneFilterRules, + filterRulesDiffer, + isFullTextFilterRule, +} from './filter-rules' const filterRules: FilterRule[] = [ { diff --git a/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts b/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts index a245b0f48..3bf12e1f6 100644 --- a/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts +++ b/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts @@ -1,11 +1,11 @@ -import { TestBed } from '@angular/core/testing' -import { LocalizedDateParserFormatter } from './ngb-date-parser-formatter' -import { SettingsService } from '../services/settings.service' +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing' -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' +import { TestBed } from '@angular/core/testing' +import { SettingsService } from '../services/settings.service' +import { LocalizedDateParserFormatter } from './ngb-date-parser-formatter' describe('LocalizedDateParserFormatter', () => { let dateParserFormatter: LocalizedDateParserFormatter diff --git a/src-ui/src/app/utils/popper-options.spec.ts b/src-ui/src/app/utils/popper-options.spec.ts index bf350f94c..2d3ded6f6 100644 --- a/src-ui/src/app/utils/popper-options.spec.ts +++ b/src-ui/src/app/utils/popper-options.spec.ts @@ -1,5 +1,5 @@ -import { popperOptionsReenablePreventOverflow } from './popper-options' import { Options } from '@popperjs/core' +import { popperOptionsReenablePreventOverflow } from './popper-options' describe('popperOptionsReenablePreventOverflow', () => { it('should return the config without the empty fun preventOverflow, add padding to other', () => { diff --git a/src-ui/src/app/utils/query-params.spec.ts b/src-ui/src/app/utils/query-params.spec.ts index 64a89efec..cc91f3f6c 100644 --- a/src-ui/src/app/utils/query-params.spec.ts +++ b/src-ui/src/app/utils/query-params.spec.ts @@ -1,4 +1,5 @@ import { convertToParamMap } from '@angular/router' +import { CustomFieldQueryLogicalOperator } from '../data/custom-field-query' import { FilterRule } from '../data/filter-rule' import { FILTER_CORRESPONDENT, @@ -8,11 +9,13 @@ import { FILTER_HAS_CUSTOM_FIELDS_ANY, FILTER_HAS_TAGS_ALL, } from '../data/filter-rule-type' -import { paramsToViewState, transformLegacyFilterRules } from './query-params' -import { paramsFromViewState } from './query-params' -import { queryParamsFromFilterRules } from './query-params' -import { filterRulesFromQueryParams } from './query-params' -import { CustomFieldQueryLogicalOperator } from '../data/custom-field-query' +import { + filterRulesFromQueryParams, + paramsFromViewState, + paramsToViewState, + queryParamsFromFilterRules, + transformLegacyFilterRules, +} from './query-params' const tags__id__all = '9' const filterRules: FilterRule[] = [ diff --git a/src-ui/src/app/utils/query-params.ts b/src-ui/src/app/utils/query-params.ts index 608d4edfb..d90167c5b 100644 --- a/src-ui/src/app/utils/query-params.ts +++ b/src-ui/src/app/utils/query-params.ts @@ -1,17 +1,17 @@ import { ParamMap, Params } from '@angular/router' -import { FilterRule } from '../data/filter-rule' -import { - FilterRuleType, - FILTER_RULE_TYPES, - FILTER_HAS_CUSTOM_FIELDS_ANY, - FILTER_CUSTOM_FIELDS_QUERY, - FILTER_HAS_CUSTOM_FIELDS_ALL, -} from '../data/filter-rule-type' -import { ListViewState } from '../services/document-list-view.service' import { CustomFieldQueryLogicalOperator, CustomFieldQueryOperator, } from '../data/custom-field-query' +import { FilterRule } from '../data/filter-rule' +import { + FILTER_CUSTOM_FIELDS_QUERY, + FILTER_HAS_CUSTOM_FIELDS_ALL, + FILTER_HAS_CUSTOM_FIELDS_ANY, + FILTER_RULE_TYPES, + FilterRuleType, +} from '../data/filter-rule-type' +import { ListViewState } from '../services/document-list-view.service' const SORT_FIELD_PARAMETER = 'sort' const SORT_REVERSE_PARAMETER = 'reverse'