Share Product and Share Account views updated

This commit is contained in:
Jose Alberto Hernandez
2024-05-19 00:22:51 -06:00
committed by Jose Alberto Hernandez
parent fafdd0dd20
commit a41df49a3e
83 changed files with 1017 additions and 544 deletions
@@ -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('');
}
}
+3 -1
View File
@@ -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,