mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Chore: add prettier organize imports
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
							
								
								
									
										16
									
								
								.prettierrc
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								.prettierrc
									
									
									
									
									
								
							| @@ -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, | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										19
									
								
								.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
| @@ -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') | ||||
|   | ||||
| @@ -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') | ||||
|   | ||||
| @@ -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') | ||||
|   | ||||
| @@ -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') | ||||
|   | ||||
| @@ -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') | ||||
|   | ||||
| @@ -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 ( | ||||
|   | ||||
							
								
								
									
										35
									
								
								src-ui/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										35
									
								
								src-ui/package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -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", | ||||
|   | ||||
| @@ -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" | ||||
|   }, | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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' }, | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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({ | ||||
|   | ||||
| @@ -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.', | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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 }, | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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[] = [ | ||||
|   { | ||||
|   | ||||
| @@ -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 { | ||||
|   | ||||
| @@ -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 = [ | ||||
|   { | ||||
|   | ||||
| @@ -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({ | ||||
|   | ||||
| @@ -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 }, | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 = [ | ||||
|   { | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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({ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 }, | ||||
|   | ||||
| @@ -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[] = [ | ||||
|   { | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 = [ | ||||
|   { | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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<DatesDropdownComponent> | ||||
| 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<DatesDropdownComponent> | ||||
|  | ||||
| describe('DatesDropdownComponent', () => { | ||||
|   let component: DatesDropdownComponent | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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: ` | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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', | ||||
|   | ||||
| @@ -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 = [ | ||||
|   { | ||||
|   | ||||
| @@ -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[] = [ | ||||
|   { | ||||
|   | ||||
| @@ -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[] | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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: ` | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 = [ | ||||
|   { | ||||
|   | ||||
| @@ -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' | ||||
|  | ||||
|   | ||||
| @@ -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' | ||||
|  | ||||
|   | ||||
| @@ -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: [ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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: [ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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: [ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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' | ||||
|   | ||||
| @@ -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[] = [ | ||||
|   { | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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[] = [ | ||||
|   { | ||||
|   | ||||
| @@ -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: [ | ||||
|   | ||||
| @@ -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' | ||||
|  | ||||
|   | ||||
| @@ -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' | ||||
|  | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 shamoon
					shamoon