Posts

unit testing

  /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable no-unused-expressions */ import { ComponentFixture , TestBed } from '@angular/core/testing' ; import { Store } from '@ngrx/store' ; import { CaseIndicatorConfigurationComponent } from './case-indicator-configuration.component' ; import { UserPreferencesCommonService } from '../services/common.service' ; import { provideMockStore } from '@ngrx/store/testing' ; import { CommonModule } from '@angular/common' ; import { HttpClientTestingModule } from '@angular/common/http/testing' ; import {   ReactiveFormsModule ,   FormsModule ,   FormGroup ,   FormControl ,   Validators , } from '@angular/forms' ; import { RouterTestingModule } from '@angular/router/testing' ; import { OneWebComponentsAngularModule } from '@one/angular' ; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core' ; import { of } f...

angular search pipe

  import { Pipe , PipeTransform } from '@angular/core' ; @ Pipe ({   name : 'searchFilter' , }) export class SearchFilterPipe implements PipeTransform {   transform ( items : any [], searchText : string ): any {     if (! items ) {       return [];     }     if (! searchText ) {       return items ;     }     const searchTextLowerCase = searchText . toLocaleLowerCase ();     return items . filter (( item ) => {       return item . name . toLocaleLowerCase (). includes ( searchTextLowerCase );     });   } } in html use like this *ngFor = "let listItem of templateData | searchFilter: searchText"

sorting in angular 14

 based on pipe sorting import { Pipe , PipeTransform } from '@angular/core' ; export type SortOrder = 'asc' | 'desc' ; @ Pipe ({   name : 'tableSorting' }) export class TableSortingPipe implements PipeTransform {         public sortByTab :   any ;   transform ( value : any [], sortOrder : SortOrder | string = 'asc' , sortKey ?: any ): any {     let sortArrayData = value ;       this . sortByTab = ( a : any , b : any ) => {       const isNumber = ( v : any ) => Number ( v ). toString () === v ;       const aPart = a [ sortKey ]. toString (). match ( /\d + | \D + / g );       const bPart = b [ sortKey ]. toString (). match ( /\d + | \D + / g );       let i = 0 ;       const len = Math . min ( aPart . length , bPart . length );       while ( i < len && aPart [ i ] === bPart [ i ]) { ...

excel download in angular

  download (){     if ( this . fromdate2 == undefined ){       this . filename = "AllIssues" ;     } else {       this . filename = this . fromdate2 ;     }             this . downloadFile ( this . jsonData , this . filename );   }     downloadFile ( data , filename = 'data' ) {     let date ;     if ( this . fromdate2 == undefined ){     date = '' ;     } else {       date = 'Month: ' + this . fromdate2 ;     }     let csvData = this . ConvertToCSV ( data , [ 'ArmyNo' , 'Name' , 'Rank' , 'Unit' , 'Issue' , 'ReportedOn' , 'ResolvedOn' ]);     console . log ( csvData );       let blob ;     if ( date == '' ){         blob = new Blob ([ ' \ufeff ' + csvData ], { type : 'text/csv;charset=utf-8;' });         } else {   ...

sorting array

  //   const ascendingComparator = (a:any, b:any) => (a.activitydate > b.activitydate) ? 1 : -1; //   //   const descendingComparator = (a:any, b:any) => (a.activitydate > b.activitydate) ? -1 : 1; //   //   debugger; //   //   console.log(order[0][1]); //   //   if(order[0][1]=="desc"){ //   //   ai.rowsdata = ai.rowsdata.sort(descendingComparator); //   //   console.log(ai.rowsdata); //   // } // sortFunction1(a:any, b:any){     //   var dateA = new Date(a.activitydate);     //   var dateB = new Date(b.activitydate);     //   console.log(dateA > dateB,dateA < dateB );     //   if(dateA > dateB){     //     return dateA > dateB ? -1 : 1;     //   }else if(dateA < dateB){     //     return dateA > dateB ? 1 : -1;     //   }else{     //   ...