Share Product and Share Account views updated
This commit is contained in:
committed by
Jose Alberto Hernandez
parent
fafdd0dd20
commit
a41df49a3e
@@ -1,5 +1,8 @@
|
||||
<span (mouseenter)="mouseEnter()" (mouseleave)="mouseLeave()">
|
||||
<span class="m-l-5" *ngIf="displayL && iconVisible" (click)="copyValue()"><b><fa-icon icon="copy" size="sm" title="{{'labels.text.Copy Account Number' | translate }}"></fa-icon></b></span>
|
||||
<span class="m-l-5">{{ accountNo }}</span>
|
||||
<span class="m-l-5" *ngIf="accountType">
|
||||
<a href="{{getAccountLink()}}">{{ accountNo }}</a>
|
||||
</span>
|
||||
<span class="m-l-5" *ngIf="!accountType">{{ accountNo }}</span>
|
||||
<span class="m-l-3" *ngIf="displayR && iconVisible" (click)="copyValue()"><b><fa-icon icon="copy" size="sm" title="{{'labels.text.Copy Account Number' | translate }}"></fa-icon></b></span>
|
||||
</span>
|
||||
|
||||
@@ -9,6 +9,9 @@ import { Clipboard } from '@angular/cdk/clipboard';
|
||||
export class AccountNumberComponent implements OnInit {
|
||||
@Input() accountNo: string;
|
||||
@Input() display = 'right';
|
||||
@Input() clientId: number | null = null;
|
||||
@Input() accountId: number | null = null;
|
||||
@Input() accountType: string | null = null;
|
||||
|
||||
iconVisible = false;
|
||||
displayL = false;
|
||||
@@ -32,4 +35,19 @@ export class AccountNumberComponent implements OnInit {
|
||||
mouseLeave() {
|
||||
this.iconVisible = false;
|
||||
}
|
||||
|
||||
getAccountLink(): string {
|
||||
if (this.accountType) {
|
||||
return `/#/clients/${this.clientId}/${this.getAccountType()}/${this.accountId}`;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
private getAccountType(): string {
|
||||
if (this.accountType === '1') {
|
||||
return 'loan-accounts';
|
||||
} else if (this.accountType === '2') {
|
||||
return 'savings-accounts';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<mat-form-field fxFlex fxFlex="28%">
|
||||
<mat-label>{{getLabelText()}}</mat-label>
|
||||
<mat-select placeholder="{{getPlaceHolderText()}}" formControlName="controlSelect">
|
||||
<mat-option *ngFor="let option of selectOptions" [value]="option.id">
|
||||
{{ option.value | translateCatalog }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<button mat-button *ngIf="controlSelect" matSuffix mat-icon-button
|
||||
aria-label="Clear" (click)="clearProperty($event)">
|
||||
<mat-icon>close</mat-icon>
|
||||
</button>
|
||||
</mat-form-field>
|
||||
@@ -0,0 +1,23 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { DropdownComponent } from './dropdown.component';
|
||||
|
||||
describe('DropdownComponent', () => {
|
||||
let component: DropdownComponent;
|
||||
let fixture: ComponentFixture<DropdownComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
declarations: [ DropdownComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(DropdownComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,35 @@
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-dropdown',
|
||||
templateUrl: './dropdown.component.html',
|
||||
styleUrls: ['./dropdown.component.scss']
|
||||
})
|
||||
export class DropdownComponent implements OnInit {
|
||||
|
||||
@Input() placeHolderText: string;
|
||||
@Input() labelText: string;
|
||||
@Input() selectOptions: any[] = [];
|
||||
@Input() controlSelect: UntypedFormControl;
|
||||
@Input() required: boolean;
|
||||
|
||||
constructor(private translateService: TranslateService) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
getPlaceHolderText(): string {
|
||||
return this.placeHolderText ? this.translateService.instant('labels.inputs.' + this.placeHolderText) : '';
|
||||
}
|
||||
|
||||
getLabelText(): string {
|
||||
return this.labelText ? this.translateService.instant('labels.inputs.' + this.labelText) : '';
|
||||
}
|
||||
|
||||
clearProperty() {
|
||||
this.controlSelect.patchValue('');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -48,6 +48,7 @@ import { GlAccountDisplayComponent } from './accounting/gl-account-display/gl-ac
|
||||
import { ViewSavingsAccountingDetailsComponent } from './accounting/view-savings-accounting-details/view-savings-accounting-details.component';
|
||||
import { ThemeToggleComponent } from './theme-toggle/theme-toggle.component';
|
||||
import { LongTextComponent } from './long-text/long-text.component';
|
||||
import { DropdownComponent } from './dropdown/dropdown.component';
|
||||
|
||||
/**
|
||||
* Shared Module
|
||||
@@ -102,7 +103,8 @@ import { LongTextComponent } from './long-text/long-text.component';
|
||||
GlAccountDisplayComponent,
|
||||
ViewSavingsAccountingDetailsComponent,
|
||||
ThemeToggleComponent,
|
||||
LongTextComponent
|
||||
LongTextComponent,
|
||||
DropdownComponent
|
||||
],
|
||||
exports: [
|
||||
FileUploadComponent,
|
||||
|
||||
Reference in New Issue
Block a user