From b45bd665736879afcc776d876a5eacad35000b66 Mon Sep 17 00:00:00 2001
From: Michael Shamoon <4887959+nikonratm@users.noreply.github.com>
Date: Mon, 14 Dec 2020 23:14:19 -0800
Subject: [PATCH] Basic bulk editor component
---
src-ui/src/app/app.module.ts | 2 +
.../bulk-editor/bulk-editor.component.html | 16 +++++++
.../bulk-editor/bulk-editor.component.scss | 0
.../bulk-editor/bulk-editor.component.spec.ts | 25 ++++++++++
.../bulk-editor/bulk-editor.component.ts | 46 +++++++++++++++++++
.../document-list.component.html | 30 +++++++-----
.../document-list/document-list.component.ts | 4 ++
7 files changed, 111 insertions(+), 12 deletions(-)
create mode 100644 src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html
create mode 100644 src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.scss
create mode 100644 src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts
create mode 100644 src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts
diff --git a/src-ui/src/app/app.module.ts b/src-ui/src/app/app.module.ts
index 914854892..627d4f6cf 100644
--- a/src-ui/src/app/app.module.ts
+++ b/src-ui/src/app/app.module.ts
@@ -32,6 +32,7 @@ import { FilterDropdownButtonComponent } from './components/filter-editor/filter
import { FilterDropdownDateComponent } from './components/filter-editor/filter-dropdown-date/filter-dropdown-date.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 { SelectComponent } from './components/common/input/select/select.component';
@@ -84,6 +85,7 @@ import { SelectDialogComponent } from './components/common/select-dialog/select-
FilterDropdownDateComponent,
DocumentCardLargeComponent,
DocumentCardSmallComponent,
+ BulkEditorComponent,
TextComponent,
SelectComponent,
CheckComponent,
diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html
new file mode 100644
index 000000000..a1574f6f7
--- /dev/null
+++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.scss b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts
new file mode 100644
index 000000000..140d73301
--- /dev/null
+++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { BulkEditorComponent } from './bulk-editor.component';
+
+describe('BulkEditorComponent', () => {
+ let component: BulkEditorComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ BulkEditorComponent ]
+ })
+ .compileComponents();
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(BulkEditorComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts
new file mode 100644
index 000000000..7459d62dc
--- /dev/null
+++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts
@@ -0,0 +1,46 @@
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { DocumentListViewService } from 'src/app/services/document-list-view.service';
+
+@Component({
+ selector: 'app-bulk-editor',
+ templateUrl: './bulk-editor.component.html',
+ styleUrls: ['./bulk-editor.component.scss']
+})
+export class BulkEditorComponent {
+
+ @Input()
+ list: DocumentListViewService
+
+ @Output()
+ selectPage = new EventEmitter()
+
+ @Output()
+ selectAll = new EventEmitter()
+
+ @Output()
+ selectNone = new EventEmitter()
+
+ @Output()
+ setCorrespondent = new EventEmitter()
+
+ @Output()
+ removeCorresponden = new EventEmitter()
+
+ @Output()
+ setDocumentType = new EventEmitter()
+
+ @Output()
+ removeDocumentType = new EventEmitter()
+
+ @Output()
+ addTag = new EventEmitter()
+
+ @Output()
+ removeTag = new EventEmitter()
+
+ @Output()
+ delete = new EventEmitter()
+
+ constructor( ) { }
+
+}
diff --git a/src-ui/src/app/components/document-list/document-list.component.html b/src-ui/src/app/components/document-list/document-list.component.html
index be2ed4847..36e9ff8fd 100644
--- a/src-ui/src/app/components/document-list/document-list.component.html
+++ b/src-ui/src/app/components/document-list/document-list.component.html
@@ -1,25 +1,16 @@
-
+
+
diff --git a/src-ui/src/app/components/document-list/document-list.component.ts b/src-ui/src/app/components/document-list/document-list.component.ts
index 1bd1e5c7f..0a6fa4352 100644
--- a/src-ui/src/app/components/document-list/document-list.component.ts
+++ b/src-ui/src/app/components/document-list/document-list.component.ts
@@ -52,6 +52,10 @@ export class DocumentListComponent implements OnInit {
return DOCUMENT_SORT_FIELDS
}
+ get isBulkEditing(): boolean {
+ return this.list.selected.size > 0
+ }
+
saveDisplayMode() {
localStorage.setItem('document-list:displayMode', this.displayMode)
}