toggle for provider summary pane
authorJason Etheridge <jason@EquinoxInitiative.org>
Fri, 27 Mar 2020 04:57:35 +0000 (00:57 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Wed, 1 Apr 2020 17:51:53 +0000 (13:51 -0400)
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.component.ts
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.ts

index a140237..e209dbb 100644 (file)
@@ -7,7 +7,7 @@
 
 <div class="col-2">
   <eg-acq-provider-summary-pane #acqSearchProviderSummary
-    [providerId]="id">
+    (summaryToggled)="onSummaryToggled($event)" [providerId]="id">
   </eg-acq-provider-summary-pane>
 </div>
 
index 1db460e..bd009de 100644 (file)
@@ -32,6 +32,7 @@ export class AcqProviderComponent implements OnInit, AfterViewInit {
     onTabChange: ($event: NgbTabChangeEvent) => void;
 
     onDesireSummarize: ($event: number) => void;
+    onSummaryToggled: ($event: boolean) => void;
 
     constructor(
         private router: Router,
@@ -92,6 +93,10 @@ export class AcqProviderComponent implements OnInit, AfterViewInit {
             this.activeTab = this.defaultTabType;
             this.router.navigate(['/staff', 'acq', 'provider', this.id, this.activeTab]);
         };
+
+        this.onSummaryToggled = ($event) => {
+            // in case this is useful for a better implementation of reflowing the UI
+        };
     }
 
     ngAfterViewInit() {}
index ebf0d00..a6901b7 100644 (file)
@@ -1,4 +1,7 @@
-<div id="acq-provider-summary-pane" class="pl-3 pr-3 pt-3 pb-3 mb-3">
+<button class="btn btn-primary" [hidden]="!collapsed" (click)="toggleCollapse()" type="submit" i18n>&lt;&gt;</button>
+<button class="btn btn-primary" [hidden]="collapsed" (click)="toggleCollapse()" type="submit" i18n>&gt;&lt;</button>
+
+<div id="acq-provider-summary-pane" [hidden]="collapsed" class="pl-3 pr-3 pt-3 pb-3 mb-3">
 
 <ng-template #errorStrTmpl i18n>Provider Deletion Failed</ng-template>
 <eg-string #errorString [template]="errorStrTmpl"></eg-string>
index de7d376..bc8b447 100644 (file)
@@ -1,4 +1,4 @@
-import {Component, OnInit, AfterViewInit, Input, ViewChild} from '@angular/core';
+import {Component, OnInit, AfterViewInit, Input, Output, EventEmitter, ViewChild} from '@angular/core';
 import {StaffCommonModule} from '@eg/staff/common.module';
 import {IdlService, IdlObject} from '@eg/core/idl.service';
 import {OrgService} from '@eg/core/org.service';
@@ -17,6 +17,8 @@ import {ProviderRecord, ProviderRecordService} from './provider-record.service';
 
 export class AcqProviderSummaryPaneComponent implements OnInit, AfterViewInit {
 
+    collapsed = false;
+
     provider_id = '';
     provider_name = '';
     provider_code = '';
@@ -60,6 +62,7 @@ export class AcqProviderSummaryPaneComponent implements OnInit, AfterViewInit {
     @Input() providerId: any;
     @ViewChild('errorString', { static: true }) errorString: StringComponent;
     @ViewChild('delConfirm', { static: true }) delConfirm: ConfirmDialogComponent;
+    @Output('summaryToggled') toggled: EventEmitter<boolean> = new EventEmitter<boolean>();
 
     provider: IdlObject;
 
@@ -184,4 +187,9 @@ export class AcqProviderSummaryPaneComponent implements OnInit, AfterViewInit {
 
     }
 
+    toggleCollapse() {
+        this.collapsed = ! this.collapsed;
+        this.toggled.emit(this.collapsed);
+    }
+
 }