{"version":3,"file":"main.js","mappings":"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ClB;AACQ;AACY;AACR;AACQ;AACA;AACZ;AACuC;AAC9C;AACwC;AACnB;AACY;AACL;AAC7B;AACgD;AAChB;AAEhB;AAEiB;AACS;AACZ;AACpB;AACiE;AACnD;AACX;AACkC;AACP;AACc;AACS;AACd;AAC1C;AACd;AACH;AACc;AACwB;AACT;AACK;AAClB;AACG;AACW;AACwB;AACZ;AAC3B;AACa;AACZ;AACE;AACY;AAClB;AACe;AAC3B;AACe;AAC6B;AAE5C;AACpC;AACc;AAC8E;AACL;AACZ;AACG;AACY;AACX;AAC/B;AACY;AACL;AAC+B;AAC9B;AACmD;AACzB;AACpB;AACgB;AACf;AACuB;AACvC;AAC0B;AACK;AAChC;AAC6B;AACjB;AACZ;AAC4B;AAChB;AACQ;AACZ;AACoB;AACZ;AACV;AACmC;AACV;AACF;AACtB;AACH;AACF;AACC;AAC2C;AACH;AACtB;AAC1B;AAC2B;AACqB;AACtB;AACiB;AACJ;AACA;AACG;AACM;AACS;AACZ;AACJ;AACN;AACF;AACd;AAChB;AACgB;AACM;AACe;AACd;AAC5B;AACa;AACmD;AACH;AACU;AAC9D;AACiC;AACtB;AACF;AACR;AAC8C;AACe;AACpC;AACpB;AAC2B;AAC9B;AACsD;AACA;AACD;AACd;AACJ;AACM;AACpB;AACgC;AACvC;AACgB;AACtC;AACwB;AACA;AACA;AACe;AACY;AACiB;AACpB;AACrC;AACI;AACuB;AACJ;AACM;AACK;AACjC;AACoB;AACA;AACD;AACM;AACG;AACd;AACjC;AACiB;AACgB;AACe;AACS;AAC5B;AAC8B;AACT;AAC1B;AACJ;AACY;AACR;AACO;AACP;AAClB;AAC2B;AACe;AACtC;AACG;AACyD;AACH;AAC1B;AACH;AACT;AAChH;AACA;AAC2G;AACE;AACA;AACC;AAC6B;AACE;AAC7I;AAmOO,IAAM0Y,gBAAgB,GAAtB,MAAMA,gBAAgB,GAAI;AAApBA,gBAAgB,GAAAvZ,mDAAA,EA/N5B+U,yDAAQ,CAAC;EACRyE,YAAY,EAAE,CACZ7L,0JAA+B,EAC/BsJ,yKAAoC,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GAAG,CAAC,cAAc;IACrG22C,WAAW,EAAE,CAAC,aAAa,EAAC,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAACvxF,CAAC,GAAG,CAAC,CAAC;IAC7FwxF,aAAa,EAAEz/C,IAAI,CAACs/C,KAAK,CAACt/C,IAAI,CAACC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IAChDy/C,eAAe,EAAE1/C,IAAI,CAACs/C,KAAK,CAACt/C,IAAI,CAACC,MAAM,EAAE,GAAG,GAAG,CAAC;IAChD0/C,cAAc,EAAE,CAAC,CAAG;GACrB,CAAC;;AAGJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMx8D,SAAS,GAAG,CAAC;EACjByrC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,CAAC;EACLjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNjuC,IAAI,EAAE;CACP,EAAE;EACDiuC,EAAE,EAAE,EAAE;EACNj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CJ,IAAI,CAACA,KAAK,GAAGA,KAAK;MAClB,IAAI,CAAC+oB,WAAW,GAAG,KAAK;IAC5B,CAAC,CAAC;EACd;;;;;;;;;;;;;;AAtLS9G,cAAc,GAAAxoB,iDAAA,EAL1B/B,yDAAS,CAAC;EACTgC,QAAQ,EAAE,YAAY;EACtBC,QAAA,EAAAC,8DAAsC;;CAEvC,CAAC,GACWqoB,cAAc,CAoM1B;;;;;;;;;;;;;;;;ACnND;AACA;AACA;AAEA;AACA;AACA;AACA;AAEO,MAAM5nB,WAAW,GAAGmQ,MAAM,CAACi8B,MAAM,CAAC;EACvC4yF,UAAU,EAAE;CACb,EACAzzG,MAAc,CAAC0zG,iBAAiB,CAAC;AAGlC;;;;;;;AAOA;;;;;;;;;;;;;;;;;ACtB+C;AAC4B;AAE9B;AACY;AACS;AAElE;AACAG,gFAAoB,CAAC7zG,MAAM,CAAC;AAC5B,IAAIvrB,6EAAsB,EAAE;EAC1Bk/H,6DAAc,EAAE;;AAGlBC,yFAAsB,EAAE,CAACE,eAAe,CAACp2G,sDAAS,CAAC,CAChDq2G,KAAK,CAACn5G,GAAG,IAAIvgB,OAAO,CAACC,GAAG,CAACsgB,GAAG,CAAC,CAAC;;;;;;;;;;ACdjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;ACjOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;ACtCA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA,wDAAwD,oBAAoB,qBAAqB,oBAAoB,MAAM,0BAA0B,yBAAyB,2BAA2B,4BAA4B,+BAA+B,uBAAuB,OAAO,0BAA0B,oCAAoC,yFAAyF,iHAAiH,sBAAsB,MAAM,aAAa,wHAAwH,UAAU,UAAU,UAAU,MAAM,OAAO,MAAM,KAAK,YAAY,WAAW,OAAO,KAAK,KAAK,OAAO,aAAa,WAAW,wCAAwC,oBAAoB,qBAAqB,oBAAoB,MAAM,0BAA0B,yBAAyB,2BAA2B,4BAA4B,+BAA+B,uBAAuB,OAAO,0BAA0B,oCAAoC,yF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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["./src/app/LandingPageComponents/dashboard/dashboard.component.ts","./src/app/LandingPageComponents/dynamictabs.directive.ts","./src/app/LandingPageComponents/full/full.component.ts","./src/app/LandingPageComponents/header/header.component.ts","./src/app/LandingPageComponents/menu-list-item/menu-list-item.component.ts","./src/app/LandingPageComponents/menuidmapping.service.ts","./src/app/LandingPageComponents/sidebar/sidebar.component.ts","./src/app/LandingPageComponents/tabs/tabs.component.ts","./src/app/Modules/components/components.module.ts","./src/app/Modules/controls/controls.module.ts","./src/app/Services/OtherServices/authentication.service.ts","./src/app/Services/OtherServices/dialog.service.ts","./src/app/Services/OtherServices/emiteventservice.service.ts","./src/app/Services/OtherServices/file-download-service.service.ts","./src/app/Services/OtherServices/generic.service.ts","./src/app/Services/OtherServices/notification.service.ts","./src/app/Services/OtherServices/photo.service.ts","./src/app/Services/httpServices/ErrorHandler/app-error-handler.ts","./src/app/Services/httpServices/ErrorHandler/app-error.ts","./src/app/Services/httpServices/ErrorHandler/bad-input.ts","./src/app/Services/httpServices/ErrorHandler/not-found-error.ts","./src/app/Services/httpServices/Interceptors/error.interceptor.ts","./src/app/Services/httpServices/Interceptors/jwt.interceptor.ts","./src/app/Services/httpServices/httpservice.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/Admin/License/licensecreatemain/licensecreatemain.component.ts","./src/app/components/Admin/License/licensecreatesub/licensecreatesub.component.ts","./src/app/components/Admin/License/licensereport/licensereport.component.ts","./src/app/components/Admin/Profile/profile/profile.component.ts","./src/app/components/Admin/Users/userValidate.ts","./src/app/components/Admin/change-password/change-password.component.ts","./src/app/components/Admin/devxgrid/devxgrid.component.ts","./src/app/components/Admin/dialogformainform/dialogformainform.component.ts","./src/app/components/Admin/group/group-list/group-list.component.ts","./src/app/components/Admin/group/group/group.component.ts","./src/app/components/Admin/userandgrouppermission/userandgrouppermission.component.ts","./src/app/components/Admin/users/user-list/user-list.component.ts","./src/app/components/Admin/users/userValidate.ts","./src/app/components/Admin/users/user/user.component.ts","./src/app/components/Admin/users/worklocation/worklocation.component.ts","./src/app/components/Control/mat-select-search/default-options.ts","./src/app/components/Control/mat-select-search/mat-select-no-entries-found.directive.ts","./src/app/components/Control/mat-select-search/mat-select-search-clear.directive.ts","./src/app/components/Control/mat-select-search/mat-select-search.component.ts","./src/app/components/Control/mat-select-search/ngx-mat-select-search.module.ts","./src/app/components/Control/multiselectwithsearch/multiselectwithsearch.component.ts","./src/app/components/ERP/ApprovalForm/approvalform-posting/approvalform-posting.component.ts","./src/app/components/ERP/ApprovalForm/approvalformfilter/approvalformfilter.component.ts","./src/app/components/ERP/ApprovalForm/approvalformlist/approvalformlist.component.ts","./src/app/components/ERP/ApprovalForm/showdetails/showdetails.component.ts","./src/app/components/ERP/Inventory/inventory/itempricelist/itempricelist.component.ts","./src/app/components/ERP/Sales/neworder.service.ts","./src/app/components/ERP/Sales/neworder/neworder.component.ts","./src/app/components/ERP/Sales/neworderlist/neworderlist.component.ts","./src/app/components/ERP/Sales/webcamera/webcamera.component.ts","./src/app/components/ERP/auditview/aduitview.component.ts","./src/app/components/ERP/customizeditemrpt/customizeditemrpt.component.ts","./src/app/components/ETS/Consolidatereport/consolidate-effort/consolidate-effort.component.ts","./src/app/components/ETS/CustomsReport/customsreport.component.ts","./src/app/components/ETS/DateWiseReport/datewisereport/datewisereport.component.ts","./src/app/components/ETS/EffortAuthorize/effortauthorize/effortauthorize.component.ts","./src/app/components/ETS/EffortCostReport/effortcostreport/effortcostreport.component.ts","./src/app/components/ETS/EmpTimesheet/emp-timesheet/emp-timesheet.component.ts","./src/app/components/ETS/EmpTimesheet/timesheetticket/timesheetticket.component.ts","./src/app/components/ETS/Sample/sample/sample.component.ts","./src/app/components/ETS/monthlyreport/monthlyreport.component.ts","./src/app/components/ETS/ticketreport/ticketreport.component.ts","./src/app/components/Employee/AdvanceRequest/advancerequest/advancerequest.component.ts","./src/app/components/Employee/AdvanceRequest/advancerequestview/advancerequestview.component.ts","./src/app/components/Employee/AttendanceReport/empattendanceview/empattendanceview.component.ts","./src/app/components/Employee/DocumentRequest/documentreqlist/documentreqlist.component.ts","./src/app/components/Employee/DocumentRequest/documentreqvalidate.ts","./src/app/components/Employee/DocumentRequest/documentreqview/documentreqview.component.ts","./src/app/components/Employee/DocumentRequest/downloaddocrequest/downloaddocrequest.component.ts","./src/app/components/Employee/DocumentRequest/empdocreqlist/empdocreqlist.component.ts","./src/app/components/Employee/DocumentRequest/uploaddocrequest/uploaddocrequest.component.ts","./src/app/components/Employee/Documents/documentcontrol/documentcontrol.component.ts","./src/app/components/Employee/Documents/documentcontrollist/documentcontrollist.component.ts","./src/app/components/Employee/Documents/documentcontrolvalidate.ts","./src/app/components/Employee/Documents/documentdownload/documentdownload.component.ts","./src/app/components/Employee/Documents/mydocument/mydocument.component.ts","./src/app/components/Employee/EmpAttReportview/emp-att-report-view/emp-att-report-view.component.ts","./src/app/components/Employee/EmployeeOnBoard/employee-on-board/employee-on-board.component.ts","./src/app/components/Employee/EmployeeOnBoard/employee-on-boardlist/employee-on-boardlist.component.ts","./src/app/components/Employee/EmployeeOnBoard/onboardapproval/onboardapproval.component.ts","./src/app/components/Employee/Expenseposting/expenseposting/expenseposting.component.ts","./src/app/components/Employee/Expenseposting/expensepostinglist/expensepostinglist.component.ts","./src/app/components/Employee/LedgerStatement/ledgerstatement.component.ts","./src/app/components/Employee/Popup/popupnotification/popupnotification.component.ts","./src/app/components/HR/AttendanceReport/attendancereport/attendancereport.component.ts","./src/app/components/HR/AttendanceReport/dialog-colorcode/dialog-colorcode.component.ts","./src/app/components/HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component.ts","./src/app/components/HR/DateControl/datecontrol/datecontrol.component.ts","./src/app/components/HR/EOS/eosposting/eosposting.component.ts","./src/app/components/HR/EOS/eosreport/eosreport.component.ts","./src/app/components/HR/EmpAccounts/empaccounts/empaccounts.component.ts","./src/app/components/HR/EmpCategory/empcategory/empcategory.component.ts","./src/app/components/HR/EmpLeaveReport/empleaverpt.component.ts","./src/app/components/HR/EmpPayslipPayment/emppayslippayment/emppayslippayment.component.ts","./src/app/components/HR/EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component.ts","./src/app/components/HR/EmployeeRegistration/emp-reg-Validate.ts","./src/app/components/HR/EmployeeRegistration/emp-reg-list/emp-reg-list.component.ts","./src/app/components/HR/EmployeeRegistration/emp-reg/emp-reg.component.ts","./src/app/components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component.ts","./src/app/components/HR/Goals/goalaccess/goalaccess.component.ts","./src/app/components/HR/Goals/goals2/goals2.component.ts","./src/app/components/HR/Goals/goals/goals.component.ts","./src/app/components/HR/Goals/goalslist/goalslist.component.ts","./src/app/components/HR/Goals/hrgoalslist/hrgoalslist.component.ts","./src/app/components/HR/HRPolicy/currentyearcarryforward/currentyearcarryforward.component.ts","./src/app/components/HR/HRPolicy/hrpolicies/hrpolicies.component.ts","./src/app/components/HR/HRPolicy/hrpoliciesview/hrpoliciesview.component.ts","./src/app/components/HR/LeaveApproval/dialogleaveapproval/dialogleaveapproval.component.ts","./src/app/components/HR/LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component.ts","./src/app/components/HR/LeaveApproval/empleaverequest/empleaverequest.component.ts","./src/app/components/HR/LeaveApproval/leave-approvalValidate.ts","./src/app/components/HR/LeaveApproval/leave-approval/leave-approval.component.ts","./src/app/components/HR/LeaveApproval/leavemgtelog/leavemgtelog.component.ts","./src/app/components/HR/LeaveApproval/leaverequest/leaverequest.component.ts","./src/app/components/HR/LeaveApproval/newleavedirectapproval/newleavedirectapproval.component.ts","./src/app/components/HR/LeaveApproval/newleaverequest/newleaverequest.component.ts","./src/app/components/HR/LeaveApproval/newpopupleavedirectapproval/newpopupleavedirectapproval.component.ts","./src/app/components/HR/LeaveManagement/leave-management/leave-management.component.ts","./src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashposting/leavesalaryencashposting.component.ts","./src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashreport/leavesalaryencashreport.component.ts","./src/app/components/HR/PSTemplate/pstemplate/pstemplate.component.ts","./src/app/components/HR/PSTemplate/pstemplatelist/pstemplatelist.component.ts","./src/app/components/HR/Payslip Report/payslipreport/payslipreport.component.ts","./src/app/components/HR/SalaryHike/empsalaryhike/empsalaryhike.component.ts","./src/app/components/HR/SalaryHike/empsalaryhikeposting/empsalaryhikeposting.component.ts","./src/app/components/HR/ShiftManagement/shifttimepunchreport/shifttimepunchreport.component.ts","./src/app/components/HR/TimeSheet/timesheet/timesheet.component.ts","./src/app/components/HR/TimeSheet/timesheetview/timesheetview.component.ts","./src/app/components/HR/Timepunch/timepunch/timepunch.component.ts","./src/app/components/HR/Timepunchleaveposting/timepunchleaveposting/timepunchleaveposting.component.ts","./src/app/components/HR/Training/training/training.component.ts","./src/app/components/HR/Training/trainingacess/trainingacess.component.ts","./src/app/components/HR/Training/traininglist/traininglist.component.ts","./src/app/components/HR/auth-master/auth-master-list/auth-master-list.component.ts","./src/app/components/HR/auth-master/auth-master.component.ts","./src/app/components/HR/authorizegroup/authorizegroup.component.ts","./src/app/components/HR/dynamicTable/dynamic-table-component/dynamic-table-component.component.ts","./src/app/components/HR/leavetypeconfiguration/leavetypeconfiguration.component.ts","./src/app/components/HR/payslip/payslip.component.ts","./src/app/components/HR/timepuchreport/consolidatetimepunchrptlist/consolidatetimepunchrptlist.component.ts","./src/app/components/HR/timepuchreport/disable-data.service.ts","./src/app/components/HR/timepuchreport/editot/editot.component.ts","./src/app/components/HR/timepuchreport/timepunchotreportlist/timepunchotreport/timepunchotreport.component.ts","./src/app/components/HR/timepuchreport/timepunchreport/timepunchreport.component.ts","./src/app/components/HR/timepuchreport/timepunchreportlist/timepunchreportlist.component.ts","./src/app/components/HR/timepuchreport/updatefingerprint/updatefingerprint.component.ts","./src/app/components/HR/voucherfor-hr/voucherfor-hr.component.ts","./src/app/components/ITS/CustomsReport/aspentaskbyreport/aspentaskbyreport.component.ts","./src/app/components/ITS/CustomsReport/taskby/taskby.component.ts","./src/app/components/ITS/CustomsReport/taskbyview/taskbyview.component.ts","./src/app/components/ITS/DevXKanban/app.service.ts","./src/app/components/ITS/DevXKanban/devxkanbanboard/devxkanbanboard.component.ts","./src/app/components/ITS/Helpdesk/helpdesktaskby/helpdesktaskby.component.ts","./src/app/components/ITS/Ticket/attachment/attachment.component.ts","./src/app/components/ITS/Ticket/comment/comment.component.ts","./src/app/components/ITS/Ticket/itsuserhomepage/itsuserhomepage.component.ts","./src/app/components/ITS/Ticket/linkticketaschild/linkticketaschild.component.ts","./src/app/components/ITS/Ticket/quickadd/quickadd.component.ts","./src/app/components/ITS/Ticket/ticket/ticket.component.ts","./src/app/components/ITS/Ticket/ticketactivityview/ticketactivityview.component.ts","./src/app/components/ITS/Ticket/ticketlist/ticketlist.component.ts","./src/app/components/ITS/Ticket/ticketmanager/ticketmanager.component.ts","./src/app/components/ITS/dependencyrpt/dependencyrpt.component.ts","./src/app/components/ITS/itshomepage/itshomepage.component.ts","./src/app/components/ITS/kanbanboard/board.model.ts","./src/app/components/ITS/kanbanboard/column.models.ts","./src/app/components/ITS/kanbanboard/kanbanboard.component.ts","./src/app/components/ITS/kanbanboardconfig/kanbanboardconfig.component.ts","./src/app/components/ITS/kanbanboardconfigpopup/kanbanboardconfigpopup.component.ts","./src/app/components/ITS/kanbanboardfilter/kanbanboardfilter.component.ts","./src/app/components/ITS/kanbanboardsearch/kanbanboardsearch.component.ts","./src/app/components/ITS/kanbankeyvaluejsondataview/kanbankeyvaluejsondataview.component.ts","./src/app/components/ITS/kanbanuserinitial/kanbanuserinitial.component.ts","./src/app/components/ITS/tickettreeview/tickettreeview.component.ts","./src/app/components/Project/EffortApproval/effortapproval.component.ts","./src/app/components/Project/EmpHierarchy/employee-hierarchy-list/employee-hierarchy-list.component.ts","./src/app/components/Project/EmpHierarchy/employee-hierarchy/employee-hierarchy.component.ts","./src/app/components/Project/EmpHierarchy/empprojectlist/empprojectlist.component.ts","./src/app/components/Project/EmpHierarchy/hierarchyexcelimport/hierarchyexcelimport.component.ts","./src/app/components/Project/ProjectAllocation/projectallocationbyweek-list/projectallocationbyweek-list.component.ts","./src/app/components/Project/ProjectAllocation/projectallocationbyweek/projectallocationbyweek.component.ts","./src/app/components/Project/alternateemp/alternateemp.component.ts","./src/app/components/Project/attendance/attendance.component.ts","./src/app/components/Project/estimationweeklyreport/estimationweeklyreport.component.ts","./src/app/components/Project/project-allocation-by-day/project-allocation-by-day.component.ts","./src/app/components/Project/projecteffort/projecteffort.component.ts","./src/app/components/Project/resourceallocationbyday/resourceallocationbyday.component.ts","./src/app/components/Project/resourceallocationbyweek/resourceallocationbyweek.component.ts","./src/app/components/Project/resourceallocationbyweeklist/resourceallocationbyweeklist.component.ts","./src/app/components/WorkFlow/AssementGroup/assementgroup/assementgroup.component.ts","./src/app/components/WorkFlow/Branch/branch/branch.component.ts","./src/app/components/WorkFlow/Branch/branchlist/branchlist.component.ts","./src/app/components/WorkFlow/Category/category/category.component.ts","./src/app/components/WorkFlow/Category/categorylist/categorylist.component.ts","./src/app/components/WorkFlow/Client/merchant/merchant.component.ts","./src/app/components/WorkFlow/Client/merchantlist/merchantlist.component.ts","./src/app/components/WorkFlow/EffortAuthorizer/effortauthconfig/effortauthconfig.component.ts","./src/app/components/WorkFlow/EmailConfig/emailconfiguration/emailconfiguration.component.ts","./src/app/components/WorkFlow/Entity/entity/entity.component.ts","./src/app/components/WorkFlow/Entity/entityconfig/entityconfig.component.ts","./src/app/components/WorkFlow/HRConfig/hrconfiguration/hrconfiguration.component.ts","./src/app/components/WorkFlow/LeaveGroup/LeaveGroupConfig.component.ts","./src/app/components/WorkFlow/LeaveGroup/add-leave-group-pop-up/add-leave-group-pop-up.component.ts","./src/app/components/WorkFlow/LeaveGroup/leavegroup/leavegroup.component.ts","./src/app/components/WorkFlow/LeaveGroup/leavegrouplist/leavegrouplist.component.ts","./src/app/components/WorkFlow/LeaveGroup/link-leave-type-popup/link-leave-type-popup.component.ts","./src/app/components/WorkFlow/LeaveTypeMaster/leavetypemaster/leavetypemaster.component.ts","./src/app/components/WorkFlow/LeaveTypeMaster/leavetypemasterview/leavetypemasterview.component.ts","./src/app/components/WorkFlow/Product/productconfig/productconfig.component.ts","./src/app/components/WorkFlow/Product/productconfiglist/productconfiglist.component.ts","./src/app/components/WorkFlow/ProjectCost/projectcost/projectcost.component.ts","./src/app/components/WorkFlow/ProjectMaster/projectconfiguration-list/projectconfiguration-list.component.ts","./src/app/components/WorkFlow/ProjectMaster/projectconfigurationValidate.ts","./src/app/components/WorkFlow/ProjectMaster/projectconfiguration/projectconfiguration.component.ts","./src/app/components/WorkFlow/Question/question/question.component.ts","./src/app/components/WorkFlow/Question/questionlist/questionlist.component.ts","./src/app/components/WorkFlow/Status/status/status.component.ts","./src/app/components/WorkFlow/Status/statuslist/statuslist.component.ts","./src/app/components/WorkFlow/TicketLink/ticketlinkconfig/ticketlinkconfig.component.ts","./src/app/components/WorkFlow/TicketLink/ticketlinklist/ticketlinklist.component.ts","./src/app/components/WorkFlow/TimeZone/timezone/timezone.component.ts","./src/app/components/WorkFlow/TimeZone/timezonelist/timezonelist.component.ts","./src/app/components/WorkFlow/TypeOfIssue/typeofissue/typeofissue.component.ts","./src/app/components/WorkFlow/TypeOfIssue/typeofissuelist/typeofissuelist.component.ts","./src/app/components/WorkFlow/nestedgrid/nestedgrid.component.ts","./src/app/components/WorkFlow/ticketemailconfigexcelimport/edit-email-tag-list/edit-email-tag-list.component.ts","./src/app/components/WorkFlow/ticketemailconfigexcelimport/excel-import-dialog/excel-import-dialog.component.ts","./src/app/components/WorkFlow/ticketemailconfigexcelimport/ticketemailconfigexcelimport.component.ts","./src/app/components/WorkFlow/ticketemailrulecreation/ticketemailrulecreation.component.ts","./src/app/components/WorkFlow/ticketprefixconfig/ticketprefixconfig.component.ts","./src/app/components/WorkFlow/ticketprefixdialog/ticketprefixdialog.component.ts","./src/app/components/dialogforreports/dialogforreports.component.ts","./src/app/components/matconformdialog/matconformdialog.component.ts","./src/app/log-in/log-in.component.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./node_modules/@ionic/pwa-elements/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/app/LandingPageComponents/full/full.component.css","./src/app/LandingPageComponents/menu-list-item/menu-list-item.component.css","./src/app/components/Admin/License/licensecreatemain/licensecreatemain.component.css","./src/app/components/Admin/License/licensecreatesub/licensecreatesub.component.css","./src/app/components/Admin/License/licensereport/licensereport.component.css","./src/app/components/Admin/devxgrid/devxgrid.component.css","./src/app/components/Admin/dialogformainform/dialogformainform.component.css","./src/app/components/Admin/group/group-list/group-list.component.css","./src/app/components/Admin/group/group/group.component.css","./src/app/components/Admin/userandgrouppermission/userandgrouppermission.component.css","./src/app/components/Admin/users/user-list/user-list.component.css","./src/app/components/Admin/users/user/user.component.css","./src/app/components/Admin/users/worklocation/worklocation.component.css","./src/app/components/Control/multiselectwithsearch/multiselectwithsearch.component.css","./src/app/components/ERP/ApprovalForm/approvalform-posting/approvalform-posting.component.css","./src/app/components/ERP/ApprovalForm/showdetails/showdetails.component.css","./src/app/components/ERP/Inventory/inventory/itempricelist/itempricelist.component.css","./src/app/components/ERP/Sales/neworder/neworder.component.css","./src/app/components/ERP/Sales/neworderlist/neworderlist.component.css","./src/app/components/ETS/CustomsReport/customsreport.component.css","./src/app/components/ETS/monthlyreport/monthlyreport.component.css","./src/app/components/ETS/ticketreport/ticketreport.component.css","./src/app/components/Employee/AdvanceRequest/advancerequest/advancerequest.component.css","./src/app/components/Employee/AdvanceRequest/advancerequestview/advancerequestview.component.css","./src/app/components/Employee/Documents/documentcontrol/documentcontrol.component.css","./src/app/components/Employee/Documents/documentcontrollist/documentcontrollist.component.css","./src/app/components/Employee/Documents/documentdownload/documentdownload.component.css","./src/app/components/Employee/Expenseposting/expenseposting/expenseposting.component.css","./src/app/components/Employee/Expenseposting/expensepostinglist/expensepostinglist.component.css","./src/app/components/Employee/LedgerStatement/ledgerstatement.component.css","./src/app/components/Employee/Popup/popupnotification/popupnotification.component.css","./src/app/components/HR/AttendanceReport/attendancereport/attendancereport.component.css","./src/app/components/HR/AttendanceReport/dialog-colorcode/dialog-colorcode.component.css","./src/app/components/HR/EmpCategory/empcategory/empcategory.component.css","./src/app/components/HR/EmpLeaveReport/empleaverpt.component.css","./src/app/components/HR/EmpPayslipPayment/emppayslippayment/emppayslippayment.component.css","./src/app/components/HR/EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component.css","./src/app/components/HR/EmployeeRegistration/emp-reg-list/emp-reg-list.component.css","./src/app/components/HR/EmployeeRegistration/emp-reg/emp-reg.component.css","./src/app/components/HR/Goals/goalaccess/goalaccess.component.css","./src/app/components/HR/Goals/goals/goals.component.css","./src/app/components/HR/Goals/goalslist/goalslist.component.css","./src/app/components/HR/HRPolicy/hrpolicies/hrpolicies.component.css","./src/app/components/HR/HRPolicy/hrpoliciesview/hrpoliciesview.component.css","./src/app/components/HR/LeaveApproval/dialogleaveapproval/dialogleaveapproval.component.css","./src/app/components/HR/LeaveApproval/empleaverequest/empleaverequest.component.css","./src/app/components/HR/LeaveApproval/leave-approval/leave-approval.component.css","./src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashposting/leavesalaryencashposting.component.css","./src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashreport/leavesalaryencashreport.component.css","./src/app/components/HR/PSTemplate/pstemplatelist/pstemplatelist.component.css","./src/app/components/HR/TimeSheet/timesheet/timesheet.component.css","./src/app/components/HR/TimeSheet/timesheetview/timesheetview.component.css","./src/app/components/HR/Training/training/training.component.css","./src/app/components/HR/Training/trainingacess/trainingacess.component.css","./src/app/components/HR/Training/traininglist/traininglist.component.css","./src/app/components/HR/timepuchreport/timepunchreport/timepunchreport.component.css","./src/app/components/HR/timepuchreport/timepunchreportlist/timepunchreportlist.component.css","./src/app/components/ITS/DevXKanban/devxkanbanboard/devxkanbanboard.component.css","./src/app/components/ITS/Ticket/ticketmanager/ticketmanager.component.css","./src/app/components/ITS/kanbanboardsearch/kanbanboardsearch.component.css","./src/app/components/Project/EffortApproval/effortapproval.component.css","./src/app/components/Project/EmpHierarchy/employee-hierarchy-list/employee-hierarchy-list.component.css","./src/app/components/Project/EmpHierarchy/employee-hierarchy/employee-hierarchy.component.css","./src/app/components/Project/EmpHierarchy/hierarchyexcelimport/hierarchyexcelimport.component.css","./src/app/components/Project/ProjectAllocation/projectallocationbyweek-list/projectallocationbyweek-list.component.css","./src/app/components/Project/ProjectAllocation/projectallocationbyweek/projectallocationbyweek.component.css","./src/app/components/Project/alternateemp/alternateemp.component.css","./src/app/components/Project/projecteffort/projecteffort.component.css","./src/app/components/WorkFlow/LeaveGroup/add-leave-group-pop-up/add-leave-group-pop-up.component.css","./src/app/components/WorkFlow/LeaveGroup/leavegroupconfig.component.css","./src/app/components/WorkFlow/LeaveGroup/link-leave-type-popup/link-leave-type-popup.component.css","./src/app/components/WorkFlow/LeaveTypeMaster/leavetypemaster/leavetypemaster.component.css","./src/app/components/WorkFlow/LeaveTypeMaster/leavetypemasterview/leavetypemasterview.component.css","./src/app/components/WorkFlow/ProjectMaster/projectconfiguration-list/projectconfiguration-list.component.css","./src/app/components/WorkFlow/ProjectMaster/projectconfiguration/projectconfiguration.component.css","./src/app/components/dialogforreports/dialogforreports.component.css","./src/app/log-in/log-in.component.css","./src/app/LandingPageComponents/dashboard/dashboard.component.scss","./src/app/LandingPageComponents/tabs/tabs.component.scss","./src/app/app.component.scss","./src/app/components/Admin/Profile/profile/profile.component.scss","./src/app/components/Admin/change-password/change-password.component.scss","./src/app/components/Control/mat-select-search/mat-select-search.component.scss","./src/app/components/ERP/ApprovalForm/approvalformfilter/approvalformfilter.component.scss","./src/app/components/ERP/ApprovalForm/approvalformlist/approvalformlist.component.scss","./src/app/components/ERP/Sales/webcamera/webcamera.component.scss","./src/app/components/ERP/auditview/aduitview.component.scss","./src/app/components/ERP/customizeditemrpt/customizeditemrpt.component.scss","./src/app/components/ETS/Consolidatereport/consolidate-effort/consolidate-effort.component.scss","./src/app/components/ETS/DateWiseReport/datewisereport/datewisereport.component.scss","./src/app/components/ETS/EffortAuthorize/effortauthorize/effortauthorize.component.scss","./src/app/components/ETS/EffortCostReport/effortcostreport/effortcostreport.component.scss","./src/app/components/ETS/EmpTimesheet/emp-timesheet/emp-timesheet.component.scss","./src/app/components/ETS/EmpTimesheet/timesheetticket/timesheetticket.component.scss","./src/app/components/ETS/Sample/sample/sample.component.scss","./src/app/components/Employee/AttendanceReport/empattendanceview/empattendanceview.component.scss","./src/app/components/Employee/DocumentRequest/documentreqlist/documentreqlist.component.scss","./src/app/components/Employee/DocumentRequest/documentreqview/documentreqview.component.scss","./src/app/components/Employee/DocumentRequest/downloaddocrequest/downloaddocrequest.component.scss","./src/app/components/Employee/DocumentRequest/empdocreqlist/empdocreqlist.component.scss","./src/app/components/Employee/DocumentRequest/uploaddocrequest/uploaddocrequest.component.scss","./src/app/components/Employee/Documents/mydocument/mydocument.component.scss","./src/app/components/Employee/EmpAttReportview/emp-att-report-view/emp-att-report-view.component.scss","./src/app/components/Employee/EmployeeOnBoard/employee-on-board/employee-on-board.component.scss","./src/app/components/Employee/EmployeeOnBoard/employee-on-boardlist/employee-on-boardlist.component.scss","./src/app/components/Employee/EmployeeOnBoard/onboardapproval/onboardapproval.component.scss","./src/app/components/HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component.scss","./src/app/components/HR/DateControl/datecontrol/datecontrol.component.scss","./src/app/components/HR/EOS/eosposting/eosposting.component.scss","./src/app/components/HR/EOS/eosreport/eosreport.component.scss","./src/app/components/HR/EmpAccounts/empaccounts/empaccounts.component.scss","./src/app/components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component.scss","./src/app/components/HR/Goals/goals2/goals2.component.scss","./src/app/components/HR/Goals/hrgoalslist/hrgoalslist.component.scss","./src/app/components/HR/HRPolicy/currentyearcarryforward/currentyearcarryforward.component.scss","./src/app/components/HR/LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component.scss","./src/app/components/HR/LeaveApproval/leavemgtelog/leavemgtelog.component.scss","./src/app/components/HR/LeaveApproval/leaverequest/leaverequest.component.scss","./src/app/components/HR/LeaveApproval/newleavedirectapproval/newleavedirectapproval.component.scss","./src/app/components/HR/LeaveApproval/newleaverequest/newleaverequest.component.scss","./src/app/components/HR/LeaveApproval/newpopupleavedirectapproval/newpopupleavedirectapproval.component.scss","./src/app/components/HR/LeaveManagement/leave-management/leave-management.component.scss","./src/app/components/HR/PSTemplate/pstemplate/pstemplate.component.scss","./src/app/components/HR/Payslip Report/payslipreport/payslipreport.component.scss","./src/app/components/HR/SalaryHike/empsalaryhike/empsalaryhike.component.scss","./src/app/components/HR/SalaryHike/empsalaryhikeposting/empsalaryhikeposting.component.scss","./src/app/components/HR/ShiftManagement/shifttimepunchreport/shifttimepunchreport.component.scss","./src/app/components/HR/Timepunch/timepunch/timepunch.component.scss","./src/app/components/HR/Timepunchleaveposting/timepunchleaveposting/timepunchleaveposting.component.scss","./src/app/components/HR/auth-master/auth-master-list/auth-master-list.component.scss","./src/app/components/HR/auth-master/auth-master.component.scss","./src/app/components/HR/authorizegroup/authorizegroup.component.scss","./src/app/components/HR/dynamicTable/dynamic-table-component/dynamic-table-component.component.scss","./src/app/components/HR/leavetypeconfiguration/leavetypeconfiguration.component.scss","./src/app/components/HR/payslip/payslip.component.scss","./src/app/components/HR/timepuchreport/consolidatetimepunchrptlist/consolidatetimepunchrptlist.component.scss","./src/app/components/HR/timepuchreport/editot/editot.component.scss","./src/app/components/HR/timepuchreport/timepunchotreportlist/timepunchotreport/timepunchotreport.component.scss","./src/app/components/HR/timepuchreport/updatefingerprint/updatefingerprint.component.scss","./src/app/components/HR/voucherfor-hr/voucherfor-hr.component.scss","./src/app/components/ITS/CustomsReport/aspentaskbyreport/aspentaskbyreport.component.scss","./src/app/components/ITS/CustomsReport/taskby/taskby.component.scss","./src/app/components/ITS/CustomsReport/taskbyview/taskbyview.component.scss","./src/app/components/ITS/Helpdesk/helpdesktaskby/helpdesktaskby.component.scss","./src/app/components/ITS/Ticket/attachment/attachment.component.scss","./src/app/components/ITS/Ticket/comment/comment.component.scss","./src/app/components/ITS/Ticket/itsuserhomepage/itsuserhomepage.component.scss","./src/app/components/ITS/Ticket/linkticketaschild/linkticketaschild.component.scss","./src/app/components/ITS/Ticket/quickadd/quickadd.component.scss","./src/app/components/ITS/Ticket/ticket/ticket.component.scss","./src/app/components/ITS/Ticket/ticketactivityview/ticketactivityview.component.scss","./src/app/components/ITS/Ticket/ticketlist/ticketlist.component.scss","./src/app/components/ITS/dependencyrpt/dependencyrpt.component.scss","./src/app/components/ITS/itshomepage/itshomepage.component.scss","./src/app/components/ITS/kanbanboard/kanbanboard.component.scss","./src/app/components/ITS/kanbanboardconfig/kanbanboardconfig.component.scss","./src/app/components/ITS/kanbanboardconfigpopup/kanbanboardconfigpopup.component.scss","./src/app/components/ITS/kanbanboardfilter/kanbanboardfilter.component.scss","./src/app/components/ITS/kanbankeyvaluejsondataview/kanbankeyvaluejsondataview.component.scss","./src/app/components/ITS/kanbanuserinitial/kanbanuserinitial.component.scss","./src/app/components/ITS/tickettreeview/tickettreeview.component.scss","./src/app/components/Project/EmpHierarchy/empprojectlist/empprojectlist.component.scss","./src/app/components/Project/attendance/attendance.component.scss","./src/app/components/Project/estimationweeklyreport/estimationweeklyreport.component.scss","./src/app/components/Project/project-allocation-by-day/project-allocation-by-day.component.scss","./src/app/components/Project/resourceallocationbyday/resourceallocationbyday.component.scss","./src/app/components/Project/resourceallocationbyweek/resourceallocationbyweek.component.scss","./src/app/components/Project/resourceallocationbyweeklist/resourceallocationbyweeklist.component.scss","./src/app/components/WorkFlow/AssementGroup/assementgroup/assementgroup.component.scss","./src/app/components/WorkFlow/Branch/branch/branch.component.scss","./src/app/components/WorkFlow/Branch/branchlist/branchlist.component.scss","./src/app/components/WorkFlow/Category/category/category.component.scss","./src/app/components/WorkFlow/Category/categorylist/categorylist.component.scss","./src/app/components/WorkFlow/Client/merchant/merchant.component.scss","./src/app/components/WorkFlow/Client/merchantlist/merchantlist.component.scss","./src/app/components/WorkFlow/EffortAuthorizer/effortauthconfig/effortauthconfig.component.scss","./src/app/components/WorkFlow/EmailConfig/emailconfiguration/emailconfiguration.component.scss","./src/app/components/WorkFlow/Entity/entity/entity.component.scss","./src/app/components/WorkFlow/Entity/entityconfig/entityconfig.component.scss","./src/app/components/WorkFlow/HRConfig/hrconfiguration/hrconfiguration.component.scss","./src/app/components/WorkFlow/LeaveGroup/leavegroup/leavegroup.component.scss","./src/app/components/WorkFlow/LeaveGroup/leavegrouplist/leavegrouplist.component.scss","./src/app/components/WorkFlow/Product/productconfig/productconfig.component.scss","./src/app/components/WorkFlow/Product/productconfiglist/productconfiglist.component.scss","./src/app/components/WorkFlow/ProjectCost/projectcost/projectcost.component.scss","./src/app/components/WorkFlow/Question/question/question.component.scss","./src/app/components/WorkFlow/Question/questionlist/questionlist.component.scss","./src/app/components/WorkFlow/Status/status/status.component.scss","./src/app/components/WorkFlow/Status/statuslist/statuslist.component.scss","./src/app/components/WorkFlow/TicketLink/ticketlinkconfig/ticketlinkconfig.component.scss","./src/app/components/WorkFlow/TicketLink/ticketlinklist/ticketlinklist.component.scss","./src/app/components/WorkFlow/TimeZone/timezone/timezone.component.scss","./src/app/components/WorkFlow/TimeZone/timezonelist/timezonelist.component.scss","./src/app/components/WorkFlow/TypeOfIssue/typeofissue/typeofissue.component.scss","./src/app/components/WorkFlow/TypeOfIssue/typeofissuelist/typeofissuelist.component.scss","./src/app/components/WorkFlow/nestedgrid/nestedgrid.component.scss","./src/app/components/WorkFlow/ticketemailconfigexcelimport/edit-email-tag-list/edit-email-tag-list.component.scss","./src/app/components/WorkFlow/ticketemailconfigexcelimport/excel-import-dialog/excel-import-dialog.component.scss","./src/app/components/WorkFlow/ticketemailconfigexcelimport/ticketemailconfigexcelimport.component.scss","./src/app/components/WorkFlow/ticketemailrulecreation/ticketemailrulecreation.component.scss","./src/app/components/WorkFlow/ticketprefixconfig/ticketprefixconfig.component.scss","./src/app/components/WorkFlow/ticketprefixdialog/ticketprefixdialog.component.scss","./src/app/components/matconformdialog/matconformdialog.component.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$","ignored|D:\\acSysIT\\acSysCRM_V15\\UI\\node_modules\\xlsx|crypto","ignored|D:\\acSysIT\\acSysCRM_V15\\UI\\node_modules\\xlsx|fs","ignored|D:\\acSysIT\\acSysCRM_V15\\UI\\node_modules\\xlsx|stream"],"sourcesContent":["\nimport { Component, OnInit } from '@angular/core';\nimport { User } from 'src/app/Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { timer, Observable } from 'rxjs';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n})\nexport class DashboardComponent implements OnInit {\n populationData: any;\n PriorityData: any;\n StatusData: any;\n leavedetails: any;\n EffortData: any;\n LeaveData: any;\n Leaveisvisible: boolean = false;\n Effortisvisible: boolean = false;\n GGBCvisible:boolean=false;\n Commonvisible:boolean=false;\n //everyFiveSeconds: Observable = timer(0, 20000);\n subscription: any;\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n constructor(public service: HttpserviceService) {\n\n }\n\n ngOnInit() {\n\n let CID = JSON.parse(sessionStorage.getItem('cid'));\n //this.subscription = this.everyFiveSeconds.subscribe(() => {\n //this.RefreshDashboard();\n \n // });\n\n this.GetDashboard();\n\n }\n\n // ngOnDestroy() {\n // this.subscription.unsubscribe();\n // }\n\n // RefreshDashboard() {\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&UserID=${curUser.userid}`;\n // this.service.httpGet('/usermgt/GetDashboard?', query)\n // .subscribe(data => {\n // let result: any;\n // result = data;\n // if (result.errno === 0) {\n // this.PriorityData = result.respdata.Table;\n // this.LeaveData = result.respdata.Table2;\n // this.StatusData = result.respdata.Table1;\n // this.EffortData = result.respdata.Table3;\n // this.leavedetails = result.respdata.Table4;\n \n // if(result.respdata.Table5[0].Tag =='1' ) \n // this.Commonvisible=true;\n // if(result.respdata.Table6[0].Tag =='1' ) \n // this.GGBCvisible=true;\n\n // if (this.curUser.UserType === 'External') {\n // this.Leaveisvisible = false;\n // this.Effortisvisible = false;\n // }\n // else {\n // this.Leaveisvisible = true;\n // this.Effortisvisible = true;\n // }\n // }\n\n // },\n // (error) => {\n // // if (error instanceof BadInput) \n // console.log(error);\n // // else throw error; \n // });\n // }\n\n GetDashboard() {\n\n this.PriorityData = this.curUser.ds_dashboard.Table;\n this.LeaveData = this.curUser.ds_dashboard.Table2;\n this.StatusData = this.curUser.ds_dashboard.Table1;\n this.EffortData = this.curUser.ds_dashboard.Table3;\n this.leavedetails =this.curUser.ds_dashboard.Table4;\n if(this.curUser.ds_dashboard.Table5[0].Tag =='1' )\n {\n this.Commonvisible=true;\n } \n else \n {\n this.GGBCvisible=true;\n } \n\n if (this.curUser.UserType === 'External') {\n this.Leaveisvisible = false;\n this.Effortisvisible = false;\n }\n else {\n this.Leaveisvisible = true;\n this.Effortisvisible = true;\n }\n\n }\n\n\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[dynamictabs]'\n})\nexport class DynamictabsDirective {\n constructor(public viewContainer: ViewContainerRef) {}\n}","import { TicketlistComponent } from './../../components/ITS/Ticket/ticketlist/ticketlist.component';\nimport * as $ from 'jquery';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { Router } from '@angular/router';\nimport {\n ChangeDetectorRef,\n Component,\n NgZone,\n OnDestroy,\n ViewChild,\n HostListener,\n Directive,\n AfterViewInit,\n Renderer2\n} from '@angular/core';\n//import { MenuItems } from '../../LandingPageComponents/menu-items';\n// import { AppHeaderComponent } from './header/header.component';\n// import { AppSidebarComponent } from './sidebar/sidebar.component';\nimport { environment } from '../../../environments/environment';\nimport { TabsComponent } from '../../LandingPageComponents/tabs/tabs.component';\n//import { EmpAttReportViewComponent } from '../../../app/components/EmpAttReportview/emp-att-report-view/emp-att-report-view.component';\nimport { MenuidmappingService } from '../menuidmapping.service'\nimport themes from 'devextreme/ui/themes';\nimport { DashboardComponent } from '../dashboard/dashboard.component';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\n// import { TicketlistComponent } from'src/app/components/ITS/Ticket/ticketlist/ticketlist.component'\n/** @title Responsive sidenav */\n@Component({\n selector: 'app-full-layout',\n templateUrl: 'full.component.html',\n styleUrls: ['full.component.css'],\n\n})\nexport class FullComponent implements OnDestroy, AfterViewInit {\n backgroundColor = environment.navBarBackgroundColor;\n mobileQuery: MediaQueryList;\n selectedTheme = '';\n @ViewChild(TabsComponent) tabsComponent;\n @ViewChild(DashboardComponent) DashboardComponent;\n\n private _mobileQueryListener: () => void;\n\n\n color = \"primary\";\n protected _themes = [\"theme-1\", \"theme-2\", \"theme-5\", \"theme-6\", \"theme-7\", \"theme-8\"];\n protected _currentThemeIndex = 0;\n isDark = false;\n tabvisible: boolean = true;\n\n public icon = 'menu';\n\n\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher,\n //public menuItems: MenuItems,\n public menuIDMap: MenuidmappingService,\n private renderer: Renderer2,\n private eventService: EmiteventserviceService\n\n\n\n ) {\n this.lightmode();\n this.theme();\n this.mobileQuery = media.matchMedia('(min-width: 768px)');\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\n this.mobileQuery.addListener(this._mobileQueryListener);\n this.eventService.menuSelect$.subscribe(data => {\n //this.receivedData = data;\n // console.log(\"emitservicecall\",data)\n this.menuSelect(data);\n \n });\n\n }\n\n public changeIcon() {\n if (this.icon == 'menu')\n this.icon = 'menu_open';\n else if (this.icon == 'menu_open')\n this.icon = 'menu';\n }\n\n ngOnDestroy(): void {\n this.mobileQuery.removeListener(this._mobileQueryListener);\n this.tabvisible = true;\n }\n ngAfterViewInit() { this.tabvisible = true; }\n\n addTab() {\n //this.tabsComponent.openTab2('Person', EmpAttReportViewComponent, {}, true);\n }\n\n menuSelect(item: any) {\n\n this.tabvisible = false;\n if (item.menuid != '') {\n // console.log(\"testamjath\",item) \n\n let menuid_\n if(item.menuid.length>7)\n {\n menuid_ = item.menuid.replace(/_[0-9]+$/, '');\n \n }\n else\n {\n menuid_=item.menuid\n }\n\n // console.log(\"menuid_454\",menuid_) \n this.tabsComponent.openTab2(item.name,item.menuid, this.menuIDMap.getComponent(menuid_), {}, true);\n }\n\n\n }\n\n lightmode() {\n var isDarkTemp = sessionStorage.getItem('isDark');//localStorage.getItem('isDark');\n //console.log('DARKTEM',isDarkTemp)\n if (isDarkTemp == \"0\" && isDarkTemp != null) {\n\n this.isDark = false;\n this.renderer.removeClass(document.body, this.isDark ? \"dark\" : \"light\");\n this.renderer.addClass(document.body, this.isDark ? \"dark\" : \"light\");\n themes.current(\"generic.light\");\n //localStorage.setItem('isDark',\"1\");\n sessionStorage.setItem('isDark', \"0\");\n }\n else if (isDarkTemp != null) {\n //console.log('ISDARK')\n this.isDark = true;\n this.renderer.removeClass(document.body, this.isDark ? \"dark\" : \"light\");\n this.renderer.addClass(document.body, this.isDark ? \"dark\" : \"light\");\n themes.current(\"generic.dark\");\n sessionStorage.setItem('isDark', \"1\");\n\n }\n\n }\n\n theme() {\n var isthemeTemp = sessionStorage.getItem('theme');//localStorage.getItem('theme');\n this.renderer.removeClass(document.body, this._themes[isthemeTemp == \"0\" ? 1 : isthemeTemp]);\n this.renderer.addClass(document.body, this._themes[isthemeTemp]);\n //localStorage.setItem('theme',event.name);\n sessionStorage.setItem('theme', isthemeTemp);\n //localStorage.setItem('theme',event.name); \n\n // if( isthemeTemp===\"0\")\n // {\n // this.renderer.removeClass(document.body, this._themes[0]);\n // this.renderer.addClass(document.body, this._themes[1]); \n // localStorage.setItem('theme',\"1\"); \n // }\n // else\n // { \n // this.renderer.removeClass(document.body, this._themes[1]);\n // this.renderer.addClass(document.body, this._themes[0]); \n // localStorage.setItem('theme',\"0\"); \n // }\n }\n\n\n}\n","import { ProfileComponent } from './../../components/Admin/Profile/profile/profile.component';\nimport { PopupnotificationComponent } from './../../components/Employee/Popup/popupnotification/popupnotification.component';\nimport { ChangePasswordComponent } from './../../components/Admin/change-password/change-password.component';\nimport { MatDialogConfig,MatDialog } from '@angular/material/dialog';\nimport { Component, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { AuthenticationService } from '../../Services/OtherServices/authentication.service';\n// import { AuthenticationService } from 'src/app/helpers/authentication.service';\nimport { User } from 'src/app/Modules/user';\nimport themes from \"devextreme/ui/themes\";\n//import { theme } from '../menu-items';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { DocumentcontrolValidate } from 'src/app/components/Employee/Documents/documentcontrolvalidate';\n\n\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: []\n})\nexport class AppHeaderComponent {\n hidden = false;\n badge:any=0;\n // themes: string[] = [\n\t// \t\"deeppurple-amber\",\n\t// \t\"indigo-pink\",\n\t// \t\"pink-bluegrey\",\n\t// \t\"purple-green\",\n\t// ];\n\n themes = [ \n { themeindex : 0, color: '#2196f3',themename:\"blue\"},\n { themeindex : 1, color: '#e91e63',themename:\"pink\"},\n //{ themeindex : 2, color: '#ffc107',themename:\"amber\"},\n // { themeindex : 3, color: '#8bc34a',themename:\"lightGreen\"},\n { themeindex : 2, color: '#9b59b6',themename:\"violet\"},\n { themeindex : 3, color: '#34495e',themename:\"grey\"},\n { themeindex : 4, color: '#1abc9c',themename:\"cyangreen\"},\n { themeindex : 5, color: '#2ecc71',themename:\"seagreen\"}\n ];\n\n //@Input() item: theme; \n //@Output() themeSelect: EventEmitter = new EventEmitter();\n\n CurLedgerID:string;\n ledgerid:any;\n loginphoto:any; \n event: any;\n profiledetail:boolean=false;\n notificationdetail:boolean=false;\n darklight:any;\n showpop:any;\n color = \"primary\";\n protected _themes = [\"theme-1\", \"theme-2\",\"theme-5\",\"theme-6\",\"theme-7\",\"theme-8\"];\n protected _currentThemeIndex = 0; \n isDark = false;\n \n \n\n constructor(\n private router: Router, \n private service: AuthenticationService,\n private dialog: MatDialog ,\n private renderer: Renderer2,\n private httpservice:HttpserviceService,\n private notificationservice:NotificationService,\n public service1: DocumentcontrolValidate,) { \n \n // var isDarkTemp =JSON.stringify(sessionStorage.getItem('isDark'));//localStorage.getItem('isDark');\n // if( isDarkTemp===\"0\") \n // {\n // this.isDark=false;\n // this.renderer.removeClass(document.body, this.isDark ? \"dark\": \"light\");\n // this.renderer.addClass(document.body, this.isDark ? \"dark\": \"light\");\n // }\n // else\n // {\n // this.isDark=true;\n // this.renderer.removeClass(document.body, this.isDark ? \"dark\": \"light\");\n // this.renderer.addClass(document.body, this.isDark ? \"dark\": \"light\");\n // }\n \n //this.renderer.addClass(document.body, this._themes[0]); \n var isDarkTemp = sessionStorage.getItem('isDark');\n if( isDarkTemp===\"0\") \n this.darklight=\"Dark\"; \n else\n this.darklight=\"Light\"; \n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // const str:string=curUser.empname;\n // console.log('CurLedgerID', curUser.empname.split(' - ')[1]);\n\n this.CurLedgerID=curUser.empname.split(' - ')[1]==undefined?curUser.username :curUser.empname.split(' - ')[1];\n //this.CurLedgerID=curUser.username;\n this.ledgerid=curUser.ledgerid;\n this.loginphoto='data:image/jpeg;base64,'+sessionStorage.getItem('photo');\n \n this.badge =sessionStorage.getItem('documentcount');\n this.hidden= this.badge==0 ? true : false;\n\n//console.log('SHOWPOPUP',curUser.ShowPopUp);\n\n if(curUser.UserType==='External'){\n this.profiledetail=false;\n this.notificationdetail=false;\n }\n else\n {\n this.profiledetail=true;\n if(curUser.ShowPopUp===1)\n this.notificationdetail=true;\n else\n this.notificationdetail=false;\n }\n\n }\n\n getdocumentdetails()\n {\n let params = {\n cid:JSON.parse(sessionStorage.getItem('cid')),\n username:\"''\",\n flag:'LoadPopUp',\n hide:'false'\n }\n this.service1.GetExpiryDetails(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.badge=result.respdata.Table2.length;\n this.hidden= this.badge==0 ? true : false;\n\n // console.log(\"tab\",result.respdata.Table2.length) ;\n // this.datasource1=result.respdata.Table1;\n }\n else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n signout(){\n // // console.log('sessionStorage');\n sessionStorage.clear();\n // console.log('sessionStorage',sessionStorage);\n // this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\n this.router.navigate(['']);\n // return false;\n // this.service.logout()\n }\n notification()\n {\n\n \n\n\t\tconst dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n \n }\n const dialogRef = this.dialog.open(PopupnotificationComponent,dialogConfig);\n }\n\n // changeTheme() {\n // this.event.publish('theme:toggle');\n // }\n\n // onClickDark(event:any){\n // console.log('Dark')\n // let systemDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\n // systemDark.addListener(this.colorTest);\n // if(event.detail.checked){\n // document.body.setAttribute('data-theme', 'dark');\n // }\n // else{\n // document.body.setAttribute('data-theme', 'light');\n // }\n // }\n\n // colorTest(systemInitiatedDark) {\n // if (systemInitiatedDark.matches) {\n // document.body.setAttribute('data-theme', 'dark');\t\t\n // } else {\n // document.body.setAttribute('data-theme', 'light');\n // }\n // }\n\n ChangePassword()\n {\n\t\tconst dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n \n }\n const dialogRef = this.dialog.open(ChangePasswordComponent,dialogConfig);\n }\n\n lightmode(){\n var isDarkTemp = sessionStorage.getItem('isDark');\n if( isDarkTemp===\"0\")\n {\n this.isDark=true;\n this.renderer.removeClass(document.body, this.isDark ? \"light\": \"dark\");\n this.renderer.addClass(document.body, this.isDark ? \"dark\": \"light\");\n themes.current(\"generic.dark\");\n sessionStorage.setItem('isDark',\"1\");\n //console.log('isdark','istrue');\n this.updateUserTheme(\"DarkLight\",1,\"\")\n this.darklight=\"Light\"; \n }\n else\n {\n this.isDark=false;\n this.renderer.removeClass(document.body, this.isDark ? \"light\": \"dark\");\n this.renderer.addClass(document.body, this.isDark ? \"dark\": \"light\");\n themes.current(\"generic.light\");\n sessionStorage.setItem('isDark',\"0\");\n this.updateUserTheme(\"DarkLight\",0,\"\")\n this.darklight=\"Dark\"; \n //console.log('isdark','isfalse');\n }\n\n \n //console.log('isdark',isDarkTemp);\n }\n\n\n\n theme(event){\n //console.log('event',event);\n var isthemeTemp = sessionStorage.getItem('theme');\n this.renderer.removeClass(document.body, this._themes[isthemeTemp==\"0\"?1:isthemeTemp]);\n this.renderer.addClass(document.body, this._themes[event.themeindex]); \n sessionStorage.setItem('theme',event.themeindex);\n this.updateUserTheme(\"Theme\",event.themeindex,event.themename)\n //localStorage.setItem('theme',event.name); \n\n // if( isthemeTemp===\"0\")\n // {\n // this.renderer.removeClass(document.body, this._themes[0]);\n // this.renderer.addClass(document.body, this._themes[1]); \n // localStorage.setItem('theme',\"1\"); \n // }\n // else\n // { \n // this.renderer.removeClass(document.body, this._themes[1]);\n // this.renderer.addClass(document.body, this._themes[0]); \n // localStorage.setItem('theme',\"0\"); \n // }\n //console.log('istheme',isthemeTemp,'event.name',event.themeindex);\n }\n\n\n updateUserTheme(flag:string,theme:number,themename:string) { \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser')); \n \n let params = { \n Flag: flag, \n CID: JSON.parse(sessionStorage.getItem('cid')), \n LedgerID:curUser.ledgerid, \n DarkLight:theme,\n ThemeIndex:theme,\n ThemeName:themename\n };\n this.httpservice.httpPost('/usermgt/userupdatetheme',params)\n .subscribe(\n (data) => {\n let result: any;\n //console.log('data ', data);\n result = data; \n //console.log('result ', result);\n if (result.errno === 0) {\n //this.notificationservice.success(result.errdesc); \n }\n else {\n // this.notificationservice.success(result.errdesc);\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n // onClickDarkTheme(item:theme) {\n // console.log('onClickDarkTheme');\n // this.themeSelect.emit(item);\n // }\n\n // theme(){\n // console.log('onClickDarkTheme');\n // this.themeSelect.emit();\n // }\n // lightmode(){\n // console.log('onClickDarkTheme');\n // this.themeSelect.emit();\n // }\n Profile()\n {\n\t\tconst dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n \n }\n const dialogRef = this.dialog.open(ProfileComponent,dialogConfig);\n }\n toggleBadgeVisibility() {\n this.hidden = true;\n this.notification();\n }\n}\n","import {Component, EventEmitter, HostBinding, Input, OnInit,Output,ViewChild} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport { Menu } from '../../LandingPageComponents/menu-items';\nimport { TabsComponent } from '../../LandingPageComponents/tabs/tabs.component';\n\n@Component({\n selector: 'app-menu-list-item',\n templateUrl: './menu-list-item.component.html',\n styleUrls: ['./menu-list-item.component.css'],\n animations: [\n trigger('indicatorRotate', [\n state('collapsed', style({transform: 'rotate(0deg)'})),\n state('expanded', style({transform: 'rotate(180deg)'})),\n transition('expanded <=> collapsed',\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\n ),\n ])\n ]\n})\nexport class MenuListItemComponent implements OnInit{\n expanded: boolean=false;\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\n @Input() item: Menu;\n @Input() depth: number;\n @Output() menuSelect: EventEmitter = new EventEmitter();\n isMenuOpen=false;\n \n status = \"Enable\";\n //@ViewChild(TabsComponent) tabsComponent;\n tabcomponentObj:TabsComponent;\n\n\n constructor(public router: Router) {\n // console.log('navitems menu :', this.item);\n if (this.depth === undefined) {\n this.depth = 0;\n }\n \n }\n\n ngOnInit() {\n \n }\n\n onClickChild(item:Menu) {\n this.menuSelect.emit(item);\n}\ntoggleMenu() {\n this.isMenuOpen = !this.isMenuOpen; \n this.status = this.isMenuOpen ? \"Enable\" : \"Disable\";\n}\n\n onItemSelected(item: Menu) {\n if (!item.children || !item.children.length) {\n const menuIDMapping = [\n {menuid: 'ERP_103', path: 'usermanagement'},\n {menuid: 'ERP_104', path: 'groupmanagement'},\n {menuid: 'STS_92', path: 'projecteffort'},\n {menuid: 'STS_90', path: 'employeehierarchy'},\n {menuid: 'ERP_322', path: 'dashboardhook'},\n {menuid: 'STS_11', path: 'LeaveRequest'},\n {menuid: 'STS_21', path: 'LeaveApproval'},\n {menuid: 'ERP_128', path: 'Projectconfiguration'},\n {menuid: 'STS_54', path: 'TimePunchReport'},\n {menuid: 'STS_91', path: 'EffortApproval'},\n {menuid: 'STS_63', path: 'ProjectAllocationByWeek'},\n {menuid: 'STS_15', path: 'AttendanceReport'},\n {menuid: 'STS_77', path: 'empleavereport'},\n {menuid: 'STS_24', path: 'timesheet'},\n {menuid: 'STS_18', path: 'advancerequest'},\n {menuid: 'STS_23', path: 'ledgerstatement'},\n {menuid: 'STS_29', path: 'customsreport'},\n {menuid: 'STS_31', path: 'ticketreport'},\n {menuid: 'STS_27', path: 'monthlyreport'},\n {menuid: 'STS_13', path: 'hrpolicies'},\n {menuid: 'STS_6', path: 'documentcontrol'},\n {menuid: 'STS_86', path: 'goalscomponent'},\n {menuid: 'STS_8', path: 'EmpRegistration'},\n {menuid: 'STS_20', path: 'expenseposting'},\n {menuid: 'STS_94', path: 'empleaverequest'},\n {menuid: 'STS_95', path: 'training'},\n {menuid: 'STS_96', path: 'empattendancedetails'},\n {menuid: 'STS_5', path: 'LeaveTypemaster'},\n {menuid: 'STS_22', path: 'LeaveManagement'},\n {menuid: 'STS_70', path: 'ConfigParam'},\n {menuid: 'STS_62', path: 'EstimationWeeklyReport'},\n {menuid: 'STS_12', path: 'AuthMaster'},\n {menuid: 'STS_74', path: 'Type Of Issue'},\n {menuid: 'STS_72', path: 'Branch'},\n {menuid: 'STS_9', path: 'TimeZone'},\n {menuid: 'ERP_291', path: 'Itempricelist'},\n {menuid: 'ERP_156', path: 'neworderlist'},\n {menuid: 'STS_100', path: 'AssementGroup'},\n {menuid: 'STS_34', path: 'Status'},\n {menuid: 'STS_4', path: 'LeaveGroup'},\n {menuid: 'STS_45', path: 'Client'},\n {menuid: 'STS_30', path: 'EffortReport'},\n {menuid: 'STS_101', path: 'ConsolidateEffort'},\n {menuid: 'STS_26', path: 'EffortAuthorize'},\n {menuid: 'STS_203', path: 'TaskCreator'},\n {menuid: 'STS_41', path: 'Taskby'},\n {menuid: 'STS_206', path: 'EmployeeOnBoard'},\n {menuid: 'STS_207', path: 'ProjectAllocationByDay'},\n ]\n // console.log('menuid :', item.menuid.substring(0,7));\n var compName = menuIDMapping.filter(\n book => book.menuid === item.menuid.substring(0,7));\n \n // console.log('Compname :', compName);\n // if (item.menuid.substring(0,7) === 'ERP_322'){\n // this.router.navigate(['dashboardhook'], {state: {compname: compName[0]['path'], dsname: item.parameters}});\n // }\n // else {\n //this.router.navigate([compName[0]['path']], {state: {data: item}});\n this.menuSelect.emit(item);\n \n //this.tabcomponentObj.openTab2('TEst',EmpAttReportViewComponent, {}, true);\n // }\n \n // this.router.navigate([compName[0]['path']], { queryParams: { order: item.parameters } });\n // this.router.navigate([compName[0]['path']], {state: {data: item.parameters}});\n \n } \n if (item.children && item.children.length) {\n this.expanded = !this.expanded;\n }\n }\n}\n","import { HrpoliciesviewComponent } from './../components/HR/HRPolicy/hrpoliciesview/hrpoliciesview.component';\n\n//import { AuthconfiglistComponent } from './../components/WorkFlow/AuthConfig/authconfiglist/authconfiglist.component';\nimport { TicketlistComponent } from './../components/ITS/Ticket/ticketlist/ticketlist.component';\nimport { DatewisereportComponent } from './../components/ETS/DateWiseReport/datewisereport/datewisereport.component';\nimport { MerchantlistComponent } from './../components/WorkFlow/Client/merchantlist/merchantlist.component';\nimport { AssementgroupComponent } from './../components/WorkFlow/AssementGroup/assementgroup/assementgroup.component';\nimport { TimezonelistComponent } from './../components/WorkFlow/TimeZone/timezonelist/timezonelist.component';\nimport { QuestionlistComponent } from './../components/WorkFlow/Question/questionlist/questionlist.component';\nimport { QuestionComponent } from './../components/WorkFlow/Question/question/question.component';\nimport { EmailconfigurationComponent } from './../components/WorkFlow/EmailConfig/emailconfiguration/emailconfiguration.component';\nimport { ProductconfiglistComponent } from './../components/WorkFlow/Product/productconfiglist/productconfiglist.component';\nimport { HrconfigurationComponent } from './../components/WorkFlow/HRConfig/hrconfiguration/hrconfiguration.component';\n\nimport { LeavetypemasterviewComponent } from './../components/WorkFlow/LeaveTypeMaster/leavetypemasterview/leavetypemasterview.component';\nimport { EffortapprovalComponent } from './../components/Project/EffortApproval/effortapproval.component';\nimport { DocumentcontrollistComponent } from './../components/Employee/Documents/documentcontrollist/documentcontrollist.component';\nimport { ProjectallocationbyweekListComponent } from './../components/Project/ProjectAllocation/projectallocationbyweek-list/projectallocationbyweek-list.component';\nimport { EmpRegListComponent } from './../components/HR/EmployeeRegistration/emp-reg-list/emp-reg-list.component';\nimport { ProjecteffortComponent } from './../components/Project/projecteffort/projecteffort.component';\nimport { EmployeeHierarchyComponent } from './../components/Project/EmpHierarchy/employee-hierarchy/employee-hierarchy.component';\nimport { EmployeeHierarchyListComponent } from './../components/Project/EmpHierarchy/employee-hierarchy-list/employee-hierarchy-list.component';\nimport { ProjectconfigurationListComponent } from './../components/WorkFlow/ProjectMaster/projectconfiguration-list/projectconfiguration-list.component';\nimport { GroupListComponent } from './../components/Admin/group/group-list/group-list.component';\nimport { UserListComponent } from './../components/Admin/users/user-list/user-list.component';\nimport { EmpleaverequestComponent } from './../components/HR/LeaveApproval/empleaverequest/empleaverequest.component';\nimport { LeaveApprovalComponent } from './../components/HR/LeaveApproval/leave-approval/leave-approval.component';\nimport { LeaverequestComponent } from './../components/HR/LeaveApproval/leaverequest/leaverequest.component';\nimport { TicketreportComponent } from './../components/ETS/ticketreport/ticketreport.component';\nimport { MonthlyreportComponent } from './../components/ETS/monthlyreport/monthlyreport.component';\nimport { CustomsreportComponent } from '../../app/components/ETS/CustomsReport/customsreport.component';\nimport { LedgerstatementComponent } from './../components/Employee/LedgerStatement/ledgerstatement.component';\nimport { AdvancerequestComponent } from './../components/Employee/AdvanceRequest/advancerequest/advancerequest.component';\nimport { TimesheetComponent } from './../components/HR/TimeSheet/timesheet/timesheet.component';\nimport { HrpoliciesComponent } from './../components/HR/HRPolicy/hrpolicies/hrpolicies.component';\n\nimport { AttendancereportComponent } from './../components/HR/AttendanceReport/attendancereport/attendancereport.component';\nimport { ExpensepostinglistComponent } from './../components/Employee/Expenseposting/expensepostinglist/expensepostinglist.component';\nimport { TimepunchreportlistComponent } from './../components/HR/timepuchreport/timepunchreportlist/timepunchreportlist.component';\nimport { Injectable } from '@angular/core';\nimport { EmpAttReportViewComponent } from '../../app/components/Employee/EmpAttReportview/emp-att-report-view/emp-att-report-view.component';\nimport { GoalslistComponent } from '../components/HR/Goals/goalslist/goalslist.component';\nimport { TraininglistComponent } from '../components/HR/Training/traininglist/traininglist.component';\nimport { EmpleaverptComponent } from '../../app/components/HR/EmpLeaveReport/empleaverpt.component';\nimport { E } from '@angular/cdk/keycodes';\nimport { LeavetypemasterComponent } from '../components/WorkFlow/LeaveTypeMaster/leavetypemaster/leavetypemaster.component';\nimport { LeaveManagementComponent } from '../components/HR/LeaveManagement/leave-management/leave-management.component';\n// import { TimepunchreportComponent } from '../../app/components/timepuchreport/timepunchreport/timepunchreport.component';\n// import { AttendancereportComponent } from '../components/AttendanceReport/attendancereport/attendancereport.component';\n\n// import { DatePipe } from '@angular/common';\n// import { DemoMaterialModule } from '../demo-material-module';\nimport{ EntityconfigComponent } from '../../app/components/WorkFlow/Entity/entityconfig/entityconfig.component';\nimport { EstimationweeklyreportComponent } from '../components/Project/estimationweeklyreport/estimationweeklyreport.component';\nimport { AuthMasterComponent } from '../components/HR/auth-master/auth-master.component';\nimport { TypeofissuelistComponent } from '../components/WorkFlow/TypeOfIssue/typeofissuelist/typeofissuelist.component';\nimport { BranchlistComponent } from '../components/WorkFlow/Branch/branchlist/branchlist.component';\nimport { ItempricelistComponent } from '../components/ERP/Inventory/inventory/itempricelist/itempricelist.component';\nimport { NeworderlistComponent } from '../components/ERP/Sales/neworderlist/neworderlist.component';\nimport { StatuslistComponent } from '../components/WorkFlow/Status/statuslist/statuslist.component';\nimport { CategorylistComponent } from '../components/WorkFlow/Category/categorylist/categorylist.component';\nimport { LeavegrouplistComponent } from '../components/WorkFlow/LeaveGroup/leavegrouplist/leavegrouplist.component';\nimport { ConsolidateEffortComponent } from '../components/ETS/Consolidatereport/consolidate-effort/consolidate-effort.component';\nimport { EffortauthorizeComponent } from '../components/ETS/EffortAuthorize/effortauthorize/effortauthorize.component';\nimport { AttendanceComponent } from '../components/Project/attendance/attendance.component';\nimport { TaskbyComponent } from '../components/ITS/CustomsReport/taskby/taskby.component';\nimport { ITSHomepageComponent } from '../components/ITS/itshomepage/itshomepage.component';\nimport { ProjectAllocationByDayComponent } from '../components/Project/project-allocation-by-day/project-allocation-by-day.component';\nimport { ResourceallocationbydayComponent } from '../components/Project/resourceallocationbyday/resourceallocationbyday.component';\nimport { EmpTimesheetComponent } from '../components/ETS/EmpTimesheet/emp-timesheet/emp-timesheet.component';\nimport { SampleComponent } from '../components/ETS/Sample/sample/sample.component';\nimport { ItsuserhomepageComponent } from '../components/ITS/Ticket/itsuserhomepage/itsuserhomepage.component';\nimport { EmpattendanceviewComponent } from '../components/Employee/AttendanceReport/empattendanceview/empattendanceview.component';\nimport { CustomizeditemrptComponent } from '../components/ERP/customizeditemrpt/customizeditemrpt.component';\nimport { DocumentreqlistComponent } from './../components/Employee/DocumentRequest/documentreqlist/documentreqlist.component';\nimport { DocumentreqviewComponent } from '../components/Employee/DocumentRequest/documentreqview/documentreqview.component';\nimport { EmployeeOnBoardlistComponent } from '../components/Employee/EmployeeOnBoard/employee-on-boardlist/employee-on-boardlist.component';\nimport { EmpdocreqlistComponent } from '../components/Employee/DocumentRequest/empdocreqlist/empdocreqlist.component';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { DatecontrolComponent } from '../components/HR/DateControl/datecontrol/datecontrol.component';\nimport { ProjectcostComponent } from './../components/WorkFlow/ProjectCost/projectcost/projectcost.component';\nimport { EffortcostreportComponent } from '../components/ETS/EffortCostReport/effortcostreport/effortcostreport.component';\nimport { HelpdesktaskbyComponent } from '../components/ITS/Helpdesk/helpdesktaskby/helpdesktaskby.component';\nimport { TimepunchComponent } from '../components/HR/Timepunch/timepunch/timepunch.component';\nimport { TimepunchotreportComponent } from '../components/HR/timepuchreport/timepunchotreportlist/timepunchotreport/timepunchotreport.component';\nimport { TimepunchleavepostingComponent } from '../components/HR/Timepunchleaveposting/timepunchleaveposting/timepunchleaveposting.component';\nimport { MydocumentComponent } from '../components/Employee/Documents/mydocument/mydocument.component';\nimport { AuthorizegroupComponent } from '../components/HR/authorizegroup/authorizegroup.component';\nimport { KanbanboardComponent } from '../components/ITS/kanbanboard/kanbanboard.component';\nimport { NewleavedirectapprovalComponent } from '../components/HR/LeaveApproval/newleavedirectapproval/newleavedirectapproval.component';\nimport { HrgoalslistComponent } from '../components/HR/Goals/hrgoalslist/hrgoalslist.component';\nimport { NewleaverequestComponent } from '../components/HR/LeaveApproval/newleaverequest/newleaverequest.component';\nimport { LeavetypeconfigurationComponent } from '../components/HR/leavetypeconfiguration/leavetypeconfiguration.component';\nimport { NestedgridComponent } from '../components/WorkFlow/nestedgrid/nestedgrid.component';\nimport { TicketemailconfigexcelimportComponent } from '../components/WorkFlow/ticketemailconfigexcelimport/ticketemailconfigexcelimport.component';\nimport { TicketemailrulecreationComponent } from '../components/WorkFlow/ticketemailrulecreation/ticketemailrulecreation.component';\nimport { EffortauthconfigComponent } from '../components/WorkFlow/EffortAuthorizer/effortauthconfig/effortauthconfig.component';\nimport { ResourceallocationbyweekComponent } from '../components/Project/resourceallocationbyweek/resourceallocationbyweek.component';\nimport { AspentaskbyreportComponent } from '../components/ITS/CustomsReport/aspentaskbyreport/aspentaskbyreport.component';\nimport { AduitviewComponent } from '../components/ERP/auditview/aduitview.component';\nimport { KanbanboardconfigComponent } from '../components/ITS/kanbanboardconfig/kanbanboardconfig.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { ConsolidatetimepunchrptlistComponent } from '../components/HR/timepuchreport/consolidatetimepunchrptlist/consolidatetimepunchrptlist.component';\nimport { ShifttimepunchreportComponent } from '../components/HR/ShiftManagement/shifttimepunchreport/shifttimepunchreport.component';\nimport { TickettreeviewComponent } from '../components/ITS/tickettreeview/tickettreeview.component';\nimport { ApprovalformlistComponent } from '../components/ERP/ApprovalForm/approvalformlist/approvalformlist.component';\nimport { DependencyrptComponent } from '../components/ITS/dependencyrpt/dependencyrpt.component';\nimport { TicketprefixconfigComponent } from '../components/WorkFlow/ticketprefixconfig/ticketprefixconfig.component';\nimport { TicketlinklistComponent } from '../components/WorkFlow/TicketLink/ticketlinklist/ticketlinklist.component';\nimport { PayslipComponent } from '../components/HR/payslip/payslip.component';\nimport { EmpsalaryhikeComponent } from '../components/HR/SalaryHike/empsalaryhike/empsalaryhike.component';\nimport { PayslipreportComponent } from '../components/HR/Payslip Report/payslipreport/payslipreport.component';\nimport { EmpaccountsComponent } from '../components/HR/EmpAccounts/empaccounts/empaccounts.component';\nimport { PstemplateComponent } from '../components/HR/PSTemplate/pstemplate/pstemplate.component';\nimport { EmppayslippaymentComponent } from '../components/HR/EmpPayslipPayment/emppayslippayment/emppayslippayment.component';\nimport { PstemplatelistComponent } from '../components/HR/PSTemplate/pstemplatelist/pstemplatelist.component';\nimport { EmpcategoryComponent } from '../components/HR/EmpCategory/empcategory/empcategory.component';\nimport { DevxgridComponent } from '../components/Admin/devxgrid/devxgrid.component';\nimport { DevxkanbanboardComponent } from '../components/ITS/DevXKanban/devxkanbanboard/devxkanbanboard.component';\nimport { EosreportComponent } from '../components/HR/EOS/eosreport/eosreport.component';\nimport { LeavesalaryencashreportComponent } from '../components/HR/LeaveSalary_EnCash/leavesalaryencashreport/leavesalaryencashreport.component';\nimport { LicensecreatemainComponent } from '../components/Admin/License/licensecreatemain/licensecreatemain.component';\nimport { LicensereportComponent } from '../components/Admin/License/licensereport/licensereport.component';\nimport { TicketmanagerComponent } from '../components/ITS/Ticket/ticketmanager/ticketmanager.component';\nimport { TaskbyviewComponent } from '../components/ITS/CustomsReport/taskbyview/taskbyview.component';\nimport { LeaveGroupConfigComponent } from '../components/WorkFlow/LeaveGroup/LeaveGroupConfig.component';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MenuidmappingService {\n\n menuIDMapping:any = [ \n {menuid: 'STS_120', component: TicketemailconfigexcelimportComponent},\n {menuid: 'STS_121', component: TicketemailrulecreationComponent},\n {menuid: 'STS_96', component: EmpAttReportViewComponent},\n {menuid: 'STS_54', component: TimepunchreportlistComponent},\n {menuid: 'STS_20', component: ExpensepostinglistComponent},\n {menuid: 'STS_15', component: AttendancereportComponent},\n {menuid: 'STS_86', component: GoalslistComponent},\n {menuid: 'STS_95', component: TraininglistComponent},\n //{menuid: 'STS_13', component: HrpoliciesComponent},\n {menuid: 'STS_13', component: HrpoliciesviewComponent},\n {menuid: 'STS_24', component: TimesheetComponent},\n {menuid: 'STS_77', component: EmpleaverptComponent},\n {menuid: 'STS_18', component: AdvancerequestComponent},\n {menuid: 'STS_23', component: LedgerstatementComponent},\n {menuid: 'STS_29', component: CustomsreportComponent},\n {menuid: 'STS_27', component: MonthlyreportComponent},\n {menuid: 'STS_31', component: TicketreportComponent},\n {menuid: 'STS_11', component: NewleaverequestComponent},\n {menuid: 'STS_21', component: NewleavedirectapprovalComponent},\n {menuid: 'STS_94', component: EmpleaverequestComponent},\n {menuid: 'ERP_103', component: UserListComponent},//\n {menuid: 'ERP_104', component: GroupListComponent},\n {menuid: 'ERP_128', component: ProjectconfigurationListComponent},\n //{menuid: 'ERP_128', component: AuthconfiglistComponent},\n {menuid: 'STS_90', component: EmployeeHierarchyListComponent},\n //{menuid: 'STS_92', component: ProjecteffortComponent},\n {menuid: 'STS_92', component: AttendanceComponent},\n {menuid: 'STS_8', component: EmpRegListComponent},\n {menuid: 'STS_63', component: ProjectallocationbyweekListComponent},\n {menuid: 'STS_6', component: DocumentcontrollistComponent},\n {menuid: 'STS_91', component: EffortapprovalComponent},\n {menuid: 'STS_5', component: LeavetypemasterComponent},\n {menuid: 'STS_22', component: LeaveManagementComponent},\n {menuid: 'STS_70', component: EntityconfigComponent},\n {menuid: 'STS_97', component: HrconfigurationComponent},\n {menuid: 'STS_44', component: ProductconfiglistComponent},\n // {menuid: 'STS_44', component: WebcameraComponent},\n {menuid: 'STS_62', component: EstimationweeklyreportComponent},\n {menuid: 'STS_46', component: EmailconfigurationComponent},\n {menuid: 'STS_98', component: QuestionlistComponent},\n {menuid: 'STS_12', component: AuthMasterComponent},\n {menuid: 'STS_74', component: TypeofissuelistComponent},\n {menuid: 'STS_72', component: BranchlistComponent},\n {menuid: 'STS_9', component: TimezonelistComponent},\n {menuid: 'ERP_291', component: ItempricelistComponent},\n // {menuid: 'ERP_291', component: DatecontrolComponent},\n {menuid: 'ERP_156', component:NeworderlistComponent },\n {menuid: 'STS_100', component:AssementgroupComponent },\n {menuid: 'STS_34', component:StatuslistComponent },\n {menuid: 'STS_35', component:CategorylistComponent },\n {menuid: 'STS_4', component:LeavegrouplistComponent },\n {menuid: 'STS_45', component:MerchantlistComponent },\n {menuid: 'STS_30', component:DatewisereportComponent },\n {menuid: 'STS_101', component:ConsolidateEffortComponent },\n {menuid: 'STS_26', component:EffortauthorizeComponent },\n {menuid: 'STS_203', component: TicketmanagerComponent},\n {menuid: 'STS_41', component: TaskbyComponent},\n {menuid: 'STS_99', component: ITSHomepageComponent},\n {menuid: 'STS_93', component: ProjectAllocationByDayComponent},\n {menuid: 'STS_102', component: ResourceallocationbydayComponent},\n //{menuid: 'STS_103', component: EmpTimesheetComponent},\n {menuid: 'STS_103', component: EmpTimesheetComponent},\n {menuid: 'STS_105', component: EmpattendanceviewComponent},\n {menuid: 'ERP_500', component: CustomizeditemrptComponent},\n {menuid: 'STS_106', component: DocumentreqlistComponent},\n {menuid: 'STS_206', component: EmployeeOnBoardlistComponent},\n {menuid: 'STS_107', component: EmpdocreqlistComponent},\n {menuid: 'STS_108', component: ProjectcostComponent},\n {menuid: 'STS_109', component: EffortcostreportComponent},\n {menuid: 'STS_208', component: HelpdesktaskbyComponent},\n {menuid: 'STS_53', component: TimepunchComponent},\n {menuid: 'STS_110', component: TimepunchotreportComponent},\n {menuid: 'STS_111', component: TimepunchleavepostingComponent},\n {menuid: 'STS_112', component: MydocumentComponent},\n {menuid: 'STS_113', component: AuthorizegroupComponent},\n {menuid: 'STS_209', component: KanbanboardComponent},\n {menuid: 'STS_210', component: DevxkanbanboardComponent},//\n {menuid: 'STS_114', component: HrgoalslistComponent},\n \n {menuid: 'STS_119', component: EffortauthconfigComponent},\n {menuid: 'STS_122', component: DashboardComponent},\n {menuid: 'STS_123', component: AspentaskbyreportComponent},\n {menuid: 'STS_124', component: AduitviewComponent}, \n {menuid: 'STS_126', component: KanbanboardconfigComponent},\n {menuid: 'STS_127', component: ConsolidatetimepunchrptlistComponent}, \n {menuid: 'STS_128', component: ShifttimepunchreportComponent}, \n {menuid: 'STS_129', component: TickettreeviewComponent}, \n {menuid: 'ERP_622', component: ApprovalformlistComponent},\n {menuid: 'STS_130', component: TicketprefixconfigComponent},\n {menuid: 'STS_131', component: TicketlinklistComponent},\n {menuid: 'ERP_223', component: PayslipComponent},\n {menuid: 'ERP_224', component: EmppayslippaymentComponent},\n {menuid: 'ERP_225', component: EmpsalaryhikeComponent},\n {menuid: 'ERP_229', component: PayslipreportComponent},\n {menuid: 'ERP_622', component: ApprovalformlistComponent},\n {menuid: 'ERP_237', component: EmpaccountsComponent},\n {menuid: 'ERP_252', component: PstemplatelistComponent},\n {menuid: 'ERP_219', component: EmpcategoryComponent},\n {menuid: 'STS_900', component: DevxgridComponent},\n {menuid: 'ERP_242', component: EosreportComponent},\n {menuid: 'ERP_352', component: LeavesalaryencashreportComponent},\n {menuid: 'STS_132', component: LicensecreatemainComponent},\n {menuid: 'STS_133', component: LicensereportComponent},\n {menuid: 'STS_134', component: TaskbyviewComponent},\n {menuid: 'STS_135', component: LeaveGroupConfigComponent},\n ]\n \n constructor(public notificationService: NotificationService,) { }\n\n count:any;\n //JSON.parse(sessionStorage.getItem('tabcount'))\n // \n getComponent(MenuID:string)\n { \n this.count=JSON.parse(sessionStorage.getItem('tabcount')); \n //console.log('beforeclick',this.count) \n if(this.count <14)\n {\n var Component =this.menuIDMapping.filter(comp => comp.menuid === MenuID); \n this.count=this.count+1;\n // console.log('afterclick',this.count)\n sessionStorage.setItem('tabcount',this.count)\n // console.log('Sessionaftrclik',JSON.parse(sessionStorage.getItem('tabcount')));\n return Component[0].component\n }\n else\n {\n //console.log('ElseStatement')\n this.notificationService.warn('You have reached the maximum number of Tabs. Please close any other Tab(s) and try again.'); \n }\n\n }\n}\n","import { HttpserviceService } from './../../Services/httpServices/httpservice.service';\nimport {\n ChangeDetectorRef,\n Component,\n NgZone,\n OnDestroy,\n ViewChild,\n HostListener,\n Directive,\n AfterViewInit,\n EventEmitter,\n Output\n} from '@angular/core';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { Menu } from '../../LandingPageComponents/menu-items';\nimport { User } from '../../Modules/user';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: []\n})\nexport class AppSidebarComponent implements OnDestroy {\n @Output() menuSelect = new EventEmitter();\n\n mobileQuery: MediaQueryList;\n CurLedgerID:string;\n ledgerid:any;\n userid:any;\n private _mobileQueryListener: () => void;\n navItems: Menu[];\n // baseUrl = `${environment.apiUrl}/usermgt.asmx`;\n // baseUrl = `${environment.apiUrl}`;\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher,\n private http: HttpserviceService,\n // public menuItems: MenuItems\n ) {\n // this.navItems = menuItems.getMenuitem();\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.username;\n this.ledgerid=curUser.ledgerid;\n this.userid=curUser.userid;\n \n\n this.getMenuitem();\n // console.log('navitems', this.navItems);\n this.mobileQuery = media.matchMedia('(min-width: 768px)');\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\n this.mobileQuery.addListener(this._mobileQueryListener);\n\n \n }\n\n getMenuitem(){\n \n let result;\n const groupid = JSON.parse(sessionStorage.getItem('groupid'));\n const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&uniqid=${'1'}&groupid=${groupid}&flag=${'MENUGROUPING'}&userid=${this.userid}&apptype=${'3'}`;\n this.http.httpGet('/usermgt/buildsidemenu?' , query)\n .subscribe(\n data => {\n result = data as any;\n result = data;\n removeEmptyProperties(result);\n this.navItems = result.respdata.objmenulist;\n sessionStorage.setItem('menulist',JSON.stringify(this.navItems))\n //console.log('navitems : ', JSON.stringify(this.navItems));\n },\n error => {\n console.log(error);\n });\n }\n\n ClickEvent(){\n this.menuSelect.emit('item');\n }\n\n selected(item:any)\n {\n \n //console.log('sidebar ', JSON.stringify(item));\n this.menuSelect.emit(item);\n\n }\n\n ngOnDestroy(): void {\n this.mobileQuery.removeListener(this._mobileQueryListener);\n }\n}\n\nfunction removeEmptyProperties(obj) {\n\n Object.keys(obj).forEach(function(key) {\n\n if (obj[key] && typeof obj[key] === 'object') removeEmptyProperties(obj[key]); //recursive for objects\n else if (obj[key] == null || obj[key] == '') delete obj[key]; //remove empty properties\n if (typeof obj[key] === 'object' && Object.keys(obj[key]).length == 0) delete obj[key]; //remove empty objects\n\n });\n}\n\n\n\n// import { Component, OnInit } from '@angular/core';\n\n// @Component({\n// selector: 'app-sidebar',\n// templateUrl: './sidebar.component.html',\n// styleUrls: ['./sidebar.component.scss'],\n// })\n// export class SidebarComponent implements OnInit {\n\n// constructor() { }\n\n// ngOnInit() {}\n\n// }\n","import { Component,\n ContentChildren,\n QueryList,\n AfterContentInit,\n ViewChild,\n ComponentFactoryResolver,\n ViewContainerRef, \n Output} from '@angular/core';\nimport { DynamictabsDirective } from '../dynamictabs.directive';\nimport { EventEmitter } from 'stream';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n//import { templateJitUrl } from '@angular/compiler';\n\n\nexport class tabObj{\n title: string;\n active:boolean;\n isClosable:boolean;\n isDirty: boolean;\n component:any;\n MenuID:string;\n}\n\n\n@Component({\n selector: 'app-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n})\nexport class TabsComponent implements AfterContentInit {\n @Output() menuID_:string;\n // tabObj:{title: string, \n // active:boolean,\n // isClosable:boolean,\n // component:any};\n //dynamicTabs: TabComponent[] = [];\n dynamicTabs: tabObj[] = []; \n \n \n @ContentChildren(tabObj) tabs: QueryList;\n\n @ViewChild(DynamictabsDirective) dynamicTabPlaceholder: DynamictabsDirective;\n\n /*\n Alternative approach of using an anchor directive\n would be to simply get hold of a template variable\n as follows\n */\n // @ViewChild('container', {read: ViewContainerRef}) dynamicTabPlaceholder;\n isDarkTemp:any;\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,private sharedService: GenericService) \n {\n \n }\n count:any;\n // contentChildren are set\n ngAfterContentInit() {\n this.isDarkTemp = sessionStorage.getItem('isDark');\n // get all active tabs\n //const activeTabs = this.tabs.filter(tab => tab.active);\n\n // if there is no active tab set, activate the first\n // if (activeTabs.length === 0) {\n // this.selectTab(this.tabs.first);\n // }\n }\n\n\n openTab2(title: string,menuid:string, component, data, isCloseable = false) {\n \n //this.sharedService.updateComponentValue(menuid);\n sessionStorage.setItem('SelectedMenuID',menuid)\n \n\n // get a component factory for our TabComponent\n if(component != undefined)\n {\n \n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(\n component\n ); \n \n \n\n // fetch the view container reference from our anchor directive\n const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;\n\n // alternatively...\n // let viewContainerRef = this.dynamicTabPlaceholder;\n if(this.dynamicTabs.length>0){\n viewContainerRef.detach();\n }\n \n // create a component instance \n const componentRef = viewContainerRef.createComponent(componentFactory);\n\n // set the according properties on our component instance\n // const instance: TabComponent = componentRef.instance as TabComponent;\n // instance.title = title;\n // instance.template = template;\n // instance.dataContext = data;\n // instance.isCloseable = isCloseable;\n\n // remember the dynamic component for rendering the\n // tab navigation headers\n \n \n var temp=new tabObj\n temp.active=true;\n temp.component=componentRef;\n temp.title=title;\n temp.isClosable=true;\n temp.MenuID=menuid\n this.dynamicTabs.push(temp);\n\n // set it active\n //this.selectTab2(temp);\n this.dynamicTabs.forEach(tab => (tab.active = false));\n\n // activate the tab the user has clicked on.\n temp.active = true;\n\n // this.menuID_.emit(menuid);\n \n }\n }\n\n\n\n\n selectTab2(tab:tabObj) {\n \n \n sessionStorage.setItem('SelectedMenuID',tab.MenuID)\n // deactivate all tabs\n //this.tabs.toArray().forEach(tab => (tab.active = false));\n this.dynamicTabs.forEach(tab => (tab.active = false));\n\n // activate the tab the user has clicked on.\n tab.active = true;\n \n // fetch the view container reference from our anchor directive\n const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;\n\n // alternatively...\n // let viewContainerRef = this.dynamicTabPlaceholder;\n viewContainerRef.detach();\n viewContainerRef.insert(tab.component.hostView);\n\n } \n\n closeTab(tab: tabObj) {\n\n // console.log('tabcount',JSON.parse(sessionStorage.getItem('tabcount')))\n this.count=JSON.parse(sessionStorage.getItem('tabcount'))\n this.count=this.count-1;\n sessionStorage.setItem('tabcount',this.count)\n // console.log('finaltabcount',this.count)\n\n\n // console.log('length',this.dynamicTabs.length);\n for (let i = 0; i < this.dynamicTabs.length; i++) {\n if (this.dynamicTabs[i].component === tab.component) {\n // remove the tab from our array\n this.dynamicTabs[i].component.hostView.destroy;\n this.dynamicTabs.splice(i, 1);\n\n // destroy our dynamically created component again\n this.dynamicTabPlaceholder.viewContainer.detach;\n // let viewContainerRef = this.dynamicTabPlaceholder;\n //console.log('viewContainerRef.length',viewContainerRef.length);\n\n // set tab index to 1st one\n if(this.dynamicTabs.length>0){\n this.selectTab2(this.dynamicTabs[i-1]); \n }\n else{\n this.dynamicTabPlaceholder.viewContainer.clear();\n }\n break;\n }\n }\n }\n\n closeActiveTab() {\n // const activeTabs = this.dynamicTabs.filter(tab => tab.active);\n // if (activeTabs.length > 0) {\n // // close the 1st active tab (should only be one at a time)\n // this.closeTab(activeTabs[0]);\n // }\n }\n}\n\n","import { TicketactivityviewComponent } from './../../components/ITS/Ticket/ticketactivityview/ticketactivityview.component';\n\nimport { WebcameraComponent } from './../../components/ERP/Sales/webcamera/webcamera.component';\nimport { TicketComponent } from './../../components/ITS/Ticket/ticket/ticket.component';\nimport { TicketlistComponent } from './../../components/ITS/Ticket/ticketlist/ticketlist.component';\nimport { DatewisereportComponent } from './../../components/ETS/DateWiseReport/datewisereport/datewisereport.component';\nimport { MerchantlistComponent } from './../../components/WorkFlow/Client/merchantlist/merchantlist.component';\nimport { StatusComponent } from './../../components/WorkFlow/Status/status/status.component';\nimport { TimezoneComponent } from './../../components/WorkFlow/TimeZone/timezone/timezone.component';\nimport { TimezonelistComponent } from './../../components/WorkFlow/TimeZone/timezonelist/timezonelist.component';\nimport { BranchlistComponent } from './../../components/WorkFlow/Branch/branchlist/branchlist.component';\nimport { TypeofissueComponent } from './../../components/WorkFlow/TypeOfIssue/typeofissue/typeofissue.component';\nimport { QuestionlistComponent } from './../../components/WorkFlow/Question/questionlist/questionlist.component';\nimport { QuestionComponent } from './../../components/WorkFlow/Question/question/question.component';\nimport { CurrentyearcarryforwardComponent } from './../../components/HR/HRPolicy/currentyearcarryforward/currentyearcarryforward.component';\nimport { ProfileComponent } from './../../components/Admin/Profile/profile/profile.component';\nimport { EmailconfigurationComponent } from './../../components/WorkFlow/EmailConfig/emailconfiguration/emailconfiguration.component';\nimport { ProductconfigComponent } from './../../components/WorkFlow/Product/productconfig/productconfig.component';\nimport { ProductconfiglistComponent } from './../../components/WorkFlow/Product/productconfiglist/productconfiglist.component';\nimport { HrconfigurationComponent } from './../../components/WorkFlow/HRConfig/hrconfiguration/hrconfiguration.component';\nimport { EntityComponent } from './../../components/WorkFlow/Entity/entity/entity.component';\nimport { LeavetypemasterviewComponent } from './../../components/WorkFlow/LeaveTypeMaster/leavetypemasterview/leavetypemasterview.component';\nimport { PopupnotificationComponent } from './../../components/Employee/Popup/popupnotification/popupnotification.component';\n\nimport { EffortapprovalComponent } from './../../components/Project/EffortApproval/effortapproval.component';\n\nimport { DocumentdownloadComponent } from './../../components/Employee/Documents/documentdownload/documentdownload.component';\nimport { DocumentcontrollistComponent } from './../../components/Employee/Documents/documentcontrollist/documentcontrollist.component';\nimport { DocumentcontrolComponent } from './../../components/Employee/Documents/documentcontrol/documentcontrol.component';\nimport { AlternateempComponent } from './../../components/Project/alternateemp/alternateemp.component';\nimport { ProjectallocationbyweekListComponent } from './../../components/Project/ProjectAllocation/projectallocationbyweek-list/projectallocationbyweek-list.component';\nimport { EmpRegListComponent } from './../../components/HR/EmployeeRegistration/emp-reg-list/emp-reg-list.component';\nimport { ProjecteffortComponent } from './../../components/Project/projecteffort/projecteffort.component';\nimport { HierarchyexcelimportComponent } from './../../components/Project/EmpHierarchy/hierarchyexcelimport/hierarchyexcelimport.component';\nimport { EmployeeHierarchyComponent } from './../../components/Project/EmpHierarchy/employee-hierarchy/employee-hierarchy.component';\nimport { EmployeeHierarchyListComponent } from './../../components/Project/EmpHierarchy/employee-hierarchy-list/employee-hierarchy-list.component';\nimport { ProjectconfigurationListComponent } from './../../components/WorkFlow/ProjectMaster/projectconfiguration-list/projectconfiguration-list.component';\nimport { ProjectconfigurationComponent } from './../../components/WorkFlow/ProjectMaster/projectconfiguration/projectconfiguration.component';\nimport { GroupListComponent } from './../../components/Admin/group/group-list/group-list.component';\nimport { GroupComponent } from './../../components/Admin/group/group/group.component';\nimport { UserComponent } from './../../components/Admin/users/user/user.component';\nimport { UserListComponent } from './../../components/Admin/users/user-list/user-list.component';\nimport { EmpleaverequestComponent } from './../../components/HR/LeaveApproval/empleaverequest/empleaverequest.component';\nimport { LeaverequestComponent } from './../../components/HR/LeaveApproval/leaverequest/leaverequest.component';\nimport { LeaveApprovalComponent } from './../../components/HR/LeaveApproval/leave-approval/leave-approval.component';\nimport { TicketreportComponent } from './../../components/ETS/ticketreport/ticketreport.component';\nimport { MonthlyreportComponent } from './../../components/ETS/monthlyreport/monthlyreport.component';\nimport { LedgerstatementComponent } from './../../components/Employee/LedgerStatement/ledgerstatement.component';\nimport { AdvancerequestviewComponent } from './../../components/Employee/AdvanceRequest/advancerequestview/advancerequestview.component';\nimport { AdvancerequestComponent } from './../../components/Employee/AdvanceRequest/advancerequest/advancerequest.component';\nimport { EmpleaverptComponent } from './../../components/HR/EmpLeaveReport/empleaverpt.component';\nimport { TimesheetviewComponent } from './../../components/HR/TimeSheet/timesheetview/timesheetview.component';\nimport { TimesheetComponent } from './../../components/HR/TimeSheet/timesheet/timesheet.component';\nimport { HrpoliciesComponent } from './../../components/HR/HRPolicy/hrpolicies/hrpolicies.component';\nimport { HrpoliciesviewComponent } from './../../components/HR/HRPolicy/hrpoliciesview/hrpoliciesview.component';\nimport { TrainingComponent } from './../../components/HR/Training/training/training.component';\nimport { TrainingacessComponent } from './../../components/HR/Training/trainingacess/trainingacess.component';\nimport { GoalsComponent } from './../../components/HR/Goals/goals/goals.component';\nimport { GoalaccessComponent } from './../../components/HR/Goals/goalaccess/goalaccess.component';\nimport { AttendancereportComponent } from './../../components/HR/AttendanceReport/attendancereport/attendancereport.component';\n\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlsModule } from '../controls/controls.module';\nimport { EmpAttReportViewComponent } from './../../components/Employee/EmpAttReportview/emp-att-report-view/emp-att-report-view.component';\nimport { TimepunchreportlistComponent } from './../../components/HR/timepuchreport/timepunchreportlist/timepunchreportlist.component';\nimport { TimepunchreportComponent } from './../../components/HR/timepuchreport/timepunchreport/timepunchreport.component';\nimport { ExpensepostingComponent } from './../../components/Employee/Expenseposting/expenseposting/expenseposting.component';\nimport { ExpensepostinglistComponent } from './../../components/Employee/Expenseposting/expensepostinglist/expensepostinglist.component';\nimport { DialogColorcodeComponent } from './../../components/HR/AttendanceReport/dialog-colorcode/dialog-colorcode.component';\nimport { GoalslistComponent } from './../../components/HR/Goals/goalslist/goalslist.component';\nimport { TraininglistComponent } from './../../components/HR/Training/traininglist/traininglist.component';\nimport { CustomsreportComponent } from './../../components/ETS/CustomsReport/customsreport.component';\nimport { DialogleaveapprovalComponent } from './../../components/HR/LeaveApproval/dialogleaveapproval/dialogleaveapproval.component';\nimport { EmpRegComponent } from './../../components/HR/EmployeeRegistration/emp-reg/emp-reg.component';\nimport { ProjectallocationbyweekComponent } from './../../components/Project/ProjectAllocation/projectallocationbyweek/projectallocationbyweek.component';\nimport { LeavetypemasterComponent } from './../../components/WorkFlow/LeaveTypeMaster/leavetypemaster/leavetypemaster.component';\nimport { ChangePasswordComponent } from './../../components/Admin/change-password/change-password.component';\nimport { LeaveManagementComponent } from './../../components/HR/LeaveManagement/leave-management/leave-management.component';\nimport{ EntityconfigComponent } from './../../components/WorkFlow/Entity/entityconfig/entityconfig.component';\nimport { EstimationweeklyreportComponent } from './../../components/Project/estimationweeklyreport/estimationweeklyreport.component';\nimport { AuthMasterComponent } from './../../components/HR/auth-master/auth-master.component';\nimport { AuthMasterListComponent } from './../../components/HR/auth-master/auth-master-list/auth-master-list.component';\nimport { TypeofissuelistComponent } from './../../components/WorkFlow/TypeOfIssue/typeofissuelist/typeofissuelist.component';\nimport { BranchComponent } from './../../components/WorkFlow/Branch/branch/branch.component';\nimport { ItempricelistComponent } from './../../components/ERP/Inventory/inventory/itempricelist/itempricelist.component';\nimport { NeworderlistComponent } from './../../components/ERP/Sales/neworderlist/neworderlist.component';\nimport { NeworderComponent } from './../../components/ERP/Sales/neworder/neworder.component';\nimport { AssementgroupComponent } from './../../components/WorkFlow/AssementGroup/assementgroup/assementgroup.component';\nimport { StatuslistComponent } from './../../components/WorkFlow/Status/statuslist/statuslist.component';\nimport { CategorylistComponent } from './../../components/WorkFlow/Category/categorylist/categorylist.component';\nimport { CategoryComponent } from './../../components/WorkFlow/Category/category/category.component';\nimport { LeavegrouplistComponent } from './../../components/WorkFlow/LeaveGroup/leavegrouplist/leavegrouplist.component';\nimport { LeavegroupComponent } from './../../components/WorkFlow/LeaveGroup/leavegroup/leavegroup.component';\nimport { MerchantComponent } from './../../components/WorkFlow/Client/merchant/merchant.component';\nimport { ConsolidateEffortComponent } from './../../components/ETS/Consolidatereport/consolidate-effort/consolidate-effort.component';\nimport { EffortauthorizeComponent } from './../../components/ETS/EffortAuthorize/effortauthorize/effortauthorize.component';\nimport { EmpprojectlistComponent } from './../../components/Project/EmpHierarchy/empprojectlist/empprojectlist.component';\nimport { attachmentComponent } from './../../components/ITS/Ticket/attachment/attachment.component';\nimport { AttendanceComponent } from './../../components/Project/attendance/attendance.component';\nimport { TaskbyComponent } from './../../components/ITS/CustomsReport/taskby/taskby.component';\nimport { ITSHomepageComponent } from './../../components/ITS/itshomepage/itshomepage.component';\nimport { ProjectAllocationByDayComponent } from './../../components/Project/project-allocation-by-day/project-allocation-by-day.component';\nimport { ResourceallocationbydayComponent } from './../../components/Project/resourceallocationbyday/resourceallocationbyday.component';\nimport { EmpTimesheetComponent } from './../../components/ETS/EmpTimesheet/emp-timesheet/emp-timesheet.component';\nimport { SampleComponent } from './../../components/ETS/Sample/sample/sample.component';\nimport { ItsuserhomepageComponent } from './../../components/ITS/Ticket/itsuserhomepage/itsuserhomepage.component';\nimport { EmpattendanceviewComponent } from './../../components/Employee/AttendanceReport/empattendanceview/empattendanceview.component';\nimport { CustomizeditemrptComponent } from './../../components/ERP/customizeditemrpt/customizeditemrpt.component';\nimport { UploadprofilepicComponent } from './../../components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component';\nimport { DocumentreqlistComponent } from '../../components/Employee/DocumentRequest/documentreqlist/documentreqlist.component';\nimport { DocumentreqviewComponent } from '../../components/Employee/DocumentRequest/documentreqview/documentreqview.component';\nimport { UploaddocrequestComponent } from '../../components/Employee/DocumentRequest/uploaddocrequest/uploaddocrequest.component';\nimport { DownloaddocrequestComponent } from '../../components/Employee/DocumentRequest/downloaddocrequest/downloaddocrequest.component';\nimport { EmployeeOnBoardlistComponent } from 'src/app/components/Employee/EmployeeOnBoard/employee-on-boardlist/employee-on-boardlist.component';\nimport { EmployeeOnBoardComponent } from 'src/app/components/Employee/EmployeeOnBoard/employee-on-board/employee-on-board.component';\nimport { OnboardapprovalComponent } from 'src/app/components/Employee/EmployeeOnBoard/onboardapproval/onboardapproval.component';\nimport { EmpdocreqlistComponent } from 'src/app/components/Employee/DocumentRequest/empdocreqlist/empdocreqlist.component';\nimport { TimesheetticketComponent } from 'src/app/components/ETS/EmpTimesheet/timesheetticket/timesheetticket.component';\nimport { TaskbyviewComponent } from 'src/app/components/ITS/CustomsReport/taskbyview/taskbyview.component';\nimport { CommentComponent } from 'src/app/components/ITS/Ticket/comment/comment.component';\nimport { DatecontrolComponent } from './../../components/HR/DateControl/datecontrol/datecontrol.component';\nimport { ProjectcostComponent } from './../../components/WorkFlow/ProjectCost/projectcost/projectcost.component';\nimport { EffortcostreportComponent } from './../../components/ETS/EffortCostReport/effortcostreport/effortcostreport.component';\nimport { HelpdesktaskbyComponent } from './../../components/ITS/Helpdesk/helpdesktaskby/helpdesktaskby.component';\nimport { Goals2Component } from './../../components/HR/Goals/goals2/goals2.component';\nimport { TimepunchComponent } from './../../components/HR/Timepunch/timepunch/timepunch.component';\nimport { TimepunchotreportComponent } from './../../components/HR/timepuchreport/timepunchotreportlist/timepunchotreport/timepunchotreport.component';\nimport { TimepunchleavepostingComponent } from 'src/app/components/HR/Timepunchleaveposting/timepunchleaveposting/timepunchleaveposting.component';\nimport { DialogtimepunchleavepostingComponent } from './../../components/HR/LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component';\nimport { EditotComponent } from './../../components/HR/timepuchreport/editot/editot.component';\nimport { UpdatefingerprintComponent } from './../../components/HR/timepuchreport/updatefingerprint/updatefingerprint.component';\nimport { MydocumentComponent } from '../../components/Employee/Documents/mydocument/mydocument.component';\nimport { AuthorizegroupComponent } from './../../components/HR/authorizegroup/authorizegroup.component';\nimport { KanbanboardComponent } from 'src/app/components/ITS/kanbanboard/kanbanboard.component';\nimport { NewleavedirectapprovalComponent } from 'src/app/components/HR/LeaveApproval/newleavedirectapproval/newleavedirectapproval.component';\nimport { NewpopupleavedirectapprovalComponent } from 'src/app/components/HR/LeaveApproval/newpopupleavedirectapproval/newpopupleavedirectapproval.component';\nimport { NewleaverequestComponent } from 'src/app/components/HR/LeaveApproval/newleaverequest/newleaverequest.component';\nimport { HrgoalslistComponent } from 'src/app/components/HR/Goals/hrgoalslist/hrgoalslist.component';\nimport { LeavetypeconfigurationComponent } from 'src/app/components/HR/leavetypeconfiguration/leavetypeconfiguration.component';\nimport { NestedgridComponent } from 'src/app/components/WorkFlow/nestedgrid/nestedgrid.component';\nimport { TicketemailconfigexcelimportComponent } from 'src/app/components/WorkFlow/ticketemailconfigexcelimport/ticketemailconfigexcelimport.component';\nimport { ExcelImportDialogComponent } from 'src/app/components/WorkFlow/ticketemailconfigexcelimport/excel-import-dialog/excel-import-dialog.component';\nimport { EditEmailTagListComponent } from 'src/app/components/WorkFlow/ticketemailconfigexcelimport/edit-email-tag-list/edit-email-tag-list.component';\nimport { TicketemailrulecreationComponent } from 'src/app/components/WorkFlow/ticketemailrulecreation/ticketemailrulecreation.component';\nimport { EffortauthconfigComponent } from 'src/app/components/WorkFlow/EffortAuthorizer/effortauthconfig/effortauthconfig.component';\nimport { ResourceallocationbyweekComponent } from 'src/app/components/Project/resourceallocationbyweek/resourceallocationbyweek.component';\nimport { CrmdatecontrolComponent } from 'src/app/components/HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { ResourceallocationbyweeklistComponent } from 'src/app/components/Project/resourceallocationbyweeklist/resourceallocationbyweeklist.component';\nimport { LeavemgtelogComponent } from 'src/app/components/HR/LeaveApproval/leavemgtelog/leavemgtelog.component';\nimport { AspentaskbyreportComponent } from 'src/app/components/ITS/CustomsReport/aspentaskbyreport/aspentaskbyreport.component';\nimport { AduitviewComponent } from './../../components/ERP/auditview/aduitview.component';\nimport { KanbanboardfilterComponent } from 'src/app/components/ITS/kanbanboardfilter/kanbanboardfilter.component';\nimport { KanbanuserinitialComponent } from 'src/app/components/ITS/kanbanuserinitial/kanbanuserinitial.component';\nimport { KanbanboardconfigComponent } from 'src/app/components/ITS/kanbanboardconfig/kanbanboardconfig.component';\nimport { KanbanboardconfigpopupComponent } from 'src/app/components/ITS/kanbanboardconfigpopup/kanbanboardconfigpopup.component';\nimport { KanbankeyvaluejsondataviewComponent } from 'src/app/components/ITS/kanbankeyvaluejsondataview/kanbankeyvaluejsondataview.component';\nimport { ConsolidatetimepunchrptlistComponent } from 'src/app/components/HR/timepuchreport/consolidatetimepunchrptlist/consolidatetimepunchrptlist.component';\nimport { ShifttimepunchreportComponent } from 'src/app/components/HR/ShiftManagement/shifttimepunchreport/shifttimepunchreport.component';\nimport { QuickaddComponent } from './../../../app/components/ITS/Ticket/quickadd/quickadd.component';\nimport { TickettreeviewComponent } from 'src/app/components/ITS/tickettreeview/tickettreeview.component';\nimport { LinkticketaschildComponent } from './../../../app/components/ITS/Ticket/linkticketaschild/linkticketaschild.component';\nimport { ApprovalformlistComponent } from 'src/app/components/ERP/ApprovalForm/approvalformlist/approvalformlist.component';\nimport { ApprovalformfilterComponent } from 'src/app/components/ERP/ApprovalForm/approvalformfilter/approvalformfilter.component';\nimport { ApprovalformPostingComponent } from 'src/app/components/ERP/ApprovalForm/approvalform-posting/approvalform-posting.component';\nimport { DependencyrptComponent } from 'src/app/components/ITS/dependencyrpt/dependencyrpt.component';\nimport { TicketprefixconfigComponent } from 'src/app/components/WorkFlow/ticketprefixconfig/ticketprefixconfig.component';\nimport { TicketprefixdialogComponent } from 'src/app/components/WorkFlow/ticketprefixdialog/ticketprefixdialog.component';\nimport { TicketlinklistComponent } from 'src/app/components/WorkFlow/TicketLink/ticketlinklist/ticketlinklist.component';\nimport { TicketlinkconfigComponent } from 'src/app/components/WorkFlow/TicketLink/ticketlinkconfig/ticketlinkconfig.component';\nimport { MultiselectwithsearchComponent } from 'src/app/components/Control/multiselectwithsearch/multiselectwithsearch.component';\nimport { MatSelectSearchComponent } from 'src/app/components/Control/mat-select-search/mat-select-search.component';\nimport { PayslipComponent } from 'src/app/components/HR/payslip/payslip.component';\nimport { VoucherforHRComponent } from 'src/app/components/HR/voucherfor-hr/voucherfor-hr.component';\nimport { PayslipreportComponent } from 'src/app/components/HR/Payslip Report/payslipreport/payslipreport.component';\nimport { EmppayslippaymentComponent } from 'src/app/components/HR/EmpPayslipPayment/emppayslippayment/emppayslippayment.component';\nimport { PayslippaymentfilterComponent } from 'src/app/components/HR/EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component';\nimport { EmpsalaryhikeComponent } from 'src/app/components/HR/SalaryHike/empsalaryhike/empsalaryhike.component';\nimport { DynamicTableComponentComponent } from 'src/app/components/HR/dynamicTable/dynamic-table-component/dynamic-table-component.component';\nimport { EmpsalaryhikepostingComponent } from 'src/app/components/HR/SalaryHike/empsalaryhikeposting/empsalaryhikeposting.component';\nimport { EmpaccountsComponent } from 'src/app/components/HR/EmpAccounts/empaccounts/empaccounts.component';\nimport { PstemplateComponent } from 'src/app/components/HR/PSTemplate/pstemplate/pstemplate.component';\nimport { PstemplatelistComponent } from 'src/app/components/HR/PSTemplate/pstemplatelist/pstemplatelist.component';\nimport { EmpcategoryComponent } from 'src/app/components/HR/EmpCategory/empcategory/empcategory.component';\nimport { KanbanboardsearchComponent } from 'src/app/components/ITS/kanbanboardsearch/kanbanboardsearch.component';\nimport { WorklocationComponent } from 'src/app/components/Admin/users/worklocation/worklocation.component';\nimport { DevxgridComponent } from 'src/app/components/Admin/devxgrid/devxgrid.component';\nimport { DialogformainformComponent } from 'src/app/components/Admin/dialogformainform/dialogformainform.component';\nimport { UserandgrouppermissionComponent } from 'src/app/components/Admin/userandgrouppermission/userandgrouppermission.component';\nimport { EosreportComponent } from 'src/app/components/HR/EOS/eosreport/eosreport.component';\nimport { EospostingComponent } from 'src/app/components/HR/EOS/eosposting/eosposting.component';\nimport { LeavesalaryencashpostingComponent } from 'src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashposting/leavesalaryencashposting.component';\nimport { LeavesalaryencashreportComponent } from 'src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashreport/leavesalaryencashreport.component';\nimport { LicensecreatemainComponent } from 'src/app/components/Admin/License/licensecreatemain/licensecreatemain.component';\nimport { LicensecreatesubComponent } from 'src/app/components/Admin/License/licensecreatesub/licensecreatesub.component';\nimport { LicensereportComponent } from 'src/app/components/Admin/License/licensereport/licensereport.component';\n// import { VoilationlistComponent } from 'src/app/components/AspenSpeciifc/voilationlist/voilationlist.component';\n// import { VoilationpostingComponent } from 'src/app/components/AspenSpeciifc/voilationposting/voilationposting.component';\nimport { DialogforreportsComponent } from 'src/app/components/dialogforreports/dialogforreports.component';\nimport { TicketmanagerComponent } from 'src/app/components/ITS/Ticket/ticketmanager/ticketmanager.component';\nimport { ShowdetailsComponent } from 'src/app/components/ERP/ApprovalForm/showdetails/showdetails.component';\nimport { LeaveGroupConfigComponent } from 'src/app/components/WorkFlow/LeaveGroup/LeaveGroupConfig.component';\nimport { LinkLeaveTypePopupComponent } from 'src/app/components/WorkFlow/LeaveGroup/link-leave-type-popup/link-leave-type-popup.component';\nimport { AddLeaveGroupPopUpComponent } from 'src/app/components/WorkFlow/LeaveGroup/add-leave-group-pop-up/add-leave-group-pop-up.component';\n// import { DashboardconfigComponent } from 'src/app/components/WorkFlow/dashboardconfig/dashboardconfig.component';\n\n\n\n@NgModule({\n declarations: [\n NewleavedirectapprovalComponent,\n NewpopupleavedirectapprovalComponent,\n NewleaverequestComponent,\n KanbanboardComponent,\n EmpAttReportViewComponent,\n TimepunchreportComponent,\n TimepunchreportlistComponent,\n ExpensepostinglistComponent,\n ExpensepostingComponent,\n AttendancereportComponent,\n DialogColorcodeComponent,\n GoalaccessComponent,\n GoalsComponent,\n GoalslistComponent,\n TrainingacessComponent,\n TrainingComponent,\n TraininglistComponent,\n HrpoliciesComponent,\n HrpoliciesviewComponent,\n TimesheetComponent,\n TimesheetviewComponent,\n EmpleaverptComponent,\n AdvancerequestComponent,\n AdvancerequestviewComponent,\n LedgerstatementComponent,\n CustomsreportComponent,\n MonthlyreportComponent,\n TicketreportComponent,\n LeaveApprovalComponent,\n LeaverequestComponent,\n EmpleaverequestComponent,\n DialogleaveapprovalComponent,\n UserListComponent,\n UserComponent,\n GroupComponent,\n GroupListComponent,\n ProjectconfigurationComponent,\n ProjectconfigurationListComponent,\n EmployeeHierarchyListComponent,\n EmployeeHierarchyComponent,\n HierarchyexcelimportComponent,\n ProjecteffortComponent,\n EmpRegListComponent,\n EmpRegComponent,\n ProjectallocationbyweekListComponent,\n ProjectallocationbyweekComponent,\n AlternateempComponent,\n DocumentcontrolComponent,\n DocumentcontrollistComponent,\n DocumentdownloadComponent,\n EffortapprovalComponent,\n PopupnotificationComponent,\n LeavetypemasterviewComponent,\n LeavetypemasterComponent,\n ChangePasswordComponent,\n LeaveManagementComponent,\n EntityconfigComponent,\n EntityComponent,\n HrconfigurationComponent,\n ProductconfiglistComponent,\n ProductconfigComponent,\n EstimationweeklyreportComponent,\n EmailconfigurationComponent,\n ProfileComponent,\n CurrentyearcarryforwardComponent,\n QuestionComponent,\n QuestionlistComponent,\n AuthMasterComponent,\n AuthMasterListComponent,\n TypeofissuelistComponent,\n TypeofissueComponent,\n BranchlistComponent,\n BranchComponent,\n TimezonelistComponent,\n TimezoneComponent,\n ItempricelistComponent,\n NeworderlistComponent,\n NeworderComponent,\n AssementgroupComponent,\n StatusComponent,\n StatuslistComponent,\n CategorylistComponent,\n CategoryComponent,\n LeavegrouplistComponent,\n LeavegroupComponent,\n MerchantlistComponent,\n MerchantComponent,\n DatewisereportComponent,\n ConsolidateEffortComponent,\n EffortauthorizeComponent,\n EmpprojectlistComponent,\n TicketlistComponent,\n TicketComponent,\n attachmentComponent,\n WebcameraComponent,\n AttendanceComponent,\n TaskbyComponent,\n ITSHomepageComponent,\n ProjectAllocationByDayComponent,\n ResourceallocationbydayComponent,\n EmpTimesheetComponent,\n SampleComponent,\n ItsuserhomepageComponent,\n EmpattendanceviewComponent,\n CustomizeditemrptComponent,\n UploadprofilepicComponent,\n DocumentreqlistComponent,\n DocumentreqviewComponent,\n UploaddocrequestComponent,\n DownloaddocrequestComponent,\n EmployeeOnBoardlistComponent,\n EmployeeOnBoardComponent,\n OnboardapprovalComponent,\n EmpdocreqlistComponent,\n TimesheetticketComponent,\n TaskbyviewComponent,\n CommentComponent,\n DatecontrolComponent,\n TicketactivityviewComponent,\n ProjectcostComponent,\n EffortcostreportComponent,\n HelpdesktaskbyComponent,\n Goals2Component,\n TimepunchComponent,\n TimepunchotreportComponent,\n TimepunchleavepostingComponent,\n DialogtimepunchleavepostingComponent,\n EditotComponent,\n UpdatefingerprintComponent,\n MydocumentComponent,\n AuthorizegroupComponent,\n HrgoalslistComponent,\n LeavetypeconfigurationComponent,\n NestedgridComponent,\n TicketemailconfigexcelimportComponent,\n ExcelImportDialogComponent,\n EditEmailTagListComponent,\n TicketemailrulecreationComponent,\n EffortauthconfigComponent,\n ResourceallocationbyweekComponent,\n CrmdatecontrolComponent,\n ResourceallocationbyweeklistComponent,\n LeavemgtelogComponent,\n AspentaskbyreportComponent,\n AduitviewComponent,\n KanbanboardfilterComponent,\n KanbanuserinitialComponent,\n KanbankeyvaluejsondataviewComponent,\n KanbanboardconfigComponent,\n KanbanboardconfigpopupComponent,\n ConsolidatetimepunchrptlistComponent,\n ShifttimepunchreportComponent,\n QuickaddComponent,\n TickettreeviewComponent,\n LinkticketaschildComponent,\n ApprovalformlistComponent,\n ApprovalformfilterComponent,\n ApprovalformPostingComponent,\n DependencyrptComponent,\n TicketprefixconfigComponent,\n TicketprefixdialogComponent,\n TicketlinklistComponent,\n TicketlinkconfigComponent,\n MultiselectwithsearchComponent ,\n MatSelectSearchComponent,\n PayslipComponent,\n VoucherforHRComponent,\n PayslipreportComponent,\n EmppayslippaymentComponent,\n PayslippaymentfilterComponent,\n EmpsalaryhikeComponent,\n DynamicTableComponentComponent,\n EmpsalaryhikepostingComponent,\n ApprovalformlistComponent,\n ApprovalformfilterComponent,\n ApprovalformPostingComponent,\n DependencyrptComponent,\n TicketprefixconfigComponent,\n TicketprefixdialogComponent,\n TicketlinklistComponent,\n TicketlinkconfigComponent,\n EmpaccountsComponent,\n PstemplateComponent,\n PstemplatelistComponent,\n EmpcategoryComponent,\n KanbanboardsearchComponent,\n WorklocationComponent,\n DevxgridComponent,\n DialogformainformComponent,\n UserandgrouppermissionComponent,\n EosreportComponent,\n EospostingComponent,\n LeavesalaryencashpostingComponent,\n LeavesalaryencashreportComponent,\n LicensecreatemainComponent,\n LicensecreatesubComponent,\n LicensereportComponent,\n // VoilationlistComponent,\n // VoilationpostingComponent,\n DialogforreportsComponent,\n TicketmanagerComponent,\n ShowdetailsComponent,\n LeaveGroupConfigComponent,\n LinkLeaveTypePopupComponent,\n AddLeaveGroupPopUpComponent\n // DashboardconfigComponent\n\n ],\n imports: [\n CommonModule,ControlsModule\n ],\n exports:[\n MatSelectSearchComponent\n // TabsComponent,\n // AppHeaderComponent,\n // AppSidebarComponent,\n // MenuListItemComponent,\n // FullComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA,NO_ERRORS_SCHEMA]\n})\nexport class ComponentsModule { }\n","// import { NgModule } from '@angular/core';\n// import { CommonModule } from '@angular/common';\n// import { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n// import { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete';\n// import { MatBadgeModule } from '@angular/material/badge';\n// import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';\n// import { MatButtonToggleModule } from '@angular/material/button-toggle';\n// import { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';\n// import { MatLegacyCheckboxModule as MatCheckboxModule } from '@angular/material/legacy-checkbox';\n// import { MatLegacyChipsModule as MatChipsModule } from '@angular/material/legacy-chips';\n// import { MatStepperModule } from '@angular/material/stepper';\n// import { MatDatepickerModule } from '@angular/material/datepicker';\n// import { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';\n// import { MatExpansionModule } from '@angular/material/expansion';\n// import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';\n// import { MatGridListModule } from '@angular/material/grid-list';\n// import { MatIconModule } from '@angular/material/icon';\n// import { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\n// import { MatLegacyListModule as MatListModule } from '@angular/material/legacy-list';\n// import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu';\n// import { MatLegacyPaginatorModule as MatPaginatorModule } from '@angular/material/legacy-paginator';\n// import { MatLegacyProgressBarModule as MatProgressBarModule } from '@angular/material/legacy-progress-bar';\n// import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';\n// import { MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';\n// import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\n// import { MatLegacySelectModule as MatSelectModule } from '@angular/material/legacy-select';\n// import { MatSidenavModule } from '@angular/material/sidenav';\n// import { MatLegacySliderModule as MatSliderModule } from '@angular/material/legacy-slider';\n// import { SlideToggleModule } from '@angular/material/slide-toggle';\n// import { MatSnackBar} from '@angular/material/snack-bar';\n// import { MatSortModule } from '@angular/material/sort';\n// import { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table';\n// import { MatLegacyTabsModule as MatTabsModule } from '@angular/material/legacy-tabs';\n// import { MatToolbarModule } from '@angular/material/toolbar';\n// import { MatLegacyTooltipModule as MatTooltipModule } from '@angular/material/legacy-tooltip';\n// import { MatTreeModule } from '@angular/material/tree';\n// import { CdkTableModule } from '@angular/cdk/table';\n// import { A11yModule } from '@angular/cdk/a11y';\n// import { BidiModule } from '@angular/cdk/bidi';\n// import { CdkAccordionModule } from '@angular/cdk/accordion';\n// import { ObserversModule } from '@angular/cdk/observers';\n// import { OverlayModule } from '@angular/cdk/overlay';\n// import { PlatformModule } from '@angular/cdk/platform';\n// import { PortalModule } from '@angular/cdk/portal';\n// import { DatePipe } from '@angular/common';\n\n\n// import { DxFormModule, DxDataGridModule, DxDropDownBoxModule, DxSelectBoxModule, DxDateBoxModule, DxButtonModule, \n// DxSpeedDialActionModule, DxListModule,DxPopupModule,DxTreeListModule, DxTreeViewModule,\n// DxTemplateModule, DxCheckBoxModule, DxToolbarModule} from 'devextreme-angular';\n\n// import { MAT_COLOR_FORMATS, NgxMatColorPickerModule, NGX_MAT_COLOR_FORMATS } from '@angular-material-components/color-picker';\n// import { CKEditorModule } from 'ng2-ckeditor';\n// import { MatSelectFilterModule } from 'mat-select-filter';\n\n\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DatePipe } from '@angular/common';\n\nimport { DxFormModule, DxDataGridModule, DxDropDownBoxModule, DxSelectBoxModule, DxDateBoxModule, DxButtonModule, \n DxSpeedDialActionModule, DxListModule,DxPopupModule,DxTreeListModule, DxTreeViewModule,\n DxTemplateModule, DxCheckBoxModule, DxToolbarModule,DxChartModule, \n DxContextMenuModule,\n DxSortableModule,\n DxScrollViewModule} from 'devextreme-angular';\n\nimport { MAT_COLOR_FORMATS, NgxMatColorPickerModule, NGX_MAT_COLOR_FORMATS } from '@angular-material-components/color-picker';\nimport { CKEditorModule } from 'ng2-ckeditor';\nimport { DxPieChartModule } from 'devextreme-angular';\nimport { MatSelectFilterModule } from 'mat-select-filter';\nimport { NgxMatSelectSearchModule } from 'src/app/components/Control/mat-select-search/ngx-mat-select-search.module';\n//import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\n\n\n//import { NgxMultipleSelectModule } from 'ngx-multiple-select';\nimport { ColorSketchModule } from 'ngx-color/sketch';\n\n\n\n\n// import { CKEditorModule } from 'ckeditor4-angular';\n//import { AngularEditorModule } from '@kolkov/angular-editor';\n\n// import { \n// DxButtonGroupModule,\n// DxHtmlEditorModule\n// } from 'devextreme-angular';\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatSnackBarModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n MatNativeDateModule,\n DxDataGridModule,\n DxDropDownBoxModule,\n DxSelectBoxModule,\n DxDateBoxModule,\n DxButtonModule,\n DxSpeedDialActionModule,\n DxFormModule,\n DxListModule,\n DxPopupModule,\n DxTreeListModule,\n DxTreeViewModule,\n DxListModule,\n DxTemplateModule,\n DxSelectBoxModule,\n DxCheckBoxModule,\n NgxMatColorPickerModule,\n MatBadgeModule,\n CKEditorModule,\n \n //DxHtmlEditorModule,\n // DxButtonGroupModule,\n DxToolbarModule,\n MatSelectFilterModule,\n DragDropModule,\n MatSelectFilterModule,\n NgxMatSelectSearchModule,\n //NgxMultipleSelectModule,\n DxContextMenuModule,\n ColorSketchModule,\n DxSortableModule,\n DxScrollViewModule\n \n \n //AngularEditorModule\n \n\n ],\n providers: [DatePipe,{provide: MAT_COLOR_FORMATS, useValue: NGX_MAT_COLOR_FORMATS} ],\n exports: [\n FormsModule, ReactiveFormsModule,\n CommonModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatTableModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatSortModule,\n MatStepperModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule, \n MatTreeModule,\n MatIconModule,\n MatNativeDateModule,\n MatBadgeModule,\n CdkTableModule,\n A11yModule,\n BidiModule,\n CdkAccordionModule,\n ObserversModule,\n OverlayModule,\n PlatformModule,\n PortalModule,\n DxDataGridModule,\n DxDropDownBoxModule,\n DxSelectBoxModule,\n DxDateBoxModule,\n DxButtonModule,\n DxSpeedDialActionModule,\n DxFormModule,\n DxListModule,\n DxPopupModule,\n DxTreeListModule,\n DxTreeViewModule,\n DxListModule,\n DxTemplateModule,\n DxSelectBoxModule,\n DxCheckBoxModule,\n NgxMatColorPickerModule,\n CKEditorModule,\n //DxHtmlEditorModule,\n //DxButtonGroupModule,\n DxToolbarModule,\n MatSelectFilterModule,\n DragDropModule,\n //NgxMultipleSelectModule,\n DxContextMenuModule,\n ColorSketchModule,\n \n \n // AngularEditorModule\n \n ],\n})\nexport class ControlsModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { User } from '../../Modules/user';\nimport { environment } from '../../../environments/environment';\nimport { NotificationService } from '../OtherServices/notification.service';\nimport {HttpserviceService} from '../httpServices/httpservice.service'\n//import { Platform } from '@ionic/angular';\n\nconst baseUrl = `${environment.apiUrl}/usermgt`;\n\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n private currentUserSubject: BehaviorSubject;\n public currentUser: Observable;\n count:any=1;\n\n constructor(public notificationService: NotificationService\n ,private http:HttpserviceService,\n //public plt: Platform\n ) {\n this.currentUserSubject = new BehaviorSubject(JSON.parse(sessionStorage.getItem('currentUser')));\n this.currentUser = this.currentUserSubject.asObservable();\n // if (this.plt.is('ios')) {\n // // This will only print when on iOS\n // console.log('I am an iOS device!');\n // }\n // else if (this.plt.is('android')) {\n // // This will only print when on android\n // console.log('I am an android device!');\n // }\n // else {\n // // This will only print when on other\n // console.log('I am an Other device!');\n // }\n\n\n // console.log('Platform',this.plt.platforms());\n }\n\n public get currentUserValue(): User {\n return this.currentUserSubject.value;\n }\n\n login(username: string, password: string,cid: number) {\n // const cid = 101;\n const userid = 1001;\n const applicationaccess='CRM_WEB';\n //alert(\"url\"+ environment.apiUrl + '/usermgt/auth'+ JSON.stringify(cid) + JSON.stringify(userid)+ JSON.stringify(username)+ JSON.stringify(password)); \n // return this.http.post(`${environment.apiUrl}/usermgt.asmx/auth`, { cid, userid, username, password })\n // console.log('logindetails : ', environment.apiUrl + '/usermgt/auth', { cid, userid, username, password });\n return this.http.httpPost(`/usermgt/auth_web`, { cid, userid, username, password,applicationaccess })\n .pipe(map(user => {\n // store user details and basic auth credentials in local storage to keep user logged in between page refreshes\n // user.authdata = window.btoa(username + ':' + password);\n \n\n if (user.errno === 0){\n // console.log('logindetails : ', user);\n user.token = user.respdata.token;\n user.groupid = user.respdata.groupid;\n sessionStorage.clear();\n // user.cid=cid;\n // console.log('token:', user.token);\n sessionStorage.setItem('cid', JSON.stringify(cid));\n sessionStorage.setItem('groupid', JSON.stringify(user.groupid));\n sessionStorage.setItem('currentUser', JSON.stringify(user.respdata));\n sessionStorage.setItem('token', JSON.stringify(user.token));\n // sessionStorage.setItem('configparam', JSON.stringify(user.token));\n sessionStorage.setItem('photo',user.respdata.Photo); \n sessionStorage.setItem('isDark',user.respdata.darklight);\n sessionStorage.setItem('theme',user.respdata.themeindex);\n sessionStorage.setItem('documentcount',user.respdata.documentcount);\n sessionStorage.setItem('TemplateGroupID',user.respdata.TemplateGroupID);\n sessionStorage.setItem('UserType',user.respdata.UserType);\n sessionStorage.setItem('siteid',user.respdata.dtsiteid); \n sessionStorage.setItem('tabcount',this.count); \n // sessionStorage.setItem('dsdashboard',user.respdata.ds_dashboard); \n sessionStorage.setItem('CustomerSettings',user.respdata.CustomerSettings);\n // sessionStorage.setItem('BusinessStartDate',user.respdata.BusinessStartDate); \n \n // let BSPeriod=_.where(user.respdata.dtBSPeriod,{ChoosedBSPeriod:true})[0].BusinessPeriodID\n // sessionStorage.setItem('BSPeriod',BSPeriod); \n // localStorage.setItem('token', user.respdata.token); \n console.log('currentUser: ', user.respdata);\n // localStorage.setItem('token', user.respdata.token);\n this.currentUserSubject.next(user);\n return user;\n }\n else{\n this.notificationService.success(user.errdesc);\n this.logout();\n }\n }));\n \n }\n\n logout() {\n // remove user from local storage to log user out\n sessionStorage.clear();\n // localStorage.removeItem('token');\n this.currentUserSubject.next(null);\n }\n\n getphoto(params: any)\n {\n const query = `cid=${params.cid}&ledgerid=${params.ledgerid}`;\n return this.http.httpGet(baseUrl + '/GetPhoto?', query);\n // .catch(this.handleError);\n }\n\n getSiteMaster(item:string){\n return this.http.httpGet('/CompanyID/GetCompanyID','?cid=101&flag=text')\n // .subscribe(\n // data => {\n // // this.Companylist=JSON.parse(data);\n // console.log(\"Companylist\",data);\n // // var Default_site = this.Companylist.filter(x => x.default == 1);\n // // this.loginForm.controls.CompanyName.setValue(Default_site[0].CID);\n // return data;\n // },\n // err => {\n // console.log(err)\n // });\n }\n}\n\n\n\n// import { Injectable } from '@angular/core';\n\n// @Injectable({\n// providedIn: 'root'\n// })\n// export class AuthenticationService {\n\n// constructor() { }\n// }\n","import { MatconformdialogComponent } from './../../components/matconformdialog/matconformdialog.component';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService {\n\n constructor(private dialog: MatDialog) { }\n\n openConfirmDialog(msg){\n return this.dialog.open(MatconformdialogComponent, {\n width: '390px',\n panelClass: 'confirm-dialog-container',\n disableClose: true,\n // position: { top: '10px'},\n data: {\n message: msg\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmiteventserviceService {\n\n private menuSelectSubject = new Subject();\n\n menuSelect$: Observable = this.menuSelectSubject.asObservable();\n\n emitMenuSelect(data: any) {\n this.menuSelectSubject.next(data);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { saveAs } from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileDownloadServiceService {\n\n constructor(private http: HttpClient) { }\n\n // downloadFile(fileUrl: string, fileName: string) {\n // console.log('servicesuccess')\n // return this.http.get(fileUrl, {\n // responseType: 'blob', // Expect binary data\n // }).subscribe((blob) => {\n // this.saveFile(blob, fileName);\n // });\n // }\n\n // // Save the file (uses file-saver for browser compatibility)\n // saveFile(blob: Blob, fileName: string) {\n // saveAs(blob, fileName); // You can also implement your custom logic here without file-saver\n // }\n downloadFile(fileUrl: string) {\n console.log('servicesuccess')\n return this.http.get(fileUrl, {\n responseType: 'blob', // Expect a binary file\n observe: 'response',\n });\n }\n\n saveFile(blob: Blob, filename: string) {\n saveAs(blob, filename);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport * as XLSX from 'xlsx';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GenericService {\n btnvisibility;\n\n constructor() { }\n\n assignButtonVisibility(formRights){\n let addflag = false; let editflag = false; let deleteflag = false; let viewflag = false;let approveflag = false;let refreshflag = false;\n let allempflag = false;\n\n for (const inv in formRights)\n {\n const val = formRights[inv];\n // console.log('flag : ', val.Options.toUpperCase());\n if (val.Options.toUpperCase() === 'ADD'){\n addflag = true;\n }else if (val.Options.toUpperCase() === 'EDIT'){\n editflag = true;\n }else if (val.Options.toUpperCase() === 'DELETE'){\n deleteflag = true;\n }else if (val.Options.toUpperCase() === 'VIEW'){\n viewflag = true;\n }\n else if (val.Options.toUpperCase() === 'APPROVE'){\n approveflag = true;\n }\n else if (val.Options.toUpperCase() === 'REFRESH'){\n refreshflag = true; \n }\n else if (val.Options.toUpperCase() === 'LOADALLEMP'){\n allempflag = true; \n }\n }\n\n // console.log('add: ', addflag, ' edit: ', editflag, ' deleteflag: ', deleteflag, ' view: ', viewflag);\n return {addflag: addflag, editflag: editflag, deleteflag: deleteflag, viewflag: viewflag, approveflag: approveflag, refreshflag :refreshflag ,allempflag :allempflag};\n }\n\n buttonVisibility(formRights){\n this.btnvisibility = Observable.create((observer) => {\n let addflag: boolean; let editflag: boolean; let deleteflag: boolean; let viewflag: boolean;\n\n for (const inv in formRights)\n {\n const val = formRights[inv];\n if (val.Options.toUpperCase() === 'ADD'){\n addflag = true;\n }else if (val.Options.toUpperCase() === 'EDIT'){\n editflag = true;\n }else if (val.Options.toUpperCase() === 'DELETE'){\n deleteflag = true;\n }else if (val.Options.toUpperCase() === 'VIEW'){\n viewflag = true;\n }\n }\n\n observer.next({addflag: addflag, editflag: editflag, deleteflag: deleteflag, viewflag: viewflag});\n });\n }\n\n excelExport(data: any, sheetname: string, filename: string){\n const workSheet = XLSX.utils.json_to_sheet(data);\n const workBook: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workBook, workSheet, sheetname);\n XLSX.writeFile(workBook, filename+'.xlsx');\n }\n\n getWeblink(){\n let conObj = JSON.parse( localStorage.getItem('conObj'));\n return conObj.webLink || '';\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n\n constructor(public snackBar: MatSnackBar) { }\n\n config: MatSnackBarConfig = {\n duration: 2500,\n horizontalPosition: 'center',\n verticalPosition: 'top',\n \n };\n success(msg){\n this.config['panelClass'] = ['notification', 'success'];\n this.snackBar.open(msg, '', this.config);\n }\n\n warn(msg){\n this.config['panelClass'] = ['notification', 'warn'];\n this.snackBar.open(msg, '', this.config);\n }\n\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Camera, CameraResultType, CameraSource,CameraPhoto } from '@capacitor/camera';\nimport { Filesystem, Directory } from '@capacitor/filesystem';\n//import { Storage } from '@capacitor/storage';\nimport { HttpserviceService } from '../httpServices/httpservice.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PhotoService {\n public photos: Photo[] = [];\n \n constructor(private http: HttpserviceService) { }\n\n public async addNewToGallery() {\n // Take a photo\n const capturedPhoto = await Camera.getPhoto({\n resultType: CameraResultType.Uri,\n source: CameraSource.Camera,\n quality: 50,\n width: 600,\n height: 600,\n });\n\n console.log('saveimage',capturedPhoto);\n // this.photos.unshift({\n // filepath: \"soon...\",\n // webviewPath: capturedPhoto.webPath\n // //convertblob:convertBlobToBase64\n // });\n\n const savedImageFile = await this.savePicture(capturedPhoto);\n this.photos.unshift(savedImageFile);\n //console.log('saveimage',savedImageFile);\n }\n\n private async savePicture(cameraPhoto: CameraPhoto) {\n //console.log('HI@');\n // Convert photo to base64 format, required by Filesystem API to save\n const base64Data = await this.readAsBase64(cameraPhoto);\n // console.log('base64',base64Data);\n // Write the file to the data directory\n const fileName = new Date().getTime() + '.jpeg';\n const savedFile = await Filesystem.writeFile({\n path: fileName,\n data: base64Data,\n directory: Directory.Documents\n \n });\n \n // Use webPath to display the new image instead of base64 since it's\n // already loaded into memory\n return {\n filepath: fileName,\n webviewPath: cameraPhoto.webPath,\n data:base64Data.split(',')[1]\n \n };\n }\n \n private async readAsBase64(cameraPhoto: CameraPhoto) {\n // Fetch the photo, read as a blob, then convert to base64 format\n const response = await fetch(cameraPhoto.webPath!);\n const blob = await response.blob();\n \n return await this.convertBlobToBase64(blob) as string;\n }\n \n convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => {\n const reader = new FileReader;\n reader.onerror = reject;\n reader.onload = () => {\n resolve(reader.result);\n };\n reader.readAsDataURL(blob);\n });\n \n}\n\nexport interface Photo {\n filepath: string;\n webviewPath: string;\n data:any;\n}\n","import { ErrorHandler } from \"@angular/core\";\r\n\r\nexport class AppErrorHandler implements ErrorHandler{\r\n handleError(error){\r\n // alert('An unexpected error occured'); //replace this code into toast notification\r\n console.log(error); // replace this into log error msg into server\r\n }\r\n}","\r\nexport class AppError{\r\n constructor(public originalError?: any){}\r\n}\r\n","import { AppError } from './app-error';\r\n\r\nexport class BadInput extends AppError{\r\n\r\n}\r\n","import { AppError } from './app-error';\r\n\r\nexport class NotFoundError extends AppError{\r\n\r\n}\r\n","import { AuthenticationService } from './../../OtherServices/authentication.service';\nimport { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n// import { AuthenticationService } from './authentication.service';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n constructor(private authenticationService: AuthenticationService) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(catchError(err => {\n if (err.status === 401) {\n // auto logout if 401 response returned from api\n this.authenticationService.logout();\n location.reload();\n }\n\n const error = err.error.message || err.statusText;\n return throwError(error);\n }));\n }\n}\n","import { environment } from './../../../../environments/environment';\r\nimport { AuthenticationService } from './../../OtherServices/authentication.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n// import { environment } from '@environments/environment';\r\n// import { AuthenticationService } from '@app/_services';\r\n\r\n// import { AuthenticationService } from '../material-component/log-in/authentication.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add auth header with jwt if user is logged in and request is to the api url\r\n const currentUser = this.authenticationService.currentUserValue;\r\n // console.log('currentUser: ', currentUser);\r\n // console.log('currentUserToken: ', currentUser.respdata.token);\r\n // console.log('currentUser.token: ', currentUser.token);\r\n const isLoggedIn = currentUser && currentUser.token;\r\n const isApiUrl = request.url.startsWith(environment.apiUrl);\r\n // console.log('logged in: ', isLoggedIn);\r\n // console.log('Api url: ', isApiUrl);\r\n if (isLoggedIn && isApiUrl) {\r\n // console.log('x-auth-token: ', currentUser.token);\r\n request = request.clone({\r\n setHeaders: {\r\n 'x-auth-token': `${currentUser.token}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParamsOptions } from '@angular/common/http';\nimport { Platform } from '@ionic/angular';\nimport { environment } from 'src/environments/environment';\n\nimport { BadInput } from './ErrorHandler/bad-input';\nimport { NotFoundError } from './ErrorHandler/not-found-error';\nimport { AppError } from './ErrorHandler/app-error';\nimport { retry, catchError } from 'rxjs/operators';\nimport { Observable, throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpserviceService {\n baseURL:string;\n constructor(private http: HttpClient\n , public plt: Platform) { }\n\n httpGet(url: string, params: any){\n // if (this.plt.is('ios') || this.plt.is('android')) {\n // let objIPAddress={Protocol:'',ServerIP:'',APIPath:'',CompanyID:0};\n // objIPAddress=JSON.parse(localStorage.getItem(\"apiObj\"));\n // this.baseURL=objIPAddress.Protocol+'://'+objIPAddress.ServerIP+objIPAddress.APIPath;\n // } \n // else\n this.baseURL=environment.apiUrl;\n return this.http.get(this.baseURL+url+params).pipe(catchError(this.handleError)); \n }\n\n httpPost(url: string, params: any){\n //if platform in ios or android \n // if (this.plt.is('ios') || this.plt.is('android')) {\n // let objIPAddress={Protocol:'',ServerIP:'',APIPath:'',CompanyID:0};\n // objIPAddress=JSON.parse(localStorage.getItem(\"apiObj\"));\n // this.baseURL=objIPAddress.Protocol+'://'+objIPAddress.ServerIP+objIPAddress.APIPath;\n // } \n // else\n this.baseURL=environment.apiUrl;\n //else \n //this.baseURL=this.environment(IPAddress)\n //return this.http.post(this.baseURL+url,params);\n return this.http.post(this.baseURL+url,params);\n }\n\n httpPost2(url: string, params: any){\n //if platform in ios or android \n // if (this.plt.is('ios') || this.plt.is('android')) {\n // let objIPAddress={Protocol:'',ServerIP:'',APIPath:'',CompanyID:0};\n // objIPAddress=JSON.parse(localStorage.getItem(\"apiObj\"));\n // this.baseURL=objIPAddress.Protocol+'://'+objIPAddress.ServerIP+objIPAddress.APIPath;\n // } \n // else\n this.baseURL=environment.apiUrl;\n //else \n //this.baseURL=this.environment(IPAddress)\n //return this.http.post(this.baseURL+url,params);\n let headers = new HttpHeaders(); \n headers.append('Content-Type', 'application/json'); \n const httpOptions = { \n headers: headers \n }; \n return this.http.post(this.baseURL+url,params,httpOptions).pipe(catchError(this.handleError)); \n }\n httpPost3(url: string, params: any){\n \n this.baseURL=environment.apiUrl;\n\n const headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\n return this.http.post(this.baseURL+url, params, {\n headers: headers,\n responseType: 'blob' // Expecting the report as a PDF blob\n }).pipe(catchError(this.handleError));\n\n//return this.http.post(this.baseURL+url,params,httpOptions).pipe(catchError(this.handleError)); \n}\n\n \n httpGet2(url: string, params: any){\n // if (this.plt.is('ios') || this.plt.is('android')) {\n // let objIPAddress={Protocol:'',ServerIP:'',APIPath:'',CompanyID:0};\n // objIPAddress=JSON.parse(localStorage.getItem(\"apiObj\"));\n // this.baseURL=objIPAddress.Protocol+'://'+objIPAddress.ServerIP+'angular_service';\n // } \n // else\n this.baseURL=environment.apiUrl;\n\n //return this.http.get(this.baseURL+url+params).pipe(catchError(this.handleError)); \n return this.http.get(this.baseURL+url+params, { \n responseType: 'blob' \n }).pipe(catchError(this.handleError)); \n //return this.http.get('assets/SiteMaster.txt',params).pipe(catchError(this.handleError)); \n }\n\n// private handleError(error: Response){\n// // if (error.status === 400)\n// // return Observable.throw(new BadInput(error.json()));\n\n// // if (error.status === 404)\n// // return Observable.throw (new NotFoundError());\n \n// // return Observable.throw(new AppError(error));\n\n// // const statusCode = error.status;\n// // const body = error.json();\n// // const error = {\n// // statusCode: statusCode,\n// // error: body.error\n// // };\n// console.log('error',error.status)\n// return throwError(error);\n// }\n\nprivate handleError(error: HttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n console.error('An error occurred:', error.error.message);\n } else {\n // The backend returned an unsuccessful response code.\n // The response body may contain clues as to what went wrong.\n console.error(\n `Backend returned code ${error.status}, ` +\n `body was: ${error.error}`);\n }\n // Return an observable with a user-facing error message.\n return throwError(\n 'Something bad happened; please try again later.');\n}\n\n}\n","import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\nimport { FullComponent } from './LandingPageComponents/full/full.component';\nimport { LogInComponent } from './log-in/log-in.component';\n\nconst routes: Routes = [\n // {\n // path: '',\n // //loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule)\n // loadChildren: () => import('./log-in/log-in.module').then(m => m.LogInComponentModule),\n \n // }\n {\n path: '',\n component: LogInComponent\n },\n {\n path: 'Full',\n component: FullComponent \n },\n \n];\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss'],\n})\nexport class AppComponent {\n constructor() {}\n}\n","import { MatconformdialogComponent } from './components/matconformdialog/matconformdialog.component';\nimport { CUSTOM_ELEMENTS_SCHEMA, ErrorHandler, NgModule } from '@angular/core';\nimport { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';\nimport { RouteReuseStrategy } from '@angular/router';\n\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ControlsModule } from './Modules/controls/controls.module';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { DynamictabsDirective } from './LandingPageComponents/dynamictabs.directive';\nimport { FullComponent } from './LandingPageComponents/full/full.component';\nimport { ComponentsModule } from './Modules/components/components.module';\nimport { TabsComponent } from './LandingPageComponents/tabs/tabs.component';\nimport { AppSidebarComponent } from './LandingPageComponents/sidebar/sidebar.component';\nimport { AppHeaderComponent } from './LandingPageComponents/header/header.component';\nimport { MenuListItemComponent } from 'src/app/LandingPageComponents/menu-list-item/menu-list-item.component';\nimport { LogInComponent } from './log-in/log-in.component';\nimport { ErrorInterceptor } from './Services/httpServices/Interceptors/error.interceptor';\nimport { JwtInterceptor } from './Services/httpServices/Interceptors/jwt.interceptor';\nimport { AppErrorHandler } from './Services/httpServices/ErrorHandler/app-error-handler';\nimport { NgxImageCompressService } from 'ngx-image-compress';\nimport { WebcamModule } from 'ngx-webcam';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DxPieChartModule } from 'devextreme-angular';\nimport { DashboardComponent } from './LandingPageComponents/dashboard/dashboard.component';\nimport { DxChartModule } from 'devextreme-angular';\nimport { DxPolarChartModule, DxSelectBoxModule, DxScrollViewModule,\n DxSortableModule, } from 'devextreme-angular';\n\n\nimport { DevxkanbanboardComponent } from './components/ITS/DevXKanban/devxkanbanboard/devxkanbanboard.component';\n///import { DashboardconfigComponent } from './components/WorkFlow/dashboardconfig/dashboardconfig.component';\n//import { DialogforreportsComponent } from './components/dialogforreports/dialogforreports.component';\n\n\n\n@NgModule({\n declarations: [AppComponent, DynamictabsDirective,\n FullComponent,\n TabsComponent,\n AppSidebarComponent,\n AppHeaderComponent,\n MenuListItemComponent,\n LogInComponent,\n MatconformdialogComponent,\n DashboardComponent,\n \n DevxkanbanboardComponent,\n // DashboardconfigComponent,\n ///DialogforreportsComponent,\n \n \n \n ],\n entryComponents: [],\n imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, \n BrowserAnimationsModule,ControlsModule,HttpClientModule ,ComponentsModule,BrowserTransferStateModule,FlexLayoutModule,\n FormsModule,\n \n WebcamModule,\n DxPieChartModule,DxChartModule,DxPolarChartModule,DxSelectBoxModule, \n DxScrollViewModule,\n DxSortableModule\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n providers: [NgxImageCompressService,{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\n { provide: ErrorHandler, useClass: AppErrorHandler},\n\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport * as _ from 'underscore';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { LicensecreatesubComponent } from '../licensecreatesub/licensecreatesub.component';\n\n@Component({\n selector: 'app-licensecreatemain',\n templateUrl: './licensecreatemain.component.html',\n styleUrls: ['./licensecreatemain.component.css']\n})\nexport class LicensecreatemainComponent {\n\n\n dataSource:any;\n isSlNoVisible:boolean=false;\n displayedColumns: string[] = [ 'CompanyName', 'UserName','CreatedDate','ExpiryDate','Comment','Action'];\n\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService,private formBuilder: FormBuilder, private service1: UserService, \n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n { \n \n }\n\n ngOnInit(): void {\n this.getddllist();\n // this.getUserAgent();\n }\n\n getUserAgent() {\n const userAgent = navigator.userAgent;\n console.log('User-Agent:', userAgent);\n }\n\n getddllist()\n {\n let params = { \n CID:101, \n Flag: \"LOADGRID\"\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.dataSource = result.respdata.Griddata; \n this.dataSource = new MatTableDataSource(this.dataSource); \n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator; \n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n Submit()\n {\n this.getddllist();\n }\n\n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.dataSource.filter = filterValue;\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.dataSource.data, 'LicenseList', 'LicenseList' );\n } \n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n Flag:'ADD' , \n }\n const dialogRef = this.dialog.open(LicensecreatesubComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n\n }\n\n Edit(SlNo: string) { \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n Flag:'EDIT' , \n Slno:SlNo \n }\n const dialogRef = this.dialog.open(LicensecreatesubComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n }\n\n View(SlNo: string) { \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n Flag:'VIEW' , \n Slno:SlNo \n }\n const dialogRef = this.dialog.open(LicensecreatesubComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n }\n\n downloadTextFile(filename: string, text: string) {\n // Create a Blob with the text content and the correct MIME type (text/plain)\n const blob = new Blob([text], { type: 'text/plain' });\n \n // Create a link element\n const link = document.createElement('a');\n \n // Create an object URL from the Blob\n const url = window.URL.createObjectURL(blob);\n \n // Set the href of the link to the object URL\n link.href = url;\n \n // Set the download attribute to the desired file name\n link.download = filename;\n \n // Append the link to the body (it's hidden, but this is required for the click to work in some browsers)\n document.body.appendChild(link);\n \n // Programmatically click the link to trigger the download\n link.click();\n \n // Clean up: remove the link from the DOM\n document.body.removeChild(link);\n \n // Revoke the object URL after download (to free memory)\n window.URL.revokeObjectURL(url);\n }\n\n \n Download(SlNo: string,CompanyName: string) { \n let params = { \n CID:101, \n Flag:\"DOWNLOADLIC\",\n Slno:SlNo\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.downloadTextFile(CompanyName +'_LIC.txt', result.respdata); \n this.NotificationService.success('License downloaded successfully');\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n \n}\n","import { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport * as _ from 'underscore';\nimport { DatePipe } from '@angular/common';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n\n@Component({\n selector: 'app-licensecreatesub',\n templateUrl: './licensecreatesub.component.html',\n styleUrls: ['./licensecreatesub.component.css']\n})\nexport class LicensecreatesubComponent {\n\n LicenseSubFormGroup: FormGroup;\n Clients :any;\n curdate= new Date();\n \n PCName:any;\n showSpinner:any;\n Flag:any;\n public filteredList5;\n dataSource:any;\n savevisibile:boolean=false;\n downloadvisible:boolean=false;\n\n Status = [\n { name: 'False' },\n { name: 'True' } \n ];\n\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder, private datePipe: DatePipe,\n private dialog: MatDialog,private dialogService: DialogService,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n //console.log('dialogdata',this.data);\n\n this.Flag=this.data.Flag;\n\n if(this.data.Flag==='VIEW')\n {\n this.savevisibile=false;\n this.downloadvisible=true;\n }\n else\n {\n this.savevisibile=true;\n this.downloadvisible=false;\n }\n\n this.LicenseSubFormGroup = this.formBuilder.group({ \n fcClient: ['', Validators.required],\n fcNoofUsers: ['', Validators.required], \n fcNoofCompanies: ['', Validators.required], \n fcExpiryDate: ['', Validators.required], \n fcServerID: [''], \n fcCreatedBy: ['', Validators.required], \n fcCreatedDate: ['', Validators.required], \n fcCreatedPC: [''], \n fcRestriction: ['', Validators.required], \n fcComment: [''], \n fcBatch: [''], \n fcBin: [''], \n fcSerial: [''], \n }); \n\n }\n\n ngOnInit(): void { \n \n // console.log('curdate',this.curdate)\n // console.log('time',time)\n this.getddllist(); \n if(this.Flag ==='EDIT' || this.Flag ==='VIEW') \n {\n this.LicenseSubFormGroup.controls.fcCreatedPC.disable();\n this.LicenseSubFormGroup.controls.fcCreatedDate.disable();\n this.EditData();\n }\n else\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LicenseSubFormGroup.controls.fcBatch.setValue('False');\n this.LicenseSubFormGroup.controls.fcBin.setValue('False');\n this.LicenseSubFormGroup.controls.fcSerial.setValue('False'); \n this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(curUser.username);\n this.LicenseSubFormGroup.controls.fcCreatedDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcExpiryDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcCreatedPC.disable();\n this.LicenseSubFormGroup.controls.fcCreatedDate.disable();\n this.getddllist();\n }\n }\n\n changeclient(e) { \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = { \n CID:101, \n Flag: \"LOADEXISTDATA\",\n Slno:e.value\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.dataSource = result.respdata.Existdata; \n\n // console.log('hi',result.respdata.Existdata.length)\n \n if(this.dataSource.length > 0) \n {\n this.LicenseSubFormGroup.controls.fcClient.setValue(this.dataSource[0].Value);\n this.LicenseSubFormGroup.controls.fcNoofUsers.setValue(this.dataSource[1].Value);\n this.LicenseSubFormGroup.controls.fcNoofCompanies.setValue(this.dataSource[2].Value); \n this.LicenseSubFormGroup.controls.fcExpiryDate.setValue( new Date(this.dataSource[3].Value));\n this.LicenseSubFormGroup.controls.fcServerID.setValue(this.dataSource[4].Value);\n //this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(this.dataSource[5].Value);\n this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(curUser.username);\n this.LicenseSubFormGroup.controls.fcCreatedDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcCreatedPC.setValue(this.dataSource[7].Value);\n this.LicenseSubFormGroup.controls.fcRestriction.setValue(this.dataSource[8].Value);\n this.LicenseSubFormGroup.controls.fcComment.setValue(this.dataSource[9].Value);\n this.LicenseSubFormGroup.controls.fcBatch.setValue(this.dataSource[10].Value);\n this.LicenseSubFormGroup.controls.fcBin.setValue(this.dataSource[11].Value);\n this.LicenseSubFormGroup.controls.fcSerial.setValue(this.dataSource[12].Value);\n }\n else\n { \n this.LicenseSubFormGroup.controls.fcNoofUsers.setValue('');\n this.LicenseSubFormGroup.controls.fcNoofCompanies.setValue('');\n this.LicenseSubFormGroup.controls.fcRestriction.setValue('');\n this.LicenseSubFormGroup.controls.fcComment.setValue(''); \n this.LicenseSubFormGroup.controls.fcServerID.setValue('');\n this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(curUser.username);\n this.LicenseSubFormGroup.controls.fcCreatedDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcExpiryDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcCreatedPC.disable();\n this.LicenseSubFormGroup.controls.fcCreatedDate.disable();\n }\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n EditData()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = { \n CID:101, \n Flag: \"EDITDATA\",\n Slno:this.data.Slno\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.dataSource = result.respdata.Editdata; \n \n // if(this.dataSource.length > 0) \n // {\n this.LicenseSubFormGroup.controls.fcClient.setValue(this.dataSource[0].Value);\n this.LicenseSubFormGroup.controls.fcNoofUsers.setValue(this.dataSource[1].Value);\n this.LicenseSubFormGroup.controls.fcNoofCompanies.setValue(this.dataSource[2].Value); \n this.LicenseSubFormGroup.controls.fcExpiryDate.setValue( new Date(this.dataSource[3].Value));\n this.LicenseSubFormGroup.controls.fcServerID.setValue(this.dataSource[4].Value);\n //this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(this.dataSource[5].Value);\n this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(curUser.username);\n this.LicenseSubFormGroup.controls.fcCreatedDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcCreatedPC.setValue(this.dataSource[7].Value);\n this.LicenseSubFormGroup.controls.fcRestriction.setValue(this.dataSource[8].Value);\n this.LicenseSubFormGroup.controls.fcComment.setValue(this.dataSource[9].Value);\n this.LicenseSubFormGroup.controls.fcBatch.setValue(this.dataSource[10].Value);\n this.LicenseSubFormGroup.controls.fcBin.setValue(this.dataSource[11].Value);\n this.LicenseSubFormGroup.controls.fcSerial.setValue(this.dataSource[12].Value);\n // }\n // else\n // {\n // this.onClear();\n // }\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getddllist()\n {\n let params = { \n CID:101, \n Flag: \"LOADDDL\"\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.Clients = result.respdata.Clients; \n this.PCName=result.respdata.Machine;\n\n this.filteredList5= this.Clients.slice();\n\n this.LicenseSubFormGroup.controls.fcCreatedPC.setValue(this.PCName[0].MachineName);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n\n Submit() { \n if (this.LicenseSubFormGroup.invalid) {\n this.NotificationService.warn('Please fill the mandatory fields'); \n return;\n } \n this.showSpinner=true;\n let params; \n const curdatetime = new Date();\n const time = curdatetime.toLocaleTimeString('en-US', { hour12: false });\n\n params = { \n CID:101,\n Flag: this.Flag, \n Companyname:this.LicenseSubFormGroup.get('fcClient').value, \n NumberofUsers: this.LicenseSubFormGroup.get('fcNoofUsers').value, \n NumberofCompanies: this.LicenseSubFormGroup.get('fcNoofCompanies').value, \n ExpiryDate: this.datePipe.transform(this.LicenseSubFormGroup.get('fcExpiryDate').value,\"dd/MMM/yyyy\"), \n ServerID:this.LicenseSubFormGroup.get('fcServerID').value, \n CreatedBy:this.LicenseSubFormGroup.get('fcCreatedBy').value, \n CreatedDate: this.datePipe.transform(this.LicenseSubFormGroup.get('fcCreatedDate').value,\"dd-MM-yyyy\")+' '+time, \n CreatedPC:this.LicenseSubFormGroup.get('fcCreatedPC').value, \n Restriction:this.LicenseSubFormGroup.get('fcRestriction').value, \n Comment:this.LicenseSubFormGroup.get('fcComment').value, \n BatchTracking:this.LicenseSubFormGroup.get('fcBatch').value, \n BinTracking:this.LicenseSubFormGroup.get('fcBin').value, \n SerialTracking:this.LicenseSubFormGroup.get('fcSerial').value, \n }\n \n \n this.service.httpPost('/LicenseCreate/SetLicense',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n this.onCloseDialog();\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n\n onCloseDialog()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n // .afterClosed().subscribe(res => {\n // if (res) {\n this.LicenseSubFormGroup.reset();\n this.dialogRef.close();\n // }\n // });\n }\n downloadTextFile(filename: string, text: string) {\n // Create a Blob with the text content and the correct MIME type (text/plain)\n const blob = new Blob([text], { type: 'text/plain' });\n \n // Create a link element\n const link = document.createElement('a');\n \n // Create an object URL from the Blob\n const url = window.URL.createObjectURL(blob);\n \n // Set the href of the link to the object URL\n link.href = url;\n \n // Set the download attribute to the desired file name\n link.download = filename;\n \n // Append the link to the body (it's hidden, but this is required for the click to work in some browsers)\n document.body.appendChild(link);\n \n // Programmatically click the link to trigger the download\n link.click();\n \n // Clean up: remove the link from the DOM\n document.body.removeChild(link);\n \n // Revoke the object URL after download (to free memory)\n window.URL.revokeObjectURL(url);\n }\n\n onDownloadLicense()\n {\n \n let params = { \n CID:101, \n Flag:\"DOWNLOADLIC\",\n Slno:this.data.Slno\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n // console.log('hi',result.respdata); \n this.downloadTextFile(this.data.CompanyName+'_LIC.txt', result.respdata);\n this.NotificationService.success('License downloaded successfully');\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onClear()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LicenseSubFormGroup.reset();\n this.LicenseSubFormGroup.controls.fcBatch.setValue('False');\n this.LicenseSubFormGroup.controls.fcBin.setValue('False');\n this.LicenseSubFormGroup.controls.fcSerial.setValue('False'); \n this.LicenseSubFormGroup.controls.fcCreatedBy.setValue(curUser.username);\n this.LicenseSubFormGroup.controls.fcCreatedDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcExpiryDate.setValue(this.curdate);\n this.LicenseSubFormGroup.controls.fcCreatedPC.disable();\n this.LicenseSubFormGroup.controls.fcCreatedDate.disable();\n this.getddllist();\n }\n}\n","import { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { LicensecreatesubComponent } from '../licensecreatesub/licensecreatesub.component';\n\n@Component({\n selector: 'app-licensereport',\n templateUrl: './licensereport.component.html',\n styleUrls: ['./licensereport.component.css']\n})\n\n\nexport class LicensereportComponent {\n\n dataSource:any;\n LicenseReportFormGroup:FormGroup;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService,private formBuilder: FormBuilder, private service1: UserService, \n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n { \n\n this.LicenseReportFormGroup = this.formBuilder.group({ \n \n }); \n }\n\n ngOnInit(): void {\n this.Pageload();\n }\n\n Submit()\n {\n this.Pageload();\n }\n\n Pageload()\n {\n let params = { \n CID:101, \n Flag: \"LICREPORT\"\n };\n this.service.httpPost('/LicenseCreate/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.dataSource = result.respdata.Licensedata; \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n onFocusedRowChanged(e) { \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n pid:0,\n height: '350px',\n width: '70%', \n Flag:'VIEW' , \n Slno:e.data.SlNo, \n CompanyName:e.data.CompanyName\n } \n const dialogRef = this.dialog.open(LicensecreatesubComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Pageload(); \n });\n }\n\n \n onRowPrepared (e) {\n \n if (e.rowType === \"data\") { \n if (e.data.Expired=== 0 ) { \n e.rowElement.style.backgroundColor ='#ffcccc'; \n }\n if (e.data.Shortly ===0) { \n e.rowElement.style.backgroundColor ='#FFE8A8'; \n }\n }\n }\n\n\n}\n","import { User } from './../../../../Modules/user';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { Component, OnInit } from '@angular/core';\nimport { UploadprofilepicComponent } from '../../../../components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n})\nexport class ProfileComponent implements OnInit {\n CurLedgerID:string;\n ledgerid:any;\n loginphoto:any;\n empdetails:any;\n actualleavedetails:any;\n leavedetails:any;\n\n nationality:any;\n mobileno:any;\n emailid:any;\n currentaddress:any;\n permentaddress:any;\n joindate:any;\n designation:any;\n\n constructor(private service:HttpserviceService, public dialogRef: MatDialogRef\n ,public dialogRef1: MatDialogRef,private dialog: MatDialog) \n { \n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID=curUser.username;\n this.ledgerid=curUser.ledgerid;\n this.loginphoto='data:image/jpeg;base64,'+sessionStorage.getItem('photo');\n }\n\n ngOnInit() \n {\n this.getdocumentdetails();\n }\n\n Quit()\n {\n \n this.dialogRef.close({});\n }\n\n getdocumentdetails()\n {\n // console.log(\"dddd\",this.LedgerID)\n let params = {\n cid:101,\n flag:'LOADEMPDASHBOARD',\n ledgerid:this.ledgerid\n }\n const query = `cid=${params.cid}&flag=${params.flag}&LedgerID=${params.ledgerid}`;\n this.service.httpGet('/General/GetProfileDetails?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n this.empdetails=result.respdata.EmployeeDetails;\n this.actualleavedetails=result.respdata.AcutalLeaveDetails;\n this.leavedetails=result.respdata.LeaveDetails;\n\n this.CurLedgerID=this.empdetails[0].EmpID + ' - ' +this.empdetails[0].AliasName1;\n this.nationality=this.empdetails[0].Nationality;\n this.mobileno=this.empdetails[0].MobileNo;\n this.emailid=this.empdetails[0].EMail;\n this.currentaddress=this.empdetails[0].CurrentAddress;\n this.permentaddress=this.empdetails[0].PermenantAddress;\n this.joindate=this.empdetails[0].JoiningDate;\n this.designation=this.empdetails[0].Designation;\n\n // console.log(\"this.empdetails\",this.empdetails)\n }\n else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error) => { \n console.log(error); \n });\n }\n\n ChangeProfilePic()\n { \n const dialogConfig = new MatDialogConfig(); \n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n ledgerID:this.ledgerid,\n cid: JSON.parse(sessionStorage.getItem('cid')) \n }\n const dialogRef1 = this.dialog.open(UploadprofilepicComponent, dialogConfig); \n dialogRef1.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n \n });\n\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\nimport { observable } from 'rxjs';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n companies: any = [];\n allgroups: GroupALL[];\n\n constructor(private http: HttpserviceService) { }\n\n form: FormGroup = new FormGroup({\n username: new FormControl('', Validators.required),\n password: new FormControl('', [Validators.required, Validators.minLength(5)]),\n confirmpassword: new FormControl('', [Validators.required, Validators.minLength(5)]),\n groupid: new FormControl(0, [Validators.required]),\n ledgerid: new FormControl(0, Validators.required),\n inactive: new FormControl(false),\n showpopup: new FormControl(false),\n timepunch: new FormControl(false),\n maincolor: new FormControl(''),\n secondarycolor: new FormControl(''),\n distance: new FormControl(0),\n lngcode: new FormControl(0),\n activedirectorypath: new FormControl(''),\n activedirectorydomain: new FormControl(''),\n activedirectoryuserid: new FormControl(''),\n companies: new FormControl(''),\n merchantid:new FormControl(''),\n templateid:new FormControl('',Validators.required),\n timezoneid:new FormControl('',Validators.required),\n usertype:new FormControl('',Validators.required),\n worklocation:new FormControl(0),\n ERP: new FormControl(false),\n CRM_WEB: new FormControl(false),\n CRM_MA: new FormControl(false),\n DASHBOARD: new FormControl(false)\n });\n\n jsonData = {\"ERP\": true,\"CRM_WEB\": true,\"CRM_MA\": true,\"DASHBOARD\": true}\n\n initializeFormGroup(){\n this.form.setValue({\n username: '',\n password: '',\n confirmpassword: '',\n groupid: 0,\n ledgerid: 0,\n inactive: false,\n showpopup: false,\n timepunch:false,\n maincolor: '',\n secondarycolor: '',\n lngcode: 0,\n activedirectorypath: '',\n activedirectorydomain: '',\n activedirectoryuserid: '',\n companies: [],\n merchantid:0,\n templateid:'',\n timezoneid:'',\n usertype:'',\n worklocation:0,\n distance:0,\n ERP:this.jsonData.ERP,\n CRM_WEB:this.jsonData.CRM_WEB,\n CRM_MA:this.jsonData.CRM_MA,\n DASHBOARD:this.jsonData.DASHBOARD\n });\n }\n\n erpValue:boolean;CRM_WEB:boolean;CRM_MA:boolean;DASHBOARD:boolean;\n\n populateForm(userID){\n this.companies = [];\n\n const params = {\n cid: '101',\n userid: userID\n };\n this.getUser(params)\n .subscribe(\n data => {\n let result: any;\n result = data;\n let userdata;\n\n for (const comp in result.respdata.companies)\n {\n const val = result.respdata.companies[comp];\n if (val.Approved == true)\n {\n this.companies.push(val.SiteID);\n }\n }\n userdata = result.respdata.userdata;\n\n // console.log('userdata',userdata[0].ApplicationAccess)\n const config = JSON.parse(userdata[0].ApplicationAccess);\n this.erpValue = config.ERP;\n this.CRM_WEB=config.CRM_WEB;\n this.CRM_MA=config.CRM_MA;\n this.DASHBOARD=config.DASHBOARD; \n\n const user = {\n username: userdata[0].UserName,\n password: userdata[0].Password,\n confirmpassword: userdata[0].Password,\n groupid: userdata[0].GroupID,\n ledgerid: userdata[0].LedgerID,\n inactive: userdata[0].InActive,\n showpopup: userdata[0].ShowPopUp,\n timepunch:userdata[0].SetGeoLocation,\n maincolor: userdata[0].ERPMainColor,\n secondarycolor: userdata[0].ERPSecondaryColor,\n lngcode: userdata[0].DefaultLngCode,\n activedirectorypath: userdata[0].ActiveDirectoryPath,\n activedirectorydomain: userdata[0].ActiveDirectoryDomain,\n activedirectoryuserid: userdata[0].ActiveDirectoryUserID,\n companies: this.companies,\n merchantid:userdata[0].LedgerID,\n templateid:userdata[0].TemplateGroupID,\n timezoneid:userdata[0].TZID,\n usertype:userdata[0].UserType,\n worklocation:userdata[0].WLID,\n distance:userdata[0].distance,\n // ERP:this.jsonData.ERP,\n ERP:this.erpValue,\n CRM_WEB:this.CRM_WEB,\n CRM_MA:this.CRM_MA,\n DASHBOARD:this.DASHBOARD\n };\n this.form.setValue(user);\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n this.form.setErrors(error.originalError);\n else throw error;\n });\n\n }\n\n getUserList(params: any) {\n const query = `cid=${params.cid}&menuid=${params.menuid}&groupid=${params.groupid}&applicationType=${3}`;\n return this.http.httpGet('/usermgt/userlist?', query)\n }\n\n setDefaultValues(){\n this.form.patchValue({ 'lngcode': 1 });\n }\n\n getUserDefaultLoads(params: any) {\n const query = `cid=${params.cid}&tablename=${params.tablename}&type=${params.type}&condition=${params.condition}&menuid=${params.menuid}&withinactive=${params.withinactive}`;\n return this.http.httpGet('/usermgt/loaddetails?' , query)\n \n }\n\n getUser(params: any) {\n const query = `cid=${params.cid}&userid=${params.userid}`;\n return this.http.httpGet('/usermgt/getuser?' , query)\n }\n\n create(data: any) {\n return this.http.httpPost('/usermgt/userupdate', data)\n }\n\n delete(params: any) {\n const query = `cid=${params.cid}&userid=${params.userid}`;\n return this.http.httpGet('/usermgt/userdelete?' , query)\n }\n\n // getphoto(params: any)\n // {\n // const query = `cid=${params.cid}&ledgerid=${params.ledgerid}`;\n // return this.http.httpGet('/usermgt/GetPhoto?' , query)\n \n // }\n \n}\nexport interface GroupALL {\n GroupID: string;\n GroupName: string;\n UserID: string;\n UserName: string;\n Status: string;\n}\n","import { MatDialogRef } from '@angular/material/dialog';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n\n@Component\n({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss'],\n})\n\nexport class ChangePasswordComponent implements OnInit \n{\n\n ChangePwd:FormGroup;\n fcFullDay=new FormControl();\n // CID:any;\n // EmpID:any;\n // LoginID:any;\n CurUsername:string;\n LedgerID:any;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder,private dialogService: DialogService, \n public dialogRef: MatDialogRef)\n {\n // this.ChangePwd = new FormGroup\n // ({ \n // fcUserID= new ['', Validators.required] , \n // // fcLedgerID: ['', Validators.required] , \n // fcPassword: ['', Validators.required] , \n // fcNewPassword:['',Validators.required],\n // fcConfirmPassword:['',Validators.required]\n // }); \n\n this.ChangePwd=new FormGroup(\n {\n fcPassword: new FormControl('', Validators.required),\n fcNewPassword: new FormControl('', Validators.required),\n fcConfirmPassword: new FormControl('', Validators.required)\n }\n );\n \n }\n\n // initializeFormGroup(){\n // this.ChangePwd.setValue({\n // username: '',\n // fcPassword: '',\n // fcNewPassword:'',\n // fcConfirmPassword: ''\n // });\n // }\n\n\n \n ngOnInit() \n {\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurUsername=curUser.username;\n this.LedgerID=curUser.userid;\n console.log(this.CurUsername);\n }\n\n\n Submit()\n {\n console.log('submit test1',this.ChangePwd.controls.fcNewPassword.value);\n console.log('submit test2',this.ChangePwd.controls.fcConfirmPassword.value);\n \n if(this.ChangePwd.controls.fcNewPassword.value===this.ChangePwd.controls.fcConfirmPassword.value)\n {\n \n let params = \n { \n cid: JSON.parse(sessionStorage.getItem('cid')),\n UserID:this.CurUsername,\n LedgerID:this.LedgerID,\n Password:this.ChangePwd.get('fcPassword').value,\n NewPassword:this.ChangePwd.get('fcNewPassword').value\n // ConfirmPassword:this.ChangePwd.get('fcConfirmPassword').value,\n };\n // const query = `cid=${params.cid}&userid=${params.LedgerID}`;\n const query = `cid=${params.cid}&userid=${params.LedgerID}&password=${params.Password}&newpassword=${params.NewPassword}`;\n // this.service.httpGet('/Goals/GetGoals?',query)\n this.service.httpGet('/changepassword/getuser?',query)\n .subscribe(\n (data) => \n {\n let result: any;\n console.log('data ', data);\n result = data; \n console.log('result ', result);\n if (result.errno === 0) \n {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n }\n else \n {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) =>\n {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n else\n {\n this.NotificationService.success('Should be same new password and confirm password');\n }\n\n \n }\n\n\n onClear()\n {\n console.log('clear TEST');\n // this.ChangePwdFormGroup.reset(); \n // this.fcFullDay.reset(); \n this.ChangePwd.reset();\n // this.initializeFormGroup(); \n\n }\n\n Quit()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.ChangePwd.reset();\n this.ChangePwd.reset();\n this.dialogRef.close({});\n }\n });\n }\n}\n\n","\n\nimport { AfterViewInit, Component, HostListener, Input, ViewChild } from '@angular/core';\nimport { DxContextMenuComponent, DxDataGridComponent } from 'devextreme-angular';\n\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { DialogformainformComponent } from '../dialogformainform/dialogformainform.component';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { DatePipe } from '@angular/common';\nimport { DatecontrolComponent } from '../../HR/DateControl/datecontrol/datecontrol.component';\n\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { exportDataGrid } from 'devextreme/excel_exporter';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { Menu } from '../../ITS/Ticket/ticketlist/ticketlist.component';\nimport { current } from 'devextreme/ui/themes';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { User } from 'src/app/Modules/user';\nimport { UserandgrouppermissionComponent } from '../userandgrouppermission/userandgrouppermission.component';\n\n\n@Component({\n selector: 'app-devxgrid',\n templateUrl: './devxgrid.component.html',\n styleUrls: ['./devxgrid.component.css']\n})\nexport class DevxgridComponent implements AfterViewInit {\n\n @ViewChild('contextMenu', { static: false }) contextMenu: any;\n @ViewChild('contextMenu1', { static: false }) contextMenu1: any;\n @ViewChild('gridContainer1', { static: false }) gridContainer1: DxDataGridComponent;\n @ViewChild('customHeaderTemplate', { static: false }) customHeaderTemplate: any;\n @ViewChild('actionCellTemplate', { static: false }) actionCellTemplate: any;\n\n menuDetails: any;\n gridLayoutDetails: any[] = [];\n filterDetails: any[] = [];\n selectedLayoutName: string = 'Default';\n selectedFilterName: string = 'Default';\n flag:any;\n flag1:any;\n condition:any='';\n gridloyoutlist:any;\n gridfilterlist:any;\n LayoutName:any;\n DefaultLayout:boolean=false;\n dynamicColumns: any[] = [];\n menuID:any;\n DateTypeFlag:any=\"Today\"\n fromdate:any;\n todate:any;\n Filterstring:any={\"field\":\"city\",\"operator\":\"=\",\"value\":\"New York\"};\n isDataLoaded = false;\n setDefault:any;\n setDefault1:any;\n showSpinner:any\n \n formatting2 = [];\n groupSummary = [];\n Summary = [];\n formatColumn: string;\n fontCondition: string='';\n backgroundCondition: string='';\n formatStyle: string;\n\n conditionalFormattingRules: any[] = [];\nisContextMenuVisible = false;\n contextMenuPosition = {\n my:\"center\",\n at:\"center\",\n of:\"#someElement\"\n };\n contextMenuPosition1 = {\n my:\"left\",\n at:\"left\",\n of:\"#target\"\n };\n target: any; \n someElement: any; \n contextMenuTarget:any;\n \n contextMenuItems: any[] = [\n {\n text: 'Summary',\n icon: 'summarize', // Example icon name\n items: [\n { text: 'Count', action: 'count', icon: 'pin',parent:'Summary' }, // Example icon name\n { text: 'Sum', action: 'sum', icon: 'functions',parent:'Summary' } // Example icon name\n ]\n },\n {\n text: 'Group Summary',\n icon: 'summarize', // Example icon name\n items: [\n { text: 'Count', action: 'count', icon: 'pin',parent:'GroupSummary' }, // Example icon name\n { text: 'Sum', action: 'sum', icon: 'functions',parent:'GroupSummary' } // Example icon name\n ]\n },\n {\n text: 'Formatting',\n icon: 'palette', // Example icon name\n items: [\n {\n text: 'Font Color',\n icon: 'text_format', // Example icon name\n items: [\n {\n template: 'colorPickerTemplateFont',\n action: 'fontColor',\n icon: 'font-color-picker', // Example icon name\n parent:'font-color'\n }\n ]\n },\n {\n text: 'Background Color',\n icon: 'format_paint', // Example icon name\n items: [\n {\n template: 'colorPickerTemplateBackground',\n action: 'backgroundColor',\n icon: 'background-color-picker', // Example icon name\n parent:'background-color'\n }\n ]\n }\n ]\n }\n ];\n \n\n eventColumn:string;\n selectedColumn: string | null = null;\n selectedColor: string = '#000000'; // Default color\n colorPickerAction: string | null = null;\n menuVisible = false;\n eventPosition: any;\n menuItems = [\n { text: 'Edit',icon: 'edit' },\n { text: 'View',icon: 'visibility' },\n // Add more menu items here\n ];\n selectedRowData: any;\n actioncolumnvisible:boolean=false;\n isFilterRowVisible: boolean = false;\n dynamicHeight: string;\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n companies:any= this.curUser.dtsiteid;\n CID:any=JSON.parse(sessionStorage.getItem('cid'));\n userrights:any;\n grouprights:any;\n\n constructor(private datePipe: DatePipe,private sharedService: GenericService,private dialog: MatDialog,private service:HttpserviceService, private NotificationService:NotificationService, private eventService: EmiteventserviceService) \n {\n\n }\n @HostListener('document:click', ['$event'])\n onClickOutside(event: MouseEvent) {\n // Check if the click was outside the context menu and the target element\n if (this.menuVisible && this.target && !this.target.contains(event.target as Node) && !this.contextMenu1.nativeElement.contains(event.target)) {\n this.menuVisible = false; // Hide the context menu\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: any) {\n this.setDynamicHeight();\n }\n setDynamicHeight() {\n const windowHeight = window.innerHeight;\n \n this.dynamicHeight = `${windowHeight - 180}px`;\n console.log('height', this.dynamicHeight)\n }\n\n onToolbarPreparing(e: any) {\n e.toolbarOptions.items.unshift({\n location: 'after',\n widget: 'dxCheckBox',\n options: {\n text: 'Show Filter Row',\n value: this.isFilterRowVisible,\n onValueChanged: (args: any) => {\n this.isFilterRowVisible = args.value;\n }\n },\n // Add a custom class to the item\n Class: 'custom-toolbar-item'\n\n });\n }\n\n // toggleFilterRow() {\n // this.isFilterRowVisible = !this.isFilterRowVisible;\n // }\n hideOnOutsideClick(e) {\n return e.target === document.getElementById('someElement');\n}\n ngOnInit() {\n this.setDynamicHeight();\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.flag='LoadlLayout';\n this.loaddata()\n }\n ngAfterViewInit() {\n \n }\n onGridContentReady(e) {\n if (!this.isDataLoaded) {\n this.isDataLoaded = true;\n this.applyFilter();\n }\n }\n\n applyFilter() {\n if (this.gridContainer1 && this.gridContainer1.instance) {\n if (this.Filterstring) {\n try {\n let filterString = this.Filterstring;\n \n // If filterString is an object, convert it to a JSON string\n if (typeof filterString === 'object') {\n filterString = JSON.stringify(filterString);\n }\n \n // If filterString is a string, trim it and parse it\n if (typeof filterString === 'string') {\n filterString = filterString.trim();\n const parsedFilter = JSON.parse(filterString);\n this.gridContainer1.instance.filter(parsedFilter);\n } else {\n }\n } catch (e) {\n }\n } else {\n this.gridContainer1.instance.clearFilter(); // Clear any existing filters if Filterstring is empty\n }\n }\n }\n \n\n updateFilterString(result: any) {\n try {\n const filterString = result.respdata.Table2[0].FilterString;\n if (filterString) {\n JSON.parse(filterString); // Check if it's valid JSON\n this.Filterstring = filterString;\n } else {\n }\n } catch (e) {\n }\n }\n\n changelayout(e)\n {\n this.flag='';\n this.selectedLayoutName=e;\n this.condition=e;\n this.selectedFilterName='Default'\n // this.loaddata()\n\n }\n Filterchange(e)\n {\n this.flag='Filter';\n this.selectedFilterName=e;\n this.condition=e;\n this.loaddata()\n }\n\n Layout(flag_:string)\n {\n if (flag_=='ADD')\n {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:JSON.parse(sessionStorage.getItem('cid')),\n layoutname:this.selectedLayoutName,\n lablname:\"Layout Name\"\n }\n const dialogRef = this.dialog.open(DialogformainformComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n if (result.LayoutName!='' && result.LayoutName!='Default' && result.event!='CLEAR' )\n {\n this.LayoutName=result.LayoutName;\n this.DefaultLayout=result.setDefault;\n this.flag1=result.event;\n\n this.saveGridLayout()\n }\n \n });\n }\n else if(this.LayoutName==='DEFAULT')\n {\n this.LayoutName=this.selectedLayoutName;\n this.DefaultLayout=true;\n this.flag1=flag_;\n \n this.saveGridLayout()\n }\n else\n {\n this.LayoutName=this.selectedLayoutName;\n this.DefaultLayout=this.setDefault;\n this.flag1=flag_;\n\n this.saveGridLayout()\n }\n \n }\n \nsaveFilterLauout(flag_:string) {\n const filterState = this.gridContainer1.instance.getCombinedFilter(true);\n if (flag_=='ADD')\n {\n if (filterState) {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:JSON.parse(sessionStorage.getItem('cid')),\n layoutname:'',\n lablname:\"Filter Name\"\n }\n const dialogRef = this.dialog.open(DialogformainformComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n if (result.LayoutName!='' && result.LayoutName!='Default' && result.event!='CLEAR' )\n {\n this.LayoutName=result.LayoutName;\n this.DefaultLayout=false;\n this.flag1=result.event;\n \n this.saveGridFilter()\n }\n \n }); \n \n }\n }\n else if(this.LayoutName==='DEFAULT')\n {\n this.LayoutName=this.selectedFilterName;\n this.DefaultLayout=true;\n this.flag1=flag_;\n\n this.saveGridFilter()\n }\n else\n {\n\n this.LayoutName=this.selectedFilterName;\n this.DefaultLayout=this.setDefault1;\n this.flag1=flag_;\n\n this.saveGridFilter()\n }\n \n \n}\n\nsaveGridFilter(): void {\n console.log('yyy')\n const filterState = this.gridContainer1.instance.getCombinedFilter(true);\n this.menuID=sessionStorage.getItem('SelectedMenuID')\n\n if(this.flag1!=='PERMISSION')\n {\n this.userrights=[{\"Name\":this.curUser.username}]\n }\n\n let params = {\n _CID: JSON.parse(sessionStorage.getItem('cid')),\n _MenuID:this.menuID,\n _Flag:this.flag1,\n _FilterName:this.LayoutName,\n _FilterString:JSON.stringify(filterState),\n _DefaultLayout:this.DefaultLayout,\n _UserRights:this.userrights==undefined?\"''\":JSON.stringify(this.userrights),\n _GroupRights:this.grouprights==undefined?\"''\":JSON.stringify(this.grouprights),\n _UpdatedBy:this.curUser.username,\n // _UpdatedDate:new Date(),\n \n }\n this.service.httpPost('/MainForm/UpdateFilterString?',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.NotificationService.success('Submitted successfully');\n if (this.flag1=='ADD')\n {\n this.flag='LoadlLayout'\n this.loaddata();\n }\n \n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n}\n\ncaptureGridState() {\n\n\n const state = this.gridContainer1.instance.state();\n\n const filteredColumns ={'columns':state.columns?.filter(column => column.name !== 'Action')} ;\n\n const gridState = {\n grid:filteredColumns,\n formatting:this.formatting2,\n groupSummary:this.groupSummary,\n Summary:this.Summary\n };\n return gridState;\n}\n\n saveGridLayout(): void {\n //const masterLayout = JSON.stringify(this.gridContainer1.instance.state());\n const masterLayout =JSON.stringify( this.captureGridState());\n this.menuID=sessionStorage.getItem('SelectedMenuID')\n\n if(this.flag1!=='PERMISSION')\n {\n this.userrights=[{\"Name\":this.curUser.username}]\n }\n \n \n let params = {\n _CID: JSON.parse(sessionStorage.getItem('cid')),\n _MenuID:this.menuID,\n _Flag:this.flag1,\n _GridLayoutName:this.LayoutName,\n _MasterGridLayoutXML:masterLayout,\n _ChildGridLayoutXML:masterLayout,\n _DefaultLayout:this.DefaultLayout,\n _UserRights:this.userrights==undefined?\"''\":JSON.stringify(this.userrights),\n _GroupRights:this.grouprights==undefined?\"''\":JSON.stringify(this.grouprights),\n _UpdatedBy:this.curUser.username,\n // _UpdatedDate:new Date(),\n \n } \n this.service.httpPost('/MainForm/UpdateGridLayout?',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.NotificationService.success('Submitted successfully');\n \n\n this.flag='LoadlLayout'\n this.loaddata();\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n loadGridLayout(): void {\n const tem= sessionStorage.getItem('gridlayout');\n this.gridContainer1.instance.state(JSON.parse(tem));\n \n }\n refresh()\n {\n this.flag='';\n this.loaddata()\n }\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n height:'43%',\n width:'20%'\n }\n const dialogRef = this.dialog.open(DatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n inferDataType(value: any): string {\n if (value === null || value === undefined) return 'unknown';\n \n // Handle numbers explicitly\n if (typeof value === 'number' || (!isNaN(value) && typeof value !== 'string')) return 'number';\n \n // Handle strings that look like numbers\n if (typeof value === 'string') {\n if (!isNaN(Number(value)) && value.trim() !== '') return 'number'; // Handle numeric strings\n \n // Check if the string is a valid ISO date format\n const isoDatePattern = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(.\\d{3}Z)?$/;\n if (isoDatePattern.test(value)) return 'date';\n \n // Additional simple check for common date formats\n const commonDatePattern = /^\\d{4}-\\d{2}-\\d{2}$/; // YYYY-MM-DD\n if (commonDatePattern.test(value)) return 'date';\n \n return 'string'; // Default to string if no other match\n }\n \n if (typeof value === 'boolean') return 'boolean';\n \n return 'unknown';\n }\n\nonGridInitialized(e) {\n // Optional: You can use this if you need to perform additional actions when the grid is initialized\n console.log('Grid initialized', e);\n}\nasync loaddata()\n {\n this.showSpinner=true;\n\n this.menuID=sessionStorage.getItem('SelectedMenuID')\n\n let params = {\n _CID: JSON.parse(sessionStorage.getItem('cid')),\n _MenuID:this.menuID,\n _Flag:this.flag,\n _Condition:this.condition,\n FromDate:this.fromdate ,\n ToDate:this.todate,\n UserName:this.curUser.username,\n GroupID:this.curUser.groupid,\n _FilterName:this.selectedFilterName\n\n }\n\n console.log('params',params)\n\n let t=await this.service.httpPost('/MainForm/GetGridLayout?',params)\n .toPromise().then(\n (data) => {\n let result: any;\n result=data;\n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n \n if (result.errno === 0){\n\n this.Filterstring=''\n console.log('Filterstring',result.respdata)\n\n if (this.flag=='LoadlLayout')\n {\n\n //console.log('data',result.respdata.Table3[0].FilterName)\n this.gridloyoutlist =result.respdata.Table.length>0 ? result.respdata.Table:'';\n this.selectedLayoutName= result.respdata.Table1.length>0 ? result.respdata.Table1[0].GridLayOutName:'Default';\n this.gridfilterlist = result.respdata.Table2.length>0 ? result.respdata.Table2:''; \n this.selectedFilterName = result.respdata.Table3.length>0 ? result.respdata.Table3[0].FilterName:'Default';\n this.condition= this.selectedLayoutName\n }\n else if(this.flag=='Filter')\n {\n if (result.respdata.Table.length>0)\n {\n this.gridContainer1.instance.filter(JSON.parse(result.respdata.Table[0].FilterString))\n this.Filterstring='Filter : '+ result.respdata.Table[0].FilterString\n }\n else\n {\n this.gridContainer1.instance.filter('')\n this.Filterstring=''\n console.log('Filterstring',this.Filterstring)\n }\n \n\n }\n else\n {\n \n this.menuDetails =result.respdata.Table;\n\n if(this.menuDetails.length>0)\n {\n this.actioncolumnvisible=true;\n }\n\n this.dynamicColumns=[];\n this.groupSummary=[];\n this.formatting2=[];\n this.Summary=[];\n if (result.respdata.Table1.length>0)\n {\n const parsedGridState = JSON.parse(result.respdata.Table1[0].MasterGridLayOutXML);\n\n console.log('parsedGridState',parsedGridState)\n \n const layoutData = parsedGridState.grid;\n this.groupSummary= parsedGridState.groupSummary;\n this.formatting2= parsedGridState.formatting;\n this.Summary= parsedGridState.Summary;\n // const layoutData = JSON.parse(result.respdata.Table1[0].MasterGridLayOutXML);\n layoutData.columns.forEach(column => {\n const dataField = column.dataField;\n const visible = column.visible;\n const visibleIndex = column.visibleIndex;\n const groupIndex = column.groupIndex;\n const width= column.width;\n const dataType= column.dataType \n \n this.dynamicColumns.push({'field':dataField,'caption':dataField,'visible':visible,'groupIndex':groupIndex,'width':width,'dataType':dataType})\n \n //console.log(`Column: ${dataField}, Visible: ${visible}, Index: ${visibleIndex}`);\n });\n\n }\n else{\n\n \n this.dynamicColumns = Object.keys(result.respdata.Table[0]).map(key => {\n // Infer the data type based on the sample row\n const dataType = this.inferDataType(result.respdata.Table[0][key]);\n \n return {\n field: key,\n caption: key, // Customize captions if needed\n dataType: dataType // Add data type\n };\n });\n \n }\n \n if (result.respdata.Table1.length>0)\n {\n const layoutData = JSON.parse(result.respdata.Table1[0].MasterGridLayOutXML);\n this.applyGridLayout(layoutData);\n }\n else\n {\n this.gridContainer1.instance.state('')\n }\n this.gridContainer1.instance.filter('')\n\n if (result.respdata.Table2.length>0)\n {\n this.selectedFilterName =this.condition=='Default'?'':result.respdata.Table2[0].FilterName;\n\n this.Filterstring='Filter : '+ result.respdata.Table2[0].FilterString\n\n this.updateFilterString(result);\n setTimeout(() => {\n this.applyFilter(); // Apply the filter after updating the filter string\n }, 0); // Delaying execution slightly to ensure everything is ready\n }\n else\n {\n this.gridContainer1.instance.filter('')\n this.Filterstring=''\n }\n \n }\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n applyGridLayout(layoutData: any) {\n if (this.gridContainer1) {\n // console.log('data1');\n this.gridContainer1.instance.state(layoutData);\n }\n }\n \n\n addGroupColumn(columnField: string) {\n const column = this.dynamicColumns.find(col => col.dataField === columnField);\n if (column) {\n column.groupIndex = this.dynamicColumns.filter(col => col.groupIndex !== undefined).length;\n this.gridContainer1.instance.clearGrouping();\n this.dynamicColumns.forEach((col, index) => {\n if (col.groupIndex !== undefined) {\n this.gridContainer1.instance.columnOption(col.dataField, 'groupIndex', col.groupIndex);\n }\n });\n }\n }\n\n removeGroupColumn(columnField: string) {\n const column = this.dynamicColumns.find(col => col.dataField === columnField);\n if (column && column.groupIndex !== undefined) {\n delete column.groupIndex;\n this.gridContainer1.instance.clearGrouping();\n this.dynamicColumns.forEach((col, index) => {\n if (col.groupIndex !== undefined) {\n this.gridContainer1.instance.columnOption(col.dataField, 'groupIndex', col.groupIndex);\n }\n });\n }\n }\n\n async applySummary(columnField: string, summaryType: string,parent:string) {\n\n if (parent=='GroupSummary')\n {\n // Find if a summary for this column and type already exists\n const existingSummary = await this.groupSummary.find(summary => summary.column === columnField && summary.summaryType === summaryType);\n\n // If no existing summary is found, add the new one\n if (!existingSummary) {\n this.groupSummary.push({ column: columnField, summaryType: summaryType });\n }\n\n }\n else if (parent=='Summary')\n {\n const existingSummary = await this.Summary.find(summary => summary.column === columnField && summary.summaryType === summaryType);\n\n // If no existing summary is found, add the new one\n if (!existingSummary) {\n this.Summary.push({ column: columnField, summaryType: summaryType });\n }\n \n }\n \n // Refresh the grid to apply the summary\n this.gridContainer1.instance.refresh();\n}\n\n\n\n addConditionalFormatting() {\n // console.log('formating')\n if (this.formatColumn && this.backgroundCondition && this.formatStyle) {\n this.formatting2.push({\n column: this.formatColumn,\n condition: this.backgroundCondition,\n style: this.formatStyle\n });\n }\n //console.log('formating1',this.conditionalFormattingRules)\n this.gridContainer1.instance.refresh();\n }\n\n applyFormatting(e) {\n let styles = '';\n \n this.formatting2.forEach(f => {\n if (e.column.dataField === f.column && e.value != null) {\n // Check if the condition is a simple equality or an expression\n if (f.condition && this.evaluateCondition(f.condition, e.value)) {\n styles += `${f.style};`;\n }\n }\n });\n \n if (styles) {\n e.cellElement.style.cssText += styles;\n }\n }\n \n evaluateCondition(condition: string, value: any): boolean {\n try {\n const valueString = value.toString().trim();\n \n // Handle exact match condition\n if (condition === valueString) {\n return true;\n }\n \n // Handle numeric comparisons if the condition includes comparison operators\n const numericCondition = condition.match(/^([<>]=?)\\s*(\\d+)$/);\n if (numericCondition) {\n const operator = numericCondition[1];\n const number = parseFloat(numericCondition[2]);\n \n switch (operator) {\n case '>':\n return parseFloat(valueString) > number;\n case '<':\n return parseFloat(valueString) < number;\n case '>=':\n return parseFloat(valueString) >= number;\n case '<=':\n return parseFloat(valueString) <= number;\n case '=':\n return parseFloat(valueString) === number;\n default:\n return false;\n }\n }\n \n // Handle boolean condition (e.g., 'true' or 'false')\n if (condition.toLowerCase() === 'true' || condition.toLowerCase() === 'false') {\n return valueString.toLowerCase() === condition.toLowerCase();\n }\n \n // If the condition is not a recognized pattern, return false\n return false;\n } catch (e) {\n console.error('Error evaluating condition:', condition, e);\n return false;\n }\n }\n \n \n onCellPrepared(e) {\n \n this.applyFormatting(e);\n }\n\n\n // getAverage(field: string): string {\n // const values = this.menuDetails.map(item => item[field]);\n // const sum = values.reduce((acc, val) => acc + val, 0);\n // return (sum / values.length).toFixed(2);\n // }\n\n // getCount(field: string): number {\n // return this.menuDetails.length;\n // }\n\n // getSum(field: string): number {\n // const values = this.menuDetails.map(item => item[field]);\n // return values.reduce((acc, val) => acc + val, 0);\n // }\n\n // groupByColumn(field: string) {\n // const column = this.dynamicColumns.find(col => col.field === field);\n // if (column) {\n // column.groupIndex = 0;\n // }\n // }\n\n onIconClick(field: any, event: MouseEvent) {\n this.someElement= event.currentTarget;\n this.isContextMenuVisible = true\n event.stopPropagation(); // Prevents other event handlers from being triggered\n this.eventColumn=field\n this.contextMenu.instance.show(); // Show the context menu without arguments\n }\n\n onMenuItemClick2(value)\n {\n console.log('onMenuItemClick2',value)\n }\n onMenuItemClick(event: any) {\n const item = event.itemData;\n const columnField = item.field;\n const summaryType = item.action;\n\n \n switch (summaryType) {\n case 'count':\n this.applySummary(this.eventColumn, 'count',item.parent );\n break;\n case 'average':\n this.applySummary(this.eventColumn, 'average',item.parent );\n break;\n case 'sum':\n this.applySummary(this.eventColumn, 'sum',item.parent );\n break;\n }\n }\n\n onColorChange(condition: string,event: any) {\n const color = event.color.hex || '#000000';\n if (this.eventColumn) {\n if (condition === 'fontColor') {\n this.applyFontColor(this.eventColumn, color);\n } else if (condition === 'backgroundColor') {\n this.applyBackgroundColor(this.eventColumn, color);\n console.log('backgroundColor',this.eventColumn,color)\n }\n }\n }\n\n \n \n\n onConditionChange(condition: string, type: string) {\n // Handle condition input change\n if (type === 'font') {\n this.fontCondition = condition;\n } else if (type === 'background') {\n this.backgroundCondition = condition;\n }\n // Apply condition change logic here\n }\n\n applyFontColor(columnField: string, color: string) {\n if (columnField && this.fontCondition && color) {\n // Check if a font color setting already exists for the specified column\n const existingFontFormattingIndex = this.formatting2.findIndex(\n format => format.column === columnField &&format.condition === this.backgroundCondition && format.style.startsWith('color:')\n );\n \n if (existingFontFormattingIndex !== -1) {\n // If it exists, remove it first\n this.formatting2.splice(existingFontFormattingIndex, 1);\n }\n \n // Then add the new font color formatting rule\n this.formatting2.push({\n column: columnField,\n condition: this.fontCondition,\n style: 'color:' + color\n });\n }\n \n // Hide the context menu and refresh the grid to apply the formatting changes\n this.isContextMenuVisible = false;\n this.gridContainer1.instance.refresh();\n }\n \n\n applyBackgroundColor(columnField: string, color: string) {\n if (columnField && this.backgroundCondition && color) {\n // Check if a background color setting already exists for the specified column\n const existingFormattingIndex = this.formatting2.findIndex(\n format => format.column === columnField &&format.condition === this.backgroundCondition && format.style.startsWith('background-color:')\n );\n \n if (existingFormattingIndex !== -1) {\n // If it exists, remove it first\n this.formatting2.splice(existingFormattingIndex, 1);\n }\n \n // Then add the new formatting rule\n this.formatting2.push({\n column: columnField,\n condition: this.backgroundCondition,\n style: 'background-color:' + color\n });\n }\n\n this.gridContainer1.instance.refresh();\n }\n \n\n stopPropagation(event: Event) {\n event.stopPropagation();\n }\n \n onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Main sheet');\n \n const conditionalFormattingRules = this.formatting2;\n \n exportDataGrid({\n component: e.component,\n worksheet: worksheet,\n customizeCell: ({ gridCell, excelCell }) => {\n if (gridCell && excelCell) {\n // Ensure gridCell has the expected structure\n if (gridCell.rowType === \"data\" && gridCell.column) {\n const dataField = gridCell.column?.dataField;\n const cellValue = gridCell.data?.[dataField];\n \n // Set default font color to black\n excelCell.font = {\n color: { argb: 'FF000000' } // Default to black\n };\n \n // Apply conditional formatting\n conditionalFormattingRules.forEach(rule => {\n if (rule.column === dataField && cellValue?.toString() === rule.condition?.toString()) {\n // Apply background color if specified\n if (rule.style.includes('background-color')) {\n const bgColorMatch = rule.style.match(/background-color:\\s*(#[0-9a-fA-F]{6})/i);\n if (bgColorMatch) {\n excelCell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: bgColorMatch[1].replace('#', 'FF') }\n };\n }\n }\n \n // Apply font color if specified\n if (/color:\\s*#[0-9a-fA-F]{6}/i.test(rule.style) && !/background-color:/i.test(rule.style)) {\n const fontColorMatch = rule.style.match(/color:\\s*(#[0-9a-fA-F]{6})/i);\n if (fontColorMatch) {\n excelCell.font = {\n color: { argb: fontColorMatch[1].replace('#', 'FF') }\n };\n }\n }\n }\n });\n }\n \n // Handle group rows and group footers\n if (gridCell.rowType === \"groupFooter\" || gridCell.rowType === \"group\") {\n const groupField = gridCell.column?.dataField;\n const groupValue = gridCell.value;\n \n conditionalFormattingRules.forEach(rule => {\n if (rule.column === groupField && groupValue?.toString() === rule.condition?.toString()) {\n const bgColorMatch = rule.style.match(/background-color:\\s*(#[0-9a-fA-F]{6})/i);\n if (bgColorMatch) {\n // Ensure row reference is correct and apply color to all cells\n //const row = worksheet.getRow(excelCell.row);\n const columnCount = worksheet.columnCount;\n // console.log(`Applying color to row ${columnCount}`); // Debugging output\n for (let col = 1; col <= columnCount; col++) { // Columns A to H (1 to 8)\n const cell = worksheet.getCell(excelCell.row, col); // Row 1, columns 1 to 8\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: bgColorMatch[1].replace('#', 'FF') }\n };\n }\n }\n\n\n if (/color:\\s*#[0-9a-fA-F]{6}/i.test(rule.style) && !/background-color:/i.test(rule.style)) {\n const fontColorMatch = rule.style.match(/color:\\s*(#[0-9a-fA-F]{6})/i);\n if (fontColorMatch) {\n // Ensure row reference is correct and apply color to all cells\n //const row = worksheet.getRow(excelCell.row);\n const columnCount = worksheet.columnCount;\n // console.log(`Applying color to row ${columnCount}`); // Debugging output\n for (let col = 1; col <= columnCount; col++) { // Columns A to H (1 to 8)\n const cell = worksheet.getCell(excelCell.row, col); // Row 1, columns 1 to 8\n cell.font = {\n color: { argb: fontColorMatch[1].replace('#', 'FF') }\n };\n }\n }\n\n }\n }\n });\n }\n } else {\n console.error('gridCell or excelCell is undefined');\n }\n }\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx');\n });\n });\n \n e.cancel = true; // Prevent the default export behavior\n }\n \n \n\n onActionClick(event: any, cellData: any) {\n this.target = event.currentTarget;\n console.log('yyy',cellData)\n this.eventPosition = event.element;\n this.menuVisible = true;\n this.selectedRowData=cellData;\n }\n\n onMenuHiding() {\n this.menuVisible = false;\n }\n\n findMenuId = (menu, targetId) => {\n for (const item of menu) {\n if (item.menuid === targetId) {\n return item;\n }\n if (item.children) {\n const found = this.findMenuId(item.children, targetId);\n if (found) {\n return found;\n }\n }\n }\n return null; // Return null if not found\n};\n\n onMenuItemClick1(event: any, cellData: any) {\n const clickedItem = event.itemData.text;\n console.log('Menu item clicked:', clickedItem, 'for', this.selectedRowData);\n const menulist=JSON.parse(sessionStorage.getItem('menulist'));\n const result = this.findMenuId(menulist, this.selectedRowData.data.MenuID);\n\n const PassingData = {\n rowValue:this.selectedRowData.data,\n flag:clickedItem,\n otherForm:true\n \n };\n\n \n sessionStorage.setItem('ManinformrowData',JSON.stringify(PassingData));\n \n if(this.selectedRowData.data.MenuID=='STS_134') {\n sessionStorage.setItem('activityTicketID', this.selectedRowData.data.TicketID);\n sessionStorage.setItem('TaskSubject', this.selectedRowData.data.Subject);\n sessionStorage.setItem('TemplateID', this.selectedRowData.data.TemplateID);\n sessionStorage.setItem('ActivityID', this.selectedRowData.data.ActiviteID);\n const result= { \"name\": this.selectedRowData.data.TicketID, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(result);\n } \n else{\n const result= this.findMenuId(menulist, this.selectedRowData.data.MenuID);\n this.eventService.emitMenuSelect(result);\n }\n\n this.menuVisible = false; // Hide menu after selection\n }\n\n onFocusedRowChanged(e) { \n //sessionStorage.setItem('TicketID', e.data.TicketNo);\n\n const PassingData = {\n rowValue:e.data,\n flag:'View',\n otherForm:true\n \n };\n\n sessionStorage.setItem('ManinformrowData',JSON.stringify(PassingData));\n \n //console.log('resul',e.data.TicketID,' + ',e.data.TicketID)\n const menulist=JSON.parse(sessionStorage.getItem('menulist'));\n \n\n if(e.data.MenuID=='STS_134') {\n sessionStorage.setItem('activityTicketID', e.data.TicketID);\n sessionStorage.setItem('TaskSubject', e.data.Subject);\n sessionStorage.setItem('TemplateID', e.data.TemplateID);\n sessionStorage.setItem('ActivityID', e.data.ActiviteID);\n const result= { \"name\": e.data.TicketID, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(result);\n } \n else{\n const result= this.findMenuId(menulist, e.data.MenuID);\n this.eventService.emitMenuSelect(result);\n }\n \n //console.log('result',result)\n \n\n // let item: any = { \"name\": \"Ticket Manager\", \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_203\", \"parentid\": \"54\", \"visible\": true };\n // this.eventService.emitMenuSelect(item);\n \n }\n Permission(val)\n {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:JSON.parse(sessionStorage.getItem('cid')),\n userrights:this.userrights,\n grouprights:this.grouprights,\n LayoutName:val=='Grid'? this.selectedLayoutName:this.selectedFilterName,\n flag:val,\n MenuID:this.menuID\n }\n const dialogRef = this.dialog.open(UserandgrouppermissionComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n if (result.LayoutName!='' && result.LayoutName!='Default' && result.event!='CLEAR' )\n {\n console.log('permission',result)\n\n this.LayoutName=result.LayoutName;\n this.DefaultLayout=false;\n this.flag1='PERMISSION';\n this.userrights= result.userrights== undefined || result.userrights==\"\"?\"\":result.userrights.map(role => ({ Name: role }));\n this.grouprights= result.grouprights== undefined || result.grouprights==\"\"?\"\":result.grouprights.map(role => ({ Name: role }));\n\n// const formattedRoles = result.userrights.map(role => ({ Name: role }));\n\n// console.log('permission3',formattedRoles);\n if (val=='Grid')\n {\n this.saveGridLayout()\n }\n else if(val=='Filter')\n {\n this.saveGridFilter()\n\n }\n \n }\n \n });\n }\n\n shouldApplyHeaderFilter(column: any): boolean {\n // Example condition: Disable header filter for columns with the field 'noFilterField'\n return column.field !== 'Action';\n }\n \n }\n\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-dialogformainform',\n templateUrl: './dialogformainform.component.html',\n styleUrls: ['./dialogformainform.component.css']\n})\nexport class DialogformainformComponent {\n LayoutName:any='';\n flag:any='ADD';\n setDefault:boolean=false;\n lablname:any;\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n //this.LayoutName = this.data.layoutname;\n this.lablname=this.data.lablname;\n }\n // event(value)\n // {\n // this.flag=value\n // this.LayoutName = this.flag=='ADD'? '': this.data.layoutname; \n // }\n Submit()\n {\n this.dialogRef.close({event: this.flag,LayoutName:this.LayoutName,setDefault:this.setDefault});\n }\n\n onCloseDialog()\n {\n this.dialogRef.close({event:'CLEAR',LayoutName:this.LayoutName,setDefault:this.setDefault});\n }\n\n}\n","import { MatTableDataSource } from '@angular/material/table';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Component, OnInit, ViewChild, TemplateRef } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { GroupComponent } from '../group/group.component';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-group-list',\n templateUrl: './group-list.component.html',\n styleUrls: ['./group-list.component.css']\n})\nexport class GroupListComponent implements OnInit {\n GroupMgtForm: FormGroup;\n loading = false;\n submitted = false;\n dataSource: any ;\n displayedColumns: string[] = ['GroupID', 'GroupName', 'Action'];\n @ViewChild('callAPIDialog') callAPIDialog: TemplateRef;\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n groupid: string;\n groupname: string;\n Flag: string;\n pageSize: number = 7;\n\n constructor(\n private groupmgtService: HttpserviceService,private generic: GenericService,private dialogService: DialogService,\n private dialog: MatDialog,\n private formBuilder: FormBuilder,\n private _snackBar: MatSnackBar) {\n\n }\n\n ngOnInit(): void {\n this.pageSize = 5;\n this.getGroupMgtdata();\n this.GroupMgtForm = this.formBuilder.group({\n groupid: ['', Validators.required],\n groupname: ['', Validators.required],\n cid : [JSON.parse(sessionStorage.getItem('cid'))],\n flag : [this.Flag],\n createddate: ['2020-05-15'],\n createdby: ['admin'],\n defaultsite: ['101'],\n modifiedby: ['admin'],\n modifieddate: ['2020-05-15'],\n grouplevel: ['1001'],\n username: ['admin'],\n group: ['101'],\n returnvalue: [''],\n errormessage: [''],\n });\n\n // console.log('SessiongrpID',sessionStorage.getItem('groupid'));\n }\n\n get f() { return this.GroupMgtForm.controls; }\n\n openDialog(CID: string, groupID: string, groupName: string, Flag: string) {\n\n const GroupmgtData = {cID: CID, GroupID: groupID, GroupName: groupName, flag: Flag};\n \n sessionStorage.setItem('groupMgtData', JSON.stringify(GroupmgtData));\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(GroupComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n // if (GroupmgtData.flag === 'Add' && result != undefined){\n // const data = this.dataSource.data;\n // data.push(result);\n this.getGroupMgtdata();\n // this.dataSource.data = data;\n // this.dataSource.data.push(result);\n // }\n });\n }\n\n openBottomSheet(): void {\n // console.log();\n }\n\n getGroupMgtdata() {\n //JSON.parse(sessionStorage.getItem('cid')), 'LOADGRID', '101'\n // const paramsData = 'cid=' + cid + '&flag=' + flag + '&groupid=' + groupid;\n const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&flag=${'LOADGRID'}&groupid=${JSON.parse(sessionStorage.getItem('groupid'))}`;\n // const options = { params: new HttpParams({fromString: paramsData}) };\n // console.log('QUERY',query);\n this.groupmgtService.httpGet('/groupmgt/getgroup?',query)\n .subscribe(\n data => {\n // console.log('data',data.Response.Groupmgtsub);\n const collecData = data;\n // console.log('collec', collecData.respdata);\n //this.dataSource = new MatTableDataSource(data.groupDetails); // as Task[];\n this.dataSource = new MatTableDataSource(collecData.respdata); // as Task[];\n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n // this.paginator.pageIndex = 0;\n // console.log('this.dataSource', this.dataSource);\n // console.log(tasks);\n },\n error => {\n console.log(error);\n });\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.dataSource.data, 'GroupManagement', 'GroupList' );\n }\n\n deleteGroupMgt(GroupID){\n \n this.dialogService.openConfirmDialog('Are you sure to delete this group?')\n .afterClosed().subscribe(res => {\n if (res) {\n \n const params = {\n CID: JSON.parse(sessionStorage.getItem('cid')),\n GroupID: GroupID\n };\n \n const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&groupid=${GroupID}&ApplicationType=${3}`;\n this.groupmgtService.httpGet('/groupmgt/deleteGroupMgt?',query)\n .subscribe(\n data => {\n const result = data as any;\n if (result.errno === 0) {\n this._snackBar.open('Group deleted successfully', 'Delete', {\n duration: 3000,\n });\n //console.log('result',result);\n this.dataSource = this.dataSource.data.filter((value, key) => {\n return value.GroupID != params.GroupID;\n });\n this.dataSource = new MatTableDataSource(this.dataSource); \n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n //console.log('delete : ', this.dataSource);\n }\n \n },\n error => {\n console.log(error);\n });\n\n }\n });\n }\n\n editTask(GroupID){\n alert(GroupID);\n }\n\n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.dataSource.filter = filterValue;\n }\n\n}\n\n\nexport class GroupData {\n cid: string;\n flag: string;\n groupid: string;\n groupname: string;\n createddate: Date;\n createdby: string;\n defaultsite: string;\n modifiedby: string;\n modifieddate: Date;\n grouplevel: string;\n username: string;\n group: string;\n returnvalue: string;\n errormessage: string;\n }\n","import { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { DxTreeViewComponent } from 'devextreme-angular';\nimport { dxTreeViewNode } from 'devextreme/ui/tree_view';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { User } from 'src/app/Modules/user';\n\n@Component({\n selector: 'app-group',\n templateUrl: './group.component.html',\n styleUrls: ['./group.component.css']\n})\nexport class GroupComponent implements OnInit {\n @ViewChild(DxTreeViewComponent, { static: false }) treeView: DxTreeViewComponent;\n\n employees: Employee[];\n selectedEmployees: dxTreeViewNode[] = [];\n\n showCheckBoxesModes: string[] = ['normal', 'selectAll', 'none'];\n showCheckBoxesMode: string = this.showCheckBoxesModes[0];\n selectionModes: string[] = ['multiple', 'single'];\n selectionMode: string = this.selectionModes[0];\n\n selectNodesRecursive = true;\n selectByClick = false;\n\n isRecursiveDisabled = false;\n isSelectionModeDisabled = false;\n groupmgtdata = {cID: '', GroupID : '', GroupName : '', flag: ''};\n\n groupmgtsub: GroupMgtSub[];\n\n GroupNameFormGroup: FormGroup;\n TreeDataFormGroup: FormGroup;\n isEditable = true;\n\n flag: string;\n grpid: string;\n cid: number ;\n userid: number ;\n ledgerid: number;\n jsondt: any;\n\n constructor(\n private _formBuilder: FormBuilder,\n private menuformsettings: HttpserviceService,\n private _snackBar: MatSnackBar,\n private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n private dialog: MatDialogRef) {\n this.GroupNameFormGroup = this._formBuilder.group({\n firstCtrl: ['', Validators.required]\n });\n this.TreeDataFormGroup = this._formBuilder.group({\n secondCtrl: ['']\n });\n\n this.groupmgtdata = JSON.parse(sessionStorage.getItem('groupMgtData'));\n // console.log('groupdata', this.groupmgtdata);\n this.GroupNameFormGroup.controls['firstCtrl'].setValue(this.groupmgtdata.GroupName);\n this.flag = this.groupmgtdata.flag;\n this.grpid = this.groupmgtdata.GroupID;\n //this.loadMenuGrouping();\n }\n\n ngOnInit(): void {\n }\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.GroupNameFormGroup.reset();\n this.TreeDataFormGroup.reset();\n this.dialogRef.close();\n }\n });\n }\n\n loadMenuGrouping()\n {\n //this.groupmgtdata.cID, 'GROUPMGT', '1', this.groupmgtdata.GroupID\n // const paramsData = 'cid=' + cid + '&flag=' + flag + '&MenuGroupID=' + uniqid + '&groupid=' + groupid;\n // const options = { params: new HttpParams({fromString: paramsData}) }\n const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&flag=${'GROUPMGT'}&MenuGroupID=${'1'}&groupid=${this.groupmgtdata.GroupID}&AppType=${'3'}`;\n this.menuformsettings.httpGet('/groupmgt/GetMenuGroup?',query)\n .subscribe(\n data => {\n //console.log('data',JSON.stringify(data));\n removeEmptyProperties(data);\n this.employees = data.respdata;\n\n },\n error => {\n console.log(error);\n });\n }\n\n treeViewSelectionChanged(e) {\n this.syncSelection(e.component);\n }\n\n treeViewContentReady(e) {\n this.syncSelection(e.component);\n }\n\n syncSelection(treeView) {\n const selectedEmployees = treeView.getSelectedNodes()\n\n .map((node: dxTreeViewNode) => {\n // console.log('node',node);\n // if(node.itemData.type==='Options'){\n return {\n options: node.itemData.options,\n menuid: node.itemData.menuid,\n parentid: node.itemData.parentid,\n type: node.itemData.type,\n selected: node.itemData.selected\n };\n // }\n\n });\n // console.log('selectedEmployees', JSON.stringify(selectedEmployees));\n this.selectedEmployees = selectedEmployees;\n }\n\n showCheckBoxesModeValueChanged(e) {\n this.showCheckBoxesMode = e.value;\n this.isSelectionModeDisabled = e.value === 'selectAll';\n if (e.value === 'selectAll') {\n this.selectionMode = 'multiple';\n this.isRecursiveDisabled = false;\n }\n }\n\n selectionModeValueChanged(e) {\n this.selectionMode = e.value;\n this.isRecursiveDisabled = e.value === 'single';\n if (e.value === 'single') {\n this.selectNodesRecursive = false;\n this.treeView.instance.unselectAll();\n }\n }\n\n bindSelectedData(){\n this.loadMenuGrouping();\n }\n\n SetGroupMgtSubDetails()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // console.log('this.selectedEmployees', this.selectedEmployees.length);\n if (this.selectedEmployees.length != 0)\n {\n const params = {\n Flag: this.flag,\n CID: JSON.parse(sessionStorage.getItem('cid')),\n GroupID: this.grpid,\n GroupName: this.GroupNameFormGroup.controls['firstCtrl'].value,\n DefaultSiteID: JSON.parse(sessionStorage.getItem('cid')),\n Username: curUser.username,\n dtGroupData: this.selectedEmployees,\n ApplicationType:3\n };\n\n this.menuformsettings.httpPost('/groupmgt/setgroup',params)\n .subscribe(\n data => {\n const result = data as any;\n // console.log('result', JSON.stringify(result));\n if (result.errno === 0){\n this._snackBar.open(result.errdesc, this.flag, {\n duration: 3000,\n });\n\n const GroupmgtData = {GroupID: result.respdata.groupid, GroupName: result.respdata.groupname};\n this.dialog.close(GroupmgtData); //(MenuformsettingsComponent);\n }\n else{\n this._snackBar.open('Problem updating user', result.errordesc, {\n duration: 3000,\n });\n }\n },\n error => {\n console.log(error);\n });\n }\n else{\n this._snackBar.open('Please select form access..', 'Select Menu', {\n duration: 3000,\n });\n }\n }\n\n}\n\nexport class Employee {\n id: number;\n fullName: string;\n menuid: string;\n expanded?: boolean;\n selected?: boolean;\n items?: Employee[];\n}\n\nfunction removeEmptyProperties(obj) {\n // console.log(\"obj\",obj)\n Object.keys(obj).forEach(function(key) {\n if (obj[key] && typeof obj[key] === 'object') removeEmptyProperties(obj[key]); //recursive for objects\n else if (obj[key] == null || obj[key] == '') delete obj[key]; //remove empty properties\n if (typeof obj[key] === 'object' && Object.keys(obj[key]).length == 0) delete obj[key]; //remove empty objects\n });\n}\n\ninterface GroupMgtSub {\n menuid: string;\n options: string;\n type: string;\n parentid: string;\n selected?: boolean;\n items?: GroupMgtSub[];\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n@Component({\n selector: 'app-userandgrouppermission',\n templateUrl: './userandgrouppermission.component.html',\n styleUrls: ['./userandgrouppermission.component.css']\n})\nexport class UserandgrouppermissionComponent {\n LayoutName:any='';\n flag:any;\n setDefault:boolean=false;\n lablname:any;\n grouplist:any;\n userlist:any;\n user:any=[];\n Group:any=[];\n MenuID:any;\n\n constructor(private datePipe: DatePipe,private sharedService: GenericService,private service:HttpserviceService, private NotificationService:NotificationService,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.LayoutName = this.data.LayoutName;\n this.user=this.data.userrights;\n this.Group=this.data.grouprights;\n this.flag=this.data.flag;\n this.MenuID=this.data.MenuID;\n }\n \n ngOnInit()\n {\n this.loaddata();\n }\n Submit()\n {\n this.dialogRef.close({event: this.flag,userrights:this.user,grouprights:this.Group,LayoutName:this.LayoutName});\n }\n\nonCloseDialog()\n{\n this.dialogRef.close({event:'CLEAR',userrights:this.user,grouprights:this.Group,LayoutName:this.LayoutName});\n}\n\n\nasync loaddata()\n {\n \n\n let params = {\n _CID: JSON.parse(sessionStorage.getItem('cid')),\n _MenuID:this.MenuID,\n _Flag:'Permission',\n _Condition:this.LayoutName,\n FromDate:new Date(),\n ToDate:new Date(),\n UserName:this.flag,\n GroupID:\"\",\n _FilterName:\"\"\n\n }\n\n let t=await this.service.httpPost('/MainForm/GetGridLayout?',params)\n .toPromise().then(\n (data) => {\n let result: any;\n result=data;\n \n if (result.errno === 0){\n\n \n this.userlist =result.respdata.Table;\n this.grouplist= result.respdata.Table1;\n\n // console.log('result.respdata.Table2',result.respdata.Table2[0].UserRights)\n\n let arrayOfObjects =[];\n let arrayOfObjects1 =[];\n\n if (result.respdata.Table2[0].UserRights !==undefined && result.respdata.Table2[0].UserRights !==null) {\n try {\n // Parse the JSON string if it is available\n arrayOfObjects = JSON.parse(result.respdata.Table2[0].UserRights) ;\n this.user = arrayOfObjects.map(obj => obj.Name);\n } catch (error) {\n }\n } else {\n arrayOfObjects1 = []; // Default to an empty array\n }\n \n if (result.respdata.Table2[0].GroupRights !==undefined && result.respdata.Table2[0].GroupRights !==null) {\n try {\n // Parse the JSON string if it is available\n arrayOfObjects1 = JSON.parse(result.respdata.Table2[0].GroupRights);\n this.Group = arrayOfObjects1.map(obj => obj.Name);\n } catch (error) {\n }\n } else {\n arrayOfObjects1 = []; // Default to an empty array\n }\n\n \n\n //this.Group = arrayOfObjects1.map(obj => obj.Name);\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n \n\n}\n","import { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { NotFoundError } from './../../../../Services/httpServices/ErrorHandler/not-found-error';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { UserService } from './../userValidate';\nimport { User } from './../../../../Modules/user';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { UserComponent } from '../user/user.component';\nimport { WorklocationComponent } from '../worklocation/worklocation.component';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { distinctUntilChanged, take } from 'rxjs/operators';\n\n\n\n\n@Component({\n selector: 'app-user-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.css']\n})\nexport class UserListComponent implements OnInit {\n listData: MatTableDataSource;\n displayedColumns = ['UserID','UserName','GroupID','GroupName','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n // @ViewChild('TABLE') table: ElementRef;\n \n searchKey: string;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n\n data: any;\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n pageSize: number = 5;\n emitData:any='';\n subscription: any;\n\n\n constructor(\n private service: UserService, \n private dialog: MatDialog,\n private notificationService: NotificationService,\n private dialogService: DialogService,\n private generic: GenericService) { \n this.data = history.state.data;\n\n\n }\n\n ngOnInit(): void {\n // this.pageSize = this.curUser.configparam.find(e => e.tag === 'gridpagesize')['value'];\n // console.log('hi',this.curUser.CustomerSettings('gridpagesize'))\n this.pageSize =this.curUser.CustomerSettings.gridpagesize ;\n this.getUserList();\n\n \n if (sessionStorage.getItem('ManinformrowData')!=='' && sessionStorage.getItem('ManinformrowData')!==null)\n {\n //console.log('emitData1',JSON.parse(sessionStorage.getItem('ManinformrowData')))\n this.emitData=JSON.parse(sessionStorage.getItem('ManinformrowData'))\n \n // console.log('emitData',this.emitData.otherForm)\n if (this.emitData.otherForm==true)\n {\n this.onEdit(this.emitData.rowValue.UserID, this.emitData.flag)\n sessionStorage.setItem('ManinformrowData','')\n }\n \n }\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"ERP_103\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.viewbtnvisible = btnVisilityData.viewflag;\n\n this.listData = result.groupall;\n this.listData = new MatTableDataSource(result.respdata.groupall);\n this.listData.sort = this.sort;\n this.listData.paginator = this.paginator; \n\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n this.service.form.setErrors(error.originalError);\n else throw error; \n });\n\n }\n \n \n applyFilter(filterValue: string) {\n // const filterValue = (event.target as HTMLInputElement).value;\n // this.listData.filter = filterValue;\n //console.log('hi',filterValue)\n this.listData.filter = filterValue;\n }\n\n onSearchClear(){\n this.searchKey=\"\";\n this.listData.filter=\"\";\n }\n\n onCreate(){\n this.service.initializeFormGroup();\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n // dialogConfig.width = \"60%\";\n dialogConfig.data = {\n flag: 'ADD',\n userid: 0,\n useridold: 0\n }\n const dialogRef = this.dialog.open(UserComponent, dialogConfig)\n dialogRef.afterClosed()\n .subscribe(res => {\n // if (res.event == 'ADD'){\n // this.listData.data.push(res.data);\n // }else if(res.event == 'EDIT'){\n // this.updateRowData(res.data);\n // }\n this.getUserList();\n });\n }\n \n updateRowData(data){\n this.listData.data = this.listData.data.filter((value,key)=>{\n if(value.UserID == data.UserID){\n value.GroupID = data.GroupID;\n value.GroupName = data.GroupName;\n value.UserName = data.UserName;\n value.Status = data.Status;\n }\n return true;\n });\n }\n\n openUserComponent(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n // dialogConfig.width = \"60%\";\n dialogConfig.data = {\n flag: 'ADD',\n userid: 0,\n useridold: 0\n }\n return this.dialog.open(UserComponent, dialogConfig) \n }\n\n onEdit(userID, _flag){\n this.service.populateForm(userID);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n // dialogConfig.width = \"60%\";\n dialogConfig.data = {\n flag: _flag,\n userid: userID,\n useridold: userID\n }\n const dialogRef = this.dialog.open(UserComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getUserList(); \n }); \n }\n \n onDelete(userID){\n this.dialogService.openConfirmDialog('Are you sure to delete this user?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n userid: userID\n }\n this.service.delete(params)\n .subscribe( \n data => {\n var result: any;\n result = data;\n if (result.errno === 0) \n this.notificationService.success('User deleted successfully');\n this.getUserList();\n // else throw error;\n }, \n (error: AppError) => {\n if (error instanceof NotFoundError)\n alert('This user already been deleted');\n else throw error;\n });\n }\n });\n \n } \n \n exportAsExcel()\n {\n this.generic.excelExport(this.listData.data, 'UserData', 'userlist' );\n }\n onsetting()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n // dialogConfig.width = \"60%\";\n dialogConfig.data = {\n flag: 'ADD',\n userid: 0,\n useridold: 0\n }\n const dialogRef = this.dialog.open(WorklocationComponent, dialogConfig)\n dialogRef.afterClosed()\n .subscribe(res => {\n if (res.event == 'ADD'){\n //this.listData.data.push(res.data);\n }else if(res.event == 'EDIT'){\n //this.updateRowData(res.data);\n }\n });\n }\n\n}\n\n\nexport interface GroupALL {\n UserID : string;\n UserName: string;\n GroupID: string;\n GroupName: string; \n Status: string; \n}","import { Injectable } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\nimport { observable } from 'rxjs';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n companies: any = [];\n allgroups: GroupALL[];\n\n constructor(private http: HttpserviceService) { }\n\n form: FormGroup = new FormGroup({\n username: new FormControl('', Validators.required),\n password: new FormControl('', [Validators.required, Validators.minLength(5)]),\n confirmpassword: new FormControl('', [Validators.required, Validators.minLength(5)]),\n groupid: new FormControl(0, [Validators.required]),\n ledgerid: new FormControl(0, Validators.required),\n inactive: new FormControl(false),\n showpopup: new FormControl(false),\n timepunch: new FormControl(false),\n maincolor: new FormControl(''),\n secondarycolor: new FormControl(''),\n distance: new FormControl(0),\n lngcode: new FormControl(0),\n activedirectorypath: new FormControl(''),\n activedirectorydomain: new FormControl(''),\n activedirectoryuserid: new FormControl(''),\n companies: new FormControl(''),\n merchantid:new FormControl(''),\n templateid:new FormControl('',Validators.required),\n timezoneid:new FormControl('',Validators.required),\n usertype:new FormControl('',Validators.required),\n worklocation:new FormControl(0),\n ERP: new FormControl(false),\n CRM_WEB: new FormControl(false),\n CRM_MA: new FormControl(false),\n DASHBOARD: new FormControl(false)\n });\n\n jsonData = {\"ERP\": true,\"CRM_WEB\": true,\"CRM_MA\": true,\"DASHBOARD\": true}\n\n initializeFormGroup(){\n this.form.setValue({\n username: '',\n password: '',\n confirmpassword: '',\n groupid: 0,\n ledgerid: 0,\n inactive: false,\n showpopup: false,\n timepunch:false,\n maincolor: '',\n secondarycolor: '',\n lngcode: 0,\n activedirectorypath: '',\n activedirectorydomain: '',\n activedirectoryuserid: '',\n companies: [],\n merchantid:0,\n templateid:'',\n timezoneid:'',\n usertype:'',\n worklocation:0,\n distance:0,\n ERP:this.jsonData.ERP,\n CRM_WEB:this.jsonData.CRM_WEB,\n CRM_MA:this.jsonData.CRM_MA,\n DASHBOARD:this.jsonData.DASHBOARD\n });\n }\n\n erpValue:boolean;CRM_WEB:boolean;CRM_MA:boolean;DASHBOARD:boolean;\n\n populateForm(userID){\n this.companies = [];\n\n const params = {\n cid: '101',\n userid: userID\n };\n this.getUser(params)\n .subscribe(\n data => {\n let result: any;\n result = data;\n let userdata;\n\n for (const comp in result.respdata.companies)\n {\n const val = result.respdata.companies[comp];\n if (val.Approved == true)\n {\n this.companies.push(val.SiteID);\n }\n }\n userdata = result.respdata.userdata;\n\n // console.log('userdata',userdata[0].ApplicationAccess)\n const config = JSON.parse(userdata[0].ApplicationAccess);\n this.erpValue = config.ERP;\n this.CRM_WEB=config.CRM_WEB;\n this.CRM_MA=config.CRM_MA;\n this.DASHBOARD=config.DASHBOARD; \n\n const user = {\n username: userdata[0].UserName,\n password: userdata[0].Password,\n confirmpassword: userdata[0].Password,\n groupid: userdata[0].GroupID,\n ledgerid: userdata[0].LedgerID,\n inactive: userdata[0].InActive,\n showpopup: userdata[0].ShowPopUp,\n timepunch:userdata[0].SetGeoLocation,\n maincolor: userdata[0].ERPMainColor,\n secondarycolor: userdata[0].ERPSecondaryColor,\n lngcode: userdata[0].DefaultLngCode,\n activedirectorypath: userdata[0].ActiveDirectoryPath,\n activedirectorydomain: userdata[0].ActiveDirectoryDomain,\n activedirectoryuserid: userdata[0].ActiveDirectoryUserID,\n companies: this.companies,\n merchantid:userdata[0].LedgerID,\n templateid:userdata[0].TemplateGroupID,\n timezoneid:userdata[0].TZID,\n usertype:userdata[0].UserType,\n worklocation:userdata[0].WLID,\n distance:userdata[0].distance,\n // ERP:this.jsonData.ERP,\n ERP:this.erpValue,\n CRM_WEB:this.CRM_WEB,\n CRM_MA:this.CRM_MA,\n DASHBOARD:this.DASHBOARD\n };\n this.form.setValue(user);\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n this.form.setErrors(error.originalError);\n else throw error;\n });\n\n }\n\n getUserList(params: any) {\n const query = `cid=${params.cid}&menuid=${params.menuid}&groupid=${params.groupid}&applicationType=${3}`;\n return this.http.httpGet('/usermgt/userlist?', query)\n }\n\n setDefaultValues(){\n this.form.patchValue({ 'lngcode': 1 });\n }\n\n getUserDefaultLoads(params: any) {\n const query = `cid=${params.cid}&tablename=${params.tablename}&type=${params.type}&condition=${params.condition}&menuid=${params.menuid}&withinactive=${params.withinactive}`;\n return this.http.httpGet('/usermgt/loaddetails?' , query)\n \n }\n\n getUser(params: any) {\n const query = `cid=${params.cid}&userid=${params.userid}`;\n return this.http.httpGet('/usermgt/getuser?' , query)\n }\n\n create(data: any) {\n return this.http.httpPost('/usermgt/userupdate', data)\n }\n\n delete(params: any) {\n const query = `cid=${params.cid}&userid=${params.userid}`;\n return this.http.httpGet('/usermgt/userdelete?' , query)\n }\n\n // getphoto(params: any)\n // {\n // const query = `cid=${params.cid}&ledgerid=${params.ledgerid}`;\n // return this.http.httpGet('/usermgt/GetPhoto?' , query)\n \n // }\n \n}\nexport interface GroupALL {\n GroupID: string;\n GroupName: string;\n UserID: string;\n UserName: string;\n Status: string;\n}\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { UserService } from './../userValidate';\nimport { Component, OnInit } from '@angular/core';\nimport {FormControl,FormBuilder,FormGroup} from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\n\n\n\n\n@Component({\n selector: 'app-user',\n templateUrl: './user.component.html',\n styleUrls: ['./user.component.css']\n})\nexport class UserComponent implements OnInit {\n panelOpenState = false;\n step = 0;\n\n model: any;\n groupname: string;\n \n flag: string = \"ADD\";\n cid: number = 101;\n userid: number = 0;\n useridold: number = 0;\n updatedby: number;\n updateddate: Date;\n jsondt: any;\n templategroupid:any;\n timezone:any;\n merchantlist:any;\n usertype:any;\n worklocation:any;\n public filteredList5\n public filteredList6\n\n distance:number;\n groupselectedValue: any;\n companies: Company[]; \n languages: Language[];\n groups: Group[]; \n dataSource: any;\n employees: Employee[];\n\n companyarray:[];\n\n // Appaccess = [\n // { name: 'ERP' },\n // { name: 'CRM_WEB' },\n // { name: 'CRM_MA' }, \n // { name: 'DASHBOARD' } \n // ];\n\n tempAppaccess = []='{\"ERP\":false,\"CRM_WEB\":false,\"CRM_MA\":false,\"DASHBOARD\":false}'\n form: FormGroup;\n\n constructor(private fb: FormBuilder,\n public service: UserService, \n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n private dialogService: DialogService,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.userid = this.data.userid;\n this.useridold = this.data.useridold;\n //console.log('DIALOFDATA',this.data)\n\n // this.form = this.fb.group({\n // ERP: [false],\n // CRM_WEB: [false],\n // CRM_MA: [false],\n // DASHBOARD: [false]\n // });\n }\n\n ngOnInit(): void { \n this.getUserDefaultLoads(); \n }\n\n\n\n setStep(index: number) {\n this.step = index;\n }\n nextStep() {\n this.step++;\n }\n prevStep() {\n this.step--;\n } \n\n getUserDefaultLoads(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n tablename: \"EMPLOYEE\",\n type: \"''\",\n condition: \"InActive='False' or InActive='True' \",\n menuid: \"default\",\n withinactive: \"false\"\n }\n this.service.getUserDefaultLoads(params)\n .subscribe(\n data => {\n var result = data as any;\n result = data;\n \n this.groups = result.respdata.groups;\n this.languages = result.respdata.languages;\n this.companies = result.respdata.companies;\n this.employees = result.respdata.employees;\n \n this.templategroupid=result.respdata.templategroupid;\n this.timezone=result.respdata.timezone;\n this.merchantlist=result.respdata.merchantlist;\n this.usertype=result.respdata.usertype;\n this.worklocation=result.respdata.worklocation;\n this.distance=result.respdata.distance;\n\n this.filteredList5= this.employees.slice();\n this.filteredList6= this.merchantlist.slice();\n\n\n if(this.flag=='ADD')\n this.service.form.controls.usertype.setValue(this.usertype[0].Usertype)\n\n // console.log('result',result.respdata) \n\n this.service.setDefaultValues();\n //set this.companies AllowAccess to true from service.ts companies array SiteID \n if (this.flag == 'EDIT'){\n var companiesservice = this.service.companies;\n for (let siteid of companiesservice) \n {\n for (const comp in this.companies) \n { \n var val = result.respdata.companies[comp];\n if (val.SiteID == siteid)\n {\n val.AllowAccess = true;\n }\n }\n }\n }\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n this.service.form.setErrors(error.originalError);\n else throw error; \n });\n }\n\n onClear(){\n this.service.form.reset(); \n this.service.initializeFormGroup(); \n }\n\n // getSerializedString(): string {\n // return JSON.stringify(this.service.form.value);\n\n \n // }\n\n getSerializedString(): string {\n const selectedValues = {\n ERP: this.service.form.get('ERP').value==\"\"?false:this.service.form.get('ERP').value,\n CRM_WEB: this.service.form.get('CRM_WEB').value==\"\"?false:this.service.form.get('CRM_WEB').value,\n CRM_MA: this.service.form.get('CRM_MA').value==\"\"?false:this.service.form.get('CRM_MA').value,\n DASHBOARD: this.service.form.get('DASHBOARD').value==\"\"?false:this.service.form.get('DASHBOARD').value,\n };\n return JSON.stringify(selectedValues);\n }\n\n // getInvertedValueString(): string {\n // const formValue = this.form.value;\n // const invertedValues = {};\n // for (const key in formValue) {\n // if (formValue.hasOwnProperty(key)) {\n // invertedValues[key] = !formValue[key];\n // }\n // }\n // return JSON.stringify(invertedValues);\n // }\n\n onSubmit(){\n if (this.service.form.valid){\n var curDate=new Date();\n let paramsFormValue = this.service.form.value; \n \n const serializedString = this.getSerializedString();\n // console.log('sdg',serializedString); \n // const invertedValueString = this.getInvertedValueString();\n // console.log('sdg',invertedValueString);\n\n let paramsExtra = {\n flag: this.flag,\n cid: JSON.parse(sessionStorage.getItem('cid')),\n userid: this.userid,\n useridold: this.useridold,\n defaultsiteid: JSON.parse(sessionStorage.getItem('cid')),\n lastupdatedby: 1,\n lastupdateddate: curDate,\n jsondt: this.companies,\n applicationaccess:serializedString\n };\n\n let params = Object.assign(paramsFormValue, paramsExtra);\n console.log('PARAMS',params)\n this.service.create(params)\n .subscribe(\n (data) => {\n var users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.notificationService.success('User details updated successfully');\n \n // need to add userdetails to send back to grid for display\n this.model = { 'GroupID': params.groupid, 'GroupName': this.groupname, 'UserID': users.respdata.userid, 'UserName': params.username, 'Status': 'Active'}; //get the model from the form\n this.onClose(this.model);\n \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n this.service.form.setErrors(error.originalError);\n else throw error; \n }); \n \n }\n }\n\n onCloseDialog(){ \n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n\n onClose(model){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n \n\n updateCompany(event: { isUserInput:any; \n source:{value:any;\n selected:any}})\n { \n if (event.isUserInput)\n {\n let compid = event.source.value; \n for (const comp in this.companies)\n { \n var val = this.companies[comp];\n if (val.SiteID == compid)\n {\n if (event.source.selected === true)\n {\n val.AllowAccess = 'true';\n }\n else\n {\n val.AllowAccess = 'false';\n }\n }\n }\n }\n }\n \n selected(event) {\n let target = event.source.selected._element.nativeElement;\n this.groupname = target.innerText.trim();\n }\n}\n\n\nexport interface GroupALL {\n GroupID: string;\n GroupName: string;\n UserID : string;\n UserName: string;\n Status: string; \n}\n\ninterface Language {\n LngCode: string;\n Description: string;\n}\n\ninterface Group {\n GroupID: string;\n GroupName: string;\n}\n\ninterface Company {\n CompanyName: string;\n SiteID: string;\n AllowAccess : string;\n}\n\ninterface Employee {\n Name: string;\n ID: string;\n LedgerID: any;\n}","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n// import {} from 'googlemaps';\n@Component({\n selector: 'app-worklocation',\n templateUrl: './worklocation.component.html',\n styleUrls: ['./worklocation.component.css']\n})\nexport class WorklocationComponent {\n constructor(private service:HttpserviceService,private NotificationService:NotificationService, public dialogRef: MatDialogRef,)\n {\n\n }\n \n lat :any;\n long:any;\n zoom: number =10;\n GeoID:any;\n WorkLocation:any;\n flag:any;\n flag_:any;\n addvisible:boolean=true;\n editvisible:boolean=false;\n WLID:any=0;\n WLList:any;\n isDisabled: boolean = true;\n cid:any=JSON.parse(sessionStorage.getItem('cid'));\n\n async locate()\n {\n navigator.geolocation.getCurrentPosition((position) => {\n this.lat = position.coords.latitude;\n this.long = position.coords.longitude;\n });\n\n }\n\n loadScript() {\n \n this.locate();\n\nvar latDes = this.lat;\nvar longDes = this.long;\nvar url = \"https://www.google.com/maps/dir/?api=1\";\nvar origin = \"&origin=\" + this.lat + \",\" + this.long;\nvar destination = \"&destination=\" + latDes + \",\" + longDes;\nvar newUrl = new URL(url + origin + destination);\nconsole.log('url',newUrl)\n\nvar win = window.open(newUrl, '_blank');\n win.focus();\n\n }\n Add()\n {\n this.flag='ADD';\n this.addvisible=true;\n this.editvisible=false;\n this.isDisabled=false;\n }\n edit()\n {\n this.flag='EDIT';\n this.flag_='LoadCombo'\n this.addvisible=false;\n this.editvisible=true;\n this.isDisabled=false;\n this.LoadData();\n }\n LoadData()\n {\n const params = {\n cid:this.cid,\n flag:this.flag_,\n WLID:this.WLID\n \n \n }; \n const query = `cid=${params.cid}&Flag=${params.flag}&WLID=${params.WLID}`;\n this.service.httpGet('/usermgt/GetWorkLocation?',query)\n .subscribe(\n (data) => {\n let result: any;\n result = data; //result.users;\n if (result.errno === 0){\n\n console.log('ttt',result.respdata)\n\n if(this.flag_=='LoadCombo')\n this.WLList=result.respdata.Table;\n else\n this.GeoID=result.respdata.Table[0].GeoID;\n this.WorkLocation=result.respdata.Table[0].Location;\n \n \n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n locationchange()\n {\n this.flag_='Get'\n this.LoadData();\n }\n save()\n {\n let paramsExtra = {\n flag: this.flag,\n cid: JSON.parse(sessionStorage.getItem('cid')),\n Location:this.WorkLocation,\n WLID:this.WLID,\n GeoID:this.GeoID\n };\n\n this.service.httpPost('/usermgt/SetWorkLocation?',paramsExtra)\n .subscribe(\n (data) => {\n var users: any;\n users = data; //result.users;\n if (users.errno === 0){\n \n this.NotificationService.success('Updated successfully');\n \n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n }, \n (error: AppError) => {\n // if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n // else throw error; \n }); \n }\n onCloseDialog(){\n this.dialogRef.close({event: 'CLEAR'});\n\n}\nclear()\n{\n this.WorkLocation='';\n this.GeoID='';\n this.flag='';\n this.isDisabled=true;\n\n}\n\n}\n","import { InjectionToken } from '@angular/core';\nimport { MatSelectSearchComponent } from './mat-select-search.component';\n\n/** List of inputs of NgxMatSelectSearchComponent that can be configured with a global default. */\nexport const configurableDefaultOptions = [\n 'ariaLabel',\n 'clearSearchInput',\n 'closeIcon',\n 'closeSvgIcon',\n 'disableInitialFocus',\n 'disableScrollToActiveOnOptionsChanged',\n 'enableClearOnEscapePressed',\n 'hideClearSearchButton',\n 'noEntriesFoundLabel',\n 'placeholderLabel',\n 'preventHomeEndKeyPropagation',\n 'searching',\n] as const;\n\nexport type ConfigurableDefaultOptions = typeof configurableDefaultOptions[number];\n\n/**\n * InjectionToken that can be used to specify global options. e.g.\n *\n * ```typescript\n * providers: [\n * {\n * provide: MAT_SELECTSEARCH_DEFAULT_OPTIONS,\n * useValue: {\n * closeIcon: 'delete',\n * noEntriesFoundLabel: 'No options found'\n * }\n * }\n * ]\n * ```\n *\n * See the corresponding inputs of `MatSelectSearchComponent` for documentation.\n */\nexport const MAT_SELECTSEARCH_DEFAULT_OPTIONS = new InjectionToken('mat-selectsearch-default-options');\n\n/** Global configurable options for MatSelectSearch. */\nexport type MatSelectSearchOptions = Readonly>>;\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for providing a custom no entries found element.\n * e.g.\n * \n * \n * No entries found \n * \n * \n */\n@Directive({\n selector: '[ngxMatSelectNoEntriesFound]'\n})\nexport class MatSelectNoEntriesFoundDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for providing a custom clear-icon.\n * e.g.\n * \n * delete\n * \n */\n@Directive({\n selector: '[ngxMatSelectSearchClear]'\n})\nexport class MatSelectSearchClearDirective {}\n","/**\n * Copyright (c) 2018 Bithost GmbH All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { A, DOWN_ARROW, END, ENTER, ESCAPE, HOME, NINE, SPACE, UP_ARROW, Z, ZERO } from '@angular/cdk/keycodes';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatOption } from '@angular/material/core';\nimport { MatFormField } from '@angular/material/form-field';\nimport { MatSelect } from '@angular/material/select';\nimport { BehaviorSubject, combineLatest, Observable, of, Subject } from 'rxjs';\nimport { delay, filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport { MatSelectSearchClearDirective } from './mat-select-search-clear.directive';\nimport { configurableDefaultOptions, MAT_SELECTSEARCH_DEFAULT_OPTIONS, MatSelectSearchOptions } from './default-options';\nimport { MatSelectNoEntriesFoundDirective } from './mat-select-no-entries-found.directive';\n\n/* tslint:disable:member-ordering component-selector */\n/**\n * Component providing an input field for searching MatSelect options.\n *\n * Example usage:\n *\n * interface Bank {\n * id: string;\n * name: string;\n * }\n *\n * @Component({\n * selector: 'my-app-data-selection',\n * template: `\n * \n * \n * \n * \n * \n * \n * {{bank.name}}\n * \n * \n * \n * `\n * })\n * export class DataSelectionComponent implements OnInit, OnDestroy {\n *\n * // control for the selected bank\n * public bankCtrl: FormControl = new FormControl();\n * // control for the MatSelect filter keyword\n * public bankFilterCtrl: FormControl = new FormControl();\n *\n * // list of banks\n * private banks: Bank[] = [{name: 'Bank A', id: 'A'}, {name: 'Bank B', id: 'B'}, {name: 'Bank C', id: 'C'}];\n * // list of banks filtered by search keyword\n * public filteredBanks: ReplaySubject = new ReplaySubject(1);\n *\n * // Subject that emits when the component has been destroyed.\n * private _onDestroy = new Subject();\n *\n *\n * ngOnInit() {\n * // load the initial bank list\n * this.filteredBanks.next(this.banks.slice());\n * // listen for search field value changes\n * this.bankFilterCtrl.valueChanges\n * .pipe(takeUntil(this._onDestroy))\n * .subscribe(() => {\n * this.filterBanks();\n * });\n * }\n *\n * ngOnDestroy() {\n * this._onDestroy.next();\n * this._onDestroy.complete();\n * }\n *\n * private filterBanks() {\n * if (!this.banks) {\n * return;\n * }\n *\n * // get the search keyword\n * let search = this.bankFilterCtrl.value;\n * if (!search) {\n * this.filteredBanks.next(this.banks.slice());\n * return;\n * } else {\n * search = search.toLowerCase();\n * }\n *\n * // filter the banks\n * this.filteredBanks.next(\n * this.banks.filter(bank => bank.name.toLowerCase().indexOf(search) > -1)\n * );\n * }\n * }\n */\n@Component({\n selector: 'ngx-mat-select-search',\n templateUrl: './mat-select-search.component.html',\n styleUrls: ['./mat-select-search.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSelectSearchComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatSelectSearchComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n /** Label of the search placeholder */\n @Input() placeholderLabel = 'Search';\n\n /** Type of the search input field */\n @Input() type = 'text';\n\n /** Font-based icon used for displaying Close-Icon */\n @Input() closeIcon = 'close';\n\n /** Svg-based icon used for displaying Close-Icon. If set, closeIcon is overridden */\n @Input() closeSvgIcon?: string;\n\n /** Label to be shown when no entries are found. Set to null if no message should be shown. */\n @Input() noEntriesFoundLabel = 'Keine Optionen gefunden';\n\n /**\n * Whether or not the search field should be cleared after the dropdown menu is closed.\n * Useful for server-side filtering. See [#3](https://github.com/bithost-gmbh/ngx-mat-select-search/issues/3)\n */\n @Input() clearSearchInput = true;\n\n /** Whether to show the search-in-progress indicator */\n @Input() searching = false;\n\n /** Disables initial focusing of the input field */\n @Input() disableInitialFocus = false;\n\n /** Enable clear input on escape pressed */\n @Input() enableClearOnEscapePressed = false;\n\n /**\n * Prevents home / end key being propagated to mat-select,\n * allowing to move the cursor within the search input instead of navigating the options\n */\n @Input() preventHomeEndKeyPropagation = false;\n\n /** Disables scrolling to active options when option list changes. Useful for server-side search */\n @Input() disableScrollToActiveOnOptionsChanged = false;\n\n /** Adds 508 screen reader support for search box */\n @Input() ariaLabel = 'dropdown search';\n\n /** Whether to show Select All Checkbox (for mat-select[multi=true]) */\n @Input() showToggleAllCheckbox = false;\n\n /** select all checkbox checked state */\n @Input() toggleAllCheckboxChecked = false;\n\n /** select all checkbox indeterminate state */\n @Input() toggleAllCheckboxIndeterminate = false;\n\n /** Display a message in a tooltip on the toggle-all checkbox */\n @Input() toggleAllCheckboxTooltipMessage = '';\n\n /** Define the position of the tooltip on the toggle-all checkbox. */\n @Input() toggleAllCheckboxTooltipPosition: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' = 'below';\n\n /** Show/Hide the search clear button of the search input */\n @Input() hideClearSearchButton = false;\n\n /**\n * Always restore selected options on selectionChange for mode multi (e.g. for lazy loading/infinity scrolling).\n * Defaults to false, so selected options are only restored while filtering is active.\n */\n @Input() alwaysRestoreSelectedOptionsMulti = false;\n\n /** Output emitter to send to parent component with the toggle all boolean */\n @Output() toggleAll = new EventEmitter();\n\n /** Reference to the search input field */\n @ViewChild('searchSelectInput', { read: ElementRef, static: true }) searchSelectInput: ElementRef;\n\n /** Reference to the search input field */\n @ViewChild('innerSelectSearch', { read: ElementRef, static: true }) innerSelectSearch: ElementRef;\n\n /** Reference to custom search input clear icon */\n @ContentChild(MatSelectSearchClearDirective) clearIcon: MatSelectSearchClearDirective;\n\n /** Reference to custom no entries found element */\n @ContentChild(MatSelectNoEntriesFoundDirective) noEntriesFound: MatSelectNoEntriesFoundDirective;\n\n /** Current search value */\n get value(): string {\n return this._formControl.value;\n }\n private _lastExternalInputValue: string;\n\n onTouched: Function = (_: any) => { };\n\n /** Reference to the MatSelect options */\n public set _options(_options: QueryList) {\n this._options$.next(_options);\n }\n public get _options(): QueryList {\n return this._options$.getValue();\n }\n public _options$: BehaviorSubject> = new BehaviorSubject>(null);\n\n private optionsList$: Observable = this._options$.pipe(\n switchMap(_options => _options ?\n _options.changes.pipe(\n map(options => options.toArray()),\n startWith(_options.toArray()),\n ) : of(null)\n )\n );\n\n private optionsLength$: Observable = this.optionsList$.pipe(\n map(options => options ? options.length : 0)\n );\n\n /** Previously selected values when using */\n private previousSelectedValues: any[];\n\n public _formControl: FormControl = new FormControl('');\n\n /** whether to show the no entries found message */\n public _showNoEntriesFound$: Observable = combineLatest([\n this._formControl.valueChanges,\n this.optionsLength$\n ]).pipe(\n map(([value, optionsLength]) => this.noEntriesFoundLabel && value\n && optionsLength === this.getOptionsLengthOffset())\n );\n\n /** Subject that emits when the component has been destroyed. */\n private _onDestroy = new Subject();\n\n /** Reference to active descendant for ARIA Support. */\n private activeDescendant: HTMLElement;\n\n constructor(@Inject(MatSelect) public matSelect: MatSelect,\n public changeDetectorRef: ChangeDetectorRef,\n private _viewportRuler: ViewportRuler,\n @Optional() @Inject(MatOption) public matOption: MatOption = null,\n @Optional() @Inject(MatFormField) public matFormField: MatFormField = null,\n @Optional() @Inject(MAT_SELECTSEARCH_DEFAULT_OPTIONS) defaultOptions?: MatSelectSearchOptions\n ) {\n this.applyDefaultOptions(defaultOptions);\n }\n\n private applyDefaultOptions(defaultOptions: MatSelectSearchOptions) {\n if (!defaultOptions) {\n return;\n }\n for (const key of configurableDefaultOptions) {\n if (defaultOptions.hasOwnProperty(key)) {\n (this[key] as any) = defaultOptions[key];\n }\n }\n }\n\n ngOnInit() {\n // set custom mat-option class if the component was placed inside a mat-option\n if (this.matOption) {\n this.matOption.disabled = true;\n this.matOption._getHostElement().classList.add('contains-mat-select-search');\n this.matOption._getHostElement().setAttribute('aria-hidden', 'true');\n } else {\n console.error(' must be placed inside a element');\n }\n\n // when the select dropdown panel is opened or closed\n this.matSelect.openedChange\n .pipe(\n delay(1),\n takeUntil(this._onDestroy)\n )\n .subscribe((opened) => {\n if (opened) {\n this.updateInputWidth();\n // focus the search field when opening\n if (!this.disableInitialFocus) {\n this._focus();\n }\n } else {\n // clear it when closing\n if (this.clearSearchInput) {\n this._reset();\n }\n }\n });\n\n\n\n // set the first item active after the options changed\n this.matSelect.openedChange\n .pipe(\n take(1),\n switchMap((_) => {\n this._options = this.matSelect.options;\n\n // Closure variable for tracking the most recent first option.\n // In order to avoid avoid causing the list to\n // scroll to the top when options are added to the bottom of\n // the list (eg: infinite scroll), we compare only\n // the changes to the first options to determine if we\n // should set the first item as active.\n // This prevents unnecessary scrolling to the top of the list\n // when options are appended, but allows the first item\n // in the list to be set as active by default when there\n // is no active selection\n let previousFirstOption = this._options.toArray()[this.getOptionsLengthOffset()];\n\n return this._options.changes\n .pipe(tap(() => {\n // avoid \"expression has been changed\" error\n setTimeout(() => {\n // Convert the QueryList to an array\n const options = this._options.toArray();\n\n // The true first item is offset by 1\n const currentFirstOption = options[this.getOptionsLengthOffset()];\n\n const keyManager = this.matSelect._keyManager;\n if (keyManager && this.matSelect.panelOpen && currentFirstOption) {\n\n // set first item active and input width\n\n // Check to see if the first option in these changes is different from the previous.\n const firstOptionIsChanged = !previousFirstOption\n || !this.matSelect.compareWith(previousFirstOption.value, currentFirstOption.value);\n\n // CASE: The first option is different now.\n // Indiciates we should set it as active and scroll to the top.\n if (firstOptionIsChanged\n || !keyManager.activeItem\n || !options.find(option => this.matSelect.compareWith(option.value, keyManager.activeItem.value))) {\n keyManager.setActiveItem(this.getOptionsLengthOffset());\n }\n\n // wait for panel width changes\n setTimeout(() => {\n this.updateInputWidth();\n });\n }\n\n // Update our reference\n previousFirstOption = currentFirstOption;\n });\n }));\n })\n )\n .pipe(takeUntil(this._onDestroy))\n .subscribe();\n\n // add or remove css class depending on whether to show the no entries found message\n // note: this is hacky\n this._showNoEntriesFound$.pipe(\n takeUntil(this._onDestroy)\n ).subscribe(showNoEntriesFound => {\n // set no entries found class on mat option\n if (this.matOption) {\n if (showNoEntriesFound) {\n this.matOption._getHostElement().classList.add('mat-select-search-no-entries-found');\n } else {\n this.matOption._getHostElement().classList.remove('mat-select-search-no-entries-found');\n }\n }\n });\n\n // resize the input width when the viewport is resized, i.e. the trigger width could potentially be resized\n this._viewportRuler.change()\n .pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n if (this.matSelect.panelOpen) {\n this.updateInputWidth();\n }\n });\n\n this.initMultipleHandling();\n\n this.optionsList$.pipe(\n takeUntil(this._onDestroy)\n ).subscribe(() => {\n // update view when available options change\n this.changeDetectorRef.markForCheck();\n });\n }\n\n _emitSelectAllBooleanToParent(state: boolean) {\n this.toggleAll.emit(state);\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n _isToggleAllCheckboxVisible(): boolean {\n return this.matSelect.multiple && this.showToggleAllCheckbox;\n }\n\n /**\n * Handles the key down event with MatSelect.\n * Allows e.g. selecting with enter key, navigation with arrow keys, etc.\n * @param event\n */\n _handleKeydown(event: KeyboardEvent) {\n // Prevent propagation for all alphanumeric characters in order to avoid selection issues\n if ((event.key && event.key.length === 1) ||\n (event.keyCode >= A && event.keyCode <= Z) ||\n (event.keyCode >= ZERO && event.keyCode <= NINE) ||\n (event.keyCode === SPACE)\n || (this.preventHomeEndKeyPropagation && (event.keyCode === HOME || event.keyCode === END))\n ) {\n event.stopPropagation();\n }\n\n if (this.matSelect.multiple && event.key && event.keyCode === ENTER) {\n // Regain focus after multiselect, so we can further type\n setTimeout(() => this._focus());\n }\n\n // Special case if click Escape, if input is empty, close the dropdown, if not, empty out the search field\n if (this.enableClearOnEscapePressed === true && event.keyCode === ESCAPE && this.value) {\n this._reset(true);\n event.stopPropagation();\n }\n }\n\n /**\n * Handles the key up event with MatSelect.\n * Allows e.g. the announcing of the currently activeDescendant by screen readers.\n */\n _handleKeyup(event: KeyboardEvent) {\n if (event.keyCode === UP_ARROW || event.keyCode === DOWN_ARROW) {\n const ariaActiveDescendantId = this.matSelect._getAriaActiveDescendant();\n const index = this._options.toArray().findIndex(item => item.id === ariaActiveDescendantId);\n if (index !== -1) {\n this.unselectActiveDescendant();\n this.activeDescendant = this._options.toArray()[index]._getHostElement();\n this.activeDescendant.setAttribute('aria-selected', 'true');\n this.searchSelectInput.nativeElement.setAttribute('aria-activedescendant', ariaActiveDescendantId);\n }\n }\n }\n\n writeValue(value: string) {\n this._lastExternalInputValue = value;\n this._formControl.setValue(value);\n this.changeDetectorRef.markForCheck();\n }\n\n onBlur() {\n this.unselectActiveDescendant();\n this.onTouched();\n }\n\n registerOnChange(fn: (value: string) => void) {\n this._formControl.valueChanges.pipe(\n filter(value => value !== this._lastExternalInputValue),\n tap(() => this._lastExternalInputValue = undefined),\n takeUntil(this._onDestroy)\n ).subscribe(fn);\n }\n\n registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n /**\n * Focuses the search input field\n */\n public _focus() {\n if (!this.searchSelectInput || !this.matSelect.panel) {\n return;\n }\n // save and restore scrollTop of panel, since it will be reset by focus()\n // note: this is hacky\n const panel = this.matSelect.panel.nativeElement;\n const scrollTop = panel.scrollTop;\n\n // focus\n this.searchSelectInput.nativeElement.focus();\n\n panel.scrollTop = scrollTop;\n }\n\n /**\n * Resets the current search value\n * @param focus whether to focus after resetting\n */\n public _reset(focus?: boolean) {\n this._formControl.setValue('');\n if (focus) {\n this._focus();\n }\n }\n\n\n /**\n * Initializes handling \n * Note: to improve this code, mat-select should be extended to allow disabling resetting the selection while filtering.\n */\n private initMultipleHandling() {\n if (!this.matSelect.ngControl) {\n if (this.matSelect.multiple) {\n // note: the access to matSelect.ngControl (instead of matSelect.value / matSelect.valueChanges)\n // is necessary to properly work in multi-selection mode.\n console.error('the mat-select containing ngx-mat-select-search must have a ngModel or formControl directive when multiple=true');\n }\n return;\n }\n // if \n // store previously selected values and restore them when they are deselected\n // because the option is not available while we are currently filtering\n this.previousSelectedValues = this.matSelect.ngControl.value;\n\n this.matSelect.ngControl.valueChanges\n .pipe(takeUntil(this._onDestroy))\n .subscribe((values) => {\n let restoreSelectedValues = false;\n if (this.matSelect.multiple) {\n if ((this.alwaysRestoreSelectedOptionsMulti || (this._formControl.value && this._formControl.value.length))\n && this.previousSelectedValues && Array.isArray(this.previousSelectedValues)) {\n if (!values || !Array.isArray(values)) {\n values = [];\n }\n const optionValues = this.matSelect.options.map(option => option.value);\n this.previousSelectedValues.forEach(previousValue => {\n if (!values.some(v => this.matSelect.compareWith(v, previousValue))\n && !optionValues.some(v => this.matSelect.compareWith(v, previousValue))) {\n // if a value that was selected before is deselected and not found in the options, it was deselected\n // due to the filtering, so we restore it.\n values.push(previousValue);\n restoreSelectedValues = true;\n }\n });\n }\n }\n this.previousSelectedValues = values;\n\n if (restoreSelectedValues) {\n this.matSelect._onChange(values);\n }\n });\n }\n\n /**\n * Set the width of the innerSelectSearch to fit even custom scrollbars\n * And support all Operation Systems\n */\n public updateInputWidth() {\n if (!this.innerSelectSearch || !this.innerSelectSearch.nativeElement) {\n return;\n }\n let element: HTMLElement = this.innerSelectSearch.nativeElement;\n let panelElement: HTMLElement;\n while (element = element.parentElement) {\n if (element.classList.contains('mat-select-panel')) {\n panelElement = element;\n break;\n }\n }\n if (panelElement) {\n this.innerSelectSearch.nativeElement.style.width = panelElement.clientWidth + 'px';\n }\n }\n\n /**\n * Determine the offset to length that can be caused by the optional matOption used as a search input.\n */\n private getOptionsLengthOffset(): number {\n if (this.matOption) {\n return 1;\n } else {\n return 0;\n }\n }\n\n private unselectActiveDescendant() {\n this.activeDescendant?.removeAttribute('aria-selected');\n this.searchSelectInput.nativeElement.removeAttribute('aria-activedescendant');\n }\n\n}\n","/**\n * Copyright (c) 2018 Bithost GmbH All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { NgModule } from '@angular/core';\n//import { MatSelectSearchComponent } from './mat-select-search.component';\n// import { MatButtonModule } from '@angular/material/button';\n// import { MatCheckboxModule } from '@angular/material/checkbox';\n// import { MatIconModule } from '@angular/material/icon';\n// import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n// import { MatTooltipModule } from '@angular/material/tooltip';\n// import { CommonModule } from '@angular/common';\n\nimport { MatSelectSearchClearDirective } from './mat-select-search-clear.directive';\nimport { MatSelectNoEntriesFoundDirective } from './mat-select-no-entries-found.directive';\nimport { MatDividerModule } from '@angular/material/divider';\n\nexport const MatSelectSearchVersion = '7.0.6';\nexport { MatSelectSearchClearDirective };\nexport { MatSelectNoEntriesFoundDirective };\n\n@NgModule({\n imports: [\n //CommonModule,\n //ReactiveFormsModule,\n // MatButtonModule,\n // MatCheckboxModule,\n // MatIconModule,\n // MatProgressSpinnerModule,\n // MatTooltipModule,\n MatDividerModule,\n ],\n declarations: [\n //MatSelectSearchComponent,\n MatSelectSearchClearDirective,\n MatSelectNoEntriesFoundDirective\n ],\n exports: [\n // MatSelectSearchComponent,\n MatSelectSearchClearDirective,\n MatSelectNoEntriesFoundDirective\n ]\n})\nexport class NgxMatSelectSearchModule {\n}\n","import { AfterViewInit, Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatSelect } from '@angular/material/select';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { BANKS, Bank } from './demo-data';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n\n@Component({\n selector: 'app-multiselectwithsearch',\n templateUrl: './multiselectwithsearch.component.html',\n styleUrls: ['./multiselectwithsearch.component.css']\n})\nexport class MultiselectwithsearchComponent implements OnInit, AfterViewInit, OnDestroy {\n \n /** list of banks */\n protected banks: Bank[] = [];\n\n /** control for the selected bank for multi-selection */\n public bankMultiCtrl= new FormControl([]);\n\n /** control for the MatSelect filter keyword multi-selection */\n public bankMultiFilterCtrl2= new FormControl('');\n\n /** list of banks filtered by search keyword */\n public filteredBanksMulti: ReplaySubject = new ReplaySubject(1);\n\n /** local copy of filtered banks to help set the toggle all checkbox state */\n protected filteredBanksCache: Bank[] = [];\n\n /** flags to set the toggle all checkbox state */\n isIndeterminate = false;\n isChecked = false;\n\n @ViewChild('multiSelect', { static: true }) multiSelect!: MatSelect;\n\n /** Subject that emits when the component has been destroyed. */\n protected _onDestroy = new Subject();\n\n multiselectedvalue:any\n panelClass: string;\n constructor(\n private formBuilder: FormBuilder,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { \n //console.log('datam',this.data) \n this.banks=this.data.loadCombo;\n //console.log(' this.multiselectedvalue', this.data.inputcomboValue);\n this.filteredBanksCache=this.data.inputcomboValue \n this.panelClass = this.getPanelClass(this.data.FormName);\n }\n\n ngOnInit() {\n\n if(this.multiselectedvalue!='')\n // set initial selection\n this.bankMultiCtrl.setValue(this.filteredBanksCache);\n\n // load the initial bank list\n this.filteredBanksMulti.next(this.banks.slice());\n\n // listen for search field value changes\n this.bankMultiFilterCtrl2.valueChanges\n .pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this.filterBanksMulti();\n // this.setToggleAllCheckboxState();\n });\n }\n\n ngAfterViewInit() {\n this.setInitialValue();\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n toggleSelectAll(selectAllValue: boolean) {\n this.filteredBanksMulti.pipe(take(1), takeUntil(this._onDestroy))\n .subscribe(val => {\n if (selectAllValue) {\n this.bankMultiCtrl.patchValue(val);\n } else {\n this.bankMultiCtrl.patchValue([]);\n }\n });\n }\n\n /**\n * Sets the initial value after the filteredBanks are loaded initially\n */\n protected setInitialValue() {\n \n this.filteredBanksMulti\n .pipe(take(1), takeUntil(this._onDestroy))\n .subscribe(() => {\n // setting the compareWith property to a comparison function\n // triggers initializing the selection according to the initial value of\n // the form control (i.e. _initializeSelection())\n // this needs to be done after the filteredBanks are loaded initially\n // and after the mat-option elements are available\n this.multiSelect.compareWith = (a: Bank, b: Bank) => a && b && a.Valuemember === b.Valuemember;\n });\n }\n\n protected filterBanksMulti() {\n \n if (!this.banks) {\n return;\n }\n // get the search keyword\n let search = this.bankMultiFilterCtrl2.value;\n if (!search) {\n this.filteredBanksCache = this.banks.slice();\n this.filteredBanksMulti.next(this.filteredBanksCache);\n return;\n } else {\n search = search.toLowerCase();\n }\n // filter the banks\n this.filteredBanksCache = this.banks.filter(bank => bank.Displaymember.toLowerCase().indexOf(search) > -1);\n this.filteredBanksMulti.next(this.filteredBanksCache);\n }\n\n\n\n onClear()\n {\n // this.isDisabled = false;\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.myFormGroup.reset(); \n // // this.myFormGroup.disable(); \n // this.visible=false;\n // this.TicketID=0;\n // this.myControl.reset();\n // this.myFormGroup.controls.Status.setValue('5') \n // this.myFormGroup.controls.Created.setValue(JSON.stringify(curUser.userid))\n }\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'});\n }\n\n onSubmit(){\n //console.log('bankMultiCtrl',this.bankMultiCtrl.value);\n this.dialogRef.close({event: 'LOAD', data: this.bankMultiCtrl.value});\n }\n\n\n getPanelClass(formname: string): string {\n //console.log('formname',formname)\n return formname === 'Ticket' ? 'filterddlpanelclassTicket' : 'filterddlpanelclass';\n }\n\n // Method to update class dynamically\n updatePanelClass(formname: string): void {\n this.panelClass = this.getPanelClass(formname);\n }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n//import { DialogRequestInfoComponent } from '../dialog-request-info/dialog-request-info.component';\n\n@Component({\n selector: 'app-approvalform-posting',\n templateUrl: './approvalform-posting.component.html',\n styleUrls: ['./approvalform-posting.component.css']\n})\nexport class ApprovalformPostingComponent {\n showSpinner:any;\n VouNo:any;\n Description:any;\n VouDate:any;\n ApprovedStatus:any;\n Amount:any;\n Comment:'';\n MenuID:any;\n RevNo:any;\n ApproveBy:any;\n LedgerID:any;\n RuleID:any;\n CID:any;\n dataSource:any;\n dataSource1:any;\n TCDiscountAmount:any;\n TCMiscAmount:any;\n TCItemTaxAmount:any;\n constructor(\n \n private NotificationService:NotificationService,\n private dialogService: DialogService,\n private service:HttpserviceService ,private router: Router,public dialog: MatDialog,public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any ) \n {\n\n console.log('dialogRef',data)\n console.log('dialogRef',data.VouNo)\n// if (this.router.getCurrentNavigation().extras.state !== undefined)\n// {\n \n // this.data=this.router.getCurrentNavigation().extras.state.data;\n this.VouNo=data.VouNo;\n this.Description=data.Description;\n this.VouDate=data.VouDate;\n this.ApprovedStatus=data.ApprovedStatus;\n this.Amount=data.Amount;\n this.MenuID=data.MenuID;\n this.RevNo=data.RevNo;\n this.ApproveBy=data.ApproveBy;\n this.LedgerID=data.LedgerID;\n this.RuleID=data.RuleID;\n this.CID=data.CID;\n\n\n this.LoadData()\n//console.log(name); // 'Approval Form'\n // console.log(\"test1234\",Description)\n //console.log(\"test\",this.data.name)\n// }\n \n }\n Submit(value)\n {\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n BPID:101,\n MenuID:this.MenuID,\n VouNO:this.VouNo,\n RevNo:this.RevNo,\n userID:this.ApproveBy,\n ApproverStatus:1,\n ApproverComment:this.Comment,\n ht:\"\",\n LedgerID:this.LedgerID,\n ByPassApprove:0,\n JsonValue:\"\",\n ApprovedStatus:value,\n ProjectID:\"N/A\"\n \n }\n\n console.log(\"ts\",params)\n // const query = `cid=${params.cid}&vouno=${params.vouno}&menuid=${params.menuid}&flag=${params.flag}`; \n this.service.httpPost('/ApprovalForm/SetApprovalForm?',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.NotificationService.success(':: Submitted sucessfully');\n this.dialogRef.close({event: 'CLEAR'});\n //this.router.navigate(['ApprovalForm']);\n // this.GoalID=users.respdata;\n // this.groupenable = this.GoalID !== 0 ? false : true;\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n // OpenDialog()\n // {\n // const dialogRef = this.dialog.open(DialogRequestInfoComponent, {\n // data: {RuleID: this.RuleID,CID:JSON.parse(sessionStorage.getItem('cid'))},\n // });\n\n // dialogRef.afterClosed().subscribe(result => {\n // console.log('The dialog was closed');\n // //this.animal = result;\n // });\n \n // }\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n LoadData()\n {\n\n this.showSpinner=true;\n const params = {\n cid: this.CID,\n VouNo:this.VouNo,\n MenuID:this.MenuID\n \n }; \n this.service.httpPost('/ApprovalForm/GetApprovalFormItemDetails?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.dataSource = result.respdata.Table; \n //this.dataSource = result.respdata.Table1; \n this.TCDiscountAmount= result.respdata.Table1[0].TCDiscountAmount\n this.TCItemTaxAmount= result.respdata.Table1[0].TCItemTaxAmount\n this.TCMiscAmount= result.respdata.Table1[0].TCMiscAmount\n // this.dataSource1 = result.respdata.Table; \n \n \n \n \n });\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { User } from 'src/app/Modules/user';\n\n@Component({\n selector: 'app-approvalformfilter',\n templateUrl: './approvalformfilter.component.html',\n styleUrls: ['./approvalformfilter.component.scss'],\n})\nexport class ApprovalformfilterComponent implements OnInit {\n\n today = new Date();\n priorDate = new Date(new Date().setDate(this.today.getDate() - 30));\n fromdate:any= this.priorDate;\n todate:any= new Date();\n dataSource: any[];;\n dataSource1:any;\n flag:any;\n qtnstatus=\"0\"\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n companies:any= this.curUser.dtsiteid;\n CID:any;\n\nconstructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any)\n { \n console.log('data',data)\n this.CID=data.cid\n this.qtnstatus=data.qtnstatus\n this.fromdate=data.fromdate\n this.todate=data.todate\n }\n\n\n ngOnInit() {}\n\n applyFilter() {\n // Implement filter logic here\n // You may use a service to communicate with the parent component or emit an event\n let param={'Status': this.qtnstatus,'FromDate':this.fromdate,'ToDate':this.todate,'CID':this.CID}\n this.dialogRef.close(param);\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { User } from 'src/app/Modules/user';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { ApprovalformfilterComponent } from '../approvalformfilter/approvalformfilter.component';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ApprovalformPostingComponent } from '../approvalform-posting/approvalform-posting.component';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { ShowdetailsComponent } from '../showdetails/showdetails.component';\n\n\n@Component({\n selector: 'app-approvalformlist',\n templateUrl: './approvalformlist.component.html',\n styleUrls: ['./approvalformlist.component.scss'],\n})\nexport class ApprovalformlistComponent implements OnInit {\n\n showSpinner:any;\n //data:any;\n Salesmanlist:any;\n UserID:any;\n cid:any=101;\n LedgerID:any=0;\n today = new Date();\n priorDate = new Date(new Date().setDate(this.today.getDate() - 30));\n fromdate:any= this.priorDate;\n todate:any= new Date();\n dataSource: any;\n dataSource1:any;\n flag:any;\n qtnstatus=\"0\"\n searchQuery: string = '';\n curUser: User= JSON.parse(sessionStorage.getItem('currentUser'));\n currentPage: number = 1;\n itemsPerPage: number = 17; // Number of items per page\n sortOrder: string = ''; // Ascending or Descending\n displayedColumns =['VouNo','VouDate','Description','Project','MenuName','ApprovedStatus','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private generic: GenericService,public dialog: MatDialog) \n {\n \n }\n\n // onPageChange(pageNumber: number) {\n // this.currentPage = pageNumber;\n // }\n // getPages(): number[] {\n // // const pageCount = Math.ceil(this.dataSource.length / this.itemsPerPage);\n // // return Array(pageCount).fill(0).map((_, index) => index + 1);\n // const pageCount = Math.ceil(this.dataSource.length / this.itemsPerPage);\n // const currentPageIndex = this.currentPage - 1;\n\n // // Calculate the start and end index for the displayed page numbers\n // let startPageIndex = Math.max(0, currentPageIndex - 2);\n // let endPageIndex = Math.min(pageCount - 1, currentPageIndex + 2);\n\n // // Ensure there are always 5 page numbers displayed\n // if (endPageIndex - startPageIndex < 4) {\n // if (startPageIndex === 0) {\n // endPageIndex = Math.min(pageCount - 1, startPageIndex + 4);\n // } else if (endPageIndex === pageCount - 1) {\n // startPageIndex = Math.max(0, endPageIndex - 4);\n // }\n // }\n\n // return Array.from({ length: endPageIndex - startPageIndex + 1 }, (_, index) => startPageIndex + index + 1);\n // }\n\n ngOnInit() \n {\n this. LoadData()\n }\n // sortColumn(columnName: string) {\n // // Toggle sorting order between Ascending and Descending\n // this.sortOrder = (this.sortOrder === 'asc') ? 'desc' : 'asc';\n\n // // Sort the filteredData based on the column\n // this.dataSource.sort((a, b) => {\n // if (a[columnName] < b[columnName]) {\n // return (this.sortOrder === 'asc') ? -1 : 1;\n // } else if (a[columnName] > b[columnName]) {\n // return (this.sortOrder === 'asc') ? 1 : -1;\n // } else {\n // return 0;\n // }\n // });\n // }\n\n LoadData()\n {\n\n this.showSpinner=true;\n const params = {\n cid: this.cid,\n // salesmanid: this.curUser.salesmanid,\n UserID:this.curUser.userid,\n FromDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\"),\n Condition:this.qtnstatus,\n Flag:'Get'\n \n }; \n console.log('params',params)\n this.service.httpPost('/ApprovalForm/GetApprovalForm?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.dataSource = result.respdata.Table; \n this.dataSource= new MatTableDataSource(result.respdata.Table); \n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.dataSource1 = result.respdata.Table; \n \n \n \n \n });\n }\n Show(e)\n {\n let params = {\n VouNo:e.VouNo,\n MenuID:e.MenuID,\n RevNo:e.RevNo,\n CID:this.cid,\n Flag:\"\",\n };\n\n console.log('params',params)\n this.service.httpPost('/ApprovalForm/GetFormApprovalDetails?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n dt:result.respdata\n };\n \n const dialogRef = this.dialog.open(ShowdetailsComponent, dialogConfig);\n \n \n });\n }\n onUpdate(e)\n {\n console.log(\"evebt\",e)\n\n console.log(\"test\",e)\n console.log(\"VouNo\",e.RuleID)\n // let param={\n // VouNo:e.VouNo,\n // Description:e.Description,\n // VouDate:e.VouDate,\n // ApprovedStatus:e.ApprovedStatus,\n // Amount:e.Amount,\n // MenuID:e.MenuID,\n // RevNo:e.RevNo,\n // ApproveBy:e.ApprovedBy,\n // LedgerID:e.LedgerID,\n // RuleID:e.RuleID\n // // LedgerID:this.LedgerID,\n // // OtherForm:true\n \n // }\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n VouNo:e.VouNo,\n Description:e.Description,\n VouDate:e.VouDate,\n ApprovedStatus:e.ApprovedStatus,\n Amount:e.Amount,\n MenuID:e.MenuID,\n RevNo:e.RevNo,\n ApproveBy:e.ApprovedBy,\n LedgerID:e.LedgerID,\n RuleID:e.RuleID,\n CID:this.cid\n };\n \n if (e.ApprovedStatus!=='Pending')\n {\n //this.router.navigate(['ApprovalFormPosting'], {state: {data:param}})\n\n\n const dialogRef = this.dialog.open(ApprovalformPostingComponent, dialogConfig);\n // const dialogRef = this.dialog.open(ApprovalformPostingComponent, {\n // data:param\n // // width: '300px', // Set the width of the dialog\n // // position: { right: '0' } // Set the position to right side\n // });\n \n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result.Status);\n //this.qtnstatus=result.Status\n this.LoadData()\n });\n\n }\n\n }\n\n openFilterDialog(): void {\n const dialogRef = this.dialog.open(ApprovalformfilterComponent, {\n width: '30%', // Set the width of the dialog\n height:'75%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n qtnstatus:this.qtnstatus,\n fromdate:this.fromdate,\n todate:this.todate\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n this.qtnstatus=result.Status\n this.cid=result.CID\n this.fromdate=result.FromDate\n this.todate=result.ToDate\n this.LoadData()\n }\n \n });\n }\n \n onSearch() {\n console.log(\"test\")\n // this.dataSource = this.dataSource1.filter(item =>\n // item.toLowerCase().includes(this.searchQuery.toLowerCase())\n // );\n // this.dataSource= result.respdata.Table); \n this.dataSource =new MatTableDataSource( this.dataSource1.filter(item => {\n const itemString = `${item.VouNo.toLowerCase()} || ${item.Description.toLowerCase()} || ${item.MenuName.toLowerCase()} || ${item.ApprovedStatus.toLowerCase()}`;\n return itemString.includes(this.searchQuery.toLowerCase());\n \n }));\n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.currentPage=1\n }\n exportAsExcel()\n {\n // , {header:['name', 'surname']}\n this.generic.excelExport(this.dataSource1, 'Effort','EffortList From ' + this.datePipe.transform(this.fromdate,\"dd-MM-yyyy\")+' to '+this.datePipe.transform(this.todate,\"dd-MM-yyyy\"));\n }\n\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-showdetails',\n templateUrl: './showdetails.component.html',\n styleUrls: ['./showdetails.component.css']\n})\nexport class ShowdetailsComponent {\n\n approvallist:any;\n displayedColumns: string[] = ['RevNo','Level','ApprovedBy','ApprovedDate','Status','Comment'];\n constructor(\n \n\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.approvallist=data.dt;\n\n\n }\n ngOnInit(): void {\n this.dialogRef.updateSize('50%');\n \n }\n onSubmit() {\n // if(this.selectedRow!==undefined)\n // {\n // this.dialogRef.close(this.selectedRow); // Return form data on submit\n // }\n \n \n }\n\n onCancel(): void {\n this.dialogRef.close(); // Close dialog without saving\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { User } from '../../../../../Modules/user';\r\nimport {FormControl, Validators} from '@angular/forms';\r\nimport {Observable} from 'rxjs';\r\nimport {startWith, map, pluck} from 'rxjs/operators';\r\nimport * as _ from 'underscore/underscore-min.js';\r\nimport { HttpserviceService } from '../../../.././../Services/httpServices/httpservice.service';\r\nimport { AuthenticationService } from '../../../.././../Services/OtherServices/authentication.service';\r\n\r\n\r\ninterface Item {\r\n code: string;\r\n desc: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-itempricelist',\r\n templateUrl: './itempricelist.component.html',\r\n styleUrls: ['./itempricelist.component.css']\r\n})\r\nexport class ItempricelistComponent implements OnInit {\r\n spinnervisible: boolean = false;\r\n decimalplace: number = 2;\r\n decimalformat: string = '1.2-2';\r\n\r\n itemcode: string; //='GISCLIN3';\r\n error = '';\r\n barcode: string='\"\"';\r\n description: string;\r\n stock;\r\n wac;\r\n showSpinner:any;\r\n itemDetails: any;\r\n itemprice: any = [];\r\n Companylist:any;\r\n WacVisibility: boolean = false;\r\n PricelistVisibility:boolean = false;\r\n cid:any;\r\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\r\n\r\n //settings: User = JSON.parse(sessionStorage.getItem('configparam'));\r\n\r\n \r\n items: Item[];\r\n itemdesc: string[]= [];\r\n myControl = new FormControl();\r\n filteredOptions: Observable;\r\n\r\n constructor(private service:HttpserviceService, private authenticationService: AuthenticationService) { }\r\n\r\n ngOnInit(): void { \r\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \r\n //let configparam = this.curUser.configparam.find(e => e.tag === 'DecimalPlace')['value'] \r\n let configparam = this.curUser.CustomerSettings.DecimalPlace;\r\n this.decimalplace = configparam;\r\n this.decimalformat = '1.'+ this.decimalplace+'-' + this.decimalplace; \r\n this.loadItems(); \r\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \r\n this.filteredOptions = this.myControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(value => this._filter(value))\r\n );\r\n }\r\n\r\n // changesite(e) {\r\n // this.cid=e;\r\n // this.itemprice='';\r\n // this.description = '';\r\n // this.stock = '';\r\n // this.wac = '';\r\n // // this.loadItems(); \r\n // }\r\n onCompanySelect(e)\r\n {\r\n console.log('eve',e)\r\n this.cid=e;\r\n this.itemcode='';\r\n this.description = '';\r\n this.stock = '';\r\n this.wac = '';\r\n this.itemprice = [];\r\n this.myControl.setValue('');\r\n this.loadItems(); \r\n }\r\n SiteMasterData () { \r\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser')); \r\n this.authenticationService.getSiteMaster('101').subscribe(\r\n data => {\r\n let result: any;\r\n result = data; \r\n if(result.err!=0){\r\n if(result.errdesc!='Success')\r\n this.error=result.errdesc; \r\n this.Companylist=curUser.dtsiteid; \r\n }\r\n else\r\n this.error=result.errdesc; \r\n },\r\n error => {\r\n this.error = error; \r\n }); \r\n }\r\n\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.itemdesc.filter(option => option.toLowerCase().includes(filterValue));\r\n }\r\n\r\n loadItems(){\r\n this.showSpinner=true;\r\n const params = {\r\n cid: this.cid,\r\n itemcode: this.itemcode\r\n }; \r\n const query = `cid=${params.cid}&itemcode=${params.itemcode}`; \r\n this.service.httpGet('/salesorder/getitemlist?' ,query) \r\n .subscribe(data =>{\r\n var result = data as any;\r\n result = data; \r\n this.showSpinner=true;\r\n setTimeout(() =>{\r\n this.showSpinner=false;\r\n },\r\n 800) \r\n this.items = result.respdata; \r\n this.itemdesc = _.pluck(this.items, 'desc');\r\n\r\n this.SiteMasterData();\r\n });\r\n }\r\n\r\n selecteditem(event) { \r\n this.itemcode = _.pluck(_.where(this.items, { 'desc': event.option.value }), 'code')[0]; \r\n this.getItemPriceList();\r\n }\r\n\r\n getItemPriceList(){\r\n this.showSpinner=true;\r\n const params = {\r\n cid: this.cid,\r\n itemcode: this.itemcode, \r\n salesmanid: this.curUser.salesmanid,\r\n // salesmanid:100031,\r\n // barcode: this.barcode\r\n barcode:this.barcode,\r\n GroupID: JSON.parse(sessionStorage.getItem('groupid'))\r\n }; \r\n // console.log('currentUser: ', params);\r\n this.spinnervisible = true;\r\n const query = `cid=${params.cid}&itemcode=${params.itemcode}&salesmanid=${params.salesmanid}&barcode=${params.barcode}&GroupID=${params.GroupID}`; \r\n this.service.httpGet('/salesorder/getitempricelist?' ,query)\r\n .subscribe(data => {\r\n let result: any;\r\n result = data;\r\n this.showSpinner=true;\r\n setTimeout(() =>{\r\n this.showSpinner=false;\r\n },\r\n 800) \r\n if(result.errno == 0){\r\n this.itemDetails = result.respdata.ItemMaster[0];\r\n this.itemprice = result.respdata.ItemPriceList;\r\n if(result.respdata.ShowWac.length >0)\r\n this.WacVisibility=true;\r\n else\r\n this.WacVisibility=false; \r\n if(result.respdata.ShowPricelist.length > 0)\r\n this.PricelistVisibility=true;\r\n else\r\n this.PricelistVisibility=false; \r\n this.spinnervisible = false; \r\n this.itemStockDetails();\r\n }\r\n else{\r\n console.log('error'); \r\n }\r\n }, \r\n )\r\n }\r\n\r\n itemStockDetails(){\r\n this.description = this.itemDetails['Description'];\r\n this.stock = this.itemDetails['Stock'];\r\n this.wac = this.itemDetails['Wac'];\r\n } \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\r\n\r\n// import { Observable } from 'rxjs/Observable';\r\n\r\n\r\n// import { AppError } from '../common/app-error';\r\n// import { NotFoundError } from '../common/not-found-error';\r\n// import { BadInput } from '../common/bad-input';\r\n// const baseUrl = `${environment.apiUrl}/quotation`;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NeworderService {\r\n baseUrl: string;\r\n // baseUrl = `${environment.apiUrl}/quotation`; \r\n \r\n\r\n constructor(private http: HttpClient, private genericService: GenericService) { \r\n // this.baseUrl = this.genericService.getWeblink() + '/salesorder';\r\n }\r\n\r\n // getCustomerAndSalesman(cid: number){\r\n // const query = `cid=${cid}`;\r\n // // console.log('getCustomer: ', this.baseUrl + '/getcustomersalesman?' + query);\r\n // return this.http.get(this.baseUrl + '/getcustomersalesman?' + query);\r\n // //.catch(this.handleError);\r\n // }\r\n\r\n postFile(caption: string, fileToUpload: File[], customerLedger: string, customername: string, salesmanid: number, username: string){\r\n const formData: FormData = new FormData();\r\n let index: number = 1;\r\n fileToUpload.forEach(function (value) {\r\n formData.append('Image' + index.toString(), value, value.name);\r\n console.log(value);\r\n index = index + 1;\r\n });\r\n\r\n // formData.append('Image', fileToUpload, fileToUpload.name);\r\n formData.append('ImageCaption', caption);\r\n formData.append('CustomerLedger', customerLedger);\r\n formData.append('CustomerName', customername);\r\n formData.append('SalesmanID', salesmanid.toString());\r\n formData.append('UserName', username);\r\n return this.http.post(this.baseUrl+'/salesmanorder', formData)\r\n //.catch(this.handleError);\r\n }\r\n\r\n // getSalesmanQuotation(params: any){\r\n // //(cid: number, salesmanid: number, fromdate: Date, todate: Date){\r\n // // const query = `cid=${cid}`;\r\n // const query = `cid=${params.cid}&salesmanid=${params.salesmanid}&fromdate=${params.fromdate}&todate=${params.todate}&qtnstatus=${params.qtnstatus}`;\r\n // console.log('getSalesmanQuotation: ', this.baseUrl + '/getsalesmanquotation?' + query);\r\n // // alert('service : '+ this.baseUrl + '/getsalesmanquotation?' + query);\r\n // return this.http.get(this.baseUrl + '/getsalesmanquotation?' + query)\r\n // .catch(this.handleError);\r\n // }\r\n\r\n // getSalesmanOrder(params: any){\r\n \r\n // const query = `cid=${params.cid}&salesmanid=${params.salesmanid}&qtnstatus=${params.qtnstatus}`;\r\n // // console.log('getSalesmanQuotation1: ', this.baseUrl + '/getsalesmanquotation1?' + query);\r\n // // alert('service : '+ this.baseUrl + '/getsalesmanquotation?' + query);\r\n // return this.http.get(this.baseUrl + '/getsalesmanorder?' + query)\r\n // .catch(this.handleError);\r\n // }\r\n\r\n // private handleError(error: Response){\r\n // if (error.status === 400)\r\n // return Observable.throw(new BadInput(error.json()));\r\n\r\n // if (error.status === 404)\r\n // return Observable.throw (new NotFoundError());\r\n\r\n // return Observable.throw(new AppError(error));\r\n // }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport {FormControl, Validators} from '@angular/forms';\r\nimport { NeworderService } from '../neworder.service';\r\nimport { User } from './../../../../Modules/user';\r\nimport {Observable} from 'rxjs';\r\nimport {startWith, map, pluck} from 'rxjs/operators';\r\nimport * as _ from 'underscore/underscore-min.js';\r\nimport { NgxImageCompressService } from 'ngx-image-compress';\r\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\r\nimport { MatDialogRef} from '@angular/material/dialog';\r\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\r\n\r\ninterface Customer {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-neworder',\r\n templateUrl: './neworder.component.html',\r\n styleUrls: ['./neworder.component.css']\r\n})\r\nexport class NeworderComponent implements OnInit {\r\n @ViewChild('fileInput') fileInput;\r\n\r\n customerControl = new FormControl('', Validators.required);\r\n salesmanControl = new FormControl('', Validators.required);\r\n \r\n imageUrl: string = \"assets/images/default-image.png\";\r\n //imageUrl: File;\r\n fileToUpload: File[] = [];\r\n showSpinner:any;\r\n ledgerid: string;\r\n customername: string;\r\n userid: string;\r\n\r\n customers: Customer[];\r\n salesman: Customer[];\r\n\r\n customernames: string[]= [];\r\n myControl = new FormControl();\r\n filteredOptions: Observable;\r\n \r\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\r\n\r\n // imgResultBeforeCompress:string;\r\n imgResultAfterCompress:string;\r\n \r\n file: any;\r\n localUrl: any;\r\n // localCompressedURl:any;\r\n // sizeOfOriginalImage:number;\r\n sizeOFCompressedImage:number;\r\n\r\n spinnervisible: boolean = false;\r\n buttonvisible: boolean = true;\r\n\r\n selectedFiles: string[] = [];\r\n selectable = true;\r\n removable = true;\r\n\r\n \r\n constructor(private newOrderService: NeworderService,private NotificationService:NotificationService, private service:HttpserviceService,public dialogRef: MatDialogRef,\r\n private imageCompress: NgxImageCompressService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadCustomerAndSalesman();\r\n\r\n this.filteredOptions = this.myControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(value => this._filter(value))\r\n );\r\n }\r\n \r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.customernames.filter(option => option.toLowerCase().includes(filterValue));\r\n }\r\n\r\n\r\n loadCustomerAndSalesman(){\r\n const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&salesmanid=${this.curUser.salesmanid}`;\r\n this.service.httpGet('/salesorder/getcustomersalesman?' ,query) \r\n // this.newOrderService.getCustomerAndSalesman(101)\r\n .subscribe(data =>{\r\n var result = data as any;\r\n result = data; \r\n this.customers = result.respdata.Customers;\r\n this.customernames = _.pluck(this.customers, 'name');\r\n\r\n });\r\n }\r\n \r\n selectedcustomer(event) {\r\n // console.log('items: ', this.customers);\r\n this.ledgerid = JSON.parse(_.pluck(_.where(this.customers, { 'name': event.option.value }), 'id'));\r\n this.customername = event.option.value;\r\n }\r\n\r\n onCloseDialog()\r\n {\r\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\r\n // .afterClosed().subscribe(res => {\r\n //if (res) {\r\n // this.AdvanceRequestViewFormGroup.reset();\r\n this.dialogRef.close();\r\n // }\r\n // });\r\n }\r\n\r\n customerSelection(customer){\r\n console.log(customer);\r\n this.ledgerid = customer.value['id'];\r\n this.customername = customer.value['name'];\r\n console.log('id: ',this.ledgerid);\r\n console.log('name: ',this.customername);\r\n \r\n }\r\n \r\n \r\n onClickFileInputButton(): void {\r\n this.fileInput.nativeElement.click();\r\n }\r\n\r\n selectFile(event: any) {\r\n // this.fileToUpload= [];\r\n \r\n if (event.target.files && event.target.files[0]) {\r\n var filesAmount = event.target.files.length;\r\n this.spinnervisible = true;\r\n for (let i = 0; i < filesAmount; i++) {\r\n let fileName : any;\r\n this.file = event.target.files[i];\r\n fileName = this.file['name'];\r\n this.selectedFiles.push(fileName);\r\n // console.log('filename inside selectfile: ', fileName);\r\n var reader = new FileReader();\r\n\r\n reader.onload = (event1:any) => {\r\n this.localUrl = event1.target.result;\r\n this.compressImage(this.localUrl,fileName)\r\n\r\n }\r\n\r\n reader.readAsDataURL(event.target.files[i]);\r\n } \r\n \r\n this.spinnervisible = false;\r\n }\r\n\r\n console.log('Select: ', this.fileToUpload);\r\n }\r\n\r\n compressImage(image,fileName) {\r\n try{\r\n var orientation = -1;\r\n console.log(\"image\",image)\r\n // this.sizeOfOriginalImage = this.imageCompress.byteCount(image)/(1024*1024);\r\n // console.warn('Size in bytes is now:', this.sizeOfOriginalImage);\r\n this.imageCompress.compressFile(image, orientation, 50, 50).then(\r\n async result => {\r\n this.imgResultAfterCompress = result;\r\n // console.log('imgResultAfterCompress: ', this.imgResultAfterCompress);\r\n this.sizeOFCompressedImage = this.imageCompress.byteCount(result)/(1024*1024)\r\n // console.warn('Size in bytes after compression:', this.sizeOFCompressedImage);\r\n const imageName = fileName;\r\n // call method that creates a blob from dataUri\r\n const imageBlob = this.dataURItoBlob(this.imgResultAfterCompress.split(',')[1]);\r\n console.log('after blob creation',imageBlob);\r\n //imageFile created below is the new compressed file which can be send to API in form \r\n this.fileToUpload.push(new File([imageBlob], imageName, { type: 'image/jpeg' }));\r\n console.log('File to upload: ', this.fileToUpload);\r\n \r\n });\r\n }\r\n catch (Error) {\r\n alert(Error.message);\r\n }\r\n \r\n }\r\n \r\n dataURItoBlob(dataURI) {\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'image/jpeg' });\r\n return blob;\r\n }\r\n\r\n\r\n viewImage(file: string){\r\n const index = this.selectedFiles.indexOf(file);\r\n\r\n if (index >= 0) {\r\n\r\n Array.from(this.fileToUpload).forEach(async uploadedfile => {\r\n if (uploadedfile.name == file){\r\n let result1:string = await this.getBase64Image(uploadedfile);\r\n this.imageUrl = result1;\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n remove(file: string): void {\r\n const index = this.selectedFiles.indexOf(file);\r\n\r\n if (index >= 0) {\r\n Array.from(this.fileToUpload).forEach(uploadedfile => {\r\n console.log(uploadedfile.name) \r\n if (uploadedfile.name == file){\r\n this.fileToUpload.splice(index, 1);\r\n }\r\n });\r\n this.selectedFiles.splice(index, 1);\r\n this.imageUrl = \"assets/images/default-image.png\";\r\n }\r\n\r\n console.log('Remove: ', this.fileToUpload);\r\n } \r\n\r\n async getBase64Image(imageBlob) {\r\n const reader = new FileReader();\r\n await new Promise((resolve, reject) => {\r\n reader.onload = resolve;\r\n reader.onerror = reject;\r\n reader.readAsDataURL(imageBlob);\r\n });\r\n return reader.result.toString();//.replace(/^data:.+;base64,/, '');\r\n }\r\n \r\n OnSubmit(Caption, Image){\r\n this.showSpinner=true;\r\n this.buttonvisible = false;\r\n // console.log('final file list: ', this.fileToUpload);\r\n this.postFile(Caption.value, this.fileToUpload, this.ledgerid, this.customername, this.curUser.salesmanid, this.curUser.username)\r\n Caption.value = null;\r\n Image.value = null;\r\n }\r\n\r\n postFile(caption: string, fileToUpload: File[], customerLedger: string, customername: string, salesmanid: number, username: string){\r\n const formData: FormData = new FormData();\r\n let index: number = 1;\r\n fileToUpload.forEach(function (value) {\r\n formData.append('Image' + index.toString(), value, value.name);\r\n // console.log(value);\r\n index = index + 1;\r\n });\r\n\r\n // formData.append('Image', fileToUpload, fileToUpload.name);\r\n formData.append('ImageCaption', caption);\r\n formData.append('CustomerLedger', customerLedger);\r\n formData.append('CustomerName', customername);\r\n formData.append('SalesmanID', salesmanid.toString());\r\n formData.append('UserName', username);\r\n formData.append('Flag', 'newOrder');\r\n formData.append('cid', JSON.parse(sessionStorage.getItem('cid')));\r\n\r\n console.log(\"dd\",formData)\r\n // return this.http.post(this.baseUrl+'/salesmanorder', formData)\r\n this.service.httpPost('/salesorder/salesmanorder' ,formData) \r\n .subscribe(res =>{\r\n let result: any;\r\n result = res; \r\n console.log('response data',result) \r\n this.showSpinner=true;\r\n setTimeout(() =>{\r\n this.showSpinner=false;\r\n },\r\n 800)\r\n this.buttonvisible = true;\r\n //alert('Neworder created');\r\n if (result.errno === 0) {\r\n this.NotificationService.success('Neworder created');\r\n this.customername='';\r\n this.onCloseDialog();\r\n }\r\n\r\n //this.imageUrl = \"/assets/images/default-image.png\";\r\n this.imageUrl = \"assets/images/default-image.png\";\r\n \r\n });\r\n //.catch(this.handleError);\r\n }\r\n}\r\n","import { WebcameraComponent } from './../webcamera/webcamera.component';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\r\n// import { NeworderService } from '../neworder.service';\r\nimport { User } from './../../../../Modules/user';\r\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\r\nimport { AuthenticationService } from 'src/app/Services/OtherServices/authentication.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { NeworderComponent } from './../neworder/neworder.component';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\r\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\r\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\r\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\r\nimport { UserService } from './../../../Admin/Users/userValidate';\r\n\r\ninterface Quotation{\r\n OrderDate: string,\r\n Name: string,\r\n LedgerID: number,\r\n OrderNo: string,\r\n Status: string\r\n}\r\n\r\n@Component({ \r\n selector: 'app-neworderlist',\r\n templateUrl: './neworderlist.component.html',\r\n styleUrls: ['./neworderlist.component.css']\r\n})\r\nexport class NeworderlistComponent implements OnInit { \r\n showSpinner:any;\r\n\r\n displayedColumns: string[] = ['OrderDate', 'Name', 'OrderNo', 'Status'];\r\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\r\n @ViewChild(MatSort, {static: true}) sort: MatSort;\r\n dataSource:MatTableDataSource;\r\n fromdate = new Date().toLocaleDateString();\r\n todate = new Date().toLocaleDateString();\r\n qtnstatus: string = 'Open';\r\n addbtnvisible: boolean = false;\r\n viewbtnvisible: boolean = false;\r\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\r\n\r\n constructor(private service:HttpserviceService, private authenticationService: AuthenticationService,\r\n private dialog: MatDialog, private generic: GenericService, private service1: UserService\r\n ) { }\r\n ngOnInit(): void {\r\n this.getSalesmanOrder();\r\n }\r\n \r\n refresh(){\r\n this.getSalesmanOrder();\r\n }\r\n\r\n getUserList(){\r\n let params = {\r\n cid: JSON.parse(sessionStorage.getItem('cid')),\r\n menuid: \"ERP_156\",\r\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\r\n }\r\n this.service1.getUserList(params)\r\n .subscribe((data) => {\r\n let result: any;\r\n result=data;\r\n let btnVisilityData;\r\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\r\n this.addbtnvisible = btnVisilityData.addflag;\r\n this.viewbtnvisible = btnVisilityData.viewflag; \r\n }, \r\n (error: AppError) => {\r\n if (error instanceof BadInput) \r\n console.log(error);\r\n else throw error; \r\n });\r\n\r\n }\r\n // getQuoationlist(){ \r\n // const params = {\r\n // cid: JSON.parse(sessionStorage.getItem('cid')),\r\n // salesmanid: this.curUser.salesmanid,\r\n // fromdate: this.fromdate,\r\n // todate: this.todate,\r\n // qtnstatus: this.qtnstatus\r\n // }; \r\n // const query = `cid=${params.cid}&salesmanid=${params.salesmanid}&fromdate=${params.fromdate}&todate=${params.todate}&qtnstatus=${params.qtnstatus}`; \r\n // this.service.httpGet('/salesorder/getsalesmanquotation?' ,query) \r\n // .subscribe(data => {\r\n // let result: any;\r\n // result = data;\r\n // if(result.errno == 0){\r\n // this.dataSource = result.respdata; \r\n // }\r\n // else{\r\n // console.log('error'); \r\n // }\r\n // }, \r\n // )\r\n // }\r\n addRow() \r\n {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = { \r\n cid: JSON.parse(sessionStorage.getItem('cid'))\r\n // Flag:'ADD' , \r\n // Employees:this.Employees, \r\n // Type:this.Types,\r\n // Currency:this.Currency,\r\n // RequestID:'' \r\n }\r\n const dialogRef = this.dialog.open(NeworderComponent,dialogConfig)\r\n dialogRef.afterClosed().subscribe(result => { \r\n console.log('refreshbutton')\r\n this.getSalesmanOrder(); \r\n });\r\n }\r\n addPhoto() \r\n {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = { \r\n cid: JSON.parse(sessionStorage.getItem('cid'))\r\n // Flag:'ADD' , \r\n // Employees:this.Employees, \r\n // Type:this.Types,\r\n // Currency:this.Currency,\r\n // RequestID:'' \r\n }\r\n const dialogRef = this.dialog.open(WebcameraComponent,dialogConfig)\r\n dialogRef.afterClosed().subscribe(result => { \r\n this.getSalesmanOrder(); \r\n });\r\n }\r\n \r\n getSalesmanOrder(){ \r\n const params = {\r\n cid: JSON.parse(sessionStorage.getItem('cid')),\r\n salesmanid: this.curUser.salesmanid,\r\n qtnstatus: this.qtnstatus\r\n }; \r\n this.showSpinner=true;\r\n const query = `cid=${params.cid}&salesmanid=${params.salesmanid}&qtnstatus=${params.qtnstatus}`;\r\n this.service.httpGet('/salesorder/GetSalesmanOrder?' ,query) \r\n .subscribe(data => {\r\n let result: any;\r\n result = data;\r\n this.showSpinner=true;\r\n setTimeout(() =>{\r\n this.showSpinner=false;\r\n },\r\n 800)\r\n if(result.errno == 0){\r\n this.dataSource = result.respdata; \r\n \r\n this.dataSource = new MatTableDataSource(result.respdata);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.getUserList();\r\n }\r\n else{\r\n console.log('error'); \r\n }\r\n },\r\n )\r\n }\r\n}\r\nexport interface GroupALL {\r\n ReqID: string;\r\n Description: string;\r\n}","import { MatDialogRef } from '@angular/material/dialog';\nimport { User } from './../../../../Modules/user';\nimport { FormControl, Validators } from '@angular/forms';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport {Subject,Observable} from 'rxjs';\nimport {WebcamImage} from 'ngx-webcam';\nimport { PhotoService } from 'src/app/Services/OtherServices/photo.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport * as _ from 'underscore/underscore-min.js';\nimport {startWith, map, pluck} from 'rxjs/operators';\n\ninterface Customer {\n id: number;\n name: string;\n}\n\n@Component({\n selector: 'app-webcamera',\n templateUrl: './webcamera.component.html',\n styleUrls: ['./webcamera.component.scss'],\n})\nexport class WebcameraComponent implements OnInit{\n @ViewChild('fileInput') fileInput;\n\n customerControl = new FormControl('', Validators.required);\n salesmanControl = new FormControl('', Validators.required);\n\n VouNo:any;\n ledgerid: string;\n customername: string;\n userid: string;\n showSpinner:any;\n AliasName:any;\n customers: Customer[];\n salesman: Customer[];\n fileToUpload: File[] = [];\n\n customernames: string[]= [];\n myControl = new FormControl();\n filteredOptions: Observable;\n \n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n constructor(public photoService: PhotoService,private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService, private service1: UserService,public dialogRef: MatDialogRef,\n private http: HttpserviceService) {}\n\n ngOnInit(): void \n {\n this.loadCustomerAndSalesman();\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n return this.customernames.filter(option => option.toLowerCase().includes(filterValue));\n }\n selectedcustomer(event) {\n // console.log('items: ', this.customers);\n this.ledgerid = JSON.parse(_.pluck(_.where(this.customers, { 'name': event.option.value }), 'id'));\n this.customername = event.option.value;\n\n console.log(\"ledgerid\",this.ledgerid,this.customername)\n }\n\n addPhotoToGallery(event) {\n this.photoService.addNewToGallery(); \n \n }\n loadCustomerAndSalesman(){\n const query = `cid=${JSON.parse(sessionStorage.getItem('cid'))}&salesmanid=${this.curUser.salesmanid}`;\n this.service.httpGet('/salesorder/getcustomersalesman?' ,query) \n // this.newOrderService.getCustomerAndSalesman(101)\n .subscribe(data =>{\n var result = data as any;\n result = data; \n this.customers = result.respdata.Customers;\n this.customernames = _.pluck(this.customers, 'name');\n\n });\n }\n setphotogallery()\n {\n this.postFile(this.AliasName, this.fileToUpload, this.ledgerid, this.customername, this.curUser.salesmanid, this.curUser.username)\n }\n postFile(caption: string, fileToUpload: File[], customerLedger: string, customername: string, salesmanid: number, username: string){\n // console.log(\"ds\", fileToUpload)\n const formData: FormData = new FormData();\n let index: number = 1;\n fileToUpload.forEach(function (value) {\n formData.append('Image' + index.toString(), value, value.name);\n // console.log(value);\n index = index + 1;\n });\n \n // formData.append('Image', fileToUpload, fileToUpload.name);\n formData.append('ImageCaption', caption);\n formData.append('CustomerLedger', customerLedger);\n formData.append('CustomerName', customername);\n formData.append('SalesmanID', salesmanid.toString());\n formData.append('UserName', username);\n formData.append('Flag', 'newOrder');\n formData.append('cid', JSON.parse(sessionStorage.getItem('cid')));\n \n // return this.http.post(this.baseUrl+'/salesmanorder', formData)\n this.service.httpPost('/salesorder/salesmanorder' ,formData) \n .subscribe(res =>{\n let result: any;\n result = res; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n // this.buttonvisible = true;\n //alert('Neworder created');\n if (result.errno === 0) {\n this.NotificationService.success('Neworder created');\n this.customername='';\n this.onCloseDialog();\n }\n \n //this.imageUrl = \"/assets/images/default-image.png\";\n // this.imageUrl = \"assets/image/default-image.png\";\n \n });\n //.catch(this.handleError);\n }\n onCloseDialog()\n { \n this.dialogRef.close(); \n this.photoService.photos=[]; \n }\n onSearchClear(){\n this.myControl.setValue('');\n // let index = this.photoService.photos.indexOf(0,1);\n // if(index > -1){\n // this.photoService.photos.splice(index, 1);\n // }\n // this.photoService.photos.splice(index,1)\n }\n removeImage(i) {\n console.log('index',i)\n console.log('photoService',this.photoService.photos)\n\n let index = this.photoService.photos.findIndex(x => x.filepath === i.filepath);\nconsole.log(index);\n this.photoService.photos.splice(index,1)\n \n\n // this.photoService.photos.splice(i, 1);\n // let index = this.photoService.photos.indexOf(i,1);\n // if(index > -1){\n // this.photoService.photos.splice(index, 1);\n // }\n // this.photoService.photos.splice(index,1)\n }\n\n Submit() { \n console.log(\"save\")\n console.log('amjath',this.photoService.photos)\n for (let i = 0; i < this.photoService.photos.length; i++) {\n\n const byteCharacters = atob(this.photoService.photos[i].data);\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n const blob = new Blob([byteArray], {type: 'image/jpeg'});\n\n this.fileToUpload.push(new File([blob], this.photoService.photos[i].filepath, { type: 'image/jpeg' }));\n }\n this. setphotogallery();\n // this.showSpinner=true;\n // const formData: FormData = new FormData();\n // let index: number = 1;\n // // fileToUpload.forEach(function (value) {\n // // formData.append('Image' + index.toString(), value, value.name);\n // // // console.log(value);\n // // index = index + 1;\n // // });\n\n // // formData.append('Image', fileToUpload, fileToUpload.name);\n // // formData.append('ImageCaption', caption);\n // formData.append('CustomerLedger', this.ledgerid);\n // formData.append('CustomerName', this.customername);\n // formData.append('SalesmanID','0');\n // formData.append('UserName', this.curUser.username);\n // formData.append('Flag', 'Camera');\n // // return this.http.post(this.baseUrl+'/salesmanorder', formData)\n // this.service.httpPost('/salesorder/salesmanorder' ,formData) \n // .subscribe(res =>{\n // this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800)\n // let result: any;\n // result = res; \n // console.log(\"ds\",result)\n \n // if(result.errdesc=='success')\n // {\n // this.VouNo=result.respdata\n // this. setphotogallery();\n // this.NotificationService.success('Neworder created');\n // //this.dialogRef.close(); \n // }\n // // this.buttonvisible = true;\n // //alert('Neworder created');\n \n // this.customername='';\n\n // //this.imageUrl = \"/assets/images/default-image.png\";\n // // this.imageUrl = \"assets/images/default-image.png\";\n \n // });\n \n // this. setphotogallery();\n \n \n // let params = { \n // // CameraPicByte: this.photoService.photos[0].data,\n // // FileName:this.photoService.photos[0].filepath\n \n // dt:this.photoService.photos\n // };\n // console.log('parameter',params);\n // this.service.httpPost('/Documentcontrol/SetCameraPic',params)\n // this.photoService.setphotogallery(params)\n // .subscribe(\n // (data) => {\n // let result: any;\n // result = data; \n // if (result.errno === 0) {\n // this.NotificationService.success(result.errdesc);\n // //console.log('Project list: ', result.respdata);\n // }\n // else {\n // this.NotificationService.success(result.errdesc); //':: Problem details');\n // }\n // },\n // (error: AppError) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n // });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport * as XLSX from 'xlsx';\n\n\n@Component({\n selector: 'app-aduitview',\n templateUrl: './aduitview.component.html',\n styleUrls: ['./aduitview.component.scss'],\n})\nexport class AduitviewComponent implements OnInit {\n cid:any;\n showSpinner:any;\n datasource:any;\n // wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\n // fileName: string = 'SheetJS.xlsx';\n \n constructor(private service: HttpserviceService,public notificationService: NotificationService ) { }\n\n ngOnInit() \n {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n }\n\n onFileChange(ev) {\n\n let workBook = null;\n let jsonData = null;\n const reader = new FileReader();\n const file = ev.target.files[0];\n \n reader.onload = (event) => {\n const data = reader.result;\n \n workBook = XLSX.read(data, { type: 'binary', cellDates: true });\n console.log('workBook', workBook);\n const wsname: string = workBook.SheetNames[0];\n const ws: XLSX.WorkSheet = workBook.Sheets[wsname];\n jsonData = XLSX.utils.sheet_to_json(ws, { dateNF: 'yyyy-mm-dd', raw: false, });\n \n console.log('rowdata',jsonData)\n const dataString = JSON.stringify(jsonData)\n // const dataString = JSON.stringify(jsonData, (key, value) => {\n // if (typeof value === 'string') {\n \n // // Parse the string as a date\n // const dateValue = new Date(value);\n \n // // Check if it's a valid date\n // if (!isNaN(dateValue.getTime())) {\n // console.log('value', value);\n // console.log('Original date:', dateValue);\n \n // // Assuming 5.5 hours is the time difference for Indian Standard Time (IST)\n // const adjustedDate = new Date(dateValue.getTime() - 5.5 * 60 * 60 * 1000);\n \n // return adjustedDate.toISOString();\n // }\n // }\n // return value;\n // });\n \n //console.log(dataString);\n \n //document.getElementById('output').innerHTML = dataString.slice(0, 300).concat(\"...\");\n //this.setDownload(dataString);\n console.log('amjath',dataString)\n\n\n \n let params = {\n cid:101,\n JsonString:dataString,\n Flag:\"Import\",\n // _ErrString:\"test\"\n\n };\n this.showSpinner=true;\n console.log('parameters',params);\n this.service.httpPost('/AuditTableImport/Import1',params)\n .subscribe (\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) { \n \n this.notificationService.success(result.errdesc);\n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n reader.readAsBinaryString(file);\n }\n\n\n Submit(){\n \n this.showSpinner=true;\n let params = {\n cid:101,\n JsonString:\"\",\n Flag:\"Load\",\n // _ErrString:\"test\"\n\n };\n this.showSpinner=true;\n console.log('parameters',params);\n this.service.httpPost('/AuditTableImport/GetAuditTable',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.datasource = result.respdata.datasource; \n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { User } from './../../../Modules/user';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../../ITS/Ticket/ticket/ticket.component';\n\n@Component({\n selector: 'app-customizeditemrpt',\n templateUrl: './customizeditemrpt.component.html',\n styleUrls: ['./customizeditemrpt.component.scss'],\n})\nexport class CustomizeditemrptComponent implements OnInit {\n\n Companies:any;\n dataSource: any;\n CustomizedItemFormGroup:FormGroup;\n cid:any;\n showSpinner:any;\n\n // TaskTemplate = [\n // { \n // ControlType: \"select\",\n // ID: \"CLIENT\",\n // LabelName: \"Merchant Name\",\n // Mandatory: \"\",\n // MandatorySymbol: null,\n // TagReadOnly: null,\n // Value: null,\n // parent: \"0\"\n // },\n // { \n // ControlType: \"select\",\n // ID: \"ITEM\",\n // LabelName: \"Item Desc\",\n // Mandatory: \"\",\n // MandatorySymbol: null,\n // TagReadOnly: null,\n // Value: null,\n // parent: \"0\"\n // },\n // {\n // ControlType: \"textArea\",\n // ID: \"DESC\",\n // LabelName: \"Description\",\n // Mandatory: \"\",\n // MandatorySymbol: null,\n // TagReadOnly: null,\n // Value: null,\n // parent: \"0\"\n // }\n // ];\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private dialog: MatDialog,\n private formBuilder: FormBuilder,private generic: GenericService,private datePipe: DatePipe) { \n this.CustomizedItemFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required],\n fcFromDate: ['', Validators.required],\n fcToDate: ['', Validators.required] \n }); \n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.Companies =curUser.dtsiteid; \n this.CustomizedItemFormGroup.controls.fcCompany.setValue(this.cid); \n }\n\n changesite(e) {\n this.cid=e.value; \n }\n\n Submit()\n {\n if (this.CustomizedItemFormGroup.invalid) {\n this.NotificationService.warn('Please select date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.CustomizedItemFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n SalesManID:0,\n FromDate: this.datePipe.transform(this.CustomizedItemFormGroup.get('fcFromDate').value,\"yyyy-MM-dd\"), \n ToDate: this.datePipe.transform(this.CustomizedItemFormGroup.get('fcToDate').value,\"yyyy-MM-dd\")==null? \n this.datePipe.transform(this.CustomizedItemFormGroup.get('fcFromDate').value,\"yyyy-MM-dd\"):this.datePipe.transform(this.CustomizedItemFormGroup.get('fcToDate').value,\"yyyy-MM-dd\") \n };\n this.service.httpPost('/CustomizedItemRpt/GetItemValues',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.dataSource = result.respdata.ItemList; \n }\n else {\n this.NotificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n logEvent(_flag, e)\n {\n \n }\n\n startEdit(e) {\n //console.log(\"cellclick\",e.data)\n if(e.rowType === \"data\") {\n e.component.editRow(e.rowIndex);\n }\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.CustomizedItemFormGroup.get('fcCompany').value,\n flag: \"ITEMREPORT\",\n pid:0,\n height: '350px',\n width: '60%',\n // template:this.TaskTemplate,\n TicketID:\"0\",\n ActiviteID:\"INT_EDIT\",\n LoginFlag:'INTERNAL',\n TemplateGroupID:1,\n TemplateID:2 ,\n rowdata:e.data \n }\n console.log(\"Item dialog\",dialogConfig.data)\n const dialogRef = this.dialog.open(TicketComponent, dialogConfig)\n dialogRef.afterClosed()\n}\n}","import { Component, ElementRef, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog,MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable, of } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteActivatedEvent } from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\n// import { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\n// import { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { GenericService } from '../../../../Services/OtherServices/generic.service';\nimport { UserService } from 'src/app/components/Admin/Users/userValidate';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\n\n@Component({\n selector: 'app-consolidate-effort',\n templateUrl: './consolidate-effort.component.html',\n styleUrls: ['./consolidate-effort.component.scss'],\n})\nexport class ConsolidateEffortComponent implements OnInit {\n @ViewChild('stepper') stepper;\n TotHours:any;\n TotOTHours:any;\n isEditable = true; \n EffortFormGroup : FormGroup;\n EforrtDataFormGroup: FormGroup;\n EffortDataGrids:any;\n Companies:any;\n Employees:any;\n Projectlist:any;\n cid:any;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n visible = true;\n selectable = true;\n removable = true;\n fcEmployee = new FormControl();\n allEmployees:any\n frmdate= new Date();\n employees: string[] = [];\n filteredEmployees: Observable;\n showSpinner:any;\n employeelistselected: any = [];\n autocompleteTagsOptionActivated = false;\n myControl = new FormControl();\n filteredOptions: Observable;\n selectedProjectID: number;\n projectid: string[] = [];\n selectedprojectid: any;\n @ViewChild('empInput') empInput: ElementRef;\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,private generic: GenericService,\n public notificationService: NotificationService, private datePipe: DatePipe, private service1: UserService) \n { \n this.EffortFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcProject: [''] , \n fcEmployee: [''], \n fcFromDate: ['', Validators.required],\n fcToDate: ['', Validators.required] \n });\n this.EforrtDataFormGroup = this.formBuilder.group({ \n });\n\n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.EffortFormGroup.controls.fcCompany.setValue(this.cid);\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl'))\n );\n\n this.EffortFormGroup.controls.fcFromDate.setValue(this.frmdate);\n this.EffortFormGroup.controls.fcToDate.setValue(this.frmdate);\n }\n\n private _filter(value: string, control: string): string[] {\n \n const filterValue = value.toLowerCase();\n // console.log('controlID',control);\n this.selectedprojectid=''\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n }\n selectedEmployee(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n if (control === 'myControl') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID'));\n // console.log('selectedprojectid', this.selectedprojectid);\n }\n \n\n }\n\n changesite(e) {\n this.cid=e.value; \n this.Projectlist=''\n this.projectid =[] \n this.employees = []; // making the chipList empty\n this.fcEmployee.reset(); // resets the control\n this.fcEmployee.markAsPristine();\n this.fcEmployee.markAsUntouched();\n \n this.PageLoad();\n this.myControl.setValue(''); \n \n }\n \n\n add(event: MatChipInputEvent): void { \n const input = event.input;\n const value = event.value; \n if ((value || '').trim()) {\n this.employeelistselected.push({\n id:Math.random(),\n Name:value.trim()\n }); \n }\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n this.fcEmployee.setValue(null);\n }\n\n private removeFirst(array: T[], toRemove: T): void {\n const index = array.indexOf(toRemove);\n if (index !== -1) {\n array.splice(index, 1);\n }\n }\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.cid, \n Flag: \"LOADDDL\"\n };\n this.showSpinner=true;\n console.log('parameters',params);\n this.service.httpPost('/ETSConsolidateEffortOT/GetEffortData',params)\n .subscribe (\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = curUser.dtsiteid; \n this.Employees = result.respdata.Employee;\n this.Projectlist=result.respdata.Project;\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n this.allEmployees = result.respdata.Employee; \n\n this.fcEmployee.valueChanges.subscribe(search => {\n this.filteredEmployees = of(this.allEmployees.filter(item =>\n item.Name.toLowerCase().includes(search)\n ));\n });\n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n \n }\n\n Submit(){\n if (this.EffortFormGroup.invalid) {\n this.notificationService.warn('Please select date range'); \n return;\n } \n console.log(\"fcProject\",this.selectedprojectid)\n let temp= [];\n temp.push({\"Project\":this.selectedprojectid })\n this.showSpinner=true;\n let params = { \n CID: this.EffortFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n LedgerID:_.pluck(this.employees, 'LedgerID'), //this.EffortFormGroup.get('fcEmployee').value, \n dtProject:temp,\n FromDate: this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n ToDate: this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n \n };\n this.service.httpPost('/ETSConsolidateEffortOT/GetEffortData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.EffortDataGrids = result.respdata.Effortdata; \n this.TotHours = result.respdata.TotHrs;\n this.TotHours =this.TotHours[0].EffortHours;\n\n this.TotOTHours =result.respdata.TotOTHrs;\n this.TotOTHours =this.TotOTHours[0].OTHours; \n this.stepper.selectedIndex = 1; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \nexportAsExcel()\n {\n // , {header:['name', 'surname']}\n this.generic.excelExport(this.EffortDataGrids, 'Effort','EffortList From ' + this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\")+' to '+this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"));\n }\n\n \n onSearchClear(){\n this.myControl.setValue(''); \n this.EffortFormGroup.reset(); \n this.EffortDataGrids=''; \n this.stepper.selectedIndex = 0; \n this.EffortFormGroup.controls.fcCompany.setValue(this.cid);\n this.EffortFormGroup.controls.fcFromDate.setValue(this.frmdate);\n this.EffortFormGroup.controls.fcToDate.setValue(this.frmdate);\n\n this.employees = []; // making the chipList empty\n this.fcEmployee.reset(); // resets the control\n this.fcEmployee.markAsPristine();\n this.fcEmployee.markAsUntouched();\n\n }\n addemployees(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.employees.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcEmployee.setValue(null);\n }\n\n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n optionActivated($event: MatAutocompleteActivatedEvent) {\n if ($event.option) {\n this.autocompleteTagsOptionActivated = true;\n }\n }\n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n\n }\n}\n","import { Component, ElementRef, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog,MatDialogRef,MatDialogConfig } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable, of } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteActivatedEvent } from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { exportDataGrid } from 'devextreme/excel_exporter';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { UserService } from '../../Admin/Users/userValidate';\nimport { User } from 'src/app/Modules/user';\nimport { DatecontrolComponent } from '../../HR/DateControl/datecontrol/datecontrol.component';\n\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n// class PickDateAdapter extends NativeDateAdapter {\n// format(date: Date, displayFormat: Object): string {\n// if (displayFormat === 'input') {\n// return formatDate(date,'dd-MM-yyyy',this.locale);;\n// } else {\n// return date.toDateString();\n// }\n// }\n// }\n\n\n@Component({\n selector: 'app-customsreport',\n templateUrl: './customsreport.component.html',\n styleUrls: ['./customsreport.component.css']\n ,\n providers: [\n // {provide: DateAdapter, useClass: PickDateAdapter},\n // {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}\n]\n})\nexport class CustomsreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n\n EffortFormGroup : FormGroup;\n EforrtDataFormGroup: FormGroup;\n OngoingDataGroup:FormGroup;\n EffortDataGrids:any;\n OngoingDataGrids:any;\n Companies:any;\n Employees:any;\n Products:any;\n Projects:any;\n Clients:any;\n Category:any;\n Status:any;\n isEditable = true; \n TotHours:any;\n TotOTHours:any;\n Visiblelist:any;\n TaskCount:any=0;\n cid:any;\n frmdate= new Date();\n isTicketVisible: boolean;\n isCategoryVisible: boolean;\n isProductVisible: boolean;\n isProjectVisible: boolean;\n isClientVisible: boolean;\n isStarttimeVisible: boolean;\n isEndtimeVisible: boolean;\n iscatgoryhiding:number;\n istickethiding:number;\n isproducthiding:number;\n isprojecthiding:number;\n isclinethiding:number;\n public filteredList5;\n public filteredList6;\n\n separatorKeysCodes: number[] = [ENTER, COMMA];\n visible = true;\n selectable = true;\n removable = true;\n fromdate:any;\n todate:any;\n fcCategory = new FormControl();\n filteredOptions: Observable;\n categories: string[] = [];\n allCategories: string[] = [];\n DateTypeFlag:any=\"Today\"\n fcProject = new FormControl();\n filteredProjects: Observable;\n projects: string[] = [];\n allProjects: string[] = [];\n selectable1 = true;\n removable1 = true;\n showSpinner:any;\n fcEmployee = new FormControl();\n allEmployees:any\n employees: string[] = [];\n filteredEmployees: Observable;\n autocompleteTagsOptionActivated = false;\n employeelistselected: any = [];\n viewbtnvisible: boolean = false;\n @ViewChild('catInput') catInput: ElementRef;\n @ViewChild('prjInput') prjInput: ElementRef;\n @ViewChild('empInput') empInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n tabIndex:number=0;\n \n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,private generic: GenericService,\n public notificationService: NotificationService, private datePipe: DatePipe, private service1: UserService) \n { \n this.EffortFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcEmployee: [''],\n fcProduct: [''],\n fcProject: [''],\n fcClient: [''], \n fcCategory: [''], \n fcStatus: [''], \n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required] \n });\n this.EforrtDataFormGroup = this.formBuilder.group({ \n });\n this.OngoingDataGroup = this.formBuilder.group({ \n });\n \n \n this.filteredOptions = this.fcCategory.valueChanges.pipe(\n startWith(null),\n map((value: string | null) => value ? this._filter(value) : this.allCategories.slice()));\n\n // this.filteredProjects = this.fcProject.valueChanges.pipe(\n // startWith(null),\n // map((value: string | null) => value ? this._filterprojects(value) : this.allProjects.slice()));\n \n \n this.fcProject.valueChanges.subscribe(search => {\n this.filteredProjects = of(this.allProjects.filter(item =>\n item.toLowerCase().includes(search)\n ));\n });\n }\n\n \n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.EffortFormGroup.controls.fcCompany.setValue(this.cid);\n this.iscatgoryhiding=1;\n // this.filteredEmployees = this.fcEmployee.valueChanges.pipe(\n // startWith(null),\n // map((value: string | null) => value ? this._filteremployees(value) : this.allEmployees.slice()));\n \n // this.fcEmployee.valueChanges.subscribe(search => {\n // this.filteredEmployees = of(this.allEmployees.filter(item =>\n // item.name.toLowerCase().includes(search)\n // ));\n // });\n\n // this.EffortFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.EffortFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n \n //console.log('pageloaddate',this.fromdate)\n\n\n }\n \n changesite(e) {\n this.cid=e.value;\n // this.Employees='';\n // this.Projects='';\n // this.allEmployees='';\n // this.allProjects=[];\n this.projects = []; // making the chipList empty\n this.fcProject.reset(); // resets the control\n this.fcProject.markAsPristine();\n this.fcProject.markAsUntouched();\n\n this.employees = []; // making the chipList empty\n this.fcEmployee.reset(); // resets the control\n this.fcEmployee.markAsPristine();\n this.fcEmployee.markAsUntouched();\n this.PageLoad();\n \n }\n\n addcat(event: MatChipInputEvent): void {\n const input = event.input;\n const value = event.value;\n if ((value || '').trim()) {\n this.categories.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcCategory.setValue(null);\n }\n\n add(event: MatChipInputEvent): void {\n // debugger\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) {\n this.employeelistselected.push({\n id:Math.random(),\n Name:value.trim()\n });\n\n // this.employeelistselected = options.map(o => o.value);\n \n }\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n this.fcEmployee.setValue(null);\n }\n\n addprojects(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.projects.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcProject.setValue(null);\n }\n\n // removecat(cat: string): void {\n // const index = this.categories.indexOf(cat);\n // if (index >= 0) {\n // this.categories.splice(index, 1);\n // }\n // }\n\n remove(cat: string) {\n const toppings = this.fcCategory.value as string[];\n this.removeFirst(toppings, cat);\n this.fcCategory.setValue(toppings); // To trigger change detection\n }\n\n private removeFirst(array: T[], toRemove: T): void {\n const index = array.indexOf(toRemove);\n if (index !== -1) {\n array.splice(index, 1);\n }\n }\n\n removeprojects(prj: string): void {\n const index = this.projects.indexOf(prj);\n if (index >= 0) {\n this.projects.splice(index, 1);\n }\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n this.categories.push(event.option.value);\n this.catInput.nativeElement.value = '';\n this.fcCategory.setValue(null);\n }\n\n selectedprojects(event1: MatAutocompleteSelectedEvent): void {\n this.projects.push(event1.option.value);\n this.prjInput.nativeElement.value = '';\n this.fcProject.setValue(null);\n }\n\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n\n return this.allCategories.filter(value => value.toLowerCase().indexOf(filterValue) === 0);\n }\n\n private _filterprojects(value1: string): string[] {\n const filterprojectValue = value1.toLowerCase();\n\n return this.allProjects.filter(value1 => value1.toLowerCase().indexOf(filterprojectValue) === 0);\n }\n\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.cid, \n Flag: \"LOADDDL\",\n UserName:curUser.ledgerid \n };\n this.showSpinner=true;\n this.service.httpPost('/ETSCustomsReport/GetEffortData',params)\n .subscribe (\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = curUser.dtsiteid; \n this.Employees = result.respdata.Employee;\n this.allEmployees = result.respdata.Employee;\n this.Products=result.respdata.Product;\n this.Projects=result.respdata.Project;\n this.Clients=result.respdata.Client;\n this.Category=result.respdata.Category;\n this.Status=result.respdata.Status;\n\n this.allCategories= _.pluck(this.Category, 'CategoryName'); \n this.allProjects= _.pluck(this.Projects, 'ProjectName'); \n // this.allEmployees= _.pluck(this.Employees, 'Name'); \n\n\n this.fcEmployee.valueChanges.subscribe(search => {\n this.filteredEmployees = of(this.allEmployees.filter(item =>\n item.Name.toLowerCase().includes(search)\n ));\n });\n \n this.filteredList5= this.Clients.slice();\n this.filteredList6= this.Category.slice();\n\n\n this.getUserList();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_29\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n this.viewbtnvisible = btnVisilityData.refreshflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Submit(){\n this.tabIndex=1 ? 0 :1;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n\n if (this.EffortFormGroup.invalid) {\n this.notificationService.warn('Please select date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.EffortFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n LedgerID:_.pluck(this.employees, 'LedgerID'), //this.EffortFormGroup.get('fcEmployee').value, \n Product:this.EffortFormGroup.get('fcProduct').value, \n Project:this.projects,\n Client:this.EffortFormGroup.get('fcClient').value,\n Category:this.fcCategory.value,\n Status:this.EffortFormGroup.get('fcStatus').value,\n FromDate:this.fromdate,\n ToDate:this.todate,\n DateType:\"cs\",\n UserName:curUser.ledgerid\n\n // FromDate: this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n \n };\n this.service.httpPost('/ETSCustomsReport/GetEffortData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n // this.stepper.selectedIndex = 1; \n this.tabIndex=1; \n // console.log('STEEPER', this.stepper.selectedIndex)\n this.EffortDataGrids = result.respdata.Effortdata;\n this.TotHours = result.respdata.TotHrs;\n this.TotHours =this.TotHours[0].Hours;\n\n this.TotOTHours =result.respdata.TotOTHrs;\n this.TotOTHours =this.TotOTHours[0].Hours;\n // this.EforrtDataFormGroup.controls.TotHours.setValue(this.TotHours[0].Hours);\n // console.log('effort list: ', result.respdata.Effortdata);\n\n this.Visiblelist = result.respdata.Visible;\n // console.log('visible list ', this.Visiblelist);\n this.isTicketVisible = this.Visiblelist[8].Visibility;\n this.isCategoryVisible = this.Visiblelist[2].Visibility; \n this.isProductVisible = this.Visiblelist[10].Visibility;\n this.isProjectVisible=this.Visiblelist[3].Visibility;\n this.isClientVisible=this.Visiblelist[4].Visibility;\n this.isStarttimeVisible=this.Visiblelist[5].Visibility;\n this.isEndtimeVisible=this.Visiblelist[6].Visibility;\n\n this.istickethiding = this.Visiblelist[8].Position;\n this.iscatgoryhiding = this.Visiblelist[2].Position; \n this.isproducthiding = this.Visiblelist[10].Position;\n this.isprojecthiding=this.Visiblelist[3].Position;\n this.isclinethiding=this.Visiblelist[4].Position;\n\n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n OngoingEffort()\n {\n // console.log('HI')\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n\n // if (this.EffortFormGroup.invalid) {\n // this.notificationService.warn('Please select date range'); \n // return;\n // } \n this.showSpinner=true;\n let params = { \n CID: this.EffortFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n LedgerID:_.pluck(this.employees, 'LedgerID'), //this.EffortFormGroup.get('fcEmployee').value, \n Product:this.EffortFormGroup.get('fcProduct').value, \n Project:this.projects,\n Client:this.EffortFormGroup.get('fcClient').value,\n Category:this.fcCategory.value,\n Status:this.EffortFormGroup.get('fcStatus').value,\n FromDate:this.fromdate,\n ToDate:this.todate,\n DateType:\"ogt\",\n UserName:curUser.ledgerid\n\n // FromDate: this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n \n };\n this.service.httpPost('/ETSCustomsReport/GetEffortData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n // this.stepper.selectedIndex = 2; \n // console.log('STEEPER', this.stepper.selectedIndex)\n this.OngoingDataGrids = result.respdata.OngoingEffort; \n this.TaskCount =result.respdata.OngoingEffort.length; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onExporting(e) { \n // const workSheet = XLSX.utils.json_to_sheet(this.EffortDataGrids);\n // const workBook: XLSX.WorkBook = XLSX.utils.book_new();\n // XLSX.utils.book_append_sheet(workBook, workSheet, 'Emplodgf');\n // XLSX.writeFile(workBook, 'gsg'+'.xlsx'); \n // const workbook = new Workbook(); \n // const worksheet = workbook.addWorksheet('Main sheet');\n // exportDataGrid({\n // component: e.component,\n // worksheet: worksheet,\n // customizeCell: function(options) {\n // const excelCell = options;\n // // excelCell.font = { name: 'Arial', size: 12 };\n // // excelCell.alignment = { horizontal: 'left' };\n // } \n // }).then(function() {\n // workbook.xlsx.writeBuffer()\n // .then(function(buffer: BlobPart) {\n // saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'gfdhdh.xlsx');\n // });\n // });\n // e.cancel = true; \n \n}\n\nexportAsExcel()\n {\n // , {header:['name', 'surname']}\n // this.generic.excelExport(this.EffortDataGrids, 'Effort','EffortList From ' + this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\")+' to '+this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"));\n this.generic.excelExport(this.EffortDataGrids, 'Effort','EffortList From ' + this.fromdate +' to '+ this.todate);\n }\n\n onSearchClear(){\n // console.log(\"mmmt\",this.tabIndex)\n this.tabIndex =3;\n this.EffortFormGroup.reset(); \n this.EffortDataGrids=''; \n this.tabIndex = 0; \n this.EffortFormGroup.controls.fcCompany.setValue(this.cid);\n // this.EffortFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.EffortFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.projects = []; // making the chipList empty\n this.fcProject.reset(); // resets the control\n this.fcProject.markAsPristine();\n this.fcProject.markAsUntouched();\n\n this.employees = []; // making the chipList empty\n this.fcEmployee.reset(); // resets the control\n this.fcEmployee.markAsPristine();\n this.fcEmployee.markAsUntouched();\n\n this.categories =[];\n this.fcCategory.setValue(null);\n\n this.TaskCount=0;\n }\n\n addemployees(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.employees.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcEmployee.setValue(null);\n }\n\n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n optionActivated($event: MatAutocompleteActivatedEvent) {\n if ($event.option) {\n this.autocompleteTagsOptionActivated = true;\n }\n }\n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n\n }\n // private _filteremployees(value1: string): string[] {\n // console.log(\"_filteremployees\",value1)\n // const filterprojectValue = value1.toLowerCase();\n\n // return this.allEmployees.filter(value1 => value1.toLowerCase().indexOf(filterprojectValue) === 0);\n // }\n //, {height:'43%',width:'20%'}\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n height:'43%',\n width:'20%'\n }\n const dialogRef = this.dialog.open(DatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n onRowPrepared(e) {\n\n // if (e.rowType == 'data' && e.data.Approved == \"0\") {\n // e.rowElement.style.backgroundColor = '#FCD1C7';\n // }\n // else if (e.rowType == 'data' && e.data.Approved != \"0\" && e.data.Approved != \"1\") {\n // e.rowElement.style.backgroundColor = '#F7FC7F'; \n // }\n if (e.rowType == 'data' && e.data.Status == \"Approved\") {\n e.rowElement.style.backgroundColor = '#DAF9A9';\n \n }\n }\n\n // someFn()\n // {\n // console.log(\"umar\")\n // }\n}\n","import { Observable } from 'rxjs';\nimport { DatePipe } from '@angular/common';\nimport { FormBuilder, Validators, FormGroup, FormControl } from '@angular/forms';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n\nexport interface User {\n Name: string;\n}\n\n@Component({\n selector: 'app-datewisereport',\n templateUrl: './datewisereport.component.html',\n styleUrls: ['./datewisereport.component.scss'],\n})\nexport class DatewisereportComponent implements OnInit {\n\n CID:any;\n flag:any;\n Condition:any;\n companies:any;\n entitytype:any;\n datasource:any;\n frmdate= new Date();\n \n TimepunchGroup : FormGroup;\n filteredOptions: Observable;\n myControl = new FormControl('', [Validators.required]);\n empid:string[]=[];\n ledgerid= 0;\n employeelist: any;\n filterOption: any;\n timezonelist:any;\n timezone:any=0;\n DateTypeFlag:any=\"Today\";\n fromdate:any;\n todate:any;\n showSpinner:any;\n fieldvisible:boolean=false;\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n displayedColumns =['Name','EntryDate','InTime','OutTime','Tothours','Effort'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService,\n private generic: GenericService,private formBuilder: FormBuilder,private datePipe: DatePipe\n )\n { \n this.TimepunchGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n //fcFromDate: [''], \n fcTimezone: [''], \n //fcToDate: ['']\n \n });\n \n }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.TimepunchGroup.controls.fcCompany.setValue(this.CID); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.TimepunchGroup.controls.fcToDate.setValue(this.frmdate);\n this.Loaddetails();\n //this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n\n this.TimepunchGroup.controls.fcTimezone.setValue(0);\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n // this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n changetimezone()\n {\n this.flag='LOADTZID'\n this.timezone=this.TimepunchGroup.get('fcTimezone').value;\n this.empid=[];\n this.employeelist=\"\";\n this.Loaddetails();\n // this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n\n }\n refresh()\n {\n this.flag='GETTIME'\n //this.Loaddetails();\n if(this.ledgerid !=0 && this.flag=='GETTIME')\n {\n this.showSpinner=true;\n let params = {\n cid:this.CID,\n Flag:this.flag,\n LedgerID:this.ledgerid,\n // FromDate: this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"),\n // ToDate: this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n FromDate:this.fromdate,\n ToDate:this.todate,\n TimeZone:this.timezone\n }\n // console.log('afaf',params)\n // const query = `CID=${params.cid}&Flag=${params.Flag}&LedgerID=${params.LedgerID},\n // &FromDate=${params.FromDate},&ToDate=${params.ToDate},&TimeZone=${params.TimeZone}`;\n this.service.httpPost('/DateWiseReport/GetDateWiseReport',params)\n .subscribe(data => {\n \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n \n \n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.employeelist = result.respdata.Employeelist;\n // this.datasource=result.respdata.Statuslist;\n this.timezonelist = result.respdata.Timezonelist;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.datasource=result.respdata.LoadData;\n }\n else if(this.flag=='LOADTZID')\n {\n this.employeelist=result.respdata.Employeelist;\n this.empid= _.pluck(this.employeelist, 'Name');\n }\n else\n {\n this.datasource=result.respdata.list;\n this.datasource = new MatTableDataSource(result.respdata.list);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n else{\n this.notificationService.success('Please select employee'); //':: Problem details');\n }\n }\n Loaddetails()\n {\n\n // if (this.TimepunchGroup.invalid) {\n // this.notificationService.warn('Please select employee'); \n // return;\n // }\n // if(this.ledgerid !=0 && this.flag=='GETTIME')\n // {\n this.showSpinner=true;\n let params = {\n cid:this.CID,\n Flag:this.flag,\n LedgerID:this.ledgerid,\n // FromDate: this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"),\n // ToDate: this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n FromDate:this.fromdate,\n ToDate:this.todate,\n TimeZone:this.timezone\n }\n //console.log('afaf',params)\n // const query = `CID=${params.cid}&Flag=${params.Flag}&LedgerID=${params.LedgerID},\n // &FromDate=${params.FromDate},&ToDate=${params.ToDate},&TimeZone=${params.TimeZone}`;\n this.service.httpPost('/DateWiseReport/GetDateWiseReport',params)\n .subscribe(data => {\n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n\n\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.employeelist = result.respdata.Employeelist;\n // this.datasource=result.respdata.Statuslist;\n this.timezonelist = result.respdata.Timezonelist;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.datasource=result.respdata.LoadData;\n }\n else if(this.flag=='LOADTZID')\n {\n this.employeelist=result.respdata.Employeelist;\n this.empid= _.pluck(this.employeelist, 'Name');\n }\n else\n {\n this.datasource=result.respdata.list;\n this.datasource = new MatTableDataSource(result.respdata.list);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n // }\n }\n\n View(event)\n {\n\n }\n\n onSearchClear(){\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.TimepunchGroup.reset(); \n this.datasource=''; \n this.myControl.setValue(''); \n this.TimepunchGroup.controls.fcCompany.setValue(JSON.parse(sessionStorage.getItem('cid'))); \n this.TimepunchGroup.controls.fcTimezone.setValue(0);\n this.DateTypeFlag=\"Today\";\n this.ledgerid=0;\n }\n\n onCompanySelect(event)\n {\n this.employeelist='';\n this.empid=[];\n this.CID=event;\n this.Loaddetails();\n this.myControl.setValue(''); \n \n }\n\n\n exportAsExcel()\n {\n \n console.log('hi')\n this.generic.excelExport(this.datasource.data, 'Timepunch Vs Effort','Timepunch Vs Effort From ' + this.fromdate +' to '+ this.todate);\n }\n\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n\n}\n\nexport interface GroupALL {\n Name: string;\n EntryDate: string;\n InTime: string;\n LastOut: string;\n Tothours: string;\n Effort: string; \n\n}\n","import { Component, OnInit, ViewChild, Pipe, PipeTransform } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { DxDataGridModule, DxDataGridComponent, DxButtonModule } from 'devextreme-angular';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { User } from 'src/app/Modules/user';\nimport { GenericService } from '../../../../Services/OtherServices/generic.service';\nimport { UserService } from '../../../Admin/Users/userValidate';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\n\n@Component({\n selector: 'app-effortauthorize',\n templateUrl: './effortauthorize.component.html',\n styleUrls: ['./effortauthorize.component.scss'],\n})\nexport class EffortauthorizeComponent implements OnInit {\n @ViewChild(DxDataGridComponent, { static: false }) dataGrid: DxDataGridComponent;\n dataSource: EffortApprovalDataGrid[];\n EffortApprovalDataGrids: any;\n SelectedCompanyID: number;\n projectdata: any;\n companies: any;\n Employees: any;\n projectlist: any;\n viewbtnvisible: boolean = false;\n selectedCID: number;\n selectedprojectid: any;\n selectedemployees: number;\n projectid: string[] = [];\n employeeidname: string[] = [];\n fromdate: any;\n todate: any;\n Status:any;\n DateTypeFlag: any = \"Today\"\n ApprovalFormGroup: FormGroup;\n EffortDataFormGroup: FormGroup;\n isEditable = true;\n myControl1 = new FormControl();\n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n filteredOptions2: Observable;\n cid: any;\n selectedProjectID: number;\n selectedEmpID: string = 'All';\n\n date: Date; //= new FormControl(new Date());\n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n // mySimpleFormat = this.datePipe.transform(this.now, 'dd-MM-yyyy');\n LedgerID: number;\n // allMode: string;\n // checkBoxesMode: string;\n startEditAction: string = \"click\";\n selectTextOnEditStart: boolean = true;\n selectedRowsData = [];\n selectedEffortSlno: any;\n onSelectionChange: boolean;\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder, private dialog: MatDialog, private generic: GenericService,\n private service1: UserService, public notificationService: NotificationService, private datePipe: DatePipe) {\n\n this.ApprovalFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required],\n fcStatus: [''], \n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required]\n });\n this.EffortDataFormGroup = this.formBuilder.group({\n });\n }\n\n ngOnInit(): void {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID = curUser.ledgerid;\n this.cid = JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n this.ApprovalFormGroup.controls.fcCompany.setValue(this.cid);\n this.ApprovalFormGroup.controls.fcStatus.setValue(2);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl'))\n );\n\n this.filteredOptions2 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl1'))\n );\n\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n\n }\n changesite(e) {\n this.cid = e.value;\n this.Employees = '';\n this.employeeidname = [];\n this.projectdata = '' \n this.projectid =[]\n this.PageLoad();\n this.myControl1.setValue('');\n this.myControl.setValue('');\n }\n\n onSearchClear() {\n this.ApprovalFormGroup.reset();\n this.EffortApprovalDataGrids = '';\n this.myControl1.setValue('');\n this.myControl.setValue('');\n this.selectedEmpID = 'All';\n this.ApprovalFormGroup.controls.fcCompany.setValue(this.cid);\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.ApprovalFormGroup.controls.fcStatus.setValue(2);\n this.DateTypeFlag = \"Today\";\n }\n\n private _filter(value: string, control: string): string[] {\n\n const filterValue = value.toLowerCase();\n //console.log('controlID',control);\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n else if (control === 'myControl1') {\n //console.log('FilterProjectID',this.employeeidname);\n return this.employeeidname.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n }\n\n\n selectedEmployee(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n // console.log('control', control);\n if (control === 'myControl') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID'));\n //console.log('selectedprojectid', this.selectedprojectid);\n }\n else {\n this.selectedEmpID = event.option.value;\n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n //console.log('selectedEmpID', this.selectedEmpID);\n }\n\n }\n\n PageLoad() {\n let params = {\n CID: this.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: \"LOADDDL\",\n EmployeeID: \"0\",\n DateType: \"0\",\n FromDate: \"0\",\n ToDate: \"0\",\n UserID: this.LedgerID,\n ProjectID: \"0\"\n\n };\n //this.service.getddllist(params)\n // console.log('sfasf',params);\n this.service.httpPost('/EffortApproval/Getdropdownvalues', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.companies = result.respdata.Companyid;\n //this.SelectedCompanyID = 101; \n this.Employees = result.respdata.Employee;\n this.projectdata = result.respdata.Project;\n this.Status=result.respdata.Status;\n this.projectid = _.pluck(this.projectdata, 'ProjectID');\n this.employeeidname = _.pluck(this.Employees, 'Name');\n this.onSelectionChange = false;\n\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n Submit() {\n\n if (this.ApprovalFormGroup.invalid) {\n return;\n }\n\n let params = {\n CID: this.ApprovalFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\",\n ProjectID: this.selectedprojectid,\n EmployeeID: this.selectedEmpID,\n DateType: \"ByDate\",\n Status:this.ApprovalFormGroup.get('fcStatus').value,\n FromDate: this.fromdate,\n ToDate: this.todate,\n // FromDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcFromDate').value, \"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcToDate').value, \"dd-MM-yyyy\"),\n AuthorizerID: this.LedgerID\n };\n // console.log('params :', params);\n //this.service.geteffortlist(params)\n this.service.httpPost('/EffortApproval/Getdropdownvalues', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n //result=JSON.parse(data); \n //result=new Map(JSON.parse(data))\n\n //result=orderedJson.parse(data);\n\n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.EffortApprovalDataGrids = result.respdata.Datasource;\n this.dataSource = result.respdata.Datasource;\n // console.log('_.where(this.EffortApprovalDataGrids',_.where(this.EffortApprovalDataGrids, { 'ChkStatus': '1' }));\n // console.log('_.pluck',_.pluck(_.where(this.EffortApprovalDataGrids, { 'ChkStatus': '1' }), 'SlNo'));\n this.selectedEffortSlno = _.pluck(_.where(this.EffortApprovalDataGrids, { 'Approved': 1 }), 'SlNo');\n // console.log('selectedEffortSlno: ', this.selectedEffortSlno);\n //console.log('effort list: ', result.respdata);\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n DatePicker() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n DateTypeFlag: this.DateTypeFlag,\n height: '43%',\n width: '20%'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n console.log('RESULT', result)\n this.fromdate = result.frmdate;\n this.todate = result.todate;\n this.DateTypeFlag = result.datetype\n });\n }\n\n Save() {\n\n if (this.ApprovalFormGroup.invalid) {\n // console.log('invalid project form group')\n return;\n }\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // console.log('curuser',curUser);\n // let removeApproved = this.EffortApprovalDataGrids.map(({ Approved, ...item }) => item);\n let removeIsHalfDay = this.EffortApprovalDataGrids.map(({ IsHalfDay, ...item }) => item);\n let removeName = removeIsHalfDay.map(({ Name, ...item }) => item);\n let removeClient = removeName.map(({ Client, ...item }) => item);\n let removeTicket = removeClient.map(({ Ticket, ...item }) => item);\n let removeEffortDate = removeTicket.map(({ EffortDate, ...item }) => item);\n let removeStatus = removeEffortDate.map(({ Status, ...item }) => item);\n\n let removeStartTime = removeStatus.map(({ StartTime, ...item }) => item);\n let removeEndTime = removeStartTime.map(({ EndTime, ...item }) => item);\n let removeCategoryName = removeEndTime.map(({ CategoryName, ...item }) => item);\n let FinalData = removeCategoryName.map(({ Project, ...item }) => item);\n //this.EffortApprovalDataGrids=FinalData;\n let params = {\n CID: this.ApprovalFormGroup.get('fcCompany').value,\n Flag: \"APPROVED\",\n ProjectID: this.selectedprojectid,\n EmployeeID: this.selectedEmpID,\n DateType: \"ByDate\",\n Comment: \"\",\n // FromDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcFromDate').value, \"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcToDate').value, \"dd-MM-yyyy\"),\n UserID: this.LedgerID,\n AuthorizerID: this.LedgerID,\n dt: FinalData\n };\n // console.log('EffortApprovalDataGrids', FinalData);\n //this.service.updateProjectEffortApproval(params)\n this.service.httpPost('/EffortApproval/ApproveEfforts', params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n var users: any;\n users = data;\n //console.log('errorno',users.errno);\n if (users.errno === 0) {\n // console.log('HI')\n this.notificationService.success(users.errdesc);\n }\n else {\n // console.log('Bye')\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n\n }\n\n validateTime(e) {\n // console.log('inside validate time: ', e.value.length);\n return e.value.length === 5 ? true : false;\n }\n\n //Calculate Effort based on Starttime changed\n calculateEffortStartTime(newData, value, currentRowData) {\n let startTime = new Date(value);\n let endTime = new Date(currentRowData.EndTime);\n\n let stringDate = value.getFullYear() +\n \"-\" +\n (1 + value.getMonth()).toString().padStart(2, \"0\") +\n \"-\" +\n value.getDate().toString().padStart(2, \"0\") +\n \"T\" +\n value.getHours().toString().padStart(2, \"0\") +\n \":\" +\n value.getMinutes().toString().padStart(2, \"0\") +\n \":\" +\n value.getSeconds().toString().padStart(2, \"0\");\n\n // console.log('stringDate', stringDate);\n newData.StartTime = stringDate;\n\n newData.EffortHours = currentRowData.EffortHours;\n\n if (startTime.getTime() < endTime.getTime()) {\n\n let difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.EffortHours =\n difference.getHours().toString().padStart(2, \"0\") +\n \":\" +\n difference.getMinutes().toString().padStart(2, \"0\");\n }\n\n\n }\n\n //Calculate Effort based on Endtime changed\n calculateEffortEndTime(newData, value, currentRowData) {\n var startTime = new Date(currentRowData.StartTime);\n var endTime = new Date(value);\n\n var stringDate = value.getFullYear() +\n \"-\" +\n (1 + value.getMonth()).toString().padStart(2, \"0\") +\n \"-\" +\n value.getDate().toString().padStart(2, \"0\") +\n \"T\" +\n value.getHours().toString().padStart(2, \"0\") +\n \":\" +\n value.getMinutes().toString().padStart(2, \"0\") +\n \":\" +\n value.getSeconds().toString().padStart(2, \"0\");\n\n newData.EndTime = stringDate;\n\n var difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.EffortHours =\n difference.getHours().toString().padStart(2, \"0\") +\n \":\" +\n difference.getMinutes().toString().padStart(2, \"0\");\n }\n\n\n\n onSelectionChanged(e) {\n const currentSelectedRowKeys = e.currentSelectedRowKeys;\n const currentDeselectedRowKeys = e.currentDeselectedRowKeys;\n const allSelectedRowKeys = e.allSelectedRowKeys;\n const allSelectedRowsData = e.allSelectedRowsData;\n\n if (currentSelectedRowKeys.length > 0) {\n //console.log('select')\n var i = 0;\n for (let key of Object.keys(this.EffortApprovalDataGrids)) {\n let keydata = this.EffortApprovalDataGrids[key];\n //if (JSON.parse(currentSelectedRowKeys)=== keydata['SlNo']) \n //console.log('keydata',keydata['SlNo']);\n if (currentSelectedRowKeys[i] === keydata['SlNo']) {\n //keydata['AuthStatus'] = \"A\";\n keydata['Approved'] = 1;\n //keydata['Approved'] =101;\n i = i + 1;\n }\n }\n }\n else if (currentDeselectedRowKeys.length > 0) {\n //console.log('deselect');\n var j = 0;\n for (let key of Object.keys(this.EffortApprovalDataGrids)) {\n let keydata = this.EffortApprovalDataGrids[key];\n if (currentDeselectedRowKeys[j] === keydata['SlNo']) {\n //keydata['AuthStatus'] = \"P\";\n keydata['Approved'] = 0;\n //keydata['Approved'] =101;\n j = j + 1;\n }\n }\n }\n\n\n\n //console.log('EffortApprovalDataGrids', this.EffortApprovalDataGrids);\n }\n\n\n onRowPrepared(e) {\n\n if (e.rowType == 'data' && e.data.Approved == \"0\") {\n e.rowElement.style.backgroundColor = '#FDE2DC';\n }\n else if (e.rowType == 'data' && e.data.Approved != \"0\" && e.data.Approved != \"1\") {\n e.rowElement.style.backgroundColor = '#F7FC7F';\n //e.rowElement.className = e.rowElement.className.replace(\"dx-row-alt\", \"\"); \n }\n else if (e.rowType == 'data' && e.data.Approved == \"1\") {\n e.rowElement.style.backgroundColor = '#D8D8D3';\n //e.rowElement.className = e.rowElement.className.replace(\"dx-row-alt\", \"\"); \n }\n }\n\n}\n\n\n\n\nexport class EffortApprovalDataGrid {\n LedgerID: number\n UserID: number\n EmployeeID: number\n ProjectID: string\n FromDate: string\n ToDate: string\n\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from '../../../../Modules/user';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\n\n\n@Component({\n selector: 'app-effortcostreport',\n templateUrl: './effortcostreport.component.html',\n styleUrls: ['./effortcostreport.component.scss'],\n})\nexport class EffortcostreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n\n CostReportFormGroup:FormGroup;\n CostReportDataFormGroup:FormGroup;\n myControl = new FormControl();\n myControl1 = new FormControl();\n filteredOptions: Observable;\n filteredOptions1: Observable;\n selectedprojectid: any;\n employeeid:string[]=[];\n projectid: string[] = [];\n selectedEmpID: any;\n Projectlist:any;\n Companies: any;\n Employees:any; \n cid:any; \n Clients:any;\n public filteredList5\n CurLedgerID:number;\n UserID:any;\n isEditable = true; \n Category:any;\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n showSpinner:any;\n dataSource: any;\n\n GroupBy = [\n { name: 'Employee' },\n { name: 'Project' },\n { name: 'Client' }, \n { name: 'Category' } \n\n ];\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog: MatDialog,\n public notificationService: NotificationService, private datePipe: DatePipe) { \n this.CostReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n myControl: [''],\n myControl1: [''], \n fcClient:[''], \n fcCategory:[''],\n fcGroupBy:[''] \n });\n this.CostReportDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n this.UserID=curUser.userid;\n this.PageLoad();\n\n this.CostReportFormGroup.controls.fcCompany.setValue(this.cid);\n this.CostReportFormGroup.controls.fcGroupBy.setValue('Employee');\n\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n \n this.filteredOptions1 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter1(value, 'myControl1'))\n ); \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter1(value: string, control: string): string[] { \n const filterValue = value.toLowerCase();\n // console.log('controlID',filterValue);\n this.selectedprojectid=''\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl1') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n \n selectedEmployee1(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n if (control === 'myControl1') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID'));\n }\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\", \n \n };\n this.service.httpPost('/EffortCost/GetEffortCost',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = result.respdata.Table; \n this.Employees = result.respdata.Table1; \n this.Projectlist=result.respdata.Table2; \n this.Clients=result.respdata.Table3;\n this.Category=result.respdata.Table4;\n\n //console.log('Companies',result.respdata) \n\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n this.employeeid= _.pluck(this.Employees, 'Name'); \n\n this.filteredList5= this.Clients.slice();\n\n // console.log('test',this.filteredList5)\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n Submit(){\n this.showSpinner=true;\n let params = { \n CID: this.CostReportFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n LedgerID:this.selectedEmpID, \n Project:this.selectedprojectid, \n Client:this.CostReportFormGroup.get('fcClient').value,\n CategoryType:\"\", \n Category:this.CostReportFormGroup.get('fcCategory').value, \n GroupBy:this.CostReportFormGroup.get('fcGroupBy').value, \n DateType:'cs', \n FromDate:this.fromdate,\n ToDate:this.todate \n };\n //console.log('zfv',params)\n this.service.httpPost('/EffortCost/GetEffortCost',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n this.stepper.selectedIndex = 1; \n result = data; \n if (result.errno === 0) { \n this.dataSource = result.respdata.Table; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n onSearchClear(){\n this.CostReportFormGroup.reset(); \n this.myControl.setValue(''); \n this.myControl1.setValue('');\n this.CostReportFormGroup.controls.fcCompany.setValue(this.cid);\n this.stepper.selectedIndex = 0; \n this.dataSource='';\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.CostReportFormGroup.controls.fcGroupBy.setValue('Employee');\n this.DateTypeFlag=\"Today\";\n }\n\n changesite(e)\n {\n this.Employees = '';\n this.Projectlist=''; \n this.projectid = [];\n this.employeeid= [];\n this.cid=e.value;\n this.PageLoad();\n this.myControl.setValue(''); \n this.myControl1.setValue('');\n }\n}\n","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { TimesheetviewComponent } from '../../../../components/HR/TimeSheet/timesheetview/timesheetview.component';\nimport { User } from '../../../../Modules/user';\nimport { json } from '@angular-devkit/core';\n//import { convertActionBinding } from '@angular/compiler/src/compiler_util/expression_converter';\nimport { DxiConstantLineModule } from 'devextreme-angular/ui/nested';\nimport { TimesheetticketComponent } from '../timesheetticket/timesheetticket.component';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { TaskbyviewComponent } from 'src/app/components/ITS/CustomsReport/taskbyview/taskbyview.component';\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n@Component({\n selector: 'app-emp-timesheet',\n templateUrl: './emp-timesheet.component.html',\n styleUrls: ['./emp-timesheet.component.scss'],\n})\nexport class EmpTimesheetComponent implements OnInit {\n step = 0;\n flag: string;\n dataSource: any;\n UserID:any;\n dataSource1: any;\n Categorylist:any;\n Rolelist:any;\n Productlist:any;\n Projectlist:any;\n Clientlist:any;\n Companies:any;\n HomePage:any;\n CommonTask:any; \n Visiblelist:any;\n PreviousEffort:any;\n TimeSheetFormGroup: FormGroup;\n CurLedgerID:any;\n selectedEmpID: any;\n Employees: any;\n regex = '([01]?[0-9]|2[0-3]):[0-5][0-9]';\n cid:any;\n focusedRowKey = 117;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n Table9:any;\n Table10:any;\n Table11:any;\n Table12:any;\n Table13:any;\n Table14:any;\n Table15:any;\n date : any;\n TaskCount:any;\n isTicketVisible: boolean ;\n isProductVisible: boolean;\n isProjectVisible: boolean;\n isClientVisible: boolean;\n isRoleVisible: boolean;\n\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n ticketdetails:any;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private formBuilder: FormBuilder,private generic: GenericService, private service1: UserService,\n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n {\n this.setStateValue = this.setStateValue.bind(this);\n this.TimeSheetFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDate: ['', Validators.required] \n }); \n }\n\n ngOnInit(): void { \n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.getddllist();\n this.TimeSheetFormGroup.controls.fcCompany.setValue(this.cid); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n //console.log('CurLedgerID', this.CurLedgerID);\n }\n\n onChangeEvent(){ \n this.dataSource = '';\n this.getddllist();\n }\n\n getddllist()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\", \n Date : this.datePipe.transform(this.TimeSheetFormGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n MenuID:'STS_103',\n LedgerID:curUser.ledgerid\n };\n this.service.httpPost('/Timesheet/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Categorylist = result.respdata.Category;\n this.Productlist=result.respdata.Product;\n this.Projectlist = result.respdata.Project; \n this.Clientlist = result.respdata.Client;\n this.HomePage=result.respdata.HomePage;\n this.Rolelist=result.respdata.Role; \n this.dataSource=result.respdata.Datasource; \n this.dataSource1=result.respdata.Datasource; \n this.Employees = result.respdata.Employees; \n this.Visiblelist = result.respdata.Visible; \n this.isClientVisible=this.Visiblelist[0].Visibility;\n this.isProductVisible = this.Visiblelist[1].Visibility;\n this.isProjectVisible=this.Visiblelist[2].Visibility;\n this.isRoleVisible=this.Visiblelist[3].Visibility;\n this.isTicketVisible = this.Visiblelist[4].Visibility; \n \n \n for (var i = 0; i < result.respdata.HomePage.length; i++) \n {\n if(i==0)\n {\n // console.log('RESULT',result.respdata.HomePage)\n this.Table11=result.respdata.Table11 \n }\n else if(i==1)\n {\n this.Table12=result.respdata.Table12 \n }\n else if(i==2)\n {\n this.Table13=result.respdata.Table13\n }\n else if(i==3)\n {\n this.Table14=result.respdata.Table14\n }\n else if(i==3)\n {\n this.Table15=result.respdata.Table15\n }\n\n \n }\n \n this.PreviousEffort=result.respdata.PrevEffort;\n\n this.employeeid= _.pluck(this.Employees, 'Name'); \n\n this.getUserList();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_103\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.editbtnvisible = btnVisilityData.editflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n // Edit(){\n \n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true;\n // dialogConfig.data = { \n // CID:this.TimeSheetFormGroup.get('fcCompany').value,\n // LedgerID:this.CurLedgerID \n // }\n // const dialogRef = this.dialog.open(TimesheetviewComponent, dialogConfig)\n // dialogRef.afterClosed()\n // // const dialogConfig = new MatDialogConfig();\n // // dialogConfig.disableClose = true;\n // // dialogConfig.autoFocus = true;\n // // dialogConfig.data = { \n // // CID:this.TimeSheetFormGroup.get('fcCompany').value,\n // // TaskList:this.Table9 \n // // }\n // // const dialogRef = this.dialog.open(TimesheetticketComponent, dialogConfig)\n // // dialogRef.afterClosed()\n\n // }\n// handlePropertyChange(e) {\n// console.log('eventchange')\n// if(e.name === \"changedProperty\") { \n// if(e.rowType === \"data\" && e.column.dataField === \"Ticket\") {\n \n// const dialogConfig = new MatDialogConfig();\n// dialogConfig.disableClose = true;\n// dialogConfig.autoFocus = true;\n// dialogConfig.data = { \n// CID:this.TimeSheetFormGroup.get('fcCompany').value,\n// TaskList:this.HomePage \n// }\n// const dialogRef = this.dialog.open(TimesheetticketComponent, dialogConfig)\n// dialogRef.afterClosed()\n// }\n// }\n// }\n\n// setStep(index: number) {\n// this.step = index;\n// }\n// onCellPrepared(e) {\n// //if(e.rowType === \"data\" && e.column.dataField === \"Ticket\") {\n// // const dialogConfig = new MatDialogConfig();\n// // dialogConfig.disableClose = true;\n// // dialogConfig.autoFocus = true;\n// // dialogConfig.data = { \n// // CID:this.TimeSheetFormGroup.get('fcCompany').value,\n// // TaskList:this.HomePage \n// // }\n// // const dialogRef = this.dialog.open(TimesheetticketComponent, dialogConfig)\n// // dialogRef.afterClosed()\n// // }\n// }\n onClear()\n {\n this.TimeSheetFormGroup.reset(); \n this.dataSource='';\n this.PreviousEffort=''\n this.CommonTask='';\n this.TimeSheetFormGroup.controls.fcCompany.setValue(this.cid);\n this.getddllist();\n }\n\n changesite(e) {\n this.cid=e.value;\n this.getddllist();\n }\n \n // SetJobCode(eventName, e)\n // {\n // console.log('SetJobCode',eventName)\n // }\n async setStateValue(rowData: any, value: any) { \n \n \n rowData.Ticket = value;\n \n \n await this.GetStrucure(value,\"Get\")\n \n //console.log('ticketdetaisl',this.ticketdetails)\n if(this.ticketdetails !=undefined && this.TaskCount > 0){\n if(parseInt(this.ticketdetails[0].Field4) >0)\n {\n rowData.Product = parseInt(this.ticketdetails[0].Field4) ;\n }\n if(this.ticketdetails[0].ProjectUID >0)\n {\n rowData.Project = this.ticketdetails[0].ProjectUID;\n }\n if(this.ticketdetails[0].MerchantLedgerID >0)\n {\n rowData.Client = this.ticketdetails[0].MerchantLedgerID;\n }\n }\n else\n {\n\n }\n} \n\n // logEvent(eventName, e)\n // {\n\n // // console.log('sabithumar9',this.Table9)\n // // console.log('sabithumar10',this.Table10)\n // // console.log('sabithumar11',this.Table11)\n // // console.log('sabithumar12',this.Table12)\n // // console.log('EDITSTART',eventName)\n // // if(eventName =='onCellClick')\n // // {\n // // console.log('umar',e)\n // // // e.data.Product =5023;\n // // // e.values[2]=5023\n // // // e.row.Cells[2].Value = 5023;\n // // // e.event.data.Product =\"fgdg\";\n // // e.row.cells=[{value:'fgdg'},{value:'433'},{value:'5023'}];\n // // }\n // // //if(e.rowType === \"data\" && e.column.dataField === \"Ticket\") \n // // {\n // // const dialogConfig = new MatDialogConfig();\n // // dialogConfig.disableClose = true;\n // // dialogConfig.autoFocus = true;\n // // dialogConfig.data = { \n // // CID:this.TimeSheetFormGroup.get('fcCompany').value,\n // // TaskList:this.HomePage \n // // }\n // // const dialogRef = this.dialog.open(TimesheetticketComponent, dialogConfig)\n // // dialogRef.afterClosed()\n // // }\n // }\n \n // cellsetvalue(newData, value, currentRowData){\n // console.log('EDITSTART')\n // // if(eventName =='EditingStart')\n // // //if(e.rowType === \"data\" && e.column.dataField === \"Ticket\") \n // // {\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true;\n // dialogConfig.data = { \n // //CID:this.TimeSheetFormGroup.get('fcCompany').value,\n // TaskList:this.HomePage \n // }\n // const dialogRef = this.dialog.open(TimesheetticketComponent, dialogConfig)\n // dialogRef.afterClosed()\n // // }\n\n // }\n\n \n Submit() { \n \n if (this.TimeSheetFormGroup.invalid) {\n this.NotificationService.warn('Please select effort date'); \n return;\n } \n\n let params = { \n CID: this.TimeSheetFormGroup.get('fcCompany').value,\n Flag: \"SETEFFORT\", \n Date : this.datePipe.transform(this.TimeSheetFormGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n //Date : this.TimeSheetFormGroup.get('fcDate'), \n MenuID:'STS_103', \n LedgerID:this.CurLedgerID,\n Listarray: this.dataSource1 ,\n ApplicationDetails:'Web' \n };\n this.service.httpPost('/Timesheet/SetTimesheetEffort',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n this.onClear();\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.onClear();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n async GetStrucure(ledgerid:any,flag1:any)\n {\n let params = {\n CID: this.cid,\n Flag: flag1, \n Date : this.datePipe.transform(this.TimeSheetFormGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n Ticket:ledgerid,\n };\n \n const dt=await this.service.httpPost('/Timesheet/Getdropdownvalues' ,params) \n .toPromise().then(data => {\n // this.service.httpPost('/Timesheet/Getdropdownvalues',params)\n // .subscribe (\n // (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.TaskCount = result.respdata.Ticketdetails.length;\n // console.log('taskcount',this.TaskCount)\n if(this.TaskCount > 0) \n this.ticketdetails= result.respdata.Ticketdetails; \n else \n this.NotificationService.success('Not possible to post effort for this ticket');\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n \n onFocusedRowChanged(e) { \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n pid:0,\n height: '350px',\n width: '70%', \n cid:this.TimeSheetFormGroup.get('fcCompany').value,\n flag:\"View\",\n TicketID:e.data.Ticket,\n TemplateID:1,\n UserName:this.UserID,\n LoginFlag:'INTERNAL',\n ActiviteID:\"INT_VIEW\",\n TemplateGroupID:1,\n Subject:e.data.Subject \n } \n //console.log('DIALOGDATA',dialogConfig.data) \n const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Submit(); \n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { Validators, FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-timesheetticket',\n templateUrl: './timesheetticket.component.html',\n styleUrls: ['./timesheetticket.component.scss'],\n})\nexport class TimesheetticketComponent implements OnInit {\n\n TimeSheetTicketFormGroup:FormGroup;\n MyTask:any;\n\n constructor(public dialogRef: MatDialogRef,private formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n console.log('open',this.data);\n this.MyTask=this.data.TaskList;\n\n this.TimeSheetTicketFormGroup = this.formBuilder.group({ \n \n }); \n }\n\n ngOnInit() {}\n\n\n onCloseDialog()\n {\n this.TimeSheetTicketFormGroup.reset();\n this.dialogRef.close();\n }\n\n}\n","import { HttpClient, HttpHeaders} from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport * as _ from 'underscore';\n@Component({\n selector: 'app-sample',\n templateUrl: './sample.component.html',\n styleUrls: ['./sample.component.scss'],\n})\nexport class SampleComponent implements OnInit {\n temp1 :string=\"\";\n temp3 :any\n TicketJson:any[];\n ConditionJson:any[];\n EmailJson:any[];\n\n Ticket=[\n {\n \"Client\":\"A.P.C.C PILING & CONTRACTING L.L.C\",\n \"Priority\":\"P3\",\n \"Product\":\"STS\",\n \"Project\":\"BH-EM-CD-010\"\n }]\n \n EmailConfig= [\n {\n \"Client\":\"A.P.C.C PILING & CONTRACTING L.L.C\",\n \"Priority\":\"P3\",\n \"Product\":\"STS\", \n // ,\"Project\":\"BH-EM-CD-010\"\n },\n {\n \"Client\":\"ANT\",\n \"Priority\":\"P3\",\n \"Project\":\"BH-EM-CD-010\", \n // ,\"Project\":\"BH-EM-CD-010\"\n }]\n \n\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private http: HttpClient) \n { \n\n }\n\n ngOnInit() {\n //console.log('Ticketjson',this.Ticket);\n // console.log('Email',this.EmailConfig);\n this.GetEmail();\n }\n\n GetEmail(){\n let params = { \n CID:101,\n Flag:\"EMAIL\", \n };\n // console.log('Params',params)\n this.service.httpPost('/TicketCreator/GetTicketEmail',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n console.log('resultfhfg', result);\n\n if (result.errno === 0) { \n this.ConditionJson=result.respdata.ConditionJson; \n this.EmailJson=result.respdata.EmailJson; \n this.TicketJson=result.respdata.Ticket; \n console.log('ConditionJson ', this.ConditionJson); \n console.log('EmailJson ', this.EmailJson); \n console.log('TicketJson ', this.TicketJson); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Submit() { \n \n let temp5 =[]\n \n for (const key of Object.keys(this.EmailConfig)) {\n console.log('key: ', key);\n const keydata = this.EmailConfig[key];\n console.log('keydata: ', keydata);\n for (const key1 of Object.keys(keydata)) {\n console.log('key: ', key1);\n const keydata1 = keydata[key1];\n let temp\n temp= _.where(this.Ticket, {[key1]:keydata1})\n //temp=_.where( this.Ticket, {key:this.temp1});\n // console.log('temp: ', temp);\n if (temp.length>0)\n {\n console.log('temp: ', temp);\n let temp6 ={'tag':key1,'Value':keydata1,'Condtion':'true'}\n temp5.push(temp6);\n }\n } \n }\n console.log('temp6: ', temp5);\n }\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\n\n\n@Component({\n selector: 'app-monthlyreport',\n templateUrl: './monthlyreport.component.html',\n styleUrls: ['./monthlyreport.component.css']\n})\nexport class MonthlyreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n\n dataSource: any;\n dataSource1: any;\n MonthlyReportFormGroup: FormGroup;\n CustomDataFormGroup:FormGroup;\n Companies: any;\n Employees:any;\n Months:any;\n employeeid:string[]=[];\n selectedEmpID: any;\n cid:any; \n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n showSpinner:any;\n myControl1 = new FormControl();\n filteredOptions1: Observable;\n selectedProjectID: number;\n projectid: string[] = [];\n selectedprojectid: any;\n Projectlist:any;\n isEditable = true;\n Curmonthvalue=new Date().getMonth()+1\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,\n public notificationService: NotificationService, private datePipe: DatePipe) \n { \n this.MonthlyReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n myControl: ['', Validators.required], \n fcMonth: ['', Validators.required], \n fcYear: ['', Validators.required] \n });\n this.CustomDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.MonthlyReportFormGroup.controls.fcCompany.setValue(this.cid);\n // console.log('curmonth',this.Curmonthvalue)\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n \n this.filteredOptions1 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter1(value, 'myControl1'))\n );\n\n this.MonthlyReportFormGroup.controls.fcYear.setValue(new Date().getFullYear());\n this.MonthlyReportFormGroup.controls.fcMonth.setValue(this.Curmonthvalue);\n\n }\n\n private _filter1(value: string, control: string): string[] {\n \n const filterValue = value.toLowerCase();\n // console.log('controlID',filterValue);\n this.selectedprojectid=''\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl1') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n }\n selectedEmployee1(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n if (control === 'myControl1') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID'));\n }\n \n\n }\n changesite(e) {\n this.cid=e.value;\n this.Employees = '';\n this.Projectlist='';\n this.projectid = [];\n this.employeeid= [];\n this.PageLoad();\n this.myControl.setValue(''); \n this.myControl1.setValue(''); \n }\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n selectedemployee(event) { \n // this.selectedEmpID = event.option.value;\n // const str: string = this.selectedEmpID; \n // this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n\n const inputString = event.option.value; \n const parts = inputString.split(\"-\"); \n const lastPart = parts.pop(); \n this.selectedEmpID = parts.join(\"-\");\n }\n\n Submit() { \n \n this.showSpinner=true;\n let params = { \n CID: this.cid, \n Flag: this.selectedEmpID==undefined ? \"GETGRID\" :\"GETGRID1\", \n LedgerID: this.selectedEmpID,\n Month: this.MonthlyReportFormGroup.get('fcMonth').value,\n Year:this.MonthlyReportFormGroup.get('fcYear').value,\n ProjectID:this.selectedprojectid\n };\n this.service.httpPost('/ETSMonthlyReport/GetMonthlyData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.dataSource = result.respdata.MonthlyData; \n this.dataSource1 = result.respdata.MonthlyLeaveData; \n // console.log('fkjsg',this.dataSource1)\n this.stepper.selectedIndex = 1; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n }\n\n onSearchClear(){\n this.MonthlyReportFormGroup.reset(); \n this.myControl.setValue(''); \n this.myControl1.setValue(''); \n this.selectedEmpID=undefined;\n this.dataSource='';\n this.stepper.selectedIndex = 0; \n this.MonthlyReportFormGroup.controls.fcCompany.setValue(this.cid);\n this.MonthlyReportFormGroup.controls.fcYear.setValue(new Date().getFullYear()); \n this.MonthlyReportFormGroup.controls.fcMonth.setValue(this.Curmonthvalue);\n }\n SearchClear()\n {\n this.myControl1.setValue(''); \n }\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n EmployeeID:\"\", \n Department:\"\",\n LeaveType: \"\",\n FromDate:\"\",\n ToDate:\"\",\n RtnStatus:\"\",\n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n \n };\n this.service.httpPost('/ETSMonthlyReport/GetMonthlyData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = curUser.dtsiteid; \n this.Employees = result.respdata.Employees;\n this.Months = result.respdata.Month;\n this.Projectlist=result.respdata.Project;\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n this.employeeid= _.pluck(this.Employees, 'Name'); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\n\n\n\n@Component({\n selector: 'app-ticketreport',\n templateUrl: './ticketreport.component.html',\n styleUrls: ['./ticketreport.component.css']\n})\nexport class TicketreportComponent implements OnInit {\n\n dataSource: any;\n ITSdataSource: any;\n TicketReportFormGroup: FormGroup;\n Companies: any;\n TotHours:any;\n Subject:String;\n TicketNo:String;\n Project:String;\n Priority:String;\n Createdby:String;\n Requeston:String;\n Status:String;\n RequestType:String;\n CreatedDate:String;\n Description:String;\n Client: String;\n cid:any;\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,\n public notificationService: NotificationService, private datePipe: DatePipe) \n {\n this.TicketReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcTicketNo: ['', Validators.required]\n });\n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.TicketReportFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.cid, \n Flag: \"LOADDDL\" \n };\n this.service.httpPost('/ETSTicketReport/GetTicketData',params)\n .subscribe (\n (data) => {\n // console.log('params: ', params);\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = curUser.dtsiteid;; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n Submit(){\n let params = { \n CID: this.TicketReportFormGroup.get('fcCompany').value, \n TicketNo: this.TicketReportFormGroup.get('fcTicketNo').value, \n Flag: \"LOADGRID\" \n };\n this.service.httpPost('/ETSTicketReport/GetTicketData',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.dataSource = result.respdata.TicketData; \n this.ITSdataSource = result.respdata.ITSData; \n \n this.Subject=this.ITSdataSource[0].Subject;\n this.TicketNo=this.ITSdataSource[0].TicketNo; \n this.Project=this.ITSdataSource[0].Project; \n this.Priority=this.ITSdataSource[0].priority; \n this.Createdby=this.ITSdataSource[0].Createdby; \n this.Requeston=this.ITSdataSource[0].RequestOn; \n this.Status=this.ITSdataSource[0].Status;\n this.RequestType=this.ITSdataSource[0].RequestType; \n this.CreatedDate=this.ITSdataSource[0].date; \n this.Description=this.ITSdataSource[0].Description; \n this.Client=this.ITSdataSource[0].Client;\n\n this.TotHours = result.respdata.TotHrs[0].Hours;\n // this.TicketReportFormGroup.controls.TotHours.setValue(this.TotHours[0].Hours); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n changesite(e) {\n this.cid=e.value;\n this.PageLoad();\n }\n\n onSearchClear(){\n this.TicketReportFormGroup.reset(); \n this.TotHours='00:00'; \n this.Subject='';\n this.TicketNo=''; \n this.Project=''; \n this.Priority=''; \n this.Createdby=''; \n this.Requeston=''; \n this.Status='';\n this.RequestType=''; \n this.CreatedDate=''; \n this.Description=''; \n this.Client=''; \n this.dataSource='';\n this.TicketReportFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n}\n","import { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport { AdvancerequestviewComponent } from './../advancerequestview/advancerequestview.component';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\n\n@Component({\n selector: 'app-advancerequest',\n templateUrl: './advancerequest.component.html',\n styleUrls: ['./advancerequest.component.css']\n})\nexport class AdvancerequestComponent implements OnInit {\n\n flag: string;\n Companies:any;\n Employees: any;\n Types:any;\n Currency:any;\n datasource:MatTableDataSource;\n AdvanceRequestFormGroup: FormGroup;\n selectedEmpID: any;\n CurLedgerID:any;\n searchKey: string;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n exportbtnvisible:boolean=false;\n approvebtnvisible: boolean = false;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n cid:any;\nsiteid:any;\n displayedColumns =['ReqID','AliasName1','Description','AmountRequested','ApprovedAmount','StartDate','AmountPaid','AmountReturned','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService,private formBuilder: FormBuilder, private service1: UserService, \n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n { \n this.AdvanceRequestFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] \n }); \n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n //this.getddllist();\n this.AdvanceRequestFormGroup.controls.fcCompany.setValue(this.cid);\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.username;\n this.siteid=curUser.dtsiteid; \n this.getddllist();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n\n Submit()\n {\n this.getddllist();\n }\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n\n changesite(e) {\n this.cid=e;\n this.getddllist();\n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\"\n };\n this.service.httpPost('/AdvanceRequest/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n // this.Companies = result.respdata.Companyid; \n this.Companies = this.siteid; \n this.Employees = result.respdata.Employees; \n this.Types = result.respdata.Type;\n this.Currency=result.respdata.Currency; \n \n this.datasource = new MatTableDataSource(result.respdata.AdvanceRequestlist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n\n this. getUserList();\n // this.employeeid= _.pluck(this.Employees, 'Name'); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_18\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.approvebtnvisible = btnVisilityData.approveflag;\n this.exportbtnvisible = btnVisilityData.viewflag;\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n // console.log('selectedEmpID', this.selectedEmpID); \n }\n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'ADD' , \n Employees:this.Employees, \n Type:this.Types,\n Currency:this.Currency,\n RequestID:'' \n }\n const dialogRef = this.dialog.open(AdvancerequestviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Advance Request', 'Advance Request' );\n }\n\n Edit(event){ \n if(event.Status !='Closed')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'EDIT' , \n Employees:this.Employees, \n Type:this.Types,\n Currency:this.Currency,\n RequestID:event.ReqID \n }\n const dialogRef = this.dialog.open(AdvancerequestviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n }\n else\n this.NotificationService.success('Edit option not applicable for closed status');\n }\n\n View(event){ \n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'VIEW' , \n Employees:this.Employees, \n Type:this.Types,\n Currency:this.Currency,\n RequestID:event.ReqID \n }\n const dialogRef = this.dialog.open(AdvancerequestviewComponent, dialogConfig)\n dialogRef.afterClosed()\n \n }\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this advance?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.cid,\n Flag:\"DELETE\", \n Prefix:event.ReqID,\n LedgerID:'0', \n Type: '0', \n Description: '0',\n AdvAmount: 0,\n Currency: '0',\n UserID:this.CurLedgerID,\n ApprovedAmt:'0',\n MonthlyDeduct:'0',\n DeductionMonthCount:'0',\n StartDate:this.datePipe.transform(sdate,\"dd-MM-yyyy\")\n };\n this.service.httpPost('/AdvanceRequest/SetAdvanceRequest',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.Submit();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.Submit();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n Approve(event){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'APPROVE', \n Employees:this.Employees, \n Type:this.Types,\n Currency:this.Currency,\n RequestID:event.ReqID \n }\n const dialogRef = this.dialog.open(AdvancerequestviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n }\n onClear()\n {\n this.AdvanceRequestFormGroup.reset(); \n this.myControl.setValue(''); \n this.AdvanceRequestFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n}\nexport interface GroupALL {\n ReqID: string;\n Description: string;\n}\n","import { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport { DatePipe } from '@angular/common';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n\n\n@Component({\n selector: 'app-advancerequestview',\n templateUrl: './advancerequestview.component.html',\n styleUrls: ['./advancerequestview.component.css']\n})\n\n\nexport class AdvancerequestviewComponent implements OnInit {\n ApprovedBy:any;\n ApprovedDate:any;\n Flag:any;\n showSpinner:any;\n AdvanceRequestViewFormGroup: FormGroup;\n Companies:any;\n Employees: any;\n Types:any;\n Currency:any;\n selectedReqID: any;\n CurLedgerID:any;\n RequestID:any;\n Monthydedamt:number;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n selectedEmpID: any;\n advid:string[]=[];\n cid:any;\n visible:boolean=false;\n savebtnvisible:boolean=false;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder, private datePipe: DatePipe,\n private dialog: MatDialog,private dialogService: DialogService,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n if(this.data.Flag ==='VIEW' ) \n this.savebtnvisible=false;\n else\n this.savebtnvisible=true;\n\n this.Flag=this.data.Flag;\n\n this.cid = this.data.cid; \n this.Employees = this.data.Employees; \n this.Types = this.data.Type;\n this.Currency=this.data.Currency;\n this.selectedReqID=this.data.RequestID; \n\n this.employeeid= _.pluck(this.Employees, 'Name'); \n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n\n \n this.AdvanceRequestViewFormGroup = this.formBuilder.group({ \n fcCompany: [''], \n // fcReqID: ['', Validators.required], \n fcType: ['', Validators.required],\n fcDescription: ['', Validators.required],\n fcAmtRequest: ['', Validators.required],\n fcCurrency: ['', Validators.required],\n myControl: [''], \n fcApprovedAmt: [''], \n fcFromDate: [''], \n fcMaxMonth: [''], \n fcMonthlyDeductAmt: [''], \n }); \n }\n\n ngOnInit(): void {\n // this.cid=JSON.parse(sessionStorage.getItem('cid')); \n if(this.Flag !=='ADD')\n {\n this.visible=true;\n this.onReqIDChange();\n }\n \n this.AdvanceRequestViewFormGroup.controls.fcCompany.setValue(this.cid);\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.username;\n\n \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n // console.log('selectedEmpID', this.selectedEmpID); \n }\n\n onReqIDChange() {\n // console.log('event change',event.option.value );\n\n // this.selectedReqID = event.option.value;\n let params = {\n CID: this.cid,\n Flag: \"EDITDATA\",\n Prefix:this.selectedReqID\n };\n this.service.httpPost('/AdvanceRequest/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n\n if (result.errno === 0) { \n this.RequestID=result.respdata.Editdata;\n \n // console.log('RequestID ', this.RequestID);\n // console.log('DeductionMonthCount ', this.RequestID[0].DeductionMonthCount);\n // console.log('MonthlyDeduct ', this.RequestID[0].MonthlyDeduct);\n this.selectedEmpID=this.RequestID[0].Name;\n this.myControl.setValue(this.RequestID[0].Name);\n this.AdvanceRequestViewFormGroup.controls.fcType.setValue(this.RequestID[0].Type);\n this.AdvanceRequestViewFormGroup.controls.fcDescription.setValue(this.RequestID[0].Description);\n this.AdvanceRequestViewFormGroup.controls.fcAmtRequest.setValue(this.RequestID[0].AmountRequested);\n this.AdvanceRequestViewFormGroup.controls.fcCurrency.setValue(this.RequestID[0].Currency);\n this.AdvanceRequestViewFormGroup.controls.fcApprovedAmt.setValue(this.RequestID[0].ApprovedAmount);\n this.AdvanceRequestViewFormGroup.controls.fcFromDate.setValue(this.RequestID[0].StartDate);\n this.AdvanceRequestViewFormGroup.controls.fcMaxMonth.setValue(this.RequestID[0].DeductionMonthCount);\n this.AdvanceRequestViewFormGroup.controls.fcMonthlyDeductAmt.setValue(this.RequestID[0].MonthlyDeduct);\n this.ApprovedBy=this.RequestID[0].ApprovedBy;\n this.ApprovedDate=this.RequestID[0].ApprovedDate;\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Submit() { \n if (this.AdvanceRequestViewFormGroup.invalid) {\n this.NotificationService.warn('Please fill the mandatory fields'); \n return;\n } \n this.showSpinner=true;\n let sdate =Date()\n let params; \n if(this.Flag=='ADD')\n {\n params = { \n CID:this.cid,\n Flag: \"ADD\", \n LedgerID:this.selectedEmpID, \n Type: this.AdvanceRequestViewFormGroup.get('fcType').value, \n Description: this.AdvanceRequestViewFormGroup.get('fcDescription').value,\n AdvAmount: this.AdvanceRequestViewFormGroup.get('fcAmtRequest').value,\n Currency: this.AdvanceRequestViewFormGroup.get('fcCurrency').value,\n UserID:this.CurLedgerID\n }\n }\n else\n {\n params = { \n CID:this.cid,\n Flag:this.Flag, \n Prefix:this.selectedReqID,\n LedgerID:this.selectedEmpID, \n Type: this.AdvanceRequestViewFormGroup.get('fcType').value, \n Description: this.AdvanceRequestViewFormGroup.get('fcDescription').value,\n AdvAmount: this.AdvanceRequestViewFormGroup.get('fcAmtRequest').value,\n Currency: this.AdvanceRequestViewFormGroup.get('fcCurrency').value,\n UserID:this.CurLedgerID,\n ApprovedAmt:this.AdvanceRequestViewFormGroup.get('fcApprovedAmt').value,\n MonthlyDeduct:this.AdvanceRequestViewFormGroup.get('fcMonthlyDeductAmt').value,\n DeductionMonthCount:this.AdvanceRequestViewFormGroup.get('fcMaxMonth').value,\n StartDate:this.datePipe.transform(this.AdvanceRequestViewFormGroup.get('fcMaxMonth').value,\"dd-MM-yyyy\"),\n }\n };\n this.service.httpPost('/AdvanceRequest/SetAdvanceRequest',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n this.onCloseDialog();\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n onClear()\n {\n this.AdvanceRequestViewFormGroup.reset(); \n this.myControl.setValue('');\n this.AdvanceRequestViewFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n onCloseDialog()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n // .afterClosed().subscribe(res => {\n // if (res) {\n this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n // }\n // });\n }\n\n\n onChangeEvent(event: any){\n // console.log('month',event.target.value);\n this.Monthydedamt=this.AdvanceRequestViewFormGroup.get('fcApprovedAmt').value / event.target.value;\n // console.log('monthlydedamkjfht',this.Monthydedamt); \n this.AdvanceRequestViewFormGroup.controls.fcMonthlyDeductAmt.setValue(this.Monthydedamt);\n }\n \n}\n","import { Component, OnInit,ViewChild, } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder,FormArray,AbstractControl } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { MatSort} from '@angular/material/sort';\nimport {MatPaginator} from '@angular/material/paginator';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ThemePalette } from '@angular/material/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { User } from './../../../../Modules/user';\n\n@Component({\n selector: 'app-empattendanceview',\n templateUrl: './empattendanceview.component.html',\n styleUrls: ['./empattendanceview.component.scss'],\n})\nexport class EmpattendanceviewComponent implements OnInit {\n @ViewChild('stepper') stepper;\n \n public disabled = false;\n public color: ThemePalette = 'primary';\n public touchUi = false;\n\n colorCtr: AbstractControl = new FormControl(null);\n\n public listColors = ['primary', 'accent', 'warn'];\n\n public codeColorPicker = `\n \n \n \n \n `;\n\n isLinear = false;\n AttendanceReportFormGroup: FormGroup;\n AttendanceDataFormGroup: FormGroup;\n isEditable = true; \n companies: any;\n Departments: any;\n timezone:any;\n showSpinner:any\n employeelist:any;\n yearlist:any;\n datasource:MatTableDataSource;\n summarydetails:any;\n colorcode:any;\n leavelist:any;\n leavelist1:any;\n cols: MatTableDataSource;\n leaveflag=0;\n LedgerID:number;\n searchKey: string;\n isvisible=false;\n empvisible=false;\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n leaveid:string;\n CID:any;\n viewbtnvisible: boolean = false;\n category = [\n { name: 'ALL' },\n { name: 'By Employee' },\n { name: 'All With LeaveData' } \n ];\n\n columns = [\n { columnDef: 'Name', header: 'Name', cell: (element: any) => `${element.Name}`, color: \"red\" },\n { columnDef: 'S', header: 'S', cell: (element: any) => `${element.S}` },\n { columnDef: 'M', header: 'M', cell: (element: any) => `${element.M}` },\n { columnDef: 'T', header: 'T', cell: (element: any) => `${element.T}` },\n { columnDef: 'W', header: 'W', cell: (element: any) => `${element.W}` },\n { columnDef: 'T1', header: 'T', cell: (element: any) => `${element.T1}` },\n { columnDef: 'F', header: 'F', cell: (element: any) => `${element.F}` },\n { columnDef: 'S1', header: 'S', cell: (element: any) => `${element.S1}` },\n { columnDef: 'S2', header: 'S', cell: (element: any) => `${element.S2}` },\n { columnDef: 'M1', header: 'M', cell: (element: any) => `${element.M1}` },\n { columnDef: 'T2', header: 'T', cell: (element: any) => `${element.T2}` },\n { columnDef: 'W1', header: 'W', cell: (element: any) => `${element.W1}` },\n { columnDef: 'T3', header: 'T', cell: (element: any) => `${element.T3}` },\n { columnDef: 'F1', header: 'F', cell: (element: any) => `${element.F1}` },\n { columnDef: 'S3', header: 'S', cell: (element: any) => `${element.S3}` },\n { columnDef: 'S4', header: 'S', cell: (element: any) => `${element.S4}` },\n { columnDef: 'M2', header: 'M', cell: (element: any) => `${element.M2}` },\n { columnDef: 'T4', header: 'T', cell: (element: any) => `${element.T4}` },\n { columnDef: 'W2', header: 'W', cell: (element: any) => `${element.W2}` },\n { columnDef: 'T5', header: 'T', cell: (element: any) => `${element.T5}` },\n { columnDef: 'F2', header: 'F', cell: (element: any) => `${element.F2}` },\n { columnDef: 'S5', header: 'S', cell: (element: any) => `${element.S5}` },\n { columnDef: 'S6', header: 'S', cell: (element: any) => `${element.S6}` },\n { columnDef: 'M3', header: 'M', cell: (element: any) => `${element.M3}` },\n { columnDef: 'T6', header: 'T', cell: (element: any) => `${element.T6}` },\n { columnDef: 'W3', header: 'W', cell: (element: any) => `${element.W3}` },\n { columnDef: 'T7', header: 'T', cell: (element: any) => `${element.T7}` },\n { columnDef: 'F3', header: 'F', cell: (element: any) => `${element.F3}` },\n { columnDef: 'S7', header: 'S', cell: (element: any) => `${element.S7}` },\n { columnDef: 'S8', header: 'S', cell: (element: any) => `${element.S8}` },\n { columnDef: 'M4', header: 'M', cell: (element: any) => `${element.M4}` },\n { columnDef: 'T8', header: 'T', cell: (element: any) => `${element.T8}` },\n { columnDef: 'W4', header: 'W', cell: (element: any) => `${element.W4}` },\n { columnDef: 'T9', header: 'T', cell: (element: any) => `${element.T9}` },\n { columnDef: 'F4', header: 'F', cell: (element: any) => `${element.F4}` },\n { columnDef: 'S9', header: 'S', cell: (element: any) => `${element.S9}` },\n { columnDef: 'S10', header: 'S', cell: (element: any) => `${element.S10}` },\n { columnDef: 'M5', header: 'M', cell: (element: any) => `${element.M5}` },\n { columnDef: 'T10', header: 'T', cell: (element: any) => `${element.T10}` },\n ];\n\n displayedColumns = this.columns.map(c => c.columnDef);\n displayedColumns1=['Name','CarryForward','NoofDays','TotalLeave','TakenLeave','RemainingLeave','AnnualLeave']\n displayedColumns2=['Emergency','Leave','Maternity','SickLeave','UnpaidLeave','ExtendedLeave']\n // displayedColumns1=['Name','CarryForward','NoofDays','TotalLeave','TakenLeave','RemainingLeave','AnnualVacation','Emergency','Leave','Maternity','SickLeave','UnpaidLeave','ExtendedLeave']\n \n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n get ordersFormArray() \n {\n return this.AttendanceDataFormGroup.controls.orders as FormArray;\n }\n constructor(private formBuilder: FormBuilder,public service: HttpserviceService,\n private generic: GenericService, private service1: UserService,\n public notificationService: NotificationService,private dialog: MatDialog) {\n\n this.AttendanceReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required], \n fcYear: ['', Validators.required]\n });\n\n this.AttendanceDataFormGroup = this.formBuilder.group({\n orders: new FormArray([]) \n });\n \n }\n private addCheckboxes() \n {\n this.leavelist.forEach(() => this.ordersFormArray.push(new FormControl('True')));\n }\n \n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getComboValue(); \n let year = new Date().getFullYear();\n this.AttendanceReportFormGroup.controls.fcCompany.setValue(this.CID); \n this.AttendanceReportFormGroup.controls.fcYear.setValue(year); \n }\n onCompanySelect(event)\n {\n this.CID=event.value;\n this.AttendanceReportFormGroup.reset();\n this.myControl.setValue(''); \n this.AttendanceDataFormGroup = this.formBuilder.group({\n orders: new FormArray([]) \n });\n this.datasource = new MatTableDataSource([]);\n this.summarydetails = new MatTableDataSource([]);\n this.getComboValue(); \n this.AttendanceReportFormGroup.controls.fcCompany.setValue(this.CID); \n }\n \n \n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n this.summarydetails.filter = filterValue.trim().toLowerCase();\n }\n \n\n getcolor1(state)\n {\n switch (state.columnDef)\n {\n case \"Name\":\n return 'black';\n }\n }\n getcolor2(state)\n {\n switch (state.columnDef)\n {\n case \"Name\":\n return 'left';\n }\n }\n getcolor(state)\n {\n for (let key of Object.keys(this.leavelist1)) {\n let colorName = this.leavelist1[key];\n if(colorName.LID==state)\n {\n return colorName.ColorCode;\n }\n }\n\n switch (state){\n case '2':\n return '#E8DAEF'\n case '0':\n return '#B0C4DE'\n case 'null':\n return '#F9FAFA' \n }\n \n }\n\n gettimepunch()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.showSpinner=true;\n let params = {\n cid:this.CID, \n EmpID:curUser.ledgerid,\n Month: 1 ,\n TimeZone:1,\n checkcode:\"\", \n Flag:\"By Employee\",\n Year:this.AttendanceReportFormGroup.get('fcYear').value,\n Department:0,\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result=data;\n if (result.errno === 0){\n\n this.datasource= result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n\n this.summarydetails=result.respdata.Table1;\n // console.log('asdf',this.summarydetails)\n const removeDisName = this.summarydetails.map(({ disName, ...item }) => item);\n // console.log('params0 :', removeDisName);\n const removeCarryForward = removeDisName.map(({ IsCarryForward, ...item }) => item);\n // console.log('params1 :', removeCarryForward);\n\n this.summarydetails=removeCarryForward;\n // console.log('final :', this.summarydetails);\n\n // this.summarydetails.sort = this.sort;\n // this.summarydetails.paginator = this.paginator;\n this.stepper.selectedIndex = 1;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getComboValue()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.CID,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:1,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){ \n this.companies= curUser.dtsiteid;\n this.yearlist= result.respdata.Table1;\n this.leavelist=result.respdata.Table2;\n this.leavelist1=result.respdata.Table2;\n \n this.addCheckboxes();\n \n this. getUserList();\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_105\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n this.viewbtnvisible = btnVisilityData.editflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n\n Submit() {\n \n const lid = this.AttendanceDataFormGroup.value.orders\n .map((checked, i) => checked ? this.leavelist[i].LID : null)\n .filter(v => v !== null);\n \n this.leaveid=lid.toString();\n let newList = [];\n for (let value of Object.values(lid))\n {\n for (var i = 0; i < this.leavelist.length; i++) {\n if (this.leavelist[i].LID === value ) {\n newList.push(this.leavelist[i]);\n }\n }\n }\n this.leavelist1=newList;\n\n this.gettimepunch();\n \n }\n\n}\nexport interface GroupALL {\n Name: string;\n}\n","import { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { DocumentreqviewComponent } from '../documentreqview/documentreqview.component';\nimport { UploadprofilepicComponent } from '../../../../components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component';\nimport { UploaddocrequestComponent } from '../../../../components/Employee/DocumentRequest/uploaddocrequest/uploaddocrequest.component';\nimport { DownloaddocrequestComponent } from '../../../../components/Employee/DocumentRequest/downloaddocrequest/downloaddocrequest.component';\n\n@Component({\n selector: 'app-documentreqlist',\n templateUrl: './documentreqlist.component.html',\n styleUrls: ['./documentreqlist.component.scss'],\n})\nexport class DocumentreqlistComponent implements OnInit {\n\n flag: string;\n Companies:any;\n Employees: any;\n Types:any;\n Currency:any;\n datasource:MatTableDataSource;\n DocumentRequestFormGroup: FormGroup;\n selectedEmpID: any;\n CurLedgerID:any;\n searchKey: string;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n approvebtnvisible: boolean = false;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n cid:any;\n siteid:any;\n Status : any;\n displayedColumns =['ReqDate','EmpName','DocType','DocComment','DocStatus','Action'];\n \n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService,private formBuilder: FormBuilder, private service1: UserService, \n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n { \n \n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n // this.DocumentRequestFormGroup.controls.fcCompany.setValue(this.cid);\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.username;\n this.siteid=curUser.dtsiteid; \n this.getddllist();\n \n }\n\n Submit()\n {\n this.getddllist();\n }\n \n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n\n changesite(e) {\n this.cid=e;\n this.getddllist();\n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n MenuID:\"STS_106\",\n RequestID:sessionStorage.getItem('groupid')\n };\n this.service.httpPost('/DocumentRequest/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.Companies =result.respdata.Companyid; \n this.Employees = result.respdata.Employees; \n this.Types = result.respdata.Type;\n this.Status=result.respdata.Status; \n \n this.datasource = new MatTableDataSource(result.respdata.DocumentRequestlist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n\n this. getUserList();\n // this.employeeid= _.pluck(this.Employees, 'Name'); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_106\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.approvebtnvisible = btnVisilityData.approveflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n // selectedemployee(event) { \n // this.selectedEmpID = event.option.value;\n // const str: string = this.selectedEmpID; \n // // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n // this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n // // console.log('selectedEmpID', this.selectedEmpID); \n // }\n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'ADD' , \n Employees:this.Employees, \n Type:this.Types,\n Status:this.Status,\n MenuID:'STS_106'\n }\n const dialogRef = this.dialog.open(DocumentreqviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n\n }\n\n Edit(event){ \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'EDIT' , \n Employees:this.Employees, \n Type:this.Types,\n Status:this.Status ,\n RequestID:event.CDID ,\n MenuID:'STS_106' \n }\n const dialogRef = this.dialog.open(DocumentreqviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n }\n \n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Document Request', 'Document Request' );\n }\n\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this document?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.cid,\n Flag:\"DELETE\", \n RequestID:event.CDID, \n };\n this.service.httpPost('/DocumentRequest/SetDocumentRequest',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.Submit();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.Submit();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n DocumentView(event){\n // this.DcValidate.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.cid,\n Flag:'VIEW' , \n RequestID:event.CDID \n }\n this.dialog.open(DownloaddocrequestComponent, dialogConfig); \n }\n\n onUpload(data, _flag,ledgerid){\n const dialogConfig = new MatDialogConfig();\n console.log('data',data,_flag,ledgerid);\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n cdid:data,\n ledgerID:ledgerid,\n cid: this.cid\n \n }\n const dialogRef =this.dialog.open(UploaddocrequestComponent, dialogConfig); \n dialogRef.afterClosed() \n }\n\n\n // Approve(event){\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true;\n // dialogConfig.data = { \n // cid:this.cid,\n // Flag:'APPROVE', \n // Employees:this.Employees, \n // Type:this.Types,\n // Currency:this.Currency,\n // RequestID:event.ReqID \n // }\n // const dialogRef = this.dialog.open(DocumentreqviewComponent, dialogConfig)\n // dialogRef.afterClosed()\n // }\n // onClear()\n // {\n // this.DocumentRequestFormGroup.reset(); \n // this.myControl.setValue(''); \n // this.DocumentRequestFormGroup.controls.fcCompany.setValue(this.cid);\n // }\n\n}\nexport interface GroupALL {\n ReqID: string;\n Description: string;\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\nimport { Observable } from 'rxjs';\nimport { HttpserviceService } from './../../../../app/Services/httpServices/httpservice.service';\n\n\n@Injectable({\n providedIn: 'root'\n })\nexport class Documentreqvalidate {\n date= new Date();\n constructor(private http: HttpserviceService) { }\n \n form: FormGroup = new FormGroup({\n // postingdate: new FormControl(''),\n // TaskCategory: new FormControl(''),\n // desc1: new FormControl(''),\n // desc2: new FormControl(''),\n // desc3: new FormControl(''),\n // desc4: new FormControl(''),\n // comment: new FormControl(''),\n // startdate: new FormControl(''),\n // enddate: new FormControl(''),\n // status: new FormControl(''),\n // popupdays: new FormControl(''),\n // notifyflag: new FormControl('')\n \n });\n \n \n \n initializeFormGroup(){\n this.form.setValue({\n // postingdate: this.date,\n // TaskCategory: '',\n // desc1: '',\n // desc2: '',\n // desc3: '',\n // desc4: '',\n // comment: '',\n // startdate: this.date,\n // enddate:this.date,\n // status: 'Open',\n // popupdays: '0',\n // notifyflag: ''\n });\n }\n populateForm(data){\n let userdata;\n \n userdata = data;\n const user = {\n postingdate: userdata.PostDate,\n TaskCategory: userdata.TaskCategory,\n desc1: userdata.Desc1,\n desc2: userdata.Desc2,\n desc3: userdata.Desc3,\n desc4: userdata.Desc4,\n comment: userdata.Comment,\n startdate: userdata.StartDate,\n enddate:userdata.DueDate,\n status: userdata.Status,\n popupdays: userdata.PopUpDays,\n notifyflag: userdata.NotifyFlag\n \n };\n this.form.setValue(user);\n \n }\n getdocumentcontrol(params: any)\n {\n const query = `cid=${params.cid}&flag=${params.flag}&taskno=${params.taskno}`;\n return this.http.httpGet('/Documentcontrol/GetDocumentcontrol?' , query)\n // .catch(this.handleError);\n }\n setdocumentcontrol(data: any)\n {\n return this.http.httpPost('/Documentcontrol/SetDocumentcontrol?', data)\n // .catch(this.handleError);\n }\n // setdocumentcontrol1(data: any)\n // {\n // return this.http.post(baseUrl + '/SetDocumentcontrol?', data)\n // // .catch(this.handleError);\n // }\n \n public downloadFile(CID: number,Flag:string,Taskno:number): Observable < Blob > { \n return this.http.httpGet2('/Documentcontrol/GetFile?cid=', CID+'&flag='+Flag+'&taskno='+Taskno); \n } \n public downloadImage(image: string): Observable < Blob > { \n return this.http.httpGet2( '/Documentcontrol/GetImage?image=', image); \n } \n \n AddFileDetails(data: FormData): Observable < string > { \n let headers = new HttpHeaders(); \n headers.append('Content-Type', 'application/json'); \n const httpOptions = { \n headers: headers \n }; \n return this.http.httpPost( '/DocumentRequest/AddFileDetails/', data)\n // .catch(this.handleError); \n }\n \n GetExpiryDetails(params: any)\n {\n const query = `cid=${params.cid}&username=${params.username}&flag=${params.flag}&hide=${params.hide}`;\n return this.http.httpGet( '/Documentcontrol/GetExpiryDetails?' , query)\n // .catch(this.handleError);\n }\n}\n","import { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport { DatePipe } from '@angular/common';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-documentreqview',\n templateUrl: './documentreqview.component.html',\n styleUrls: ['./documentreqview.component.scss'],\n})\nexport class DocumentreqviewComponent implements OnInit {\n date= new Date();\n Flag:any;\n showSpinner:any;\n DocumentRequestViewFormGroup: FormGroup;\n Companies:any;\n Employees: any;\n Types:any;\n Status:any;\n selectedReqID: any;\n CurLedgerID:any;\n RequestID:any;\n Monthydedamt:number;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n selectedEmpID: any;\n advid:string[]=[];\n cid:any;\n visible:boolean=false;\n empvisible:boolean=false;\n Menuid:any;\n ledgerid:any;\n emp:boolean=false;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder, private datePipe: DatePipe,\n private dialog: MatDialog,private dialogService: DialogService,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n //console.log('dialogdata',this.data) \n this.Menuid=this.data.MenuID;\n \n if(this.Menuid=='STS_106') \n this.empvisible=true; \n else \n this.empvisible=false;\n \n this.Flag=this.data.Flag;\n this.cid = this.data.cid; \n this.Employees = this.data.Employees; \n this.Types = this.data.Type;\n this.Status=this.data.Status;\n this.selectedReqID=this.data.RequestID; \n\n this.employeeid= _.pluck(this.Employees, 'Name'); \n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n\n this.DocumentRequestViewFormGroup = this.formBuilder.group({ \n myControl: [''], \n fcType: ['', Validators.required], \n fcStatus: ['', Validators.required], \n fcDate: ['', Validators.required],\n fcDescription: [''] \n }); \n }\n\n ngOnInit() {\n if(this.Flag !=='ADD')\n {\n this.visible=true;\n this.getddllist();\n }\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // const str: string = this.CurLedgerID; \n \n this.CurLedgerID=curUser.empname.split(' - ');\n // console.log('curuser',this.CurLedgerID[0]);\n this.ledgerid=curUser.ledgerid;\n this.DocumentRequestViewFormGroup.controls.fcDate.setValue(this.date);\n this.DocumentRequestViewFormGroup.controls.fcStatus.setValue('Open');\n\n if(this.Menuid ==='STS_107')\n this.emp=true;\n else\n this.emp=false; \n\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n // console.log('selectedEmpID', this.selectedEmpID); \n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n Flag: \"EDITDATA\",\n MenuID:this.Menuid,\n RequestID:this.selectedReqID\n };\n this.service.httpPost('/DocumentRequest/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.RequestID=result.respdata.Editdata;\n\n this.selectedEmpID=this.RequestID[0].EmpName;\n this.myControl.setValue(this.RequestID[0].EmpName);\n this.DocumentRequestViewFormGroup.controls.fcType.setValue(this.RequestID[0].DocType);\n this.DocumentRequestViewFormGroup.controls.fcDescription.setValue(this.RequestID[0].DocComment);\n this.DocumentRequestViewFormGroup.controls.fcStatus.setValue(this.RequestID[0].DocStatus);\n this.DocumentRequestViewFormGroup.controls.fcDate.setValue(this.RequestID[0].ReqDate);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\nSubmit() { \n if (this.DocumentRequestViewFormGroup.invalid) {\n this.NotificationService.warn('Please fill madatory fields'); \n return;\n } \n this.showSpinner=true;\n let sdate =Date()\n let params; \n if(this.Flag=='ADD')\n {\n params = { \n CID:this.cid,\n Flag: this.Flag, \n LedgerID:this.Menuid=='STS_106'?this.selectedEmpID:this.CurLedgerID[0], \n RequestDocType: this.DocumentRequestViewFormGroup.get('fcType').value, \n Description: this.DocumentRequestViewFormGroup.get('fcDescription').value,\n DocStatus: this.DocumentRequestViewFormGroup.get('fcStatus').value,\n RequestDate: this.DocumentRequestViewFormGroup.get('fcDate').value,\n CreatedBy:this.ledgerid,\n GroupID:JSON.parse(sessionStorage.getItem('groupid'))\n }; \n }\n else\n {\n params = { \n CID:this.cid,\n Flag: this.Flag, \n RequestID:this.selectedReqID,\n LedgerID:this.selectedEmpID, \n RequestDocType: this.DocumentRequestViewFormGroup.get('fcType').value, \n Description: this.DocumentRequestViewFormGroup.get('fcDescription').value,\n DocStatus: this.DocumentRequestViewFormGroup.get('fcStatus').value,\n RequestDate: this.DocumentRequestViewFormGroup.get('fcDate').value,\n CreatedBy:this.ledgerid,\n GroupID:JSON.parse(sessionStorage.getItem('groupid'))\n }; \n }\n\n this.service.httpPost('/DocumentRequest/SetDocumentRequest',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n this.onCloseDialog();\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n onClear()\n {\n this.DocumentRequestViewFormGroup.reset(); \n this.myControl.setValue(''); \n this.DocumentRequestViewFormGroup.controls.fcDate.setValue(this.date);\n this.DocumentRequestViewFormGroup.controls.fcStatus.setValue('Open');\n }\n\n onCloseDialog()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n // .afterClosed().subscribe(res => {\n // if (res) {\n this.DocumentRequestViewFormGroup.reset();\n this.dialogRef.close();\n // }\n // });\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { saveAs } from 'file-saver';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { Documentreqvalidate } from '../documentreqvalidate';\nimport { NotificationService } from './../../../../../app/Services/OtherServices/notification.service';\nimport { DialogService } from './../../../../../app/Services/OtherServices/dialog.service';\nimport { AppError } from './../../../../../app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from './../../../../../app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-downloaddocrequest',\n templateUrl: './downloaddocrequest.component.html',\n styleUrls: ['./downloaddocrequest.component.scss'],\n})\nexport class DownloaddocrequestComponent implements OnInit {\n\n datasource:MatTableDataSource;\n companies:any;\n searchKey: string;\n RequestID:Number=0;\n CID:any;\n \n //displayedColumns =['TaskID','Name','TaskCategory','Desc1','StartDate','DueDate','NotifyFlag','PopUpDays','Status','Action'];\n displayedColumns =['slno','FileName','Action'];\n constructor(public DcValidate: Documentreqvalidate,public notificationService: NotificationService,private service:HttpserviceService,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any,\n private dialogService: DialogService) { \n this.RequestID=this.data.RequestID;\n this.CID=this.data.cid;\n }\n\n ngOnInit(): void {\n this.getdocumentdetails();\n }\n\n onCloseDialog()\n {\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClear()\n {\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n }\n getdocumentdetails()\n {\n // console.log(\"dddd\",this.LedgerID)\n let params = {\n cid:this.CID,\n flag:'DocumentView',\n taskno:this.RequestID\n }\n this.DcValidate.getdocumentcontrol(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n //this.companies= result.respdata.Table;\n this.datasource= result.respdata.Table1;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n // this.datasource.sort = this.sort;\n // this.datasource.paginator = this.paginator;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n downloadDocFile(data) { \n const slno = data.slno; \n const docname=data.FileName \n\n var DocFile = docname.slice(0, -5); \n //var FileSaver ;//= 'file-saver';\n this.DcValidate.downloadFile(this.CID,'DownloadFile',data.slno).subscribe((data) => { \n saveAs(data, DocFile) ;\n\n console.log('download',data)\n console.log('download123',DocFile)\n\n }); \n } \n\n onDelete(data, _flag)\n {\n this.dialogService.openConfirmDialog('Are you sure to delete this document?')\n .afterClosed().subscribe(res => {\n if (res) {\n const paramsExtra = {\n cid: this.CID,\n flag: \"DELETEFILE\",\n RequestID: data.slno,\n // TaskID:data.slno,\n LedgerID: 0,\n UserName: 'admin',\n Comments:'',\n FileName:'',\n FilePath:'',\n Extension:'',\n AliasName:'',\n EmpName:'',\n TaskCategory:'',\n StartDate:'',\n enddate:'',\n Status:'',\n NotifyFlag:'',\n PostingDate:''\n };\n const params = Object.assign(paramsExtra);\n // console.log(\"save\",params);\n this.service.httpPost('/DocumentRequest/SetDocumentRequest',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.respdata);\n\n if (users.errno === 0){\n // this.DcValidate.form.reset();\n // this.DcValidate.initializeFormGroup();\n this.notificationService.warn('Deleted successfully');\n // this.onClose(this.model);\n this. onCloseDialog();\n\n \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n this. onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.DcValidate.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n\n}\nexport interface GroupALL {\n Name: string;\n}\n","import { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { DocumentreqviewComponent } from '../documentreqview/documentreqview.component';\nimport { UploadprofilepicComponent } from '../../../../components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component';\nimport { UploaddocrequestComponent } from '../../../../components/Employee/DocumentRequest/uploaddocrequest/uploaddocrequest.component';\nimport { DownloaddocrequestComponent } from '../../../../components/Employee/DocumentRequest/downloaddocrequest/downloaddocrequest.component';\n\n\n@Component({\n selector: 'app-empdocreqlist',\n templateUrl: './empdocreqlist.component.html',\n styleUrls: ['./empdocreqlist.component.scss'],\n})\nexport class EmpdocreqlistComponent implements OnInit {\n\n flag: string;\n Companies:any;\n Employees: any;\n Types:any;\n Currency:any;\n datasource:MatTableDataSource;\n DocumentRequestFormGroup: FormGroup;\n selectedEmpID: any;\n CurLedgerID:any;\n searchKey: string;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n approvebtnvisible: boolean = false;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n cid:any;\n siteid:any;\n Status : any;\n displayedColumns =['ReqDate','EmpName','DocType','DocComment','DocStatus','Action'];\n LedgerID:any;\n\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService,private formBuilder: FormBuilder, private service1: UserService, \n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n { \n \n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n // this.DocumentRequestFormGroup.controls.fcCompany.setValue(this.cid);\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.username;\n this.LedgerID=curUser.ledgerid;\n this.siteid=curUser.dtsiteid; \n this.getddllist();\n \n }\n\n Submit()\n {\n this.getddllist();\n }\n \n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n\n changesite(e) {\n this.cid=e;\n this.getddllist();\n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n MenuID:\"STS_107\",\n RequestID:sessionStorage.getItem('groupid'),\n LedgerID:this.LedgerID\n };\n this.service.httpPost('/DocumentRequest/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.Companies =result.respdata.Companyid; \n this.Employees = result.respdata.Employees; \n this.Types = result.respdata.Type;\n this.Status=result.respdata.Status; \n \n this.datasource = new MatTableDataSource(result.respdata.DocumentRequestlist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n\n this. getUserList();\n // this.employeeid= _.pluck(this.Employees, 'Name'); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_107\",\n groupid: JSON.parse(sessionStorage.getItem('groupid')) \n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.approvebtnvisible = btnVisilityData.approveflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n // selectedemployee(event) { \n // this.selectedEmpID = event.option.value;\n // const str: string = this.selectedEmpID; \n // // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n // this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n // // console.log('selectedEmpID', this.selectedEmpID); \n // }\n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'ADD' , \n Employees:this.Employees, \n Type:this.Types,\n Status:this.Status,\n MenuID:'STS_107' \n }\n const dialogRef = this.dialog.open(DocumentreqviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n\n }\n\n Edit(event){ \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.cid,\n Flag:'EDIT' , \n Employees:this.Employees, \n Type:this.Types,\n Status:this.Status ,\n RequestID:event.CDID,\n MenuID:'STS_107' \n }\n const dialogRef = this.dialog.open(DocumentreqviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n });\n }\n\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this document?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.cid,\n Flag:\"DELETE\", \n RequestID:event.CDID, \n };\n this.service.httpPost('/DocumentRequest/SetDocumentRequest',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.Submit();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.Submit();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n DocumentView(event){\n // this.DcValidate.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.cid,\n Flag:'VIEW' , \n RequestID:event.CDID \n }\n this.dialog.open(DownloaddocrequestComponent, dialogConfig); \n }\n\n onUpload(data, _flag,ledgerid){\n const dialogConfig = new MatDialogConfig();\n console.log('data',data,_flag,ledgerid);\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n cdid:data,\n ledgerID:ledgerid,\n cid: this.cid\n \n }\n const dialogRef =this.dialog.open(UploaddocrequestComponent, dialogConfig); \n dialogRef.afterClosed() \n }\n\n\n // Approve(event){\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true;\n // dialogConfig.data = { \n // cid:this.cid,\n // Flag:'APPROVE', \n // Employees:this.Employees, \n // Type:this.Types,\n // Currency:this.Currency,\n // RequestID:event.ReqID \n // }\n // const dialogRef = this.dialog.open(DocumentreqviewComponent, dialogConfig)\n // dialogRef.afterClosed()\n // }\n // onClear()\n // {\n // this.DocumentRequestFormGroup.reset(); \n // this.myControl.setValue(''); \n // this.DocumentRequestFormGroup.controls.fcCompany.setValue(this.cid);\n // }\n\n}\nexport interface GroupALL {\n ReqID: string;\n Description: string;\n}\n","import { Component, OnInit, Input, Output, EventEmitter, Inject, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, FormArray } from '@angular/forms';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { User } from 'src/app/Modules/user';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { Documentreqvalidate } from '../documentreqvalidate';\nimport { HttpHeaders } from '@angular/common/http';\n\n@Component({\n selector: 'app-uploaddocrequest',\n templateUrl: './uploaddocrequest.component.html',\n styleUrls: ['./uploaddocrequest.component.scss'],\n})\nexport class UploaddocrequestComponent implements OnInit {\n showSpinner:any;\n parentForm: FormGroup;\n fileUploadId: any=\"uploadpath\";\n public files: File[] = [];\n CID:any;\n flag:any;\n TicketID:any=0;\n CurLedgerID:any;\n formData = new FormData();\n Comment:any\n cdid:any;\n LedgerID:any;\n\n @Output() afterSelectionMethod: EventEmitter = new EventEmitter();\n\n constructor(public service: HttpserviceService,public notificationService: NotificationService,private _snackBar: MatSnackBar, private modalRef: MatDialogRef\n ,public DcValidate: Documentreqvalidate\n ,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) \n { \n //console.log('jksdfhj',this.data)\n this.flag = this.data.flag; \n this.cdid=this.data.cdid;\n this.LedgerID=this.data.ledgerID;\n this.CID=this.data.cid;\n \n }\n \n ngOnInit(){\n \n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.parentForm = new FormGroup({\n fileUploadId: new FormControl('')\n });\n }\n \n \n onFilesChange(f){ \n this._snackBar.open(f.length + \" File(s) selected!\", null, {\n duration: 2000,\n });\n // console.log(\"dd\",f)\n for (var i = 0; i < f.length; i++) {\n this.files.push(f[i]);\n } \n //console.log('amjath',this.files); \n }\n \n onSubmit()\n { \n this.showSpinner=true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const formData = new FormData();\n\n for (var i = 0; i < this.files.length; i++) { \n formData.append(\"file\"+i, this.files[i]);\n }\n\n formData.append('LedgerID',this.LedgerID.toString());\n formData.append('CDID',this.cdid);\n formData.append('CID',this.CID); \n formData.append('Flag','SAVEFILE'); \n formData.append('UserID',curUser.username);\n this.DcValidate.AddFileDetails(formData).subscribe(result => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n let users: any\n users=result;\n if (users.errno === 0){\n this.notificationService.success('Upload successfully');\n this.onCloseDialog();\n }\n });\n }\n \n onCloseDialog()\n { \n this.dialogRef.close({event: 'CLEAR'});\n }\n \n onRemove(event) { \n console.log(event);\n console.log('this.files',this.files);\n this.files.splice(event, 1);\n }\n} \n","\nimport { Component, OnInit,ViewChild, } from '@angular/core';\nimport { FormGroup,FormControl, FormBuilder,} from '@angular/forms';\nimport { MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { NgForm } from '@angular/forms';\nimport { Inject } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { DocumentcontrolValidate } from '../documentcontrolvalidate';\nimport { NotificationService } from '../../../../../app/Services/OtherServices/notification.service';\nimport { User } from '../../../../../app/Modules/user';\nimport { AppError } from '../../../../../app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from '../../../../../app/Services/httpServices/ErrorHandler/bad-input';\n\nexport interface User2 {\n Name: string;\n}\n@Component({\n selector: 'app-documentcontrol',\n templateUrl: './documentcontrol.component.html',\n styleUrls: ['./documentcontrol.component.css']\n})\nexport class DocumentcontrolComponent implements OnInit {\n\n employeelist:any;\n Categorylist:any;\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n LedgerID:number;\n value: any[] = [];\n flag: string;\n flag1: string;\n model: any;\n Name:any;\n TaskID:number=0;\n Statuslist:any;\n extension:any;\n isvisible:any;\n AliasName:any;\n Comment:any;\n RESUME:any;\n CID:any;\n fieldvisible:boolean=false;\n \n Status= [\n { name: 'Open' },\n { name: 'Hold' },\n { name: 'Completed' },\n { name: 'UnExpired' }\n \n ]\n\n // displayedColumns =['TaskID','Name','TaskCategory','Desc1','StartDate','DueDate','NotifyFlag','PopUpDays','Status','Action'];\n // @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n // @ViewChild(MatSort, {static: true}) sort: MatSort;\n @ViewChild('form') form: NgForm;\n\n\n\n @ViewChild('fileUpload', { static: false }) fileUpload;\n files = [];\n retrievedImage: any;\n retrieveResonse:any;\n base64Data:any;\n\n CurLedgerID:any\n\n constructor(private datePipe: DatePipe,\n public DcValidate: DocumentcontrolValidate,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n\n //console.log('dialogdata',this.data)\n this.flag = this.data.flag;\n this.Name=this.data.Name;\n this.TaskID=this.data.TaskID;\n this.LedgerID=this.data.LedgerID;\n this.CID=this.data.cid;\n \n }\n getPath() {\n var Form = document.forms['frm_upload'];\n var inputName = Form.elements['file1'].value;\n \n var imgPath = inputName;\n Form.elements['file_src'].value = imgPath;\n }\n ngOnInit(): void {\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n if(this.data.FormType==='HR')\n this.fieldvisible=true;\n else\n this.fieldvisible=false; \n\n this.isvisible = this.TaskID !== 0 ? true : false;\n this.Statuslist=this.Status;\n this.getdocumentdetails();\n this.myControl.setValue({Name: this.Name }); \n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n \n }\n selectedproduct(event) { \n this.LedgerID=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.LedgerID=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n displayFn(empid?: User2): string | undefined {\n return empid ? empid.Name : undefined;\n }\n \n updateClick() {\n this.flag1='SAVEFILE';\n }\nupload(event: any) {\n\n var Form = document.forms['frm_upload'];\n \n var inputName = Form.elements['file1'].value;\n \n var imgPath = inputName;\n Form.elements['file_src'].value = imgPath;\n\n if (event.target.files && event.target.files[0]) {\n var reader = new FileReader();\n reader.onload = (event: any) => {\n var localUrl = event.target.result;\n \n }\n reader.readAsDataURL(event.target.files[0]);\n }\n \n}\nonevent (str) {\n var bytes = [];\n for(var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n bytes.push(char >>> 8);\n bytes.push(char & 0xFF);\n }\n return bytes;\n \n}\nonCloseDialog()\n {\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClose(model){\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n onClear()\n {\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n }\n onSubmit()\n {\n if (this.DcValidate.form.valid){\n const curDate = new Date();\n const paramsFormValue = this.DcValidate.form.value;\n\n paramsFormValue.startdate = this.datePipe.transform(paramsFormValue.startdate, 'yyyy-MM-dd');\n paramsFormValue.enddate = this.datePipe.transform(paramsFormValue.enddate, 'yyyy-MM-dd');\n paramsFormValue.postingdate = this.datePipe.transform(paramsFormValue.postingdate, 'yyyy-MM-dd');\n \n var fileName ='C:/Users/dell/Desktop/images.jpg';\n var flag2\n if (this.flag1=='SAVEFILE')\n {\n flag2=this.flag1\n const fileUpload = this.fileUpload.nativeElement;fileUpload.onchange = () => { \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n \n let formData = new FormData(); \n formData.append('FileUploadData', this.fileUpload.nativeElement.files[0]); \n formData.append('TaskID',this.TaskID.toString());\n formData.append('CID',this.CID); \n formData.append('Flag','SAVEFILE'); \n formData.append('UserID',JSON.stringify(curUser.ledgerid));\n this.DcValidate.AddFileDetails(formData).subscribe(result => {\n let users: any\n users=result;\n if (users.errno === 0){\n this.notificationService.success('Upload successfully');\n this.onCloseDialog();\n }\n }); \n }; \n fileUpload.click(); \n }\n else \n {\n flag2=this.flag\n const paramsExtra = {\n cid: this.CID,\n flag: flag2,\n Slno: '0',\n TaskID:this.TaskID,\n LedgerID: this.LedgerID,\n UserName: this.CurLedgerID,\n Comments:'',\n FileName:'',\n FilePath:'',\n Extension:this.extension,\n AliasName:'',\n EmpName:fileName\n };\n const params = Object.assign(paramsFormValue, paramsExtra);\n this.DcValidate.setdocumentcontrol(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n\n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n this.TaskID=users.respdata;\n this.isvisible = this.TaskID !== 0 ? true : false;\n this.flag1='';\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n else throw error;\n });\n }\n \n\n \n }\n }\n getdocumentdetails()\n {\n let params = {\n cid:this.CID,\n flag:'PAGELOAD',\n taskno:this.TaskID\n }\n this.DcValidate.getdocumentcontrol(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n this.employeelist= result.respdata.Table;\n this.Categorylist= result.respdata.Table1;\n\n this.empid= _.pluck(this.employeelist, 'Name'); \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n\n onClick() { \n this.flag1='SAVEFILE';\n \n }\n\n \n }\n\nexport interface GroupALL {\n Name: string;\n}\n\n","import { DocumentcontrolComponent } from './../documentcontrol/documentcontrol.component';\nimport { DocumentdownloadComponent } from './../documentdownload/documentdownload.component';\nimport { getElement } from 'devextreme-angular';\nimport { filter } from 'rxjs/operators';\nimport { Component, OnInit,ViewChild, } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder,FormArray,AbstractControl } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatSort} from '@angular/material/sort';\nimport { MatPaginator} from '@angular/material/paginator';\nimport { DocumentcontrolValidate } from '../documentcontrolvalidate';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { User } from './../../../../Modules/user';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-documentcontrollist',\n templateUrl: './documentcontrollist.component.html',\n styleUrls: ['./documentcontrollist.component.css']\n})\nexport class DocumentcontrollistComponent implements OnInit {\n\n datasource:MatTableDataSource;\n datasource1:any;\n companies:any;\n searchKey: string;\n limit:any=5;\n CID:any;\n displayedColumns =['TaskID','Name','TaskCategory','Desc1','StartDate','DueDate','PopUpDays','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n constructor(private formBuilder: FormBuilder, private generic: GenericService,\n public DcValidate: DocumentcontrolValidate,\n public notificationService: NotificationService,\n private dialog: MatDialog,\n private dialogService: DialogService) { }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getdocumentdetails();\n }\n\n Submit()\n {\n this.getdocumentdetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.getdocumentdetails();\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n exportAsExcel(){\n this.generic.excelExport(this.datasource.data, 'Document List', 'Document List' );\n }\n\n onSearchClear(){\n this.searchKey=\"\";\n this.datasource.filter=\"\";\n }\n addRow()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.DcValidate.initializeFormGroup();\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n Name:curUser.empname,\n TaskID:0,\n LedgerID:curUser.ledgerid,\n cid:this.CID,\n // pid:0,\n // Rolelist:this.Rolelist,\n panelClass: 'custom-dialog-container',\n FormType:'HR'\n }\n const dialogRef = this.dialog.open(DocumentcontrolComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n });\n }\n onlimit()\n {\n this.limit=this.limit + 5;\n }\n onEdit(data, _flag){\n this.DcValidate.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n Name:data.Name,\n TaskID:data.TaskID,\n LedgerID:data.LedgerID,\n cid:this.CID,\n FormType:'HR'\n }\n const dialogRef =this.dialog.open(DocumentcontrolComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n }); \n }\n onDelete(data, _flag)\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.dialogService.openConfirmDialog('Are you sure to delete this document?')\n .afterClosed().subscribe(res => {\n if (res) {\n const paramsExtra = {\n cid: this.CID,\n flag: \"DELETE\",\n Slno: '0',\n TaskID:data.TaskID,\n LedgerID: data.LedgerID,\n UserName: curUser.ledgerid,\n Comments:'',\n FileName:'',\n FilePath:'',\n Extension:'',\n AliasName:'',\n EmpName:'',\n TaskCategory:'',\n StartDate:'',\n enddate:'',\n Status:'',\n NotifyFlag:'',\n PostingDate:''\n };\n const params = Object.assign(paramsExtra);\n console.log(\"save\",params);\n this.DcValidate.setdocumentcontrol(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.respdata);\n\n if (users.errno === 0){\n // this.DcValidate.form.reset();\n // this.DcValidate.initializeFormGroup();\n this.notificationService.success('Deleted successfully');\n // this.onClose(this.model);\n this.getdocumentdetails(); \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.DcValidate.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n\n DocumentView(data, _flag){\n this.DcValidate.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n Name:data.Name,\n TaskID:data.TaskID,\n LedgerID:data.LedgerID,\n cid:this.CID\n }\n const dialogRef =this.dialog.open(DocumentdownloadComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n }); \n \n\n }\n\n getdocumentdetails()\n {\n // console.log(\"dddd\",this.LedgerID)\n this.searchKey='';\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.CID,\n flag:'LOADGRID',\n taskno:0\n }\n this.DcValidate.getdocumentcontrol(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.companies=curUser.dtsiteid;\n this.datasource= result.respdata.Table1;\n this.datasource1=result.respdata.Table1;\n this.datasource = new MatTableDataSource(result.respdata.Table1);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n }\n\nexport interface GroupALL {\n Name: string;\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\nimport { Observable } from 'rxjs';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocumentcontrolValidate {\n date= new Date();\n constructor(private http: HttpserviceService) { }\n\n form: FormGroup = new FormGroup({\n postingdate: new FormControl('', Validators.required),\n TaskCategory: new FormControl('', Validators.required),\n desc1: new FormControl(''),\n desc2: new FormControl(''),\n desc3: new FormControl(''),\n desc4: new FormControl(''),\n comment: new FormControl(''),\n startdate: new FormControl(''),\n enddate: new FormControl(''),\n status: new FormControl(''),\n popupdays: new FormControl(''),\n notifyflag: new FormControl('')\n\n });\n\n \n initializeFormGroup(){\n this.form.setValue({\n postingdate: this.date,\n TaskCategory: '',\n desc1: '',\n desc2: '',\n desc3: '',\n desc4: '',\n comment: '',\n startdate: this.date,\n enddate:this.date,\n status: 'Open',\n popupdays: '0',\n notifyflag: ''\n });\n }\n populateForm(data){\n let userdata;\n\n userdata = data;\n const user = {\n postingdate: userdata.PostDate,\n TaskCategory: userdata.TaskCategory,\n desc1: userdata.Desc1,\n desc2: userdata.Desc2,\n desc3: userdata.Desc3,\n desc4: userdata.Desc4,\n comment: userdata.Comment,\n startdate: userdata.StartDate,\n enddate:userdata.DueDate,\n status: userdata.Status,\n popupdays: userdata.PopUpDays,\n notifyflag: userdata.NotifyFlag\n\n };\n this.form.setValue(user);\n\n }\n getdocumentcontrol(params: any)\n {\n const query = `cid=${params.cid}&flag=${params.flag}&taskno=${params.taskno}`;\n return this.http.httpGet('/Documentcontrol/GetDocumentcontrol?' , query)\n // .catch(this.handleError);\n }\n setdocumentcontrol(data: any)\n {\n return this.http.httpPost('/Documentcontrol/SetDocumentcontrol?', data)\n // .catch(this.handleError);\n }\n // setdocumentcontrol1(data: any)\n // {\n // return this.http.post(baseUrl + '/SetDocumentcontrol?', data)\n // // .catch(this.handleError);\n // }\n\n public downloadFile(CID: number,Flag:string,Taskno:number): Observable < Blob > { \n return this.http.httpGet2('/Documentcontrol/GetFile?cid=', CID+'&flag='+Flag+'&taskno='+Taskno); \n } \n public downloadImage(image: string): Observable < Blob > { \n return this.http.httpGet2( '/Documentcontrol/GetImage?image=', image); \n } \n\n AddFileDetails(data: FormData): Observable < string > { \n let headers = new HttpHeaders(); \n headers.append('Content-Type', 'application/json'); \n const httpOptions = { \n headers: headers \n }; \n return this.http.httpPost( '/Documentcontrol/AddFileDetails/', data)\n // .catch(this.handleError); \n }\n \n GetExpiryDetails(params: any)\n {\n const query = `cid=${params.cid}&username=${params.username}&flag=${params.flag}&hide=${params.hide}`;\n return this.http.httpGet( '/Documentcontrol/GetExpiryDetails?' , query)\n // .catch(this.handleError);\n }\n \n // private handleError(error: Response){\n // if (error.status === 400)\n // return Observable.throw(new BadInput(error.json()));\n\n // if (error.status === 404)\n // return Observable.throw (new NotFoundError());\n \n // return Observable.throw(new AppError(error));\n // }\n}\n\n","import { Component, OnInit } from '@angular/core';\nimport { saveAs } from 'file-saver';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { DocumentcontrolValidate } from '../documentcontrolvalidate';\nimport { NotificationService } from './../../../../../app/Services/OtherServices/notification.service';\nimport { DialogService } from './../../../../../app/Services/OtherServices/dialog.service';\nimport { AppError } from './../../../../../app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from './../../../../../app/Services/httpServices/ErrorHandler/bad-input';\nimport { User } from 'src/app/Modules/user';\n \n@Component({\n selector: 'app-documentdownload',\n templateUrl: './documentdownload.component.html',\n styleUrls: ['./documentdownload.component.css']\n})\nexport class DocumentdownloadComponent implements OnInit {\n\n datasource:MatTableDataSource;\n companies:any;\n searchKey: string;\n TaskID:Number=0;\n CID:any;\n \n //displayedColumns =['TaskID','Name','TaskCategory','Desc1','StartDate','DueDate','NotifyFlag','PopUpDays','Status','Action'];\n displayedColumns =['slno','FileName','FileType','Action'];\n constructor(public DcValidate: DocumentcontrolValidate,public notificationService: NotificationService,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any,\n private dialogService: DialogService) { \n this.TaskID=this.data.TaskID;\n this.CID=this.data.cid;\n }\n\n ngOnInit(): void {\n this.getdocumentdetails();\n }\n\n onCloseDialog()\n {\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClear()\n {\n this.DcValidate.form.reset();\n this.DcValidate.initializeFormGroup();\n }\n getdocumentdetails()\n {\n // console.log(\"dddd\",this.LedgerID)\n let params = {\n cid:this.CID,\n flag:'DocumentView',\n taskno:this.TaskID\n }\n this.DcValidate.getdocumentcontrol(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n //this.companies= result.respdata.Table;\n this.datasource= result.respdata.Table1;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n // this.datasource.sort = this.sort;\n // this.datasource.paginator = this.paginator;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n downloadDocFile(data) { \n const slno = data.slno; \n const docname=data.FileName \n\n var DocFile = docname.slice(0, -5); \n //var FileSaver ;//= 'file-saver';\n this.DcValidate.downloadFile(this.CID,'DownloadFile',data.slno).subscribe((data) => { \n saveAs(data, DocFile) ;\n }); \n } \n\n onDelete(data, _flag)\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.dialogService.openConfirmDialog('Are you sure to delete this document?')\n .afterClosed().subscribe(res => {\n if (res) {\n const paramsExtra = {\n cid: this.CID,\n flag: \"DELETEFILE\",\n Slno: data.slno,\n TaskID:this.TaskID,\n LedgerID: 0,\n UserName: curUser.ledgerid,\n Comments:'',\n FileName:'',\n FilePath:'',\n Extension:'',\n AliasName:'',\n EmpName:'',\n TaskCategory:'',\n StartDate:'',\n enddate:'',\n Status:'',\n NotifyFlag:'',\n PostingDate:''\n };\n const params = Object.assign(paramsExtra);\n // console.log(\"save\",params);\n this.DcValidate.setdocumentcontrol(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.respdata);\n\n if (users.errno === 0){\n // this.DcValidate.form.reset();\n // this.DcValidate.initializeFormGroup();\n this.notificationService.warn('Deleted successfully');\n // this.onClose(this.model);\n this.getdocumentdetails();\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.DcValidate.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n\n}\nexport interface GroupALL {\n Name: string;\n}\n\n","import { DocumentcontrolComponent } from './../documentcontrol/documentcontrol.component';\nimport { DocumentdownloadComponent } from './../documentdownload/documentdownload.component';\nimport { getElement } from 'devextreme-angular';\nimport { filter } from 'rxjs/operators';\nimport { Component, OnInit,ViewChild, } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder,FormArray,AbstractControl } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatSort} from '@angular/material/sort';\nimport { MatPaginator} from '@angular/material/paginator';\nimport { DocumentcontrolValidate } from '../documentcontrolvalidate';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { User } from './../../../../Modules/user';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-mydocument',\n templateUrl: './mydocument.component.html',\n styleUrls: ['./mydocument.component.scss'],\n})\nexport class MydocumentComponent implements OnInit {\n\n datasource:MatTableDataSource;\n datasource1:any;\n companies:any;\n searchKey: string;\n limit:any=5;\n CID:any;\n displayedColumns =['TaskID','Name','TaskCategory','Desc1','StartDate','DueDate','PopUpDays','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n constructor(private formBuilder: FormBuilder, private generic: GenericService,\n public DcValidate: DocumentcontrolValidate,\n public notificationService: NotificationService,\n private dialog: MatDialog,\n private dialogService: DialogService) { }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getdocumentdetails();\n }\n\n Submit()\n {\n this.getdocumentdetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.getdocumentdetails();\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n exportAsExcel(){\n this.generic.excelExport(this.datasource.data, 'Document List', 'Document List' );\n }\n\n onSearchClear(){\n this.searchKey=\"\";\n this.datasource.filter=\"\";\n }\n addRow()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n\n this.DcValidate.initializeFormGroup();\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n Name:curUser.empname,\n TaskID:0,\n LedgerID:curUser.ledgerid,\n cid:this.CID,\n panelClass: 'custom-dialog-container',\n FormType:'Employee'\n }\n const dialogRef = this.dialog.open(DocumentcontrolComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n });\n }\n onlimit()\n {\n this.limit=this.limit + 5;\n }\n onEdit(data, _flag){\n this.DcValidate.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n Name:data.Name,\n TaskID:data.TaskID,\n LedgerID:data.LedgerID,\n cid:this.CID,\n FormType:'Employee'\n }\n const dialogRef =this.dialog.open(DocumentcontrolComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n }); \n }\n onDelete(data, _flag)\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.dialogService.openConfirmDialog('Are you sure to delete this document?')\n .afterClosed().subscribe(res => {\n if (res) {\n const paramsExtra = {\n cid: this.CID,\n flag: \"DELETE\",\n Slno: '0',\n TaskID:data.TaskID,\n LedgerID: data.LedgerID,\n UserName: curUser.ledgerid,\n Comments:'',\n FileName:'',\n FilePath:'',\n Extension:'',\n AliasName:'',\n EmpName:'',\n TaskCategory:'',\n StartDate:'',\n enddate:'',\n Status:'',\n NotifyFlag:'',\n PostingDate:''\n };\n const params = Object.assign(paramsExtra);\n // console.log(\"save\",params);\n this.DcValidate.setdocumentcontrol(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.respdata);\n\n if (users.errno === 0){\n // this.DcValidate.form.reset();\n // this.DcValidate.initializeFormGroup();\n this.notificationService.success('Deleted successfully');\n // this.onClose(this.model);\n this.getdocumentdetails(); \n \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.DcValidate.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n\n DocumentView(data, _flag){\n this.DcValidate.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n Name:data.Name,\n TaskID:data.TaskID,\n LedgerID:data.LedgerID,\n cid:this.CID\n }\n const dialogRef =this.dialog.open(DocumentdownloadComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n }); \n }\n \n getdocumentdetails()\n {\n // console.log(\"dddd\",this.LedgerID)\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.CID,\n flag:'MYDOC',\n taskno:curUser.ledgerid\n }\n this.DcValidate.getdocumentcontrol(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.companies=curUser.dtsiteid;\n this.datasource= result.respdata.Table1;\n this.datasource1=result.respdata.Table1;\n this.datasource = new MatTableDataSource(result.respdata.Table1);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n }\n\nexport interface GroupALL {\n Name: string;\n}\n","\nimport { Component, OnInit,ViewChild } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { map, startWith } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { GenericService } from '../../../../Services/OtherServices/generic.service';\nimport { User } from 'src/app/Modules/user';\n\nexport interface User1 {\n Name: string;\n}\n\n@Component({\n selector: 'app-emp-att-report-view',\n templateUrl: './emp-att-report-view.component.html',\n styleUrls: ['./emp-att-report-view.component.scss'],\n})\nexport class EmpAttReportViewComponent implements OnInit {\n @ViewChild('stepper') stepper;\n flag:any\n ledgerid= 0;\n Categoryid= 0;\n CID: any;\n SubCategory:any;\n frmdate= new Date();\n companies:any;\n category:any;\n Subcategory:any;\n employeelist:any;\n datasource:any;\n datasource1:any;\n empid:string[]=[];\n filteredOptions: any;\n myControl = new FormControl();\n AttendanceGroup : FormGroup;\n TimepunchDataGroup : FormGroup;\n Effortlist:any;\n PostedBy:any;\n isEditable = true; \n Effort = {\n store: {\n type: 'array',\n data: [\n { id: 2, name: 'All' },\n { id: 3, name: 'Post' },\n { id: 1, name: 'Not Post' }\n ],\n key: 'id'\n }};\n\n constructor(private service:HttpserviceService, private formBuilder: FormBuilder,private generic: GenericService,\n public notificationService: NotificationService, private datePipe: DatePipe)\n { \n\n this.AttendanceGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcCategory: [''], \n fcSubCategory: [''], \n fcEffort: [''], \n fcDate: [''],\n fcPostedBy:['']\n \n });\n this.TimepunchDataGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.Effortlist = this.Effort.store.data;\n this.flag=\"PAGELOAD\";\n this.getAttendancereport();\n this.myControl.setValue({Name: 'ALL'});\n this.AttendanceGroup.controls.fcCompany.setValue(this.CID);\n this.AttendanceGroup.controls.fcCategory.setValue(0);\n this.AttendanceGroup.controls.fcSubCategory.setValue(0);\n this.AttendanceGroup.controls.fcPostedBy.setValue(0);\n this.AttendanceGroup.controls.fcEffort.setValue(2);\n this.AttendanceGroup.controls.fcDate.setValue(this.frmdate);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User1): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n onCompanySelect(event)\n {\n this.CID=event.value;\n this.flag=\"PAGELOAD\";\n this.employeelist = '';\n this.empid = [];\n this.getAttendancereport();\n this.myControl.setValue({Name: 'ALL'});\n this.AttendanceGroup.controls.fcCompany.setValue(this.CID);\n this.AttendanceGroup.controls.fcCategory.setValue(0);\n this.AttendanceGroup.controls.fcSubCategory.setValue(0);\n this.AttendanceGroup.controls.fcPostedBy.setValue(0);\n this.AttendanceGroup.controls.fcEffort.setValue(2);\n this.AttendanceGroup.controls.fcDate.setValue(this.frmdate);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n \n }\n \n onSearchClear(){\n this.AttendanceGroup.reset(); \n this.datasource=''; \n this.AttendanceGroup.controls.fcCompany.setValue(this.CID);\n this.AttendanceGroup.controls.fcCategory.setValue(0);\n this.AttendanceGroup.controls.fcSubCategory.setValue(0);\n this.AttendanceGroup.controls.fcPostedBy.setValue(0);\n this.AttendanceGroup.controls.fcEffort.setValue(2);\n this.AttendanceGroup.controls.fcDate.setValue(this.frmdate);\n this.stepper.selectedIndex = 0; \n this.ledgerid=0;\n}\n\n\n Refresh()\n {\n this.flag=\"LOADGRID\";\n this.getAttendancereport();\n }\n\n \nexportAsExcel()\n{\n this.generic.excelExport(this.datasource, 'Effort','EffortList for ' + this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'));\n}\n\n getAttendancereport(){\n \n let params\n\n if(this.flag==\"PAGELOAD\") \n {\n \n params= {\n \n cid: this.CID,\n LedgerID: this.ledgerid,\n Category: \"0\",\n SubCategory:\"0\",\n Effort:2,\n date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n flag: this.flag,\n PostedBy:0\n }\n }\n else\n {\n params=\n {\n cid:this.AttendanceGroup.get('fcCompany').value,\n LedgerID: this.ledgerid,\n Category: this.AttendanceGroup.get('fcCategory').value,\n SubCategory: this.AttendanceGroup.get('fcSubCategory').value,\n Effort:this.AttendanceGroup.get('fcEffort').value,\n date: this.datePipe.transform(this.AttendanceGroup.get('fcDate').value,\"dd-MM-yyyy\"),\n flag: this.flag,\n PostedBy:this.AttendanceGroup.get('fcPostedBy').value \n }\n\n};\nlet curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const query = `cid=${params.cid}&LedgerID=${params.LedgerID}&Category=${params.Category}&SubCategory=${params.SubCategory}&Effort=${params.Effort}&date=${params.date}&flag=${params.flag}&PostedBy=${params.PostedBy}`;\n this.service.httpGet('/AttendanceDetails/GetAttendanceDetails?',query)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n if (this.flag==\"PAGELOAD\")\n {\n this.companies = curUser.dtsiteid;\n this.CID = JSON.parse(sessionStorage.getItem('cid'));\n this.category = result.respdata.Categorylist;\n this.Subcategory = result.respdata.SubCategorylist;\n this.PostedBy=result.respdata.PostedBy;\n this.employeelist = result.respdata.EmployeeList;\n this.empid= _.pluck(this.employeelist, 'Name');\n\n }\n else\n {\n this.datasource = result.respdata.Main;\n this.datasource1 = result.respdata.LeaveDetails;\n this.stepper.selectedIndex = 1; \n }\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error) => {\n // if (error instanceof BadInput) \n console.log(error);\n // else throw error; \n });\n }\n\n}\n","import { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { DatePipe } from '@angular/common';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { User } from './../../../../Modules/user';\n\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-employee-on-board',\n templateUrl: './employee-on-board.component.html',\n styleUrls: ['./employee-on-board.component.scss'],\n})\nexport class EmployeeOnBoardComponent implements OnInit {\n employeelist:any;\n Templatelist:any;\n CID:any;\n showSpinner:any;\n flag:any;\n GeneralFormGroup: FormGroup;\n constructor(private datePipe: DatePipe,private dialogService: DialogService,\n public service: HttpserviceService,\n public notificationService: NotificationService,\n private dialog:MatDialog,\n private _formBuilder: FormBuilder,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.flag = this.data.flag;\n this.employeelist = this.data.list.EmployeeList;\n this.Templatelist = this.data.list.TemplateList;\n this.CID=this.data.cid;\n\n this.GeneralFormGroup = this._formBuilder.group({\n Name: ['', Validators.required],\n TemplateID: ['', Validators.required],\n Date: ['', Validators.required],\n });\n }\n\n ngOnInit() \n {\n \n }\n onSubmit()\n {\n this.showSpinner=true;\n\n const params = {\n CID: JSON.parse(sessionStorage.getItem('cid')),\n Flag : this.flag,\n LedgerID : this.GeneralFormGroup.get('Name').value,\n OnBoardTag:\"\",\n OnBoardTemplateID : this.GeneralFormGroup.get('TemplateID').value,\n Status:\"0\",\n StartDate : this.GeneralFormGroup.get('Date').value,\n }\n\n this.service.httpPost('/EmployeeOnBoard/SetEmployeeOnBoard?' ,params) \n .subscribe(data => {\n\n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if(result.errno == 0){\n \n this.notificationService.success(\"Record inserted successfully\");\n \n \n }\n else{\n this.notificationService.success(result.errdesc); \n }\n })\n\n }\n onClear()\n {\n\n }\n onCloseDialog()\n {\n this.GeneralFormGroup.reset();\n this.dialogRef.close({event: this.flag});\n }\n\n}\n","import { OnboardapprovalComponent } from './../onboardapproval/onboardapproval.component';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { DatePipe } from '@angular/common';\n\nimport { User } from './../../../../Modules/user';\nimport { Component, OnInit, Inject, LOCALE_ID } from '@angular/core';\nimport { EmployeeOnBoardComponent } from '../employee-on-board/employee-on-board.component';\nimport { EmpRegComponent } from 'src/app/components/HR/EmployeeRegistration/emp-reg/emp-reg.component';\n\n@Component({\n selector: 'app-employee-on-boardlist',\n templateUrl: './employee-on-boardlist.component.html',\n styleUrls: ['./employee-on-boardlist.component.scss'],\n})\nexport class EmployeeOnBoardlistComponent implements OnInit {\n showSpinner:any;\n companies:any;\n Templatelist:any;\n CID:any;\n TemplateID:any=0;\n dataset:any;\n flag:any;\n dataSource:any;\n ApprovalDetails:any;\n LedgerID:any;\n Statuslist=[{'Status':'0','Tag':'InProcess'},{'Status':'1','Tag':'Completed'}]\n constructor(private datePipe: DatePipe,public notificationService: NotificationService,private service:HttpserviceService,\n private dialog: MatDialog,@Inject(LOCALE_ID) public locale: string,private dialogService: DialogService) \n { \n\n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.companies=curUser.dtsiteid;\n this.LedgerID=curUser.ledgerid;\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag=\"PAGELOAD\"\n this.GetStrucure();\n }\n async GetStrucure()\n {\n this.showSpinner=true;\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n flag:this.flag,\n OnBoardTemplateID:this.TemplateID,\n LedgerID:this.LedgerID\n }; \n const query = `cid=${params.cid}&flag=${params.flag}&OnBoardTemplateID=${params.OnBoardTemplateID}&LedgerID=${params.LedgerID}`;\n await this.service.httpGet('/EmployeeOnBoard/GetEmployeeOnBoard?' ,query) \n .toPromise().then(data => {\n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if(result.errno == 0){\n if(this.flag=='PAGELOAD')\n {\n this.Templatelist=result.respdata.TemplateList;\n this.dataset=result.respdata;\n }\n else if(this.flag=='LOADGRID')\n { \n this.dataSource=\"\"\n this.dataSource=result.respdata.dataSource \n }\n else if(this.flag=='APPROVAL')\n { \n this.ApprovalDetails=\"\"\n this.ApprovalDetails=result.respdata.ApprovalDetails \n\n console.log('hh33',this.ApprovalDetails)\n }\n \n \n }\n else{\n console.log('error'); \n }\n },\n )\n }\n onTemplateSelect(e)\n {\n this.TemplateID=e\n console.log('this.TemplateID', e); \n }\n\n addnewEmp()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerID:0,\n cid: this.CID\n // Rolelist:this.Rolelist,\n }\n \n const dialogRef = this.dialog.open(EmpRegComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n addRow()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.CID,\n flag: \"ADD\",\n list:this.dataset,\n }\n const dialogRef = this.dialog.open(EmployeeOnBoardComponent, dialogConfig)\n dialogRef.afterClosed().toPromise().then(result => {\n \n });\n }\n\n Refresh()\n {\n this.flag=\"LOADGRID\"\n this.GetStrucure();\n }\n async Approval()\n {\n this.flag=\"APPROVAL\"\n await this.GetStrucure();\n console.log('hh',this.ApprovalDetails)\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.CID,\n flag: \"Approval\",\n TemplateID:this.TemplateID,\n list:this.ApprovalDetails,\n LedgerID:this.LedgerID\n }\n const dialogRef = this.dialog.open(OnboardapprovalComponent, dialogConfig)\n dialogRef.afterClosed().toPromise().then(result => {\n \n });\n }\n onRowPreparing(e)\n {\n \n if (e.rowType === \"data\" && e.column.dataField !='Name') { \n e.cellElement.style.color = e.value==\"Completed\" ? \"green\" :\"red\";\n } \n }\n\n\n}\n","import { FormBuilder } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-onboardapproval',\n templateUrl: './onboardapproval.component.html',\n styleUrls: ['./onboardapproval.component.scss'],\n})\nexport class OnboardapprovalComponent implements OnInit {\n\n ApprovalDetails:any;\n flag:any;\n TemplateID:any;\n CID:any;\n LedgerID:any;\n Statuslist=[{'Status':'0','Tag':'InProgress'},{'Status':'1','Tag':'Completed'}]\n constructor(private datePipe: DatePipe,private dialogService: DialogService,\n public service: HttpserviceService,\n public notificationService: NotificationService,\n private dialog:MatDialog,\n private _formBuilder: FormBuilder,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.flag = this.data.flag;\n this.ApprovalDetails = this.data.list;\n this.TemplateID = this.data.TemplateID;\n this.CID=this.data.cid;\n this.LedgerID=this.data.LedgerID\n\n console.log('HI',this.data.list)\n }\n\n\n ngOnInit() {}\n\n onCloseDialog()\n {\n \n this.dialogRef.close({event: this.flag});\n }\n\n logEvent(flag,e)\n {\n console.log('ttt',e)\n\n if(flag=='RowUpdated')\n {\n\n console.log('ttt',this.ApprovalDetails)\n const params = {\n CID: JSON.parse(sessionStorage.getItem('cid')),\n Flag : this.flag,\n LedgerID :this.LedgerID,\n OnBoardTag:e.data.OnBoardTag,\n OnBoardTemplateID :e.data.OnBoardID,\n Status:e.data.Status,\n StartDate : this.datePipe.transform(new Date(), 'yyyy-MM-dd hh:mm:ss.s') ,\n }\n \n this.service.httpPost('/EmployeeOnBoard/SetEmployeeOnBoard?' ,params) \n .subscribe(data => {\n \n let result: any;\n result = data;\n \n if(result.errno == 0){\n \n this.notificationService.success(\"Record inserted successfully\");\n \n \n }\n else{\n this.notificationService.success(result.errdesc); \n }\n })\n }\n }\n\n}\n","import { User } from './../../../../Modules/user';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { FormBuilder } from '@angular/forms';\nimport { FormGroup } from '@angular/Forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-expenseposting',\n templateUrl: './expenseposting.component.html',\n styleUrls: ['./expenseposting.component.css']\n})\nexport class ExpensepostingComponent implements OnInit {\n showSpinner:any;\n \n Expenseposting : FormGroup;\n Ledgerlist:any;\n Prefixlist:any;\n flag:any;\n dataSource:any;\n dataSource1: any;\n username:any;\n documentno:any;\n date:any;\n prefix:any;\n rangeno:any\n CID:any;\n curdate= new Date();\n disabled:boolean = false;\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, private service: HttpserviceService, private NotificationService: NotificationService\n ,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n \n this.flag = this.data.flag;\n // this.temp = this.data.pid;\n // this.dataSource=this.data.entity;\n // this.dataSource1=this.data.entity;\n //console.log('DATA0',this.data.flag)\n this.Prefixlist = this.data.prefixlist;\n this.Ledgerlist = this.data.ledgerlist;\n this.dataSource = this.data.griddata;\n this.dataSource1 = this.data.griddata;\n this.documentno = this.data.documentno;\n this.date=this.data.date;\n this.prefix=this.data.Prefixlist;\n this.rangeno=this.data.RangeNo;\n this.CID=this.data.cid;\n\n\n this.Expenseposting = this.formBuilder.group({ \n // fcCompany: ['', Validators.required] , \n fcPrefix: [''], \n fcDocumentNo: [''], \n fcVouDate: ['']\n \n });\n }\n\n ngOnInit(): void {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n //console.log(\"curUser\",this.documentno)\n //console.log('pageload',this.data.prefixlist[0].Prefix)\n this.username=curUser.username;\n this.Expenseposting.controls.fcVouDate.setValue(this.curdate);\n this.Expenseposting.controls.fcPrefix.setValue(this.data.prefixlist[0].Prefix);\n if(this.flag===\"EDIT\")\n {\n this.getExpenseposting();\n this.disabled=true;\n //console.log('EDIT PRefix',this.prefix)\n this.Expenseposting.controls.fcVouDate.setValue(this.date);\n this.Expenseposting.controls.fcPrefix.setValue(this.prefix);\n this.Expenseposting.controls.fcDocumentNo.setValue(this.rangeno);\n }\n }\n onCloseDialog()\n {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.Expenseposting.reset();\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClose(model){\n this.Expenseposting.reset();\n // this.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n onClear()\n {\n this.dataSource='';\n this.Expenseposting.controls.fcVouDate.setValue(this.curdate);\n this.Expenseposting.controls.fcPrefix.setValue(this.data.prefixlist[0].Prefix);\n this. getExpenseposting();\n }\n onSubmit()\n {\n this.showSpinner=true;\n\n // console.log(\"dataSource\",this.dataSource)\n // console.log(\"dataSource1\",this.dataSource1)\n this.Expenseposting.controls.fcDocumentNo.setValue(this.documentno);\n\n const params = {\n CID: this.CID,\n Flag: this.flag,\n Prefix:this.Expenseposting.get('fcPrefix').value,\n //Prefix:'GEP/',\n DocNo:this.Expenseposting.get('fcDocumentNo').value,\n DocDate: this.datePipe.transform(this.Expenseposting.get('fcVouDate').value,\"dd-MM-yyyy\"),\n DtExpense:this.dataSource,\n TotalAmt:0,\n UserID:this.username,\n GroupID:sessionStorage.getItem('groupid')\n };\n\n console.log('PARAMS',params)\n this.service.httpPost('/ExpensePosting/SetExpensePosting',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.errno);\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (users.errno === 0){\n this.NotificationService.success('Submitted successfully');\n this.onCloseDialog();\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n this.onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n\n }\n\n \n getExpenseposting()\n {\n let date=Date();\n const params = {\n CID: this.CID,\n Flag: \"EDIT\",\n Status: this.documentno,\n Fromdate: this.datePipe.transform(date,\"dd-MM-yyyy\"),\n ToDate: this.datePipe.transform(date,\"dd-MM-yyyy\")\n \n };\n this.service.httpPost('/ExpensePosting/GetExpensePosting',params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.dataSource = result.respdata.Table;\n console.log('BIND Data',this.dataSource)\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { ExpensepostingComponent } from './../expenseposting/expenseposting.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from './../../../../Modules/user';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DatecontrolComponent } from 'src/app/components/HR/DateControl/datecontrol/datecontrol.component';\n\n@Component({\n selector: 'app-expensepostinglist',\n templateUrl: './expensepostinglist.component.html',\n styleUrls: ['./expensepostinglist.component.css']\n})\nexport class ExpensepostinglistComponent implements OnInit {\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n todatevisible= false;\n fromdatevisible= true;\n DateType= 'CurrentDate';\n filterOption: any;\n frmtext= 'Current Date';\n companies: any;\n frmdate= new Date();\n datasource:MatTableDataSource;\n totext: any;\n ExpensepostingGroup : FormGroup;\n // datasource:any;\n Ledgerlist:any;\n Prefixlist:any;\n datasource1:any;\n CID:any;\n showSpinner:any;\n Statuslist=['All','Approved','UnApproved'];\n datefilter = {\n store: {\n type: 'array',\n data: [\n { name: 'CurrentDate' },\n // { name: 'CurrentMonth' },\n { name: 'ByDate' },\n // { name: 'ByMonth' },\n // { name: 'ByYear' },\n ],\n key: 'name'\n }};\n displayedColumns = ['DocumentNo', 'Date', 'Amount', 'ApproveStatus','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, \n private generic: GenericService,\n private service: HttpserviceService, private NotificationService: NotificationService, \n private dialog: MatDialog,private dialogService: DialogService) \n { \n this.ExpensepostingGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcStatus: [''], \n // fcFromDate: [''], \n // fcToDate: ['']\n \n });\n }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.filterOption = this.datefilter.store.data;\n // this.getemployeelist();\n // this.flag=\"PAGELOAD\"; \n // this.ExpensepostingGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.ExpensepostingGroup.controls.fcFromDate.setValue(this.frmdate);\n //this.ExpensepostingGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.ExpensepostingGroup.controls.fcStatus.setValue('All');\n this.getExpenseposting();\n this.ExpensepostingGroup.controls.fcCompany.setValue(this.CID);\n }\n onCompanySelect(event)\n {\n this.CID=event.value;\n this.ExpensepostingGroup.reset();\n this.ExpensepostingGroup.controls.fcStatus.setValue('All');\n // this.ExpensepostingGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.ExpensepostingGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n \n this.getExpenseposting();\n this.ExpensepostingGroup.controls.fcCompany.setValue(this.CID);\n\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Expense Posting', 'Expense Posting' );\n }\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(DatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n Refresh()\n {\n // this.flag=\"LOADGRID\";\n this.getExpenseposting();\n }\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n // ledgerid: 0,\n // date: this.date,\n ledgerlist: this.Ledgerlist,\n prefixlist: this.Prefixlist,\n griddata:this.datasource1,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(ExpensepostingComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getExpenseposting(); \n });;\n \n }\n onEdit(data, _flag){\n console.log('type', data.ApproveStatus);\n if(data.ApproveStatus==='UnApproved')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"EDIT\",\n ledgerlist: this.Ledgerlist,\n prefixlist: this.Prefixlist,\n griddata:this.datasource1,\n documentno:data.DocumentNo,\n date:data.Date,\n RangeNo:data.RangeNo,\n Prefix:data.Prefix,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(ExpensepostingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getExpenseposting(); \n });;\n } \n else\n this.NotificationService.warn('Edit option not applicable for approved expenses');\n }\n onDelete(data, _flag)\n {\n this.dialogService.openConfirmDialog('Are you sure to delete this expense?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n CID:this.CID,\n Flag: _flag,\n Prefix:\"\",\n DocNo:data.DocumentNo,\n DocDate: this.datePipe.transform(data.Date,\"dd-MM-yyyy\"),\n DtExpense:this.datasource1,\n TotalAmt:0,\n UserID:\"\",\n GroupID:sessionStorage.getItem('groupid')\n };\n this.service.httpPost('/ExpensePosting/SetExpensePosting',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.errno);\n \n if (users.errno === 0){\n this.NotificationService.warn('Record deleted successfully');\n this.getExpenseposting(); \n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n \n getExpenseposting()\n {\n this.showSpinner=true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n CID:this.CID,\n Flag: \"PAGELOAD\",\n Status: this.ExpensepostingGroup.get('fcStatus').value,\n FromDate:this.fromdate,\n ToDate:this.todate\n //Fromdate: this.datePipe.transform(this.ExpensepostingGroup.get('fcFromDate').value,\"dd-MM-yyyy\"),\n // ToDate: this.datePipe.transform(this.ExpensepostingGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.ExpensepostingGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.ExpensepostingGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n \n };\n this.service.httpPost('/ExpensePosting/GetExpensePosting',params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.companies = curUser.dtsiteid;\n this.Ledgerlist= result.respdata.Table1;\n this.Prefixlist= result.respdata.Table2;\n //this.datasource = result.respdata.Table3;\n this.datasource1 = result.respdata.Table4;\n\n this.datasource = new MatTableDataSource(result.respdata.Table3);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\nexport interface GroupALL {\n ReqID: string;\n Description: string;\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../Admin/Users/userValidate';\nimport { User } from './../../../Modules/user';\n\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n// class PickDateAdapter extends NativeDateAdapter {\n// format(date: Date, displayFormat: Object): string {\n// if (displayFormat === 'input') {\n// return formatDate(date,'dd-MM-yyyy',this.locale);;\n// } else {\n// return date.toDateString();\n// }\n// }\n// }\n\n@Component({\n selector: 'app-ledgerstatement',\n templateUrl: './ledgerstatement.component.html',\n styleUrls: ['./ledgerstatement.component.css']\n ,\n providers: [\n // {provide: DateAdapter, useClass: PickDateAdapter},\n // {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}\n]\n})\nexport class LedgerstatementComponent implements OnInit {\n emp:boolean=true;\n CurLedgerID:any; \n Companies: any;\n Employees: any;\n LedgerStatementFormGroup: FormGroup;\n dataSource: any;\n Type : string;\n cid:any;\n frmdate= new Date();\n showSpinner:any;\n refreshbtnvisible: boolean = false;\n filteredList5:any;\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,private generic: GenericService,\n private service1: UserService, \n public notificationService: NotificationService, private datePipe: DatePipe) \n {\n this.LedgerStatementFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcEmployee: ['', Validators.required], \n fcFromDate: ['', Validators.required],\n fcToDate: ['', Validators.required],\n fcLedger: ['']\n });\n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.PageLoad();\n this.LedgerStatementFormGroup.controls.fcCompany.setValue(this.cid);\n this.LedgerStatementFormGroup.controls.fcLedger.setValue('STATEMENT');\n this.LedgerStatementFormGroup.controls.fcFromDate.setValue(this.frmdate);\n this.LedgerStatementFormGroup.controls.fcToDate.setValue(this.frmdate);\n // this.LedgerStatementFormGroup.controls.fcEmployee.setValue(this.CurLedgerID);\n // console.log('control',this.CurLedgerID)\n }\n\n changesite(e) {\n this.cid=e.value;\n this.PageLoad();\n }\n\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.cid, \n Flag: \"LOADDDL\" \n };\n this.service.httpPost('/LedgerStatement/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n // console.log('params: ', params);\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies =curUser.dtsiteid; \n this.Employees = result.respdata.Employees;\n this.filteredList5= this.Employees.slice();\n \n this.LedgerStatementFormGroup.controls.fcEmployee.setValue([this.CurLedgerID]);\n this.getUserList();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_23\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n // console.log('visibilitydata',btnVisilityData)\n this.refreshbtnvisible = btnVisilityData.refreshflag; \n this.emp=btnVisilityData.allempflag;\n // console.log('employee',this.emp)\n \n if(this.emp===true)\n this.emp=false\n else \n this.emp=true \n\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Submit(){\n if (this.LedgerStatementFormGroup.invalid) {\n this.notificationService.warn('Please select employee and date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.LedgerStatementFormGroup.get('fcCompany').value, \n FromDate: this.datePipe.transform(this.LedgerStatementFormGroup.get('fcFromDate').value,\"yyyy-MM-dd\"),\n ToDate : this.datePipe.transform(this.LedgerStatementFormGroup.get('fcToDate').value,\"yyyy-MM-dd\")==null? \n this.datePipe.transform(this.LedgerStatementFormGroup.get('fcFromDate').value,\"yyyy-MM-dd\"):this.datePipe.transform(this.LedgerStatementFormGroup.get('fcToDate').value,\"yyyy-MM-dd\"), \n ReportName:this.LedgerStatementFormGroup.get('fcLedger').value, //this.Type==undefined?\"STATEMENT\": this.Type \n jsondt:this.LedgerStatementFormGroup.get('fcEmployee').value, \n Flag: \"LOADDATA\" \n };\n this.service.httpPost('/LedgerStatement/Getdropdownvalues',params)\n .subscribe(\n (data) => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data; \n if (result.errno === 0) {\n this.dataSource = result.respdata.GridData; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n onSearchClear(){\n this.LedgerStatementFormGroup.reset(); \n this.dataSource='';\n this.LedgerStatementFormGroup.controls.fcCompany.setValue(this.cid);\n this.LedgerStatementFormGroup.controls.fcFromDate.setValue(this.frmdate);\n this.LedgerStatementFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.LedgerStatementFormGroup.controls.fcLedger.setValue('STATEMENT');\n this.LedgerStatementFormGroup.controls.fcEmployee.setValue([this.CurLedgerID]);\n }\n\n updateEmployee(event: { isUserInput:any; \n source:{value:any;\n selected:any}})\n { \n if (event.isUserInput)\n {\n let empid = event.source.value; \n } \n }\n\n}\n","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DocumentcontrolValidate } from './../../Documents/documentcontrolvalidate';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialogRef,MatDialogConfig,MatDialog } from '@angular/material/dialog';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { DocumentcontrolComponent } from 'src/app/components/Employee/Documents/documentcontrol/documentcontrol.component';\n\n\n\n@Component({\n selector: 'app-popupnotification',\n templateUrl: './popupnotification.component.html',\n styleUrls: ['./popupnotification.component.css']\n})\nexport class PopupnotificationComponent implements OnInit {\n datasource:any\n isLedgeridVisible:boolean=false;\n constructor(public service: DocumentcontrolValidate, public dialogRef: MatDialogRef,\n public DcValidate: DocumentcontrolValidate,\n private dialog: MatDialog,\n private dialogService: DialogService) { }\n\n ngOnInit(): void {\n this.getdocumentdetails();\n }\n Refresh()\n {\n this.getdocumentdetails();\n }\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'});\n }\n getdocumentdetails()\n {\n // console.log(\"dddd\",this.LedgerID)\n let params = {\n cid:JSON.parse(sessionStorage.getItem('cid')),\n username:\"''\",\n flag:'LoadPopUp',\n hide:'false'\n }\n this.service.GetExpiryDetails(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n this.datasource= result.respdata.Table2;\n // this.datasource1=result.respdata.Table1;\n }\n else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onFocusedRowChanged(e) {\n console.log('rowclickevent',e.data)\n this.DcValidate.populateForm(e.data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"EDIT\",\n Name:e.data.EmpID +\" - \"+e.data.EmpName, \n TaskID:e.data.TaskID,\n LedgerID:e.data.LedgerID,\n cid:JSON.parse(sessionStorage.getItem('cid'))\n }\n const dialogRef = this.dialog.open(DocumentcontrolComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getdocumentdetails(); \n }); \n }\n\n}\n","import { Component, OnInit,ViewChild, } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder,FormArray,AbstractControl } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { MatSort} from '@angular/material/sort';\nimport {MatPaginator} from '@angular/material/paginator';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ThemePalette } from '@angular/material/core';\nimport { DialogColorcodeComponent } from './../dialog-colorcode/dialog-colorcode.component';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { User } from './../../../../Modules/user';\n\n@Component({\n selector: 'app-attendancereport',\n templateUrl: './attendancereport.component.html',\n styleUrls: ['./attendancereport.component.css']\n})\nexport class AttendancereportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n \n public disabled = false;\n public color: ThemePalette = 'primary';\n public touchUi = false;\n\n colorCtr: AbstractControl = new FormControl(null);\n\n public listColors = ['primary', 'accent', 'warn'];\n\n public codeColorPicker = `\n \n \n \n \n `;\n\n isLinear = false;\n AttendanceReportFormGroup: FormGroup;\n AttendanceDataFormGroup: FormGroup;\n isEditable = true; \n companies: any;\n Departments: any;\n timezone:any;\n showSpinner:any\n employeelist:any;\n yearlist:any;\n dataSource: any;\n leavedetails: any;\n datasource:MatTableDataSource;\n summarydetails:MatTableDataSource;\n colorcode:any;\n leavelist:any;\n leavelist1:any;\n cols: MatTableDataSource;\n leaveflag=0;\n LedgerID:number;\n searchKey: string;\n isvisible=false;\n isgridvisible=true;\n empvisible=false;\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n leaveid:string;\n CID:any;\n grpid:any=1;\n viewbtnvisible: boolean = false;\n category = [\n { name: 'ALL' },\n { name: 'By Employee' },\n { name: 'All With LeaveData' } \n ];\n\n columns = [\n { columnDef: 'Name', header: 'Name', cell: (element: any) => `${element.Name}`, color: \"red\" },\n { columnDef: 'S', header: 'S', cell: (element: any) => `${element.S}` },\n { columnDef: 'M', header: 'M', cell: (element: any) => `${element.M}` },\n { columnDef: 'T', header: 'T', cell: (element: any) => `${element.T}` },\n { columnDef: 'W', header: 'W', cell: (element: any) => `${element.W}` },\n { columnDef: 'T1', header: 'T', cell: (element: any) => `${element.T1}` },\n { columnDef: 'F', header: 'F', cell: (element: any) => `${element.F}` },\n { columnDef: 'S1', header: 'S', cell: (element: any) => `${element.S1}` },\n { columnDef: 'S2', header: 'S', cell: (element: any) => `${element.S2}` },\n { columnDef: 'M1', header: 'M', cell: (element: any) => `${element.M1}` },\n { columnDef: 'T2', header: 'T', cell: (element: any) => `${element.T2}` },\n { columnDef: 'W1', header: 'W', cell: (element: any) => `${element.W1}` },\n { columnDef: 'T3', header: 'T', cell: (element: any) => `${element.T3}` },\n { columnDef: 'F1', header: 'F', cell: (element: any) => `${element.F1}` },\n { columnDef: 'S3', header: 'S', cell: (element: any) => `${element.S3}` },\n { columnDef: 'S4', header: 'S', cell: (element: any) => `${element.S4}` },\n { columnDef: 'M2', header: 'M', cell: (element: any) => `${element.M2}` },\n { columnDef: 'T4', header: 'T', cell: (element: any) => `${element.T4}` },\n { columnDef: 'W2', header: 'W', cell: (element: any) => `${element.W2}` },\n { columnDef: 'T5', header: 'T', cell: (element: any) => `${element.T5}` },\n { columnDef: 'F2', header: 'F', cell: (element: any) => `${element.F2}` },\n { columnDef: 'S5', header: 'S', cell: (element: any) => `${element.S5}` },\n { columnDef: 'S6', header: 'S', cell: (element: any) => `${element.S6}` },\n { columnDef: 'M3', header: 'M', cell: (element: any) => `${element.M3}` },\n { columnDef: 'T6', header: 'T', cell: (element: any) => `${element.T6}` },\n { columnDef: 'W3', header: 'W', cell: (element: any) => `${element.W3}` },\n { columnDef: 'T7', header: 'T', cell: (element: any) => `${element.T7}` },\n { columnDef: 'F3', header: 'F', cell: (element: any) => `${element.F3}` },\n { columnDef: 'S7', header: 'S', cell: (element: any) => `${element.S7}` },\n { columnDef: 'S8', header: 'S', cell: (element: any) => `${element.S8}` },\n { columnDef: 'M4', header: 'M', cell: (element: any) => `${element.M4}` },\n { columnDef: 'T8', header: 'T', cell: (element: any) => `${element.T8}` },\n { columnDef: 'W4', header: 'W', cell: (element: any) => `${element.W4}` },\n { columnDef: 'T9', header: 'T', cell: (element: any) => `${element.T9}` },\n { columnDef: 'F4', header: 'F', cell: (element: any) => `${element.F4}` },\n { columnDef: 'S9', header: 'S', cell: (element: any) => `${element.S9}` },\n { columnDef: 'S10', header: 'S', cell: (element: any) => `${element.S10}` },\n { columnDef: 'M5', header: 'M', cell: (element: any) => `${element.M5}` },\n { columnDef: 'T10', header: 'T', cell: (element: any) => `${element.T10}` },\n ];\n\n displayedColumns = this.columns.map(c => c.columnDef);\n displayedColumns1=['Name','CarryForward','NoofDays','TotalLeave','TakenLeave','RemainingLeave','AnnualLeave']\n displayedColumns2=['Emergency','Leave','Maternity','SickLeave','UnpaidLeave','ExtendedLeave']\n // displayedColumns1=['Name','CarryForward','NoofDays','TotalLeave','TakenLeave','RemainingLeave','AnnualVacation','Emergency','Leave','Maternity','SickLeave','UnpaidLeave','ExtendedLeave']\n \n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n get ordersFormArray() \n {\n return this.AttendanceDataFormGroup.controls.orders as FormArray;\n }\n constructor(private formBuilder: FormBuilder,public service: HttpserviceService,\n private generic: GenericService, private service1: UserService,\n public notificationService: NotificationService,private dialog: MatDialog) {\n\n this.AttendanceReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required],\n fcCategory: ['', Validators.required],\n fcTimeZone: ['', Validators.required],\n fcMonth: ['', Validators.required],\n fcYear: ['', Validators.required],\n fcDepartment: ['', Validators.required], \n fcLedgerid:['']\n });\n\n this.AttendanceDataFormGroup = this.formBuilder.group({\n orders: new FormArray([]) \n });\n \n }\n private addCheckboxes() \n {\n this.leavelist.forEach(() => this.ordersFormArray.push(new FormControl('True')));\n }\n \n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getComboValue();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n\n let year = new Date().getFullYear();\n this.AttendanceReportFormGroup.controls.fcCompany.setValue(this.CID);\n this.AttendanceReportFormGroup.controls.fcTimeZone.setValue(1);\n this.AttendanceReportFormGroup.controls.fcCategory.setValue('ALL');\n this.AttendanceReportFormGroup.controls.fcYear.setValue(year);\n this.AttendanceReportFormGroup.controls.fcMonth.setValue('1');\n this.AttendanceReportFormGroup.controls.fcDepartment.setValue(0);\n\n this.isvisible = this.AttendanceReportFormGroup.get('fcCategory').value !== \"By Employee\" ? true : false;\n this.empvisible = this.AttendanceReportFormGroup.get('fcCategory').value === \"By Employee\" ? true : false;\n }\n onCompanySelect(event)\n {\n let year = new Date().getFullYear();\n this.CID=event.value;\n this.employeelist='';\n this.empid= [];\n this.AttendanceReportFormGroup.reset(); \n this.AttendanceDataFormGroup = this.formBuilder.group({\n orders: new FormArray([]) \n });\n this.datasource = new MatTableDataSource([]);\n this.summarydetails = new MatTableDataSource([]);\n this.getComboValue(); \n this.myControl.setValue(''); \n this.AttendanceReportFormGroup.controls.fcCompany.setValue(this.CID);\n this.AttendanceReportFormGroup.controls.fcTimeZone.setValue(1);\n this.AttendanceReportFormGroup.controls.fcCategory.setValue('ALL');\n this.categoryselect(this.AttendanceReportFormGroup.get('fcCategory').value);\n this.AttendanceReportFormGroup.controls.fcYear.setValue(year);\n this.AttendanceReportFormGroup.controls.fcMonth.setValue('1');\n this.AttendanceReportFormGroup.controls.fcDepartment.setValue(0);\n }\n onDialog()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.CID,\n leavelist:this.leavelist\n }\n const dialogRef = this.dialog.open(DialogColorcodeComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n selectedproduct(event) { \n this.LedgerID=event.option.value; \n this.LedgerID=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n this.summarydetails.filter = filterValue.trim().toLowerCase();\n }\n categoryselect(e)\n {\n this.isvisible = this.AttendanceReportFormGroup.get('fcCategory').value !== \"By Employee\" ? true : false;\n this.empvisible = this.AttendanceReportFormGroup.get('fcCategory').value === \"By Employee\" ? true : false;\n }\n\n groupselect(e)\n {\n console.log('groupselect',e)\n this.grpid=e.value;\n //this.getComboValue();\n this.showSpinner=true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.CID,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:this.grpid,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result=data;\n if (result.errno === 0){ \n \n this.leavelist=result.respdata.Table2;\n this.leavelist1=result.respdata.Table2;\n console.log('leavelistpageload',result.respdata.Table2);\n\n \n // this.addCheckboxes();\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getcolor1(state)\n {\n switch (state.columnDef)\n {\n case \"Name\":\n return 'black';\n }\n }\n getcolor2(state)\n {\n switch (state.columnDef)\n {\n case \"Name\":\n return 'left';\n }\n }\n getcolor(state)\n {\n for (let key of Object.keys(this.leavelist1)) {\n let colorName = this.leavelist1[key];\n if(colorName.LID==state)\n {\n return colorName.ColorCode;\n }\n }\n\n switch (state){\n case '2':\n return '#E8DAEF'\n case '0':\n return '#B0C4DE'\n case 'null':\n return '#F9FAFA' \n }\n \n }\n EmpDataView()\n { \n if(this.AttendanceReportFormGroup.get('fcCategory').value !== \"By Employee\")\n {\n this.leavedetails=\"\";\n this.leavedetails=[]; \n this.isgridvisible=true;\n }\n else if(this.AttendanceReportFormGroup.get('fcCategory').value === \"By Employee\")\n {\n this.dataSource=\"\";\n this.dataSource=[];\n this.isgridvisible=false;\n\n }\n }\n\n gettimepunch()\n {\n \n this.showSpinner=true;\n let params = {\n cid:this.CID,\n Flag:this.AttendanceReportFormGroup.get('fcCategory').value,\n EmpID:this.LedgerID ==null ? 0 :this.LedgerID,\n Month:this.AttendanceReportFormGroup.get('fcMonth').value==\"\" ? 1 : this.AttendanceReportFormGroup.get('fcMonth').value,\n TimeZone:this.AttendanceReportFormGroup.get('fcTimeZone').value,\n checkcode: this.AttendanceReportFormGroup.get('fcCategory').value === \"All With LeaveData\" || \"ALL\" ? this.leaveid : \"\" ,\n Year:this.AttendanceReportFormGroup.get('fcYear').value,\n Department:this.AttendanceReportFormGroup.get('fcDepartment').value,\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result=data;\n if (result.errno === 0){\n // this.leavelist=result.respdata.Table2;\n // this.leavelist1=result.respdata.Table2;\n // this.addCheckboxes();\n this.datasource= result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n console.log('FLAG',this.AttendanceReportFormGroup.get('fcCategory').value)\n\n \n // this.addCheckboxes();\n if(this.AttendanceReportFormGroup.get('fcCategory').value=== \"By Employee\")\n { \n this.leavedetails=result.respdata.Table1; \n }\n else \n {\n this.dataSource=result.respdata.Table1; \n }\n this.leavelist=result.respdata.Table2;\n // console.log('leavelist',result.respdata.Table2);\n this.leavelist1=result.respdata.Table2;\n \n this.stepper.selectedIndex = 1;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getComboValue()\n {\n this.showSpinner=true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.CID,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:this.grpid,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result=data;\n if (result.errno === 0){ \n this.companies= curUser.dtsiteid;\n this.yearlist= result.respdata.Table1;\n this.leavelist=result.respdata.Table2;\n this.leavelist1=result.respdata.Table2;\n console.log('leavelistpageload',result.respdata.Table2);\n\n this.Departments=result.respdata.Table3;\n this.timezone=result.respdata.Table4;\n this.employeelist=result.respdata.Table5;\n\n this.addCheckboxes();\n \n this.empid= _.pluck(this.employeelist, 'Name'); \n this. getUserList();\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_15\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n\n Submit() {\n \n const lid = this.AttendanceDataFormGroup.value.orders\n .map((checked, i) => checked ? this.leavelist[i].LID : null)\n .filter(v => v !== null);\n \n this.leaveid=lid.toString();\n let newList = [];\n for (let value of Object.values(lid))\n {\n for (var i = 0; i < this.leavelist.length; i++) {\n if (this.leavelist[i].LID === value ) {\n newList.push(this.leavelist[i]);\n }\n }\n }\n this.leavelist1=newList;\n\n this.gettimepunch();\n \n }\n\n}\nexport interface GroupALL {\n Name: string;\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { FormGroup,FormControl, AbstractControl } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { Inject } from '@angular/core';\n\n@Component({\n selector: 'app-dialog-colorcode',\n templateUrl: './dialog-colorcode.component.html',\n styleUrls: ['./dialog-colorcode.component.css']\n})\nexport class DialogColorcodeComponent implements OnInit {\n cid: any;\n leavelist: any;\n LID: any;\n public disabled = false;\n public color: ThemePalette = 'primary';\n public touchUi = false;\n\n colorCtr: AbstractControl = new FormControl(null);\n\n public listColors = ['primary', 'accent', 'warn'];\n\n displayedColumns = ['LID', 'name', 'ColorCode'];\n constructor(\n public service: HttpserviceService,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.cid = this.data.cid;\n this.leavelist = this.data.leavelist;\n }\n\n ngOnInit(): void {\n // this.color=\"red\";\n }\n\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'});\n }\n submit()\n {\n const param =\n {\n cid: this.cid,\n Flag: 'EDIT',\n LID: this.LID,\n ColorCode: '#' + this.colorCtr.value.hex,\n UserID: '',\n GroupID: sessionStorage.getItem('groupid')\n\n };\n this.service.httpPost('/AttendanceReport/setLeaveTypeColor',param)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n if (users.errno === 0){\n this.notificationService.success(':: Submitted successfully');\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n}\n","import { Component, OnInit,Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder,FormArray,AbstractControl } from '@angular/forms';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-crmdatecontrol',\n templateUrl: './crmdatecontrol.component.html',\n styleUrls: ['./crmdatecontrol.component.scss'],\n})\nexport class CrmdatecontrolComponent implements OnInit {\n BussinessDate:any;\n CRMDateControlFormGroup: FormGroup;\n Curisvisible=false;\n Bydateisvisible=false;\n curdate= new Date();\n DateTypeFlag:string;\n Bymonthisvisible=false;\n ByMonthYearvisible=false;\n CurrentYearvisible=false;\n yearlist:any;\n rtnfromdate:any;\n rtntodate:any;\n month:number;\n todaycheck:boolean=false;\n bydatecheck:boolean=false;\n lastsevencheck:boolean=false;\n bymonthcheck:boolean=false;\n byyearcheck:boolean=false;\n alldatecheck:boolean=false;\n Curmonthvalue=new Date().getMonth()+1\n value:boolean=true; \n category = [\n { name: 'Today' },\n { name: 'Last 7 Days' },\n // { name: 'Current Year' },\n { name: 'By Date' },\n { name: 'By Month' } ,\n { name: 'By Year' },\n { name: 'All Date' } \n ];\n\n favoriteSeason: string;\n seasons: string[] = ['Today', 'Last 7 Days', 'By Date', 'By Month','By Year','All Date'];\n\n //,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any\n constructor(private formBuilder: FormBuilder,public notificationService: NotificationService,public service: HttpserviceService,private datePipe: DatePipe,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) { \n\n // console.log('datetupe',this.data.DateTypeFlag)\n // this.DateTypeFlag=this.data.DateTypeFlag;\n\n this.CRMDateControlFormGroup = this.formBuilder.group({ \n // fcCategory: [''], \n fcCurrentDate: ['', Validators.required], \n fcFromDate: ['', Validators.required], \n fcToDate: ['', Validators.required], \n fcMonth: ['', Validators.required],\n fcYear:['',Validators.required],\n fcCurrentYear:['',Validators.required]\n });\n }\n\n ngOnInit() {\n // console.log('casfk',this.Curmonthvalue)\n\n let year = new Date().getFullYear();\n //this.DateControlFormGroup.controls.fcCategory.setValue('Today');\n this.CRMDateControlFormGroup.controls.fcCurrentDate.setValue(this.curdate);\n this.CRMDateControlFormGroup.controls.fcCurrentDate.disable();\n this.CRMDateControlFormGroup.controls.fcFromDate.setValue(this.curdate);\n this.CRMDateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n this.Curisvisible=true;\n this.CRMDateControlFormGroup.controls.fcMonth.setValue(this.Curmonthvalue.toString());\n this.getComboValue();\n this.CRMDateControlFormGroup.controls.fcYear.setValue(year);\n this.CRMDateControlFormGroup.controls.fcCurrentYear.setValue(year);\n\n // console.log('vig',this.data)\n\n if(this.data.DateTypeFlag===undefined )\n {\n // console.log('hi')\n this.data.DateTypeFlag=\"Today\"; \n this.radioChange(this.data.DateTypeFlag);\n }\n else\n {\n // console.log('BYE')\n this.data.DateTypeFlag=this.data.DateTypeFlag;\n // console.log('datetype',this.DateTypeFlag)\n this.radioChange(this.data.DateTypeFlag);\n }\n\n }\n\n \n radioChange(event) {\n // console.log\n // this.filter['property'] = event.value;\n // console.log('RADIO',event);\n //this.DateTypeFlag=event.value;\n this.data.DateTypeFlag=event.value;\n if(this.data.DateTypeFlag==='Today' || event ==='Today')\n {\n this.Curisvisible=true;\n this.Bydateisvisible=false;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.todaycheck=true; \n this.data.DateTypeFlag=\"Today\";\n }\n else if(this.data.DateTypeFlag==='By Date' || event ==='By Date') \n {\n this.value=false; \n this.Curisvisible=false;\n this.Bydateisvisible=true;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.CRMDateControlFormGroup.controls.fcFromDate.setValue(this.curdate);\n this.CRMDateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n this.bydatecheck=true; \n\n this.data.DateTypeFlag='By Date' \n }\n else if(this.data.DateTypeFlag==='By Month' || event ==='By Month') \n {\n this.Curisvisible=false;\n this.Bydateisvisible=false;\n this.CurrentYearvisible=false;\n this.Bymonthisvisible=true;\n this.ByMonthYearvisible=true; \n this.bymonthcheck=true; \n this.data.DateTypeFlag='By Month' \n }\n else if(this.data.DateTypeFlag==='By Year' || event ==='By Year') \n {\n this.Curisvisible=false;\n this.Bydateisvisible=false;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false; \n this.CurrentYearvisible=true;\n this.byyearcheck=true;\n this.data.DateTypeFlag='By Year' \n }\n else if(this.data.DateTypeFlag==='All Date' || event ==='All Date') \n { \n let params = {\n cid:101,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:1,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0 \n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any; \n result=data;\n if (result.errno === 0){ \n this.yearlist= result.respdata.Table1;\n this.BussinessDate=result.respdata.Table7[0].StartDate;\n \n this.alldatecheck=true; \n this.value=true; \n //console.log('BUSINESDATE',this.BussinessDate)\n this.rtnfromdate=this.BussinessDate; \n this.Curisvisible=false;\n this.Bydateisvisible=true;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.CRMDateControlFormGroup.controls.fcFromDate.setValue(this.rtnfromdate);\n this.CRMDateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n this.data.DateTypeFlag='All Date' \n\n }\n else if(this.data.DateTypeFlag==='Last 7 Days' || event ==='Last 7 Days') \n { \n this.value=false; \n var myCurrentDate=new Date();\n var myPastDate=new Date(myCurrentDate);\n myPastDate.setDate(myPastDate.getDate() - 6); \n this.Curisvisible=false;\n this.Bydateisvisible=true;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.CRMDateControlFormGroup.controls.fcFromDate.setValue(myPastDate);\n this.CRMDateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n this.lastsevencheck=true;\n this.data.DateTypeFlag='Last 7 Days' \n\n }\n }\n Close()\n { \n console.log('te',this.data)\n // console.log('abc',JSON.stringify(this.data))\n \n if(this.data.DateTypeFlag ==='Today' )\n { \n this.rtnfromdate=this.datePipe.transform(this.CRMDateControlFormGroup.get('fcCurrentDate').value,\"dd-MM-yyyy\");\n this.rtntodate=this.datePipe.transform(this.CRMDateControlFormGroup.get('fcCurrentDate').value,\"dd-MM-yyyy\");\n this.data.DateTypeFlag=\"Today\"; \n }\n \n else if( this.data.DateTypeFlag ==='By Date')\n { \n this.rtnfromdate=this.datePipe.transform(this.CRMDateControlFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\");\n this.rtntodate=this.datePipe.transform(this.CRMDateControlFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"); \n this.data.DateTypeFlag='By Date' \n }\n else if(this.data.DateTypeFlag ==='Last 7 Days')\n {\n this.rtnfromdate=this.datePipe.transform(this.CRMDateControlFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\");\n this.rtntodate=this.datePipe.transform(this.CRMDateControlFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"); \n this.data.DateTypeFlag='Last 7 Days'; \n }\n else if(this.data.DateTypeFlag ==='By Month') \n { \n this.month =parseInt(this.CRMDateControlFormGroup.get('fcMonth').value)-1; \n var d = new Date(this.CRMDateControlFormGroup.get('fcYear').value, this.month + 1, 0);\n \n this.rtnfromdate='01'+'-'+this.CRMDateControlFormGroup.get('fcMonth').value+'-'+this.CRMDateControlFormGroup.get('fcYear').value;\n this.rtntodate=this.datePipe.transform(d,\"dd-MM-yyyy\"); \n this.data.DateTypeFlag='By Month' \n }\n else if(this.data.DateTypeFlag ==='By Year') \n {\n this.rtnfromdate='01-01-'+this.CRMDateControlFormGroup.get('fcCurrentYear').value;\n this.rtntodate='31-12-'+this.CRMDateControlFormGroup.get('fcCurrentYear').value; \n this.data.DateTypeFlag='By Year' \n }\n else if(this.data.DateTypeFlag ==='All Date') \n { \n this.rtnfromdate=this.datePipe.transform(this.BussinessDate,\"dd-MM-yyyy\"); \n this.rtntodate='31-12-'+this.CRMDateControlFormGroup.get('fcYear').value; \n this.data.DateTypeFlag='All Date' \n }\n\n let data={\n frmdate: this.rtnfromdate,\n todate:this.rtntodate,\n // datetype:this.DateTypeFlag ===undefined?this.data.DateTypeFlag:this.DateTypeFlag\n datetype:this.data.DateTypeFlag\n }\n this.dialogRef.close(data);\n }\n categoryselect(e)\n {\n \n }\n getComboValue()\n { \n let params = {\n cid:101,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:1,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any; \n result=data;\n if (result.errno === 0){ \n this.yearlist= result.respdata.Table1;\n this.BussinessDate=result.respdata.Table7[0].StartDate;\n\n //console.log('BSDATE',this.BussinessDate); \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { Component, OnInit,Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder,FormArray,AbstractControl } from '@angular/forms';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-datecontrol',\n templateUrl: './datecontrol.component.html',\n styleUrls: ['./datecontrol.component.scss'],\n})\nexport class DatecontrolComponent implements OnInit {\n BussinessDate:any;\n DateControlFormGroup: FormGroup;\n Curisvisible=false;\n Bydateisvisible=false;\n curdate= new Date();\n DateTypeFlag:string;\n Bymonthisvisible=false;\n ByMonthYearvisible=false;\n CurrentYearvisible=false;\n yearlist:any;\n rtnfromdate:any;\n rtntodate:any;\n month:number;\n todaycheck:boolean=false;\n bydatecheck:boolean=false;\n lastsevencheck:boolean=false;\n bymonthcheck:boolean=false;\n byyearcheck:boolean=false;\n alldatecheck:boolean=false;\n Curmonthvalue=new Date().getMonth()+1\n value:boolean=true; \n category = [\n { name: 'Today' },\n { name: 'Last 7 Days' },\n // { name: 'Current Year' },\n { name: 'By Date' },\n { name: 'By Month' } ,\n { name: 'By Year' },\n { name: 'All Date' } \n ];\n\n favoriteSeason: string;\n seasons: string[] = ['Today', 'Last 7 Days', 'By Date', 'By Month','By Year','All Date'];\n\n //,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any\n constructor(private formBuilder: FormBuilder,public notificationService: NotificationService,public service: HttpserviceService,private datePipe: DatePipe,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) { \n\n // console.log('datetupe',this.data.DateTypeFlag)\n // this.DateTypeFlag=this.data.DateTypeFlag;\n\n this.DateControlFormGroup = this.formBuilder.group({ \n // fcCategory: [''], \n fcCurrentDate: ['', Validators.required], \n fcFromDate: ['', Validators.required], \n fcToDate: ['', Validators.required], \n fcMonth: ['', Validators.required],\n fcYear:['',Validators.required],\n fcCurrentYear:['',Validators.required]\n });\n }\n\n ngOnInit() {\n // console.log('casfk',this.Curmonthvalue)\n\n let year = new Date().getFullYear();\n //this.DateControlFormGroup.controls.fcCategory.setValue('Today');\n this.DateControlFormGroup.controls.fcCurrentDate.setValue(this.curdate);\n this.DateControlFormGroup.controls.fcCurrentDate.disable();\n this.DateControlFormGroup.controls.fcFromDate.setValue(this.curdate);\n this.DateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n this.Curisvisible=true;\n this.DateControlFormGroup.controls.fcMonth.setValue(this.Curmonthvalue.toString());\n this.getComboValue();\n this.DateControlFormGroup.controls.fcYear.setValue(year);\n this.DateControlFormGroup.controls.fcCurrentYear.setValue(year);\n\n // console.log('vig',this.data)\n\n if(this.data.DateTypeFlag===undefined )\n {\n // console.log('hi')\n this.data.DateTypeFlag=\"Today\"; \n this.radioChange(this.data.DateTypeFlag);\n }\n else\n {\n // console.log('BYE')\n this.data.DateTypeFlag=this.data.DateTypeFlag;\n // console.log('datetype',this.DateTypeFlag)\n this.radioChange(this.data.DateTypeFlag);\n }\n\n }\n\n \n radioChange(event) {\n // console.log\n // this.filter['property'] = event.value;\n // console.log('RADIO',event);\n //this.DateTypeFlag=event.value;\n this.data.DateTypeFlag=event.value;\n if(this.data.DateTypeFlag==='Today' || event ==='Today')\n {\n this.Curisvisible=true;\n this.Bydateisvisible=false;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.todaycheck=true; \n this.data.DateTypeFlag=\"Today\";\n }\n else if(this.data.DateTypeFlag==='By Date' || event ==='By Date') \n {\n this.value=false; \n this.Curisvisible=false;\n this.Bydateisvisible=true;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.DateControlFormGroup.controls.fcFromDate.setValue(this.curdate);\n this.DateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n this.bydatecheck=true; \n\n this.data.DateTypeFlag='By Date' \n }\n else if(this.data.DateTypeFlag==='By Month' || event ==='By Month') \n {\n this.Curisvisible=false;\n this.Bydateisvisible=false;\n this.CurrentYearvisible=false;\n this.Bymonthisvisible=true;\n this.ByMonthYearvisible=true; \n this.bymonthcheck=true; \n this.data.DateTypeFlag='By Month' \n }\n else if(this.data.DateTypeFlag==='By Year' || event ==='By Year') \n {\n this.Curisvisible=false;\n this.Bydateisvisible=false;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false; \n this.CurrentYearvisible=true;\n this.byyearcheck=true;\n this.data.DateTypeFlag='By Year' \n }\n else if(this.data.DateTypeFlag==='All Date' || event ==='All Date') \n { \n let params = {\n cid:101,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:1,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0 \n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any; \n result=data;\n if (result.errno === 0){ \n this.yearlist= result.respdata.Table1;\n this.BussinessDate=result.respdata.Table6[0].StartDate;\n \n this.alldatecheck=true; \n this.value=true; \n //console.log('BUSINESDATE',this.BussinessDate)\n this.rtnfromdate=this.BussinessDate; \n this.Curisvisible=false;\n this.Bydateisvisible=true;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.DateControlFormGroup.controls.fcFromDate.setValue(this.rtnfromdate);\n this.DateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n this.data.DateTypeFlag='All Date' \n\n }\n else if(this.data.DateTypeFlag==='Last 7 Days' || event ==='Last 7 Days') \n { \n this.value=false; \n var myCurrentDate=new Date();\n var myPastDate=new Date(myCurrentDate);\n myPastDate.setDate(myPastDate.getDate() - 6); \n this.Curisvisible=false;\n this.Bydateisvisible=true;\n this.Bymonthisvisible=false;\n this.ByMonthYearvisible=false;\n this.CurrentYearvisible=false;\n this.DateControlFormGroup.controls.fcFromDate.setValue(myPastDate);\n this.DateControlFormGroup.controls.fcToDate.setValue(this.curdate);\n this.lastsevencheck=true;\n this.data.DateTypeFlag='Last 7 Days' \n\n }\n }\n Close()\n { \n console.log('te',this.data)\n // console.log('abc',JSON.stringify(this.data))\n \n if(this.data.DateTypeFlag ==='Today' )\n { \n this.rtnfromdate=this.datePipe.transform(this.DateControlFormGroup.get('fcCurrentDate').value,\"dd-MM-yyyy\");\n this.rtntodate=this.datePipe.transform(this.DateControlFormGroup.get('fcCurrentDate').value,\"dd-MM-yyyy\");\n this.data.DateTypeFlag=\"Today\"; \n }\n \n else if( this.data.DateTypeFlag ==='By Date')\n { \n this.rtnfromdate=this.datePipe.transform(this.DateControlFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\");\n this.rtntodate=this.datePipe.transform(this.DateControlFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"); \n this.data.DateTypeFlag='By Date' \n }\n else if(this.data.DateTypeFlag ==='Last 7 Days')\n {\n this.rtnfromdate=this.datePipe.transform(this.DateControlFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\");\n this.rtntodate=this.datePipe.transform(this.DateControlFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"); \n this.data.DateTypeFlag='Last 7 Days'; \n }\n else if(this.data.DateTypeFlag ==='By Month') \n { \n this.month =parseInt(this.DateControlFormGroup.get('fcMonth').value)-1; \n var d = new Date(this.DateControlFormGroup.get('fcYear').value, this.month + 1, 0);\n \n this.rtnfromdate='01'+'-'+this.DateControlFormGroup.get('fcMonth').value+'-'+this.DateControlFormGroup.get('fcYear').value;\n this.rtntodate=this.datePipe.transform(d,\"dd-MM-yyyy\"); \n this.data.DateTypeFlag='By Month' \n }\n else if(this.data.DateTypeFlag ==='By Year') \n {\n this.rtnfromdate='01-01-'+this.DateControlFormGroup.get('fcCurrentYear').value;\n this.rtntodate='31-12-'+this.DateControlFormGroup.get('fcCurrentYear').value; \n this.data.DateTypeFlag='By Year' \n }\n else if(this.data.DateTypeFlag ==='All Date') \n { \n this.rtnfromdate=this.datePipe.transform(this.BussinessDate,\"dd-MM-yyyy\"); \n this.rtntodate='31-12-'+this.DateControlFormGroup.get('fcYear').value; \n this.data.DateTypeFlag='All Date' \n }\n\n let data={\n frmdate: this.rtnfromdate,\n todate:this.rtntodate,\n // datetype:this.DateTypeFlag ===undefined?this.data.DateTypeFlag:this.DateTypeFlag\n datetype:this.data.DateTypeFlag\n }\n this.dialogRef.close(data);\n }\n categoryselect(e)\n {\n \n }\n getComboValue()\n { \n let params = {\n cid:101,\n Flag:\"PAGELOAD\",\n EmpID:0,\n Month:1,\n TimeZone:1,\n checkcode:\"\",\n Year:2020,\n Department:\"select\",\n Ledger:0\n\n }\n this.service.httpPost('/AttendanceReport/GetAttendanceReport',params)\n .subscribe(data => {\n let result: any; \n result=data;\n if (result.errno === 0){ \n this.yearlist= result.respdata.Table1;\n this.BussinessDate=result.respdata.Table6[0].StartDate;\n\n //console.log('BSDATE',this.BussinessDate); \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { DxDataGridComponent } from 'devextreme-angular';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-eosposting',\n templateUrl: './eosposting.component.html',\n styleUrls: ['./eosposting.component.scss'],\n})\nexport class EospostingComponent implements OnInit {\n\n @ViewChild(DxDataGridComponent, { static: false }) gridContainer: DxDataGridComponent;\n\n cid:any=101;\n Categorylist:any;\n VouDate:any=new Date();\n Employeelist:any;\n LedgerID:any;\n Category:any=0;\n Prefixlist:any;\n Prefix:any;\n VouNo:any;\n flag:any;\n payslipmonth:any=new Date();\n Comment:any;\n dataSource:Details[]=[];\n step = 0;\n panelExpanded = false;\n AccountSource:any;\n ExcludeEmergency:Boolean=true;\n ExcludeUnPaidLeave:boolean=true;\n MenuID:any;\n Ledgerlist:any;\n // lblGratuityBasicSal:any;\n // lblGratuityPerDay:any;\n\n leavedays:number=0;\n workdays:number=0;\n perday:number=0;\n totaldays:number=0;\n\n frmdate:any;\n todate:any;\n daysinmonth:number=0;\n daysinyear:number=0;\n noofdays:number=0;\n\n monthleaveamt:number=0;\n perdayleaveamt:number=0;\n finalleaveamt:number=0;\n\n\n EmpPassage:number=0;\n PerDayPassage:number=0;\n FinalPassage:number=0;\n\n Basicsalary:any=0;\n PerDayGratuity:any=0;\n TotDayGratuity:any=0;\n gratuityvisible:boolean=false;\n\n\n _CalcLeaveAmt?: string;\n _ChagLeaveAmt?: string;\n _CalcGratuity?: string;\n _ChangeGratuity?: string;\n _CalcLastMonthSalary?: string;\n _ChangeLastMonthSalary?: string;\n _CalcEosAdvAmount?: string;\n _ChagEosAdvAmount?: string;\n _NetAmt?: string;\n _LessAmt?: string;\n _TotalAmt?: string;\n _ChagPassageAmt?: string;\n\n objcsls:any;\n Daysinmonth1:any;\n ContractType:any;\n daysinyear1:any;\n\n isforceNo = false;\n\n\n\n\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog,private NotificationService: NotificationService, @Inject(MAT_DIALOG_DATA) public data: any)\n {\n //this.LoadData()\n console.log('dialogRef',data)\n\n this.Categorylist=data.datalist.Category;\n this.Employeelist=data.datalist.Employee;\n this.Prefixlist=data.datalist.Prefix;\n this.AccountSource= data.datalist.AccountGrid; \n this.Prefix=this.Prefixlist[0].Prefix;\n this.Ledgerlist=data.datalist.Ledgerlist; \n\n this.flag=data.flag\n if(this.flag=='EDIT')\n {\n let parts = data.VouNo.split('/');\n this.Prefix=parts[0]+'/'\n this.VouNo=parts[1]\n this.Getstructure()\n }\n \n }\n\n // calculateSerialNumber = (rowData: any, rowIndex: number): number => {\n // if (typeof rowIndex !== 'number' || isNaN(rowIndex)) {\n // console.error('Invalid rowIndex:', rowIndex);\n // return NaN;\n // }\n\n // return rowIndex + 1;\n // }\n\n ngOnInit() \n {\n this.MenuID=sessionStorage.getItem('SelectedMenuID')\n this.gratuityvisible=this.MenuID=='ERP_242_1'?true:false;\n\n }\n Getstructure()\n {\n const params = {\n _SiteID: this.cid,\n _RefNo:this.Prefix+this.VouNo\n\n }; \n \n \n\n \n this.service.httpPost('/EOS/GetLeaveSalary?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"mm\",result.respdata)\n\n this.objcsls=result.respdata.obj;\n this.Daysinmonth1=result.respdata.Daysinmonth;\n this.daysinyear1=result.respdata.Daysinyear;\n\n this.Basicsalary =this.objcsls._BasicSalary;\n this.PerDayGratuity =this.objcsls._PerDayGratuity;\n this.TotDayGratuity=this.objcsls._TotalDaysGratuity;\n\n this.LedgerID=this.objcsls._LedgerID;\n this.Comment=this.objcsls._Comment;\n // this.ContractType=result.respdata.ContractType;\n\n this. Assignlabels();\n\n \n });\n }\n\n Populate()\n {\n\n //this.showSpinner=true;\n const params = {\n _SiteID: this.cid,\n _LedgerID:this.LedgerID,\n _PostDate:this.VouDate,\n _ExcludeEmergency:this.ExcludeEmergency,\n _MenuID:this.MenuID\n \n }; \n \n \n\n \n this.service.httpPost('/EOS/GetCalcLeaveSalary?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"mm\",result.respdata)\n\n this.objcsls=result.respdata.obj;\n this.Daysinmonth1=result.respdata.Daysinmonth;\n this.daysinyear1=result.respdata.Daysinyear;\n this.ContractType=result.respdata.ContractType;\n\n this. Assignlabels();\n\n \n });\n\n }\n Assignlabels()\n {\n this.leavedays=this.objcsls._LeaveDays;\n this. workdays=this.objcsls._NoofDays - this.objcsls._LeaveDays\n this.perday=this.objcsls._PerDay;\n this. totaldays=this.objcsls. _TotalLeaveDays;\n\n this.frmdate= this.datePipe.transform(this.objcsls._FromDate,'dd-MM-yyyy');\n this.todate= this.datePipe.transform(this.payslipmonth,'dd-MM-yyyy');\n this.daysinmonth=this.Daysinmonth1\n this.daysinyear=this.daysinyear1;\n this.noofdays=this.objcsls._NoofDays ;\n\n this. monthleaveamt=this.objcsls._MonthlyLeaveAmount ;\n this.perdayleaveamt=this.objcsls._PerDayLeaveAmount ;\n this.finalleaveamt=this.objcsls._ChagLeaveAmt ;\n\n this.EmpPassage=this.objcsls._PassageAmt ;\n this.PerDayPassage=this.objcsls._PerDayPassageAmt ;\n this.FinalPassage=this.objcsls._ChagPassageAmt ;\n\n\n // this. Basicsalary=this.objcsls._ChagPassageAmt ;\n // this.PerDayGratuity=this.objcsls._ChagPassageAmt ;\n // this.TotDayGratuity=this.objcsls._ChagPassageAmt ;\n \n \n this.dataSource=[];\n\n //let temp={'SNo':1,'Description':'Salary For','CalcAmount':1,'Amount':2};\n if (this.MenuID=='ERP_242_1')\n {\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Salary For'+\" \" + this.datePipe.transform(this.payslipmonth,\"MMM/yyyy\") ,'CalcAmount':this.objcsls._CalcLastMonthSalary,'Amount':this.objcsls._ChangeLastMonthSalary});\n }\n\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Leave Salary For'+\" \" + (this.objcsls._NoofDays - this.objcsls._LeaveDays) + \" Days\",'CalcAmount':this.objcsls._CalcLeaveAmt,'Amount':this.objcsls._ChagLeaveAmt});\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Air Ticket Fare','CalcAmount':this.objcsls._CalcPassageAmt,'Amount':this.objcsls._ChagPassageAmt});\n \n \n \n const _Year = { value: 0 };\n const _Month = { value: 0 };\n const _Day = { value: 0 };\n let totalGratuityDays: number;\n\n if (this.MenuID === \"ERP_242_1\") {\n\n if (this.flag=='ADD') \n {\n \n let postDate = new Date(this.objcsls._PostDate);\n let twoDate;\n\n // Check if the post date is valid\n if (isNaN(postDate.getTime())) {\n return; // Exit the function early if the date is invalid\n }\n\n // Check if unPaidLeaveDays is defined and a number\n let unpaidLeaveDays = this.objcsls.unPaidLeaveDays;\n if (isNaN(unpaidLeaveDays)) {\n //console.error(\"Invalid unPaidLeaveDays value:\", unpaidLeaveDays);\n unpaidLeaveDays = 0; // Default to 0 if invalid\n }\n\n // Determine the number of days to add\n let adjustedDays = this.ExcludeUnPaidLeave ? unpaidLeaveDays + 1 : 1;\n // Add days to the post date\n twoDate = this.addDays(postDate, adjustedDays);\n\n // Check if the result is a valid date\n if (isNaN(twoDate.getTime())) {\n // console.error(\"Invalid result after adding days:\", twoDate);\n } else {\n // console.log(\"Valid adjusted date:\", twoDate);\n }\n\n this.Y_M_D_Diff(this.objcsls._JoiningDate,twoDate, _Year, _Month, _Day);\n\n \n \n this.Basicsalary = this.formatNumber(this.objcsls._BasicSalaryforGratuity , 2);\n \n this.PerDayGratuity = this.formatNumber( this.objcsls._BasicSalaryforGratuity / 30,2);\n \n if (this.ContractType === \"Limited\") {\n totalGratuityDays = this.dateDiffInDays(this.objcsls._JoiningDate, this.objcsls._PostDate) ;\n\n //console.log('totalGratuityDays',totalGratuityDays)\n\n totalGratuityDays = _Year.value * 365 + _Month.value * 30 + _Day.value; \n if(totalGratuityDays > 1825)\n {\n let _TotDays =0;\n _TotDays = (21 * 5);\n totalGratuityDays = (((totalGratuityDays - 1825)) * 0.082) + _TotDays\n\n }\n else\n {\n totalGratuityDays = (21 * _Year.value) + (1.75 * _Month.value) + (0.06 * _Day.value)\n }\n \n \n this.objcsls._BasicSalaryforGratuity = (this.PerDayGratuity * totalGratuityDays);\n this.objcsls._TotalDaysGratuity = totalGratuityDays;\n\n \n this.TotDayGratuity= totalGratuityDays\n this.objcsls._CalcGratuity = this.objcsls._BasicSalaryforGratuity\n this.objcsls._ChangeGratuity = this.objcsls._BasicSalaryforGratuity\n this.objcsls._TotalDaysGratuity = totalGratuityDays\n\n \n \n }\n \n \n // Set the gratuity details in the grid row\n // gratuityRow.description = `Gratuity For ${this.objLS.totalDaysGratuity} Days`;\n // gratuityRow.calcAmount = this.objLS.calcGratuity;\n // gratuityRow.amount = this.objLS.changeGratuity;\n \n } else {\n // this.objLS.basicSalaryForGratuity = 0;\n }\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description': 'Gratuity For ' + this.objcsls._TotalDaysGratuity + 'Days','CalcAmount':JSON.parse(this.objcsls._CalcGratuity.toFixed(2)),'Amount':JSON.parse(this.objcsls._ChangeGratuity.toFixed(2))});\n \n }\n \n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Salary/Advance OutStanding','CalcAmount': this.flag=='ADD'? this.objcsls._AdvOutStanding: this.objcsls._CalcEosAdvAmount,'Amount': this.flag=='ADD'? this.objcsls._AdvOutStanding: this.objcsls._ChagEosAdvAmount});\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Total Amount','CalcAmount':JSON.parse( (this.objcsls._CalcLastMonthSalary + this.objcsls._PSAmt + this.objcsls._CalcLeaveAmt + this.objcsls._CalcPassageAmt + this.objcsls._CalcGratuity - this.objcsls._PensionAmt).toFixed(2)),\n 'Amount':JSON.parse( ( this.objcsls._ChangeLastMonthSalary + this.objcsls._PSAmt + this.objcsls._ChagLeaveAmt + this.objcsls._ChagPassageAmt + this.objcsls._ChangeGratuity - this.objcsls._PensionAmt).toFixed(2))});\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Less Amount','CalcAmount':0,'Amount':this.objcsls._LessAmt});\n this.dataSource.push({'Sno':this.dataSource.length+1,'Description':'Net Amount','CalcAmount':JSON.parse( (this.objcsls._CalcLastMonthSalary + this.objcsls._PSAmt + this.objcsls._CalcLeaveAmt + this.objcsls._CalcPassageAmt + this.objcsls._CalcGratuity - this.objcsls._PensionAmt).toFixed(2)),\n 'Amount':JSON.parse( (this.objcsls._ChangeLastMonthSalary + this.objcsls._PSAmt + this.objcsls._ChagLeaveAmt + this.objcsls._ChagPassageAmt - this.objcsls._LessAmt + this.objcsls._ChangeGratuity - this.objcsls._PensionAmt).toFixed(2))});\n\n this.AccountSource.map(item=> item.TCDebit=this.objcsls._ChangeLastMonthSalary + this.objcsls._PSAmt + this.objcsls._ChagLeaveAmt + this.objcsls._ChagPassageAmt - this.objcsls._LessAmt + this.objcsls._ChangeGratuity - this.objcsls._PensionAmt);\n \n }\n onRowInserted(event: any) {\n if (event.dataIndex === 0) return; // If it's the first row, do nothing\n \n // Assuming the TCDebit value of the first row is stored in a variable named firstRowTCDebit\n const firstRowTCDebit = this.AccountSource[0].TCDebit;\n \n // Subtract the TCDebit value of the newly added row from the TCDebit value of the first row\n if(firstRowTCDebit>=event.data.TCDebit)\n {\n this.AccountSource[0].TCDebit = firstRowTCDebit - event.data.TCDebit;\n }\n else \n {\n alert('Overmatching');\n \n this.AccountSource.pop();\n }\n \n }\n\n formatNumber(value: number, decimalPlaces: number): string {\n console.log('value',value)\n return value.toFixed(decimalPlaces); // Example formatting\n}\n addDays(date: Date, days: number): Date {\n const result = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n}\n\ncalculateYearMonthDayDifference(joiningDate: Date, postDate: Date, unPaidLeaveDays: number): void {\n // Implement your date difference logic here\n}\ndateDiffInDays(startDate: Date, endDate: Date): number {\n // Ensure both dates are Date objects\n const start = new Date(startDate);\n const end = new Date(endDate);\n\n // Calculate the difference in milliseconds\n const diffTime = end.getTime() - start.getTime();\n \n // Convert milliseconds to days\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n\n return diffDays;\n}\n\n// Y_M_D_Diff(dateOne: Date, dateTwo: Date, _Year: { value: number }, _Month: { value: number }, _Day: { value: number }): void {\n// let year = 0;\n// let month = 0;\n// let day = 0;\n\n\n// console.log('dateOne',dateOne)\n// console.log('dateTwo',dateTwo)\n// if (dateOne.getTime() !== dateTwo.getTime()) { // If both dates are not the same\n// // Years\n// if (dateTwo.getFullYear() > dateOne.getFullYear()) {\n// year = dateTwo.getFullYear() - dateOne.getFullYear();\n// }\n\n// // Months\n// month = dateTwo.getMonth() - dateOne.getMonth();\n// if (month < 0) {\n// year--;\n// month += 12;\n// }\n\n// // Days\n// day = dateTwo.getDate() - dateOne.getDate();\n// if (day < 0) {\n// month--;\n// const previousMonth = new Date(dateTwo.getFullYear(), dateTwo.getMonth(), 0);\n// day += previousMonth.getDate();\n// }\n\n// if (dateOne.getDate() === dateTwo.getDate()) {\n// day = 0;\n// month++;\n// }\n\n// // Corrections\n// if (month === 12) {\n// month = 0;\n// year++;\n// }\n// if (dateOne.getFullYear() === dateTwo.getFullYear() && dateOne.getMonth() === dateTwo.getMonth()) {\n// year = 0;\n// }\n// }\n\n// _Year.value = year;\n// _Month.value = month;\n// _Day.value = day;\n// }\n\nY_M_D_Diff(dateOne: any, dateTwo: any, _Year: { value: number }, _Month: { value: number }, _Day: { value: number }): void {\n // Convert inputs to Date objects if they are not already\n let dateOneObj = new Date(dateOne);\n let dateTwoObj = new Date(dateTwo);\n\n\n let years = 0;\n let months = 0;\n let days = 0;\n\n console.log('dateOneObj',dateOneObj);\n console.log('dateTwoObj',dateTwoObj);\n // Check if the dates are valid\n if (isNaN(dateOneObj.getTime()) || isNaN(dateTwoObj.getTime())) {\n console.error(\"Invalid date provided. DateOne:\", dateOne, \"DateTwo:\", dateTwo);\n // return { years: 0, months: 0, days: 0 };\n}\n\n// Ensure DateOne is always earlier than DateTwo\nif (dateOneObj > dateTwoObj) {\n [dateOneObj, dateTwoObj] = [dateTwoObj, dateOneObj]; // Swap dates if needed\n}\n\nyears = dateTwoObj.getFullYear() - dateOneObj.getFullYear();\nmonths = dateTwoObj.getMonth() - dateOneObj.getMonth();\ndays = dateTwoObj.getDate() - dateOneObj.getDate();\n\n// Adjust days and months if necessary\nif (days < 0) {\n months--;\n const previousMonth = new Date(dateTwoObj.getFullYear(), dateTwoObj.getMonth(), 0);\n days += previousMonth.getDate();\n}\n\nif (months < 0) {\n years--;\n months += 12;\n}\n _Year.value = years;\n _Month.value = months;\n _Day.value = days;\n\n console.log(`Difference: ${years} years, ${months} months, ${days} days`);\n}\n\n\n\n Save()\n {\n const priceDecimalPoint =2; //siteDefaults.CustomerSettings('cp_PriceDecimalPoint')\n\n //let objLS: ObjectLS;\n\n for (var i = 0; i < this.dataSource.length; i++) \n {\n console.log('datasource',this.dataSource[i].Description)\n\n\n\n\n if (this.MenuID === \"ERP_242_1\") {\n this._CalcLeaveAmt = this.formatNumber(this.dataSource[1].CalcAmount, priceDecimalPoint);\n this._ChagLeaveAmt = this.formatNumber(this.dataSource[1].Amount, priceDecimalPoint);\n \n if (this.dataSource[i].Description.includes(\"Gratuity\") ) {\n this._CalcGratuity = this.formatNumber(this.dataSource[i].CalcAmount, priceDecimalPoint);\n this._ChangeGratuity = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n }\n \n //const strCondition = `Salary For ${+\" \" + this.datePipe.transform(this.payslipmonth,\"MMM/yyyy\")}`;\n //console.log('3434',strCondition)\n //console.log('434',this.dataSource[i].Description)\n if (this.dataSource[i].Description.includes(this.datePipe.transform(this.payslipmonth,\"MMM/yyyy\"))) {\n this._CalcLastMonthSalary = this.formatNumber(this.dataSource[i].CalcAmount, priceDecimalPoint);\n this._ChangeLastMonthSalary = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n }\n \n if (this.dataSource[i].Description === \"Salary/Advance OutStanding\") {\n this._CalcEosAdvAmount = this.formatNumber(this.dataSource[i].CalcAmount, priceDecimalPoint);\n this._ChagEosAdvAmount = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n }\n } else {\n this._CalcLeaveAmt = this.formatNumber(this.dataSource[0].CalcAmount, priceDecimalPoint);\n this._ChagLeaveAmt = this.formatNumber(this.dataSource[0].Amount, priceDecimalPoint);\n \n if (this.dataSource[i].Description === \"Salary/Advance OutStanding\") {\n this._CalcEosAdvAmount = this.formatNumber(this.dataSource[i].CalcAmount, priceDecimalPoint);\n this._ChagEosAdvAmount =this. formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n }\n }\n \n const description = this.dataSource[i].Description;\n \n if (description === \"Net Amount\") {\n this._NetAmt = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n } else if (description === \"Less Amount\") {\n this._LessAmt = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n } else if (description === \"Total Amount\") {\n this._TotalAmt = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n } else if (description == \"Air Ticket Fare\") {\n this._ChagPassageAmt = this.formatNumber(this.dataSource[i].Amount, priceDecimalPoint);\n // Note: If you need to break out of a loop, you'd use a return or break depending on the loop context\n }\n\n }\n\n let name=this.Employeelist.filter(item => item.LedgerID==this.LedgerID)\n\n console.log('objLS',this.isforceNo)\n\n let RefNo='';\n\n if (this.flag=='ADD' && this.isforceNo==true)\n {RefNo=this.Prefix+this.VouNo}\n else if(this.flag=='ADD'){RefNo=''}\n else{RefNo=this.Prefix+this.VouNo}\n\n let dateStr = this.frmdate;\n let parts = dateStr.split('-');\n let formattedDate = new Date(`${parts[2]}-${parts[1]}-${parts[0]}`);\n\n\n const params = {\n \n\n csLS:{\n _SiteID: this.cid,\n _Flag:this.flag,\n _MenuID:this.MenuID,\n _FormPrefix:this.Prefix,\n _BusinessPeriodID:101,\n _RefNo:RefNo,\n _LedgerID:this.LedgerID,\n //_Alias:name[0].AliasName1,\n _PostDate:this.VouDate, //this.datePipe.transform(this.VouDate,'dd-MM-yyyy'),\n _FromDate:formattedDate,\n _NoofDays:this.objcsls._NoofDays,\n _LeaveDays:this.objcsls._LeaveDays,\n _PerDay:this.objcsls._PerDay,\n _TotalLeaveDays:this.objcsls._TotalLeaveDays,\n _PSAmt:this.objcsls._PSAmt,\n\n _MonthlyLeaveAmount:this.objcsls._MonthlyLeaveAmount,\n _PerDayLeaveAmount:this.objcsls._PerDayLeaveAmount,\n\n _CalcLeaveAmt:this._CalcLeaveAmt,\n _ChagLeaveAmt:this._ChagLeaveAmt,\n\n _PassageAmt:this.objcsls._PassageAmt,\n _PerDayPassageAmt:this.objcsls._PerDayPassageAmt,\n _CalcPassageAmt:this.objcsls._CalcPassageAmt,\n _ChagPassageAmt:this._ChagPassageAmt,\n _PensionAmt:this.objcsls._PensionAmt,\n\n _CalcLastMonthSalary:this._CalcLastMonthSalary==undefined?\"0\":this._CalcLastMonthSalary,\n _ChangeLastMonthSalary:this._ChangeLastMonthSalary==undefined?\"0\":this._ChangeLastMonthSalary,\n\n _CalcGratuity:this._CalcGratuity==undefined?\"0\":this._CalcGratuity,\n _ChangeGratuity:this._ChangeGratuity==undefined?\"0\":this._ChangeGratuity,\n\n _BasicSalary:this.Basicsalary,\n _PerDayGratuity:this.PerDayGratuity,\n _TotalDaysGratuity:this.objcsls._TotalDaysGratuity,\n\n _NetAmt:this._NetAmt,\n _LessAmt:this._LessAmt,\n _TotalAmt:this._TotalAmt,\n _Comment:this.Comment==undefined?\"\":this.Comment,\n\n _ExcludeEmergency:this.objcsls._ExcludeEmergency,\n \n _CalcEosAdvAmount:this._CalcEosAdvAmount,\n _ChagEosAdvAmount:this._ChagEosAdvAmount,\n \n },\n DT_AccountLedger:this.AccountSource,\n AliasName:name[0].AliasName1\n\n }; \n \n console.log(\"filter\",params)\n this.service.httpPost('/EOS/Update_LeaveSalary?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n if (result.errno === 0)\n {\n this.NotificationService.success(\"Posting Successfully\");\n }\n else\n {\n this.NotificationService.warn(result.errdesc);\n }\n \n \n \n });\n\n\n\n\n }\n // formatNumber(value: number, decimalPoints: number): string {\n // return value.toFixed(decimalPoints);\n // }\n\n // refreshGrid() {\n // const dataSource = this.gridContainer.instance.getDataSource();\n // if (dataSource) {\n // dataSource.reload().done(() => {\n // console.log('Grid data reloaded successfully.');\n // }).fail((error) => {\n // console.error('Error reloading grid data:', error);\n // });\n // } else {\n // console.warn('DataSource not available');\n // }\n // }\n // updateRowInGrid(key, updatedData) {\n // const gridInstance = this.gridContainer.instance;\n // const dataSource = gridInstance.getDataSource();\n \n // // Update data source directly\n // dataSource.store().update(key, updatedData)\n // .done(() => {\n // console.log('Data updated successfully.');\n // gridInstance.refresh(); // Ensure the grid UI reflects changes\n // })\n // .fail((error) => {\n // console.error('Error updating data:', error);\n // });\n // }\n onRowUpdating(e)\n {\n // console.log('onRowUpdating',e)\n\n // const updatedData = e.newData;\n // const key = e.key;\n\n // this.dataSource = this.dataSource.map(row => {\n // if (row.Sno === key.Sno && row.Description === key.Description) {\n // // Apply the updates to the relevant row\n // return { ...row, ...updatedData };\n // }\n // return row;\n // });\n\n\n // this.refreshGrid();\n\n // this.gridContainer.instance.getDataSource().reload();\n\n // if (this.gridContainer) {\n // this.gridContainer.instance.refresh(); // Refreshes the grid to ensure the UI reflects changes\n // }\n\n\n // this.recalculateAmounts();\n }\n onEditorPreparing(e)\n {\n \n }\n OnCellPrepared(e)\n {\n console.log('OnCellPrepared',e)\n }\n onRowPrepared(e) {\n\n if (e.rowType == 'data' && (e.data.Description == \"Total Amount\" || e.data.Description == \"Net Amount\")) {\n e.rowElement.style.backgroundColor = '#eae9e7';\n e.rowElement.style.fontWeight = 500;\n e.rowElement.style.color='#0f0902'\n \n }\n }\n\n recalculateAmounts() {\n \n let totalAmount:number=0;\n let lessAmount :number=0;\n // console.log('recalculateAmounts',this.dataSource[0].Amount)\n \n //let temp=this.dataSource.\n // console.log('temp',temp)\n\n // Calculate the total amount\n this.dataSource.forEach(row1 => {\n if (!['Total Amount', 'Less Amount', 'Net Amount', 'Salary/Advance OutStanding'].includes(row1.Description)) {\n console.log('row.Amount',row1)\n totalAmount += row1.Amount; // Ensure you're using the correct field (e.g., `Amount`)\n console.log('totalAmount',totalAmount)\n }\n });\n\n // Update the rows for Total Amount, Less Amount, and Net Amount\n this.dataSource = this.dataSource.map(row => {\n if (row.Description === 'Total Amount') {\n row.Amount = JSON.parse((totalAmount).toFixed(2));\n } else if (row.Description === 'Less Amount') {\n lessAmount = JSON.parse((row.Amount).toFixed(2)); // Capture the existing less amount if it's already set\n } else if (row.Description === 'Net Amount') {\n row.Amount =JSON.parse((totalAmount -lessAmount).toFixed(2));\n\n this.AccountSource.map(item=> item.TCDebit=row.Amount);\n \n }\n return row;\n });\n\n \n }\n\n onCellValueChanged(event) {\n console.log('Cell value changed:', event);\n // Implement your logic here\n }\n\n onRowUpdated(e)\n {\n console.log('onRowUpdated:', e);\n console.log('onRowUpdated33',this.dataSource[0].Amount)\n this.recalculateAmounts();\n }\n\n changeCategory()\n {\n this.Employeelist = this.Category=='0'?this.data.datalist.Employee: this.data.datalist.Employee.filter(item => item.Category == this.Category);\n }\n\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n togglePanel(event: MouseEvent) {\n event.stopPropagation(); // Prevent expansion panel from toggling\n this.panelExpanded = !this.panelExpanded;\n }\n onTabClick(e)\n {\n\n }\n\n}\nexport interface Details\n{\n Sno:number,\n Description:string,\n CalcAmount:number,\n Amount:number\n\n}\n\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { EospostingComponent } from '../eosposting/eosposting.component';\nimport { PayslippaymentfilterComponent } from '../../EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component';\n\n@Component({\n selector: 'app-eosreport',\n templateUrl: './eosreport.component.html',\n styleUrls: ['./eosreport.component.scss'],\n})\nexport class EosreportComponent implements OnInit {\n\n showSpinner:any;\n curUser: User= JSON.parse(sessionStorage.getItem('currentUser'));\n cid:any=JSON.parse(sessionStorage.getItem('cid'));\n fromdate:any=new Date() ;\n todate:any= new Date();\n dataSource:any;\n companies:any;\n Employeelist:any;\n Categorylist:any;\n Typelist:any;\n Prefixlist:any;\n AccountSource: any;\n Ledgerlist:any;\n data:any;\n MenuID:any;\n\n sumofearings:number=0;\n sumofdeduction:number=0;\n sumofnetamount:number=0;\n sumofpaidamount:number=0;\n DateTypeFlag:any='Today';\n\n displayedColumns =['PSRef','PSMonth','Earnings','Deductions','NetAmount','PaidAmount','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,public dialog: MatDialog,private NotificationService: NotificationService) \n {\n this.MenuID=sessionStorage.getItem('SelectedMenuID')\n this.fromdate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n this.todate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n\n }\n\n ngOnInit() \n {\n this.LoadData();\n }\n Filter()\n {\n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '25%', // Set the width of the dialog\n height:'85%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n LedgerID:0,\n EmpName:'',\n // Category:this.Category, \n Type:'',\n DateTypeFlag:this.DateTypeFlag,\n fromdate:this.fromdate,\n todate:this.todate\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n //this.Category=result.Category\n // this.PSType=result.Type\n this.DateTypeFlag=result.DateTypeFlag\n this.fromdate=result.FromDate\n // const dateObj= new Date(result.ToDate); \n this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n this.LoadData()\n }\n \n });\n }\n LoadData()\n {\n\n this.showSpinner=true;\n const params = {\n cid: this.cid,\n MenuID:this.MenuID,\n Date1:this.DateTypeFlag,\n FromDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\")\n }; \n\n \n const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n\n\n this.service.httpGet('/Payslip/GetEmppaySlipmain?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.data=result.respdata;\n this.dataSource= new MatTableDataSource(result.respdata.PayLedger); \n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n \n this.Employeelist= result.respdata.Employee; \n this.Categorylist= result.respdata.Category; \n this.Typelist= result.respdata.Type; \n this.Prefixlist= result.respdata.Prefix; \n\n // this.dataSource1 = result.respdata.Table; \n // this.columnNames=result.respdata.columnNames;\n // console.log(\"columnNames\",this.columnNames)\n // this.dataSource1 = this.getCurrentPageData();\n this.Ledgerlist= result.respdata.Ledgerlist; \n this.AccountSource= result.respdata.AccountGrid; \n\n console.log(\"Prefixlist\",this.Prefixlist)\n\n //this.pr=this.Prefixlist[0].Prefix;\n\n\n this.sumofearings = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.Earnings}, 0);\n this.sumofdeduction = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.Deductions}, 0);\n this.sumofnetamount = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.NetAmount}, 0);\n this.sumofpaidamount = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.PaidAmount}, 0);\n \n this.sumofearings = +this.sumofearings.toFixed(2);\n this.sumofdeduction = +this.sumofdeduction.toFixed(2);\n this.sumofnetamount = +this.sumofnetamount.toFixed(2);\n this.sumofpaidamount = +this.sumofpaidamount.toFixed(2);\n \n });\n }\n add()\n {\n\n const dialogRef = this.dialog.open(EospostingComponent, {\n width: '90%', // Set the width of the dialog\n height:'85%',\n //position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n VouNo:'',\n flag:'ADD',\n datalist:this.data\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // // this.qtnstatus=result.Status\n // this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n // this.Category=result.Category\n // this.PSType=result.Type\n // this.DateTypeFlag=result.DateTypeFlag\n // this.fromdate=result.FromDate\n // // const dateObj= new Date(result.ToDate); \n // this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n // this.LoadData()\n }\n \n });\n\n }\n\n edit(row)\n {\n\n const dialogRef = this.dialog.open(EospostingComponent, {\n width: '90%', // Set the width of the dialog\n height:'85%',\n //position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n VouNo:row.PSRef,\n flag:'EDIT',\n datalist:this.data\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // // this.qtnstatus=result.Status\n // this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n // this.Category=result.Category\n // this.PSType=result.Type\n // this.DateTypeFlag=result.DateTypeFlag\n // this.fromdate=result.FromDate\n // // const dateObj= new Date(result.ToDate); \n // this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n // this.LoadData()\n }\n \n });\n\n }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-empaccounts',\n templateUrl: './empaccounts.component.html',\n styleUrls: ['./empaccounts.component.scss'],\n})\nexport class EmpaccountsComponent implements OnInit {\n cid:any=101;\n flag:any;\n LedgerID:any=0;\n dataSource: any[] = [];\n Employeelist:any;\n WPSlist:any;\n EmpTypeList:any;\n TypeList:any;\n myFormGroup:UntypedFormGroup;\n BankACNo:any='';\n IBan:any='';\n ChequeName:any='';\n WPSID:any='';\n BankName:any='';\n BeneficiaryCode:any='';\n WPSRoutingCode:any='';\n EmpType:any='';\n JoiningDate:any;\n curUser: User= JSON.parse(sessionStorage.getItem('currentUser'));\n twoColumnArray: { HRType: string, Amount: any }[] = [];\n HikeCount:number=0;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private datePipe: DatePipe) \n {\n \n }\n\n ngOnInit() \n {\n \n //this.initializeFormGroup();\n\n this.flag='PAGELOAD'\n this.LoadData();\n this.fetchDataSource(); //\n }\n\n fetchDataSource() {\n // Simulating async data fetching\n setTimeout(() => {\n this.dataSource = [\n { Particulars: 'Allowance'},\n { Particulars: 'Basicsalary'}\n ];\n this.initializeFormGroup();\n }, 1000);\n }\n\n initializeFormGroup() {\n let group = {};\n if (this.dataSource && this.dataSource.length > 0) {\n this.dataSource.forEach(input_template => {\n group[input_template.Particulars] = new UntypedFormControl('');\n });\n } else {\n // If dataSource is empty, create a default control\n group['defaultControl'] = new UntypedFormControl('');\n }\n this.myFormGroup = new UntypedFormGroup(group);\n }\n\n onEmployeechanged(e)\n {\n this.flag='PARTICULARS'\n this.LoadData();\n }\n LoadData()\n {\n const params = {\n cid: this.cid,\n LedgerID:this.LedgerID,\n Flag:this.flag,\n }; \n const query = `cid=${params.cid}&LedgerID=${params.LedgerID}&Flag=${params.Flag}`;\n\n this.service.httpGet('/EmpAccounts/GetEmpAccounts?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n if (this.flag=='PAGELOAD')\n {\n this.Employeelist=result.respdata.Table;\n this.WPSlist=result.respdata.Table1;\n this.EmpTypeList=result.respdata.Table2;\n this.HikeCount=0;\n \n\n \n }\n else (this.flag=='PARTICULARS')\n {\n\n console.log('ttt',result.respdata.Table2)\n this.BankACNo=result.respdata.Table[0].BankACNo\n this.IBan=result.respdata.Table[0].IBan\n this.BankName=result.respdata.Table[0].BankName\n this.BeneficiaryCode=result.respdata.Table[0].BeneficiaryCode\n this.WPSID=result.respdata.Table[0].WPSID\n this.WPSRoutingCode=result.respdata.Table[0].WPSRoutingCode\n this.ChequeName=result.respdata.Table[0].ChequeName,\n this.JoiningDate=result.respdata.Table[0].JoiningDate,\n this.HikeCount=result.respdata.Table2[0].HikeCount\n\n\n\n\n this.dataSource= result.respdata.Table1; \n\n console.log(\"mm\",result.respdata.Table)\n\n let group={} \n this.dataSource.forEach(input_template=>{\n \n group[input_template.Particulars]=new UntypedFormControl(input_template.Amount); \n \n \n \n })\n this.myFormGroup = new UntypedFormGroup(group);\n\n }\n\n \n \n \n \n \n });\n }\n Save()\n {\n\n if (this.HikeCount>1)\n {\n this.NotificationService.warn('Cannot Edit Salary and OT Details');\n }\n else\n {\n\n const formValues = this.myFormGroup.value;\n\n this.twoColumnArray = Object.keys(formValues).map(key => ({\n HRType: key,\n Amount: formValues[key]\n }));\n\n console.log('yyyy', this.twoColumnArray)\n const params = {\n str_SiteID: this.cid,\n int_BusinessPeriodID:0,\n \n ObjEmpMain:{\n str_EmpID:this.LedgerID,\n dtp_JoiningDate:this.datePipe.transform(this.JoiningDate, 'MMM dd yyyy') ,\n str_BankACNo:this.BankACNo==null?'':this.BankACNo,\n str_IBan:this.IBan==null?'':this.IBan,\n str_BankName:this.BankName==null?'':this.BankName,\n str_BeneficiaryCode:this.BeneficiaryCode==null?'':this.BeneficiaryCode,\n str_ChequePrintName:this.ChequeName==null?'':this.ChequeName,\n dbl_MonthlyDeductable:0,\n \n int_DeductMonth:0,\n str_CreatedBy:this.curUser.userid,\n dtp_CreatedDate: this.datePipe.transform(new Date(), 'MMM dd yyyy hh:mm'),\n str_LastUpdatedBy:this.curUser.userid,\n dtp_LastUpdatedDate:this.datePipe.transform(new Date(), 'MMM dd yyyy hh:mm'),\n },\n ObjEmpWPSDetails:{\n str_WPSID:this.WPSID==null?'':this.WPSID,\n str_WPSType:this.EmpType==null?'':this.EmpType,\n str_WPSRoutingCode:this.WPSRoutingCode==null?'':this.WPSRoutingCode,\n },\n ObjEmpHR:{\n dt_EmpHR: this.twoColumnArray\n }\n }; \n console.log('params',params)\n this.service.httpPost('/EmpAccounts/SetEmpAccounts?',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.NotificationService.success(':: Submitted sucessfully');\n // this.GoalID=users.respdata;\n // this.groupenable = this.GoalID !== 0 ? false : true;\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n \n }\n\n}\n","import { ChangeDetectorRef, Component } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\ninterface ReferenceList {\n value?: string;\n display?: string;\n id?: any;\n checked?: boolean;\n}\n\n@Component({\n selector: 'app-empcategory',\n templateUrl: './empcategory.component.html',\n styleUrls: ['./empcategory.component.css']\n})\nexport class EmpcategoryComponent {\n form: FormGroup;\n companies:any;\n CID:any;\n flag:any='';\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n isDarkTheme: boolean = false; // Toggle between themes\n cities = [];\n selectedCities = [];\n \n\n constructor(private fb: FormBuilder, private cd: ChangeDetectorRef,private service:HttpserviceService,private NotificationService:NotificationService) \n {\n this.form = this.fb.group({\n items: this.fb.array([])\n });\n\n\n this.cities = [\n { id: 1, display: 'Nagpur' },\n { id: 2, display: 'Hyderabad' },\n { id: 3, display: 'Wardha' },\n { id: 4, display: 'Pune' },\n { id: 5, display: 'Mumbai' },\n { id: 6, display: 'Bengaluru' },\n { id: 7, display: 'Delhi' },\n { id: 8, display: 'Indore' },\n { id: 9, display: 'Malegao' },\n { id: 10, display: 'Ahemdabad' },\n { id: 11, display: 'Goa' },\n { id: 12, display: 'Panaji' },\n { id: 13, display: 'Chandigarh' },\n { id: 14, display: 'Noida' },\n { id: 15, display: 'Ramnagar' },\n ];\n this.selectedCities = [];\n }\n\n onSelect(event) {\n console.log('event', event);\n }\n ngOnInit(): void {\n this.CID= JSON.parse(sessionStorage.getItem('cid'))\n this.companies = this.curUser.dtsiteid; \n console.log('this.companies',this.companies)\n\n \n \n }\n get items(): FormArray {\n return this.form.get('items') as FormArray;\n }\n add()\n {\n if(this.flag=='')\n {\n this.addItem(); // Add one initial item in ngOnInit\n }\n \n this.flag='ADD';\n }\n edit()\n {\n this.flag='EDIT';\n this.LoadData();\n }\n delete()\n {\n this.flag='DELETE';\n this.LoadData();\n }\n\n createItem(item: any = { Category:'',LeaveType: '', DaysinMonth: '', LeaveSalary: '', Gratuity: '', DaysinYear: '', VacationDays: '', CarryForward: '', PassageAmount: '' }): FormGroup {\n const formGroup = this.fb.group({\n Category: [item.Category , Validators.required],\n LeaveType: [item.LeaveType, Validators.required],\n DaysinMonth: [item.DaysinMonth, Validators.required],\n LeaveSalary: [item.LeaveSalary, Validators.required],\n Gratuity: [item.Gratuity, Validators.required],\n DaysinYear: [item.DaysinYear, Validators.required],\n VacationDays: [item.VacationDays, Validators.required],\n CarryForward: [item.CarryForward, Validators.required],\n PassageAmount: [item.PassageAmount, Validators.required]\n \n });\n \n // formGroup.get('Tag')!.valueChanges.subscribe((newValue) => {\n // formGroup.get('CustomText')!.setValue(newValue);\n // });\n \n return formGroup;\n }\n \n addItem(item: any = { Category:'',LeaveType: 'STATIC', DaysinMonth: '30', LeaveSalary: 'AUTOMATIC', Gratuity: 'AUTOMATIC', DaysinYear: '365', VacationDays: '30', CarryForward: '0', PassageAmount: '0' }): void {\n this.items.push(this.createItem(item));\n this.cd.markForCheck(); // Use markForCheck to update the view\n }\n \n removeItem(index: number): void {\n this.items.removeAt(index);\n this.cd.markForCheck(); // Use markForCheck to update the view\n }\n LoadData()\n {\n const params = {\n str_SiteID:this.CID,\n int_BusinessPeriodID:101,\n str_flag:this.flag,\n \n }; \n console.log('params',params)\n this.service.httpPost('/EmpCategory/GetEmpCategory?',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; //result.users;\n if (result.errno === 0){\n\n console.log('ttt',result.respdata)\n // this.items=result.respdata;\n\n for (let j = 0; j < result.respdata.length; j++) {\n // if(accuredData[j].LeaveTypeID===leaveTypeData[i].LeaveTypeID)\n // {\n //let taskData={'AccrualType':accuredData[j].AccrualType,'NoofDays':accuredData[j].NoofDays,'NoOfMonthsFromJoingDate':accuredData[j].NoOfMonthFromJoiningDate} \n //AccrualTypes.push(taskData); \n \n // } \n let item = { Category:result.respdata[j].Category,LeaveType:result.respdata[j].LeaveType, DaysinMonth:result.respdata[j].DaysinMonth, LeaveSalary:result.respdata[j].LeaveSalary, Gratuity: result.respdata[j].Gratuity, DaysinYear: result.respdata[j].DaysinYear, VacationDays:result.respdata[j].VacationDays, CarryForward:result.respdata[j].CarryForward, PassageAmount:result.respdata[j].PassageAmount } \n this.items.push(this.createItem(item));\n }\n\n\n \n \n //this.NotificationService.success('Submitted sucessfully');\n // this.GoalID=users.respdata;\n // this.groupenable = this.GoalID !== 0 ? false : true;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Submit(): void {\n console.log('Form submitted:', this.form.value);\n const initialValues=this.form.value\n \n \n const params = {\n str_SiteID:this.CID,\n int_BusinessPeriodID:101,\n str_flag:this.flag,\n dt_empcategory :initialValues.items,\n \n }; \n console.log('params',params)\n this.service.httpPost('/EmpCategory/SetEmpCategory?',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.NotificationService.success('Submitted sucessfully');\n // this.GoalID=users.respdata;\n // this.groupenable = this.GoalID !== 0 ? false : true;\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n } \n \n toggleTheme(): void {\n this.isDarkTheme = !this.isDarkTheme;\n }\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog ,MatDialogConfig} from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\n// import 'devextreme/data/odata/store';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../Admin/Users/userValidate';\nimport { User } from './../../../Modules/user';\nimport { CrmdatecontrolComponent } from '../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { LeavemgtelogComponent } from 'src/app/components/HR/LeaveApproval/leavemgtelog/leavemgtelog.component';\n\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n// class PickDateAdapter extends NativeDateAdapter {\n// format(date: Date, displayFormat: Object): string {\n// if (displayFormat === 'input') {\n// return formatDate(date,'dd-MM-yyyy',this.locale);;\n// } else {\n// return date.toDateString();\n// }\n// }\n// }\n\n@Component({\n selector: 'app-empleaverpt',\n templateUrl: './empleaverpt.component.html',\n styleUrls: ['./empleaverpt.component.css'], \n providers: [\n // {provide: DateAdapter, useClass: PickDateAdapter},\n // {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}\n]\n})\nexport class EmpleaverptComponent implements OnInit {\n @ViewChild('stepper') stepper;\n dataSource: LeaveDataDataGrid[];\n LeaveDataGrids: any;\n frmdate= new Date();\n companies: any;\n Employees: any;\n Department: any;\n LeaveType: any;\n selectedemployees:number;\n employeeid:string[]=[];\n selectedEmpID: any;\n cid:any;\n EmpLeaveFormGroup: FormGroup;\n LeaveDataFormGroup: FormGroup;\n isEditable = true; \n showSpinner:any;\n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n viewbtnvisible: boolean = false;\n date: Date; \n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,\n private generic: GenericService, private service1: UserService,\n public notificationService: NotificationService, private datePipe: DatePipe) { \n\n this.EmpLeaveFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n myControl: [''],\n fcDepartment: [''],\n fcReturnStatus: [''],\n fcLeaveType: [''], \n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required] \n });\n this.LeaveDataFormGroup = this.formBuilder.group({ \n }); \n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.EmpLeaveFormGroup.controls.fcCompany.setValue(this.cid);\n // this.EmpLeaveFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.EmpLeaveFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n\n changesite(e) {\n this.cid=e.value;\n this.Employees = '';\n this.employeeid= [];\n this.PageLoad();\n this.myControl.setValue(''); \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n selectedemployee(event) { \n // this.selectedemployees=event.option.value; \n // this.selectedemployees=JSON.parse(_.pluck(_.where(this.Employees, { 'Name': event.option.value }),'LedgerID')); \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID;\n // this.selectedEmpID=str.split('-',1);\n // console.log('selectedEmpID Split',this.selectedEmpID.substr(0,this.selectedEmpID.length));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n \n }\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n onSearchClear(){\n this.EmpLeaveFormGroup.reset(); \n this.myControl.setValue('');\n this.LeaveDataGrids='';\n this.stepper.selectedIndex = 0; \n this.selectedEmpID='';\n this.EmpLeaveFormGroup.controls.fcCompany.setValue(this.cid);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n // this.EmpLeaveFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.EmpLeaveFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.DateTypeFlag=\"Today\";\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n EmployeeID:\"\", \n Department:\"\",\n LeaveType: \"\",\n FromDate:\"\",\n ToDate:\"\",\n RtnStatus:\"\",\n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n };\n this.service.httpPost('/EmpLeaveReport/GetEmpLeaveReport',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.companies = curUser.dtsiteid; \n this.Employees = result.respdata.Employee;\n this.Department = result.respdata.Department;\n this.LeaveType = result.respdata.LeaveType;\n\n this.employeeid= _.pluck(this.Employees, 'Name'); \n this.getUserList(); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_77\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Submit() { \n if (this.EmpLeaveFormGroup.invalid) {\n this.notificationService.warn('Please select date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.EmpLeaveFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n EmployeeID: this.selectedEmpID, \n Department:this.EmpLeaveFormGroup.get('fcDepartment').value, \n LeaveType:this.EmpLeaveFormGroup.get('fcLeaveType').value,\n RtnStatus:this.EmpLeaveFormGroup.get('fcReturnStatus').value,\n FromDate:this.fromdate,\n ToDate:this.todate,\n // FromDate: this.datePipe.transform(this.EmpLeaveFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.EmpLeaveFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.EmpLeaveFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.EmpLeaveFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n UserID:\"\"\n };\n this.service.httpPost('/EmpLeaveReport/GetEmpLeaveReport',params)\n .subscribe(\n (data) => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.LeaveDataGrids = result.respdata.Leavedata;\n this.dataSource = result.respdata.Leavedata;\n\n this.stepper.selectedIndex = 1; \n // console.log('leave list: ', result.respdata.Leavedata);\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onFocusedRowChanged(e) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n \n dialogConfig.data = { \n height: '350px',\n width: '70%', \n cid:this.EmpLeaveFormGroup.get('fcCompany').value,\n flag:\"View\",\n leaveid:e.data.LeaveID, \n } \n this.dialog.open(LeavemgtelogComponent, dialogConfig)\n \n }\n\n}\nexport class LeaveDataDataGrid {\n CID: number\n UserID: number\n EmployeeID : number\n Deparment:string\n LeaveType:string\n FromDate:string\n ToDate:string \n \n}\n","import { DatePipe } from '@angular/common';\nimport { Component, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { PayslippaymentfilterComponent } from '../payslippaymentfilter/payslippaymentfilter.component';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource} from '@angular/material/table'; \nimport { Console } from 'console';\nimport { MatStepper } from '@angular/material/stepper';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n@Component({\n selector: 'app-emppayslippayment',\n templateUrl: './emppayslippayment.component.html',\n styleUrls: ['./emppayslippayment.component.css']\n})\nexport class EmppayslippaymentComponent {\n\n showSpinner:any;\n data1:any;\n Salesmanlist:any;\n UserID:any;\n cid:any=101;\n LedgerID:any=0;\n fromdate:any;\n todate:any;\n dataSource:any;\n Mode: string='CASH';\n LedgerType:any;\n Type:any='';\n Prefix:any;\n VouDate:any=new Date();\n VoucherNo:any='';\n Prefixlist:any;\n fullpayCheckboxValue: boolean = true; // Default value of the checkbox\n flag:any;\n EmpID:any=0;\n EmpName:any='';\n Category:string='--ALL--'\n PSType:string='--ALL--'\n DateTypeFlag:any='Today';\n NetAmt:any=0;\n PaidAmt:any=0;\n\n\n displayedColumns =['VouNo','Date','LedgerType','NetAmount','PaidAmount','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog,private NotificationService:NotificationService) \n {\n this.fromdate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n this.todate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n }\n\n ngOnInit()\n {\n this.PageLoad()\n this.changeMode()\n //this.LoadData();\n }\n selectionChange(e)\n {\n this.flag='ADD'\n this.LedgerID=0;\n this.EmpID=0;\n }\n handleCheckboxChange() {\n // Update the dataSource based on the checkbox value\n this.dataSource.forEach(item => {\n item.FullPay = this.fullpayCheckboxValue;\n });\n }\n onEdit(data, _flag,stepper: MatStepper){\n\n this.flag=_flag;\n this.LedgerID=0;\n this.EmpID=0;\n let parts = data.split('/');\n this.VoucherNo=parts[1]\n console.log('data',data);\n this.LoadData();\n stepper.next();\n \n \n }\n\n onDelete(data, _flag){\n\n }\n changeMode() {\n console.log('Mode changed:');\n // Your logic here\n let query;\n if (this.Mode!='WPS')\n {\n query= `cid=${101}&TableName=${'LedgerMaster'}&_FormType=${'LedgerAccount'}&_Condition=${\"Category='\"+this.Mode+\"'\"}&_MenuID=${'\"\"'}&_WithInActive=${'true'}`;\n \n }\n else{\n query = `cid=${101}&TableName=${'WPSMaster'}&_FormType=${'\"\"'}&_Condition=${'\"\"'}&_MenuID=${'\"\"'}&_WithInActive=${'false'}`;\n \n }\n // console.log(\"filter\",params)\n this.service.httpGet('/General/LoadMCCBWithLedger?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"LedgerMaster\",result.respdata)\n \n this.LedgerType=result.respdata\n // this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800) \n \n //this.dataSource = result.respdata.Table; \n //this.dataSource1 = result.respdata.Table; \n \n \n \n \n });\n }\n\n Filter()\n {\n\n\n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '35%', // Set the width of the dialog\n height:'100%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n //qtnstatus:this.qtnstatus,\n fromdate:this.fromdate,\n todate:this.todate,\n typevisible:false,\n categoryvisible:false,\n employeevisible:false,\n DateTypeFlag:this.DateTypeFlag\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n this.fromdate=result.FromDate\n this.todate=result.ToDate\n this.DateTypeFlag=result.DateTypeFlag,\n this.PageLoad()\n }\n \n });\n // this.LoadData();\n }\n Populate()\n {\n \n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '30%', // Set the width of the dialog\n height:'85%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n LedgerID:this.EmpID,\n EmpName:this.EmpName,\n Category:this.Category, \n Type:this.PSType,\n DateTypeFlag:this.DateTypeFlag,\n fromdate:this.fromdate,\n todate:this.todate,\n typevisible:true,\n categoryvisible:true,\n employeevisible:true\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n this.EmpID=result.LedgerID\n this.EmpName=result.Name\n this.Category=result.Category\n this.PSType=result.Type\n this.DateTypeFlag=result.DateTypeFlag\n this.fromdate=result.FromDate\n // const dateObj= new Date(result.ToDate); \n this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n this.LoadData()\n }\n \n });\n //this.LoadData();\n }\n\n Submit()\n {\n\n let dt =this.dataSource.filter(item => item.FullPay==true)\n\n let dt1 = dt.map(item => {\n const { ID, ...rest } = item;\n return rest;\n });\n\n const params = {\n int_CID: this.cid,\n dt_Main: dt1, //this.dataSource,\n str_Type:'PSP-'+this.Mode,\n str_VoucherNo:this.Prefix +this.VoucherNo,\n str_FormPrefix:this.Prefix,\n str_MenuID:'ERP_224',\n str_LedgerID:this.LedgerID,\n int_RevNo:0,\n str_Flag:this.flag,\n dtp_VoucherDate:this.datePipe.transform(this.VouDate,\"MM-dd-yyyy\") ,\n str_Comment:'',\n int_BusinessPeriodID:105,\n str_CreatedBy:'AMJATH',\n dtp_CreatedDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy HH:mm:ss\"),\n str_LastUpdatedBy:'AMJATH',\n dtp_LastUpdatedDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy HH:mm:ss\")\n \n \n }; \n\n console.log(\"filter\",params)\n this.service.httpPost('/Emppayslippayment/SetEmpPaySlipPayment?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n if (result.errno === 0)\n {\n this.NotificationService.success(\"Posting Successfully\");\n }\n else\n {\n this.NotificationService.warn(result.errdesc);\n }\n \n \n \n });\n }\n\n LoadData()\n {\n\n this.dataSource=''\n this.showSpinner=true;\n const params = {\n int_CID: this.cid,\n str_Flag:this.flag,\n str_VoucherNo:this.Prefix+this.VoucherNo,\n str_EmpID: this.EmpID,\n str_Category:this.Category,\n str_PSType:this.PSType,\n str_FrmDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n //str_ToDate:this.todate\n // str_FrmDate:this.datePipe.transform('2023-01-01',\"MM-dd-yyyy\") ,\n str_ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\")\n \n }; \n\n console.log(\"filter\",params)\n this.service.httpPost('/Emppayslippayment/GetEmpPaySlipPayment?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n if (result.respdata!==null)\n {\n this.dataSource=result.respdata.dt_Main\n if(this.flag=='EDIT')\n {\n this.LedgerID=result.respdata.str_LedgerID;\n if(result.respdata.str_Type=='BANKTRANSACTION')\n {\n this.Mode='BANK';\n }\n else{this.Mode=result.respdata.str_Type;}\n this.changeMode();\n \n this.VouDate=result.respdata.dtp_VoucherDate;\n }\n }\n \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n //this.dataSource = result.respdata.Table; \n //this.dataSource1 = result.respdata.Table; \n \n \n \n \n });\n }\n\n PageLoad()\n {\n\n this.showSpinner=true;\n const params = {\n cid: this.cid,\n MenuID:'ERP_223',\n Date1:this.DateTypeFlag,\n FromDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\")\n }; \n\n \n const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n\n\n this.service.httpGet('/Emppayslippayment/GetPaymentPosting?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.data1 = new MatTableDataSource(result.respdata.PaymentLedger); \n this.data1.sort = this.sort;\n this.data1.paginator = this.paginator;\n this.Prefixlist= result.respdata.Prefix; \n\n this.NetAmt = result.respdata.PaymentLedger.reduce((acc, obj) => acc + obj.NetAmount, 0).toFixed(2);;\n this.PaidAmt= result.respdata.PaymentLedger.reduce((acc, obj) => acc + obj.PaidAmount, 0).toFixed(2);;\n\n\n\n // this.dataSource1 = result.respdata.Table; \n // this.columnNames=result.respdata.columnNames;\n // console.log(\"columnNames\",this.columnNames)\n \n\n console.log(\"Prefixlist\",this.Prefixlist)\n //this.Type=this.Typelist[0].VouNo;\n this.Prefix=this.Prefixlist[0].Prefix;\n \n \n });\n }\n\n // dataSource: any[] = [\n // { id: 1, name: 'John', age: 30 },\n // { id: 2, name: 'Jane', age: 25 },\n // { id: 3, name: 'Doe', age: 40 }\n // ];\n\n columns: any[] = [\n { dataField: 'id', caption: 'ID' },\n { dataField: 'name', caption: 'Name' },\n { dataField: 'age', caption: 'Age' }\n ];\n\n handleRowUpdating(event: any) {\n // Handle row updating logic here\n console.log(event);\n }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { FormGroup, FormControl, Validators, FormBuilder,AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { User } from 'src/app/Modules/user';\nimport { CrmdatecontrolComponent } from '../../CRMDateControl/crmdatecontrol/crmdatecontrol.component';\n\nexport interface User1 {\n Name: string;\n}\n@Component({\n selector: 'app-payslippaymentfilter',\n templateUrl: './payslippaymentfilter.component.html',\n styleUrls: ['./payslippaymentfilter.component.css']\n})\nexport class PayslippaymentfilterComponent {\n\n\n ledgerid= 0;\n empname:any;\n employeelist: any;\n categorylist: any;\n Typelist:any;\n empid:string[]=[];\n filteredOptions: Observable;\n myControl = new FormControl();\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n companies:any= this.curUser.dtsiteid;\n CID:any=JSON.parse(sessionStorage.getItem('cid'));\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n Category:any;\n Type:any;\n typevisible:boolean=false;\n categoryvisible:boolean=false;\n employeevisible:boolean=false;\n\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any,private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog) \n {\n\n console.log('data',data)\n\n this.CID=this.data.cid;\n this.Type=this.data.Type;\n this.typevisible=this.data.typevisible;\n this.categoryvisible=this.data.categoryvisible;\n this.employeevisible=this.data.employeevisible;\n\n this.Category=this.data.Category;\n this.ledgerid=this.data.LedgerID;\n this.DateTypeFlag=this.data.DateTypeFlag;\n this.fromdate=this.data.fromdate;\n this.todate=this.data.todate;\n this.myControl.setValue(this.data.EmpName)\n\n this.LoadData()\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n }\n\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.position={ right: '15'};\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n \n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n \n\n const parts = result.todate.split('-');\n const day = parseInt(parts[0]);\n const month = parseInt(parts[1]) - 1; // JavaScript months are 0-based\n const year = parseInt(parts[2]);\n\n const dateObj = new Date(year, month, day);\n const formattedDate = this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n\n\n const parts1 = result.frmdate.split('-');\n const day1 = parseInt(parts1[0]);\n const month1 = parseInt(parts1[1]) - 1; // JavaScript months are 0-based\n const year1 = parseInt(parts1[2]);\n\n const dateObj1 = new Date(year1, month1, day1);\n const formattedDate1 = this.datePipe.transform(dateObj1, 'yyyy-MM-dd');\n\n this.fromdate=formattedDate1;\n this.todate= formattedDate; \n this.DateTypeFlag=result.datetype\n });\n }\n\n LoadData()\n {\n\n // const params = {\n // int_CID: this.cid,\n \n \n // }; \n\n const query = `cid=${101}&flag=${'tds'}`;\n // console.log(\"filter\",params)\n this.service.httpGet('/General/GetHRMSFilter?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n this.employeelist=result.respdata.Employeelist;\n this.categorylist=result.respdata.Categorylist;\n this.Typelist=result.respdata.PSTType;\n this.employeelist = _.reject(result.respdata.Employeelist, { 'Name': 'ALL' });\n this.empid= _.pluck(this.employeelist, 'Name');\n\n // this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800) \n \n //this.dataSource = result.respdata.Table; \n //this.dataSource1 = result.respdata.Table; \n \n \n \n \n });\n }\n\n selectedproduct(event) { \n console.log('sele',{Name: event.option.value })\n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.empname=event.option.value ;\n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n \n console.log('leee',this.ledgerid)\n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n console.log('empid',this.empid)\n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n \n }\n displayFn(empid?: User1): string | undefined {\n return empid ? empid.Name : undefined;\n }\n\n applyFilter() {\n\n // console.log('displayFn',this.myControl.value)\n // Implement filter logic here\n // You may use a service to communicate with the parent component or emit an event\n let param={'Type': this.Type,'Category':this.Category,'LedgerID':this.ledgerid,'Name':this.myControl.value,'DateTypeFlag': this.DateTypeFlag,'FromDate':this.fromdate,'ToDate':this.todate,'CID':this.CID}\n this.dialogRef.close(param);\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\r\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n\r\nexport class EmpRegValidate {\r\n\r\n constructor(private http: HttpserviceService) { }\r\n\r\n getEmployeeconfig(params: any){\r\n const query = `cid=${params.cid}&flag=${params.flag}&EmpID=${params.empid}&LedgerID=${params.ledgerid}`;\r\n return this.http.httpGet('/EmployeeRegistration/GetEmployeeRegistration?' , query);\r\n \r\n }\r\n\r\n setprojectconfig(data: any){\r\n return this.http.httpPost( '/EmployeeRegistration/SetEmployeeRegistration', data)\r\n //.catch(this.handleError);\r\n }\r\n\r\n form: FormGroup = new FormGroup({\r\n CID: new FormControl(''),\r\n EmployeeID: new FormControl(''),\r\n FirstName: new FormControl('', [Validators.required]),\r\n LastName: new FormControl(''),\r\n AliasName:new FormControl('', Validators.required),\r\n FamilyName: new FormControl(''),\r\n DOB: new FormControl(''),\r\n Gender: new FormControl('', Validators.required),\r\n MaritalStatus:new FormControl(''),\r\n BloodGrp:new FormControl(''),\r\n Nationality:new FormControl(''),\r\n FingerPrintID:new FormControl(''),\r\n Designation: new FormControl(''),\r\n Department: new FormControl(''),\r\n Grade: new FormControl(''),\r\n Status: new FormControl(''),\r\n TimeZone: new FormControl(''),\r\n DateofJoining: new FormControl(''),\r\n DateofRelieving: new FormControl(''),\r\n CreateLogin:new FormControl(''),\r\n AuthorizationGroup: new FormControl('', Validators.required),\r\n PreFlatorStreet: new FormControl(''),\r\n PreArea: new FormControl(''),\r\n PreCity: new FormControl(''),\r\n PreState: new FormControl(''),\r\n PrePincode: new FormControl(''),\r\n PreCountry: new FormControl(''),\r\n PreTelephone: new FormControl(''),\r\n PreExtension: new FormControl(''),\r\n PreMobile1: new FormControl(''),\r\n PreMobile2: new FormControl(''),\r\n PreEmail1: new FormControl('', [Validators.required]),\r\n PreEmail2: new FormControl(''),\r\n PerFlatorStreet: new FormControl(''),\r\n PerArea: new FormControl(''),\r\n PerCity: new FormControl(''),\r\n PerState: new FormControl(''),\r\n PerPincode: new FormControl(''),\r\n PerCountry: new FormControl(''),\r\n PerTelephone: new FormControl(''),\r\n PerExtension: new FormControl(''),\r\n BankACName: new FormControl(''),\r\n BankACNo: new FormControl(''),\r\n IBAN: new FormControl(''),\r\n BankACType: new FormControl(''),\r\n BankName: new FormControl(''),\r\n BankBranchName: new FormControl(''),\r\n TownCity: new FormControl(''), \r\n Category: new FormControl(''),\r\n SubCategory: new FormControl(''),\r\n // GroupName: new FormControl(''),\r\n \r\n\r\n });\r\n\r\n initializeFormGroup(){\r\n this.form.setValue({\r\n CID: '',\r\n EmployeeID: '',\r\n FirstName: '',\r\n LastName: '',\r\n AliasName:'',\r\n FamilyName: '',\r\n DOB: '',\r\n Gender: '',\r\n MaritalStatus:'',\r\n BloodGrp:'',\r\n Nationality:'',\r\n FingerPrintID:'',\r\n Designation: '',\r\n Department: '',\r\n Grade: '',\r\n Status: '',\r\n TimeZone: '',\r\n DateofJoining: '',\r\n DateofRelieving: '',\r\n CreateLogin:'',\r\n AuthorizationGroup: '',\r\n PreFlatorStreet: '',\r\n PreArea: '',\r\n PreCity: '',\r\n PreState: '',\r\n PrePincode: '',\r\n PreCountry: '',\r\n PreTelephone: '',\r\n PreExtension: '',\r\n PreMobile1: '',\r\n PreMobile2: '',\r\n PreEmail1: '',\r\n PreEmail2: '',\r\n PerFlatorStreet: '',\r\n PerArea: '',\r\n PerCity: '',\r\n PerState: '',\r\n PerPincode: '',\r\n PerCountry: '',\r\n PerTelephone: '',\r\n PerExtension: '',\r\n BankACName: '',\r\n BankACNo: '',\r\n IBAN: '',\r\n BankACType: '',\r\n BankName: '',\r\n BankBranchName: '',\r\n TownCity: '', \r\n Category: '',\r\n SubCategory: '',\r\n // GroupName:''\r\n });\r\n }\r\n\r\n populateForm(data){\r\n \r\n //console.log('dataEdit',data);\r\n const Employee = {\r\n CID: data[0].CID,\r\n EmployeeID: data[0].EmpID,\r\n FirstName: data[0].FirstName,\r\n LastName: data[0].LastName,\r\n AliasName:data[0].Name,\r\n FamilyName: data[0].FamilyName,\r\n DOB: data[0].DOB,\r\n Gender: data[0].Gender,\r\n MaritalStatus:data[0].MaritalStatus,\r\n BloodGrp:data[0].BloodGroup,\r\n Nationality:data[0].Nationality,\r\n FingerPrintID:data[0].FingerPrintID,\r\n CreateLogin:false,\r\n Designation: data[0].Designation,\r\n Department: data[0].Department,\r\n Grade: data[0].Gname,\r\n Status: data[0].Status,\r\n TimeZone: data[0].TimeZoneID,\r\n DateofJoining: data[0].joindate,\r\n DateofRelieving: data[0].RelievedDate,\r\n AuthorizationGroup: data[0].AuthGroupID,\r\n PreFlatorStreet: data[0].PreStreet,\r\n PreArea:data[0].PreArea,\r\n PreCity: data[0].PreTown,\r\n PreState: data[0].PreState,\r\n PrePincode: data[0].PrePincode,\r\n PreCountry: data[0].PreCountry,\r\n PreTelephone: data[0].PreTel,\r\n PreExtension: data[0].PreExtension,\r\n PreMobile1: data[0].PreMobile1,\r\n PreMobile2: data[0].PreMobile2,\r\n PreEmail1: data[0].PreEmail1,\r\n PreEmail2: data[0].PreEmail2,\r\n PerFlatorStreet: data[0].PerStreet,\r\n PerArea: data[0].PerArea,\r\n PerCity: data[0].PerTown,\r\n PerState: data[0].PerState,\r\n PerPincode: data[0].PerPincode,\r\n PerCountry: data[0].PerCountry,\r\n PerTelephone: data[0].PerTel,\r\n PerExtension: data[0].PerExtension,\r\n BankACName: data[0].BankACHolderName,\r\n BankACNo: data[0].BankACNo,\r\n IBAN: data[0].IBAN,\r\n BankACType: data[0].BankACType,\r\n BankName: data[0].BankName,\r\n BankBranchName: data[0].Branch,\r\n TownCity:data[0].Town, \r\n Category: data[0].category,\r\n SubCategory: data[0].subcategory, \r\n };\r\n this.form.setValue(Employee);\r\n\r\n }\r\n \r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog'; //MatPaginator, MatSort, MatTableDataSource\nimport { MatPaginator} from '@angular/material/paginator'; \nimport { MatSort} from '@angular/material/sort'; \nimport { MatTableDataSource} from '@angular/material/table'; \nimport { AppError } from '../../../../../app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from '../../../../../app/Services/httpServices/ErrorHandler/bad-input';\nimport { NotificationService } from '../../../../../app/Services/OtherServices/notification.service';\nimport { EmpRegValidate } from '../emp-reg-Validate';\nimport {EmpRegComponent} from './../emp-reg/emp-reg.component'\nimport { UploadprofilepicComponent } from '../../../../components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { User } from '../../../../../app/Modules/user';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-emp-reg-list',\n templateUrl: './emp-reg-list.component.html',\n styleUrls: ['./emp-reg-list.component.css']\n})\nexport class EmpRegListComponent implements OnInit {\n\n EmployeeList:any;//MatTableDataSource;\n\n displayedColumns =['EmpID','Name','Designation','joindate','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n searchKey: string;\n popupVisible = false;\n Companies:any;\n CID:any;\n username:string;\n\n constructor(private service:EmpRegValidate,private generic: GenericService,private datePipe: DatePipe,\n private NotificationService:NotificationService,private dialogService: DialogService,\n private dialog: MatDialog) { }\n\n ngOnInit(): void {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.username=curUser.username;\n this.CID=JSON.parse(sessionStorage.getItem('cid')); \n this.getEmployeeDetails();\n //console.log('ciddfsdfg',this.CID);\n \n }\n\n onCompanySelect(event)\n {\n this.CID=event;\n this.getEmployeeDetails();\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.EmployeeList.filter = filterValue.trim().toLowerCase();\n }\n\n doFilter(filterValue: string) {\n console.log(filterValue);\n this.EmployeeList.filter = filterValue;\n }\n\n onSearchClear(){\n this.searchKey=\"\";\n this.EmployeeList.filter=\"\";\n }\n\n Refresh(){\n this.getEmployeeDetails();\n }\n exportAsExcel()\n {\n this.generic.excelExport(this.EmployeeList.data, 'Employee List', 'Employee List' );\n }\n getEmployeeDetails()\n {\n let params = {\n cid: this.CID,\n flag:\"LOADGRID\",\n ledgerid:\"0\",\n empid:\"0\" \n }\n this.service.getEmployeeconfig(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n //this.companies = result.respdata.Table2; \n this.EmployeeList = result.respdata.Table;\n this.Companies=result.respdata.Table1;\n this.EmployeeList = new MatTableDataSource(result.respdata.Table);\n this.EmployeeList.sort = this.sort;\n this.EmployeeList.paginator = this.paginator;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n\n\n showInfo(data){\n\n }\n\n\n AddNewEmployee()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerID:0,\n cid: this.CID\n // Rolelist:this.Rolelist,\n }\n const dialogRef = this.dialog.open(EmpRegComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.getEmployeeDetails(); \n });\n \n}\n\nonUpload(data, _flag,ledgerid){\n const dialogConfig = new MatDialogConfig();\n// console.log('data',data,_flag,ledgerid);\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n empid:data,\n ledgerID:ledgerid,\n cid: this.CID\n // entity:this.entity,\n // Rolelist:this.Rolelist \n }\n this.dialog.open(UploadprofilepicComponent, dialogConfig); \n}\n\n onEdit(data, _flag,ledgerid){\n const dialogConfig = new MatDialogConfig();\n //console.log('data',data);\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n empid:data,\n ledgerID:ledgerid,\n cid: this.CID\n // entity:this.entity,\n // Rolelist:this.Rolelist \n }\n const dialogRef =this.dialog.open(EmpRegComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getEmployeeDetails(); \n });\n }\n\n onDelete(data, _flag){\n const curDate = new Date();\n console.log('data',data)\n this.dialogService.openConfirmDialog('Are you sure to inactive this employee?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n CID:this.CID,\n Flag:'DELETE',\n EmployeeID:data,\n UserID:\"\",\n CostPerHour:0, \n FingerPrintID:'',\n UserName:this.username,\n Image:\"\",\n CurDate: this.datePipe.transform(curDate, 'dd-MM-yyyy'),\n CreateLogin:0,\n GroupID:sessionStorage.getItem('groupid')\n };\n this.service.setprojectconfig(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.errno);\n \n if (users.errno === 0){\n this.NotificationService.warn('Employee inactive successfully');\n this.getEmployeeDetails(); \n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n\n}\n\n// export interface GroupALL {\n// ID: string;\n// Name: string;\n// status : string;\n \n\n// }\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { User } from '../../../../../app/Modules/user';\nimport { AppError } from '../../../../../app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from '../../../../../app/Services/httpServices/ErrorHandler/bad-input';\nimport { NotificationService } from '../../../../../app/Services/OtherServices/notification.service';\nimport { EmpRegValidate } from '../emp-reg-Validate';\n// import { EmpRegService } from './../../EmployeeRegistration/emp-reg.service';\n// import { NotificationService } from './../../../../shared/notification.service';\n// import { DatePipe, formatDate } from '@angular/common';\n// import { AppError } from '../../../common/app-error';\n// import { BadInput } from '../../../common/bad-input';\n// import { User } from '../../../../models';\nimport { UploadprofilepicComponent } from '../../../../components/HR/EmployeeRegistration/uploadprofilepic/uploadprofilepic.component';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-emp-reg',\n templateUrl: './emp-reg.component.html',\n styleUrls: ['./emp-reg.component.css']\n})\nexport class EmpRegComponent implements OnInit {\n\n flag: string;\n forceid:number=0;\n required:boolean=false;\n readonly:boolean=false;\n ledgerID:number;\n Empid:string;\n username:string;\n dataSource: any;\n dataSource1: any;\n model: any;\n cid:any;\n isEditable = true;\n selectedValue: string;\n optionGender = [\n { id : 1, GenderName: 'Male'},\n { id : 0, GenderName: 'Female'}\n ];\n optionMaritalStatus = [\n { id : 1, Name: 'Married'},\n { id : 0, Name: 'Single'}\n ];\n optionEmployeeStatus = [\n { id : 0, Name: 'Active'},\n { id : 1, Name: 'InActive'}\n ];\n \n //optionGender: string[] = ['Male', 'Female', 'Other'];\n //optionMaritalStatus: string[] = ['Married', 'Single'];\n // optionEmployeeStatus: string[] = ['Active', 'InActive'];\n //optionNationality: string[] = ['India', 'UAE','SaudiArabiya','USA'];\n optionBloodGroup: string[] = ['A+', 'A-','B+','B-','O+','O-','AB+','AB-'];\n optionNationality:any;\n companies: any;//string[] = ['ASPEN', 'BINHANIF'];\n groupid:any;\n department:any;\n designation:any;\n grade:any;\n timezone:any;\n authorizationgroup:any;\n dashgroupid:any;\n SubCategory:any;\n Categories:any;\n loginvisible:boolean=false;\n date= new Date();\n\n constructor(public service:EmpRegValidate,private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n private datePipe: DatePipe, private dialog: MatDialog,\n public notificationService: NotificationService,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n if(this.flag=='ADD')\n this.loginvisible=true;\n else\n this.loginvisible=false; \n\n this.Empid = this.data.empid;\n this.ledgerID=this.data.ledgerID;\n // console.log('CID',this.data);\n //console.log('this.ledgerID',this.Empid ,' ,', this.flag );\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.username=curUser.username;\n\n\n }\n\n ngOnInit(): void {\n this.cid=this.data.cid; \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n //this.forceid=curUser.configparam.find(e => e.tag === 'useEmployeeID')['value'];\n this.forceid=curUser.CustomerSettings.useEmployeeID;\n this.required=this.forceid==1? true: false;\n this.readonly=this.forceid==1? false: true;\n // console.log(\"curUser\", curUser.configparam.find(e => e.tag === 'useEmployeeID')['value'])\n this.getPageLoad();\n this.service.form.controls.CID.setValue(this.cid);\n if(this.flag=='ADD')\n this.service.form.controls.Status.setValue(0);\n }\n \n changesite(e) {\n // console.log('change',e.value);\n this.cid=e.value;\n this.getPageLoad();\n }\n \n onCloseDialog()\n {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClose(model){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n onClear()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to clear all fields?')\n // .afterClosed().subscribe(res => {\n // if (res) {\n this.service.form.reset();\n this.service.initializeFormGroup(); \n this.service.form.controls.CID.setValue(this.cid);\n this.service.form.controls.Status.setValue(0);\n this.date= new Date();\n // }\n // });\n }\n\n\n getPageLoad()\n {\n let params = {\n cid: this.cid,\n flag:this.flag ,\n ledgerid:\"0\",\n empid:this.Empid \n }\n this.service.getEmployeeconfig(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n //this.companies = result.respdata.Table2; \n this.companies = result.respdata.Table;\n this.groupid=result.respdata.Table2;\n this.department=result.respdata.Table2;\n this.designation = result.respdata.Table3; \n this.timezone=result.respdata.Table4;\n this.grade=result.respdata.Table5; \n this.authorizationgroup=result.respdata.Table6;\n this.dashgroupid=result.respdata.Table10;\n this.groupid=result.respdata.Table9;\n this.SubCategory=result.respdata.Table8;\n this.Categories=result.respdata.Table7;\n this.optionNationality=result.respdata.Table11;\n // console.log('this.companies',result.respdata.Table11);\n // console.log('this.designation',this.optionNationality);\n if (this.flag == 'EDIT')\n {\n const params = Object.assign(result.respdata.Table12);\n // console.log(\"params\",result.respdata.Table12);\n this.service.populateForm(params);\n }\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n\n UploadImage()\n {\n //console.log('HI');\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid: this.data.cid\n // Flag:'ADD' , \n // Employees:this.Employees, \n // Type:this.Types,\n // Currency:this.Currency,\n // RequestID:'' \n }\n const dialogRef = this.dialog.open(UploadprofilepicComponent,dialogConfig)\n dialogRef.afterClosed()\n }\n\n getEditPageLoad()\n {\n let params = {\n cid: this.cid,\n flag:\"EditGetData\",\n ledgerid:this.ledgerID,\n empid:\"0\" \n }\n this.service.getEmployeeconfig(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n //this.companies = result.respdata.Table2; \n this.companies = result.respdata.Table;\n this.groupid=result.respdata.Table2;\n this.department=result.respdata.Table2;\n this.designation = result.respdata.Table3; \n this.timezone=result.respdata.Table4;\n this.grade=result.respdata.Table5; \n this.authorizationgroup=result.respdata.Table6;\n this.dashgroupid=result.respdata.Table10;\n this.groupid=result.respdata.Table9;\n this.SubCategory=result.respdata.Table8;\n this.Categories=result.respdata.Table7;\n \n // console.log('this.companies',this.SubCategory);\n // console.log('this.designation',this.Categories);\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n\n onSubmit()\n {\n if (this.service.form.valid){\n const curDate = new Date();\n const paramsFormValue = this.service.form.value;\n\n // var myObj=this.dataSource1\n\n // delete this.dataSource1.DaysHours;\n // delete this.dataSource1.__KEY__;\n\n // delete myObj.DaysHours;\n // delete myObj.__KEY__;\n // console.log('list', this.dataSource1.length);\n // if ( this.dataSource1.length == 0)\n // {\n // this.dataSource1 = [{Role: '', hours: ''}];\n // console.log('list123', this.dataSource1);\n // }\n \n paramsFormValue.DOB = this.datePipe.transform(paramsFormValue.DOB, 'dd-MM-yyyy');\n paramsFormValue.DateofJoining = this.datePipe.transform(paramsFormValue.DateofJoining, 'dd-MM-yyyy');\n paramsFormValue.DateofRelieving = this.datePipe.transform(paramsFormValue.DateofRelieving, 'dd-MM-yyyy');\n\n paramsFormValue.curDate = this.datePipe.transform(curDate, 'dd-MM-yyyy');\n paramsFormValue.Category = paramsFormValue.Category.toString();\n paramsFormValue.TimeZone = paramsFormValue.TimeZone.toString();\n paramsFormValue.Grade = paramsFormValue.Grade.toString();\n paramsFormValue.AuthorizationGroup = paramsFormValue.AuthorizationGroup.toString();\n paramsFormValue.CreateLogin=this.service.form.controls.CreateLogin.value==true?1:0;\n // paramsFormValue.BankACNo = paramsFormValue.BankACNo==null? \"\":paramsFormValue.BankACNo;\n // paramsFormValue.BankName = paramsFormValue.BankName==null? \"\":paramsFormValue.BankName;\n // paramsFormValue.IBAN = paramsFormValue.IBAN==null? \"\":paramsFormValue.IBAN;\n // console.log('loginvalue',this.service.form.controls.CreateLogin.value)\n // console.log(\"sss\",paramsFormValue );\n const paramsExtra = {\n //CID: 101,\n Flag: this.flag,\n LedgerID: this.ledgerID==undefined?0:this.ledgerID,\n //UserID: '',\n intChkForceId:this.forceid,\n \n //CurDate:curDate,\n CostPerHour:0, \n //FingerPrintID:'',\n UserName:this.username,\n Image:\"\"\n //GroupID: sessionStorage.getItem('groupid'),\n // listarray: this.dataSource1\n // Year:this.requestyear,\n // Type:this.type\n\n\n // Category: string\n // Grade string\n // MaritalStatus: int\n // TimeZone string\n };\n const params = Object.assign(paramsFormValue, paramsExtra);\n // console.log(\"save\",params);\n this.service.setprojectconfig(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.errno);\n\n if (users.errno === 0){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.notificationService.success('Submitted successfully');\n this.onClose(this.model);\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n }\n\n}\n","import { Component, OnInit, ViewChild,Inject,ElementRef } from '@angular/core';\nimport {FormControl, Validators} from '@angular/forms';\n// import { NeworderService } from '../neworder.service';\nimport { User } from './../../../../Modules/user';\nimport {Observable} from 'rxjs';\nimport {startWith, map, pluck} from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { NgxImageCompressService } from 'ngx-image-compress';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialogRef,MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n\n@Component({\n selector: 'app-uploadprofilepic',\n templateUrl: './uploadprofilepic.component.html',\n styleUrls: ['./uploadprofilepic.component.scss'],\n})\nexport class UploadprofilepicComponent implements OnInit {\n\n @ViewChild('fileInput') fileInput: ElementRef | undefined;\n\n customerControl = new FormControl('', Validators.required);\n salesmanControl = new FormControl('', Validators.required);\n \n imageUrl: string = \"assets/images/default-image.png\";\n //imageUrl: File;\n fileToUpload: File[] = [];\n showSpinner:any;\n ledgerid: string;\n customername: string;\n userid: string;\n\n \n\n customernames: string[]= [];\n myControl = new FormControl();\n filteredOptions: Observable;\n \n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n\n // imgResultBeforeCompress:string;\n imgResultAfterCompress:string;\n \n file: any;\n localUrl: any;\n // localCompressedURl:any;\n // sizeOfOriginalImage:number;\n sizeOFCompressedImage:number;\n\n spinnervisible: boolean = false;\n buttonvisible: boolean = true;\n\n selectedFiles: string[] = [];\n selectable = true;\n removable = true;\n flag: string;\n Empid:string;\n ledgerID:string;\n cid:any;\n\n constructor(private NotificationService:NotificationService, private service:HttpserviceService,public dialogRef: MatDialogRef,\n private imageCompress: NgxImageCompressService, @Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.flag = this.data.flag;\n this.Empid = this.data.empid;\n this.ledgerID=this.data.ledgerID;\n this.cid=this.data.cid;\n //console.log('dialogdata',this.data)\n }\n\n ngOnInit(): void {\n \n }\n \n \n onCloseDialog()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n // .afterClosed().subscribe(res => {\n //if (res) {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n // }\n // });\n }\n\n \n \n onClickFileInputButton(): void {\n this.fileInput.nativeElement.click();\n }\n\n selectFile(event: any) {\n // this.fileToUpload= []; \n if (event.target.files && event.target.files[0]) {\n var filesAmount = event.target.files.length;\n this.spinnervisible = true;\n for (let i = 0; i < filesAmount; i++) {\n let fileName : any;\n this.file = event.target.files[i];\n fileName = this.file['name'];\n this.selectedFiles.push(fileName);\n // console.log('filename inside selectfile: ', fileName);\n var reader = new FileReader();\n\n reader.onload = (event1:any) => {\n this.localUrl = event1.target.result;\n this.compressImage(this.localUrl,fileName)\n\n }\n\n reader.readAsDataURL(event.target.files[i]);\n } \n \n this.spinnervisible = false;\n }\n\n // console.log('Select: ', this.fileToUpload);\n }\n\n compressImage(image,fileName) {\n try{\n var orientation = -1;\n // console.log(\"image\",image)\n // this.sizeOfOriginalImage = this.imageCompress.byteCount(image)/(1024*1024);\n // console.warn('Size in bytes is now:', this.sizeOfOriginalImage);\n this.imageCompress.compressFile(image, orientation, 50, 50).then(\n async result => {\n this.imgResultAfterCompress = result;\n // console.log('imgResultAfterCompress: ', this.imgResultAfterCompress);\n this.sizeOFCompressedImage = this.imageCompress.byteCount(result)/(1024*1024)\n // console.warn('Size in bytes after compression:', this.sizeOFCompressedImage);\n const imageName = fileName;\n // call method that creates a blob from dataUri\n const imageBlob = this.dataURItoBlob(this.imgResultAfterCompress.split(',')[1]);\n // console.log('after blob creation',imageBlob);\n //imageFile created below is the new compressed file which can be send to API in form \n this.fileToUpload.push(new File([imageBlob], imageName, { type: 'image/jpeg' }));\n // console.log('File to upload: ', this.fileToUpload);\n \n });\n }\n catch (Error) {\n alert(Error.message);\n }\n \n }\n \n dataURItoBlob(dataURI) {\n const byteString = window.atob(dataURI);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/jpeg' });\n return blob;\n }\n\n\n viewImage(file: string){\n const index = this.selectedFiles.indexOf(file);\n\n if (index >= 0) {\n\n Array.from(this.fileToUpload).forEach(async uploadedfile => {\n if (uploadedfile.name == file){\n let result1:string = await this.getBase64Image(uploadedfile);\n this.imageUrl = result1;\n }\n });\n\n }\n }\n\n remove(file: string): void {\n const index = this.selectedFiles.indexOf(file);\n\n if (index >= 0) {\n Array.from(this.fileToUpload).forEach(uploadedfile => {\n //console.log(uploadedfile.name) \n if (uploadedfile.name == file){\n this.fileToUpload.splice(index, 1);\n }\n });\n this.selectedFiles.splice(index, 1);\n this.imageUrl = \"assets/images/default-image.png\";\n }\n // this.selectedFiles = [];\n if (this.fileInput) {\n this.fileInput.nativeElement.value = '';\n }\n // console.log('Remove: ', this.fileToUpload);\n } \n\n async getBase64Image(imageBlob) {\n const reader = new FileReader();\n await new Promise((resolve, reject) => {\n reader.onload = resolve;\n reader.onerror = reject;\n reader.readAsDataURL(imageBlob);\n });\n return reader.result.toString();//.replace(/^data:.+;base64,/, '');\n }\n \n OnSubmit(Caption, Image){\n this.showSpinner=true;\n this.buttonvisible = false;\n // console.log('final file list: ', this.fileToUpload);\n this.postFile('Caption', this.fileToUpload, this.ledgerID,this.cid )\n // Caption.value = null;\n //Image.value = null;\n }\n\n postFile(caption: string, fileToUpload: File[], ledgerid: string,CID:any){\n // console.log('POSTFIELAPTH')\n const formData: FormData = new FormData();\n let index: number = 1;\n fileToUpload.forEach(function (value) {\n formData.append('Image' + index.toString(), value, value.name);\n // console.log(value);\n index = index + 1;\n });\n\n // formData.append('Image', fileToUpload, fileToUpload.name);\n formData.append('ImageCaption', caption);\n formData.append('Ledger', ledgerid);\n // formData.append('CustomerName', customername);\n // formData.append('SalesmanID', salesmanid.toString());\n // formData.append('UserName', username);\n formData.append('Flag', 'UploadProfile');\n formData.append('cid', CID);\n\n // console.log(\"dd\",formData)\n // return this.http.post(this.baseUrl+'/salesmanorder', formData)\n this.service.httpPost('/EmployeeRegistration/changeprofilepic' ,formData) \n .subscribe(res =>{\n let result: any;\n result = res; \n //console.log('response data',result) \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n this.buttonvisible = true;\n //alert('Neworder created');\n if (result.errno === 0) {\n this.NotificationService.success('Profile picture updated successfully');\n this.customername='';\n this.onCloseDialog();\n }\n\n //this.imageUrl = \"/assets/images/default-image.png\";\n this.imageUrl = \"assets/images/default-image.png\";\n \n });\n //.catch(this.handleError);\n }\n\n}\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\nimport { Inject } from '@angular/core';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { Observable,of } from 'rxjs';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\n\n@Component({\n selector: 'app-goalaccess',\n templateUrl: './goalaccess.component.html',\n styleUrls: ['./goalaccess.component.css']\n})\nexport class GoalaccessComponent implements OnInit {\n\n emplist:any;\n selectedOptions: string[];\n lastSelectedOptions: string[];\n GoalID:any\n separatorKeysCodes: number[] = [ENTER, COMMA];\n fcEmployee = new FormControl();\n filteredEmployees: Observable;\n employees: string[] = [];\n \n allEmployees: string[] = [];\n selectable = true;\n removable = true;\n CID:any;\n\n private allowFreeTextAddEngineer = false;\n\n @ViewChild('empInput') empInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n \n \n constructor(private datePipe: DatePipe,public service: HttpserviceService,public notificationService: NotificationService, public dialogRef: MatDialogRef,\n private dialogService: DialogService,@Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.GoalID=data.GoalID;\n this.CID=data.cid;\n\n // this.filteredEmployees = this.fcEmployee.valueChanges.pipe(\n // startWith(null),\n // map((value: string | null) => value ? this._filteremployees(value) : this.allEmployees.slice()));\n \n this.fcEmployee.valueChanges.subscribe(search => { \n this.filteredEmployees = of(this.allEmployees.filter(item =>\n item.toLowerCase().includes(search)\n ));\n });\n // this.fcEmployee.valueChanges.pipe(\n // startWith(null),\n // map(search => this.filterOnValueChange(search))\n // );\n }\n\n // private filterOnValueChange(engineerName: string | null): String[] {\n // let result: String[] = [];\n // //\n // // Remove the engineers we have already selected from all engineers to\n // // get a starting point for the autocomplete list.\n // //\n // let allEngineersLessSelected = this.allEmployees.filter(\n // (engineer) => this.employees.indexOf(engineer) < 0\n // );\n // if (engineerName) {\n // result = this.filterEngineer(allEngineersLessSelected, engineerName);\n // } else {\n // result = allEngineersLessSelected.map((engineer) => engineer.);\n // }\n // return result;\n // }\n\n \n // private filterEngineer(\n // engineerList: employees[],\n // engineerName: String\n // ): String[] {\n // let filteredEngineerList: employees[] = [];\n // const filterValue = engineerName.toLowerCase();\n // let engineersMatchingEngineerName = engineerList.filter(\n // (engineer) => engineer.fullName.toLowerCase().indexOf(filterValue) === 0\n // );\n // if (engineersMatchingEngineerName.length || this.allowFreeTextAddEngineer) {\n // //\n // // either the engineer name matched some autocomplete options\n // // or the name didn't match but we're allowing\n // // non-autocomplete engineer names to be entered\n // //\n // filteredEngineerList = engineersMatchingEngineerName;\n // } else {\n // //\n // // the engineer name didn't match the autocomplete list\n // // and we're only allowing engineers to be selected from the list\n // // so we show the whjole list\n // //\n // filteredEngineerList = engineerList;\n // }\n // //\n // // Convert filtered list of engineer objects to list of engineer\n // // name strings and return it\n // //\n // return filteredEngineerList.map((engineer) => engineer.fullName);\n // }\n\n\n\n addemployees(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.employees.push(value.trim());\n \n }\n if (input) {\n input.value = '';\n }\n this.fcEmployee.setValue(null);\n }\n\n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n\n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n }\n\n private _filteremployees(value1: string): string[] {\n const filterprojectValue = value1.toLowerCase();\n\n return this.allEmployees.filter(value1 => value1.toLowerCase().indexOf(filterprojectValue) === 0);\n }\n\n\n ngOnInit(): void {\n this.dialogRef.updateSize('70%');\n this.getGoalsdetails();\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n\n }\n onClose(model){\n this.dialogRef.close({event: 'CLEAR', data: model});\n }\n \n onSubmit()\n {\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag:\"ADD\",\n GoalID:this.GoalID,\n emplist:this.employees\n \n };\n this.service.httpPost('/Goals/SetGoalAccessGroup?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n\n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\ngetGoalsdetails()\n {\n let params = {\n cid:this.CID,\n flag:'Emplist',\n GoalID:this.GoalID,\n LedgerID:0,\n FromDate:this.datePipe.transform(new Date(), 'yyy-MM-dd'),\n AssessmentType:\"''\"\n }\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.emplist= result.respdata.Employeelist;\n this.employees= _.pluck(result.respdata.selectedEmployee, 'Name'); \n //console.log('this.employees',this.employees)\n this.allEmployees= _.pluck(this.emplist, 'Name'); \n //console.log('this.allEmployees',this.allEmployees)\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n add(event: any): void {\n if (event) {\n let newChip: any;\n if (event.option) {\n newChip = event.option.value;\n }\n if (event.value) {\n this.allEmployees.forEach((c, i) => {\n if (c.toLowerCase() === event.value.toLowerCase()) {\n newChip = c;\n }\n if (event.input) {\n event.input.value = '';\n }\n });\n }\n if (newChip) {\n this.employees.push(newChip);\n this.allEmployees.forEach((c, i) => {\n if (c === newChip) {\n this.allEmployees.splice(i, 1);\n }\n });\n }\n }\n }\n \n remove(chip: any): void {\n this.employees.forEach((c, i) => {\n if (c === chip) {\n this.employees.splice(i, 1);\n }\n });\n this.allEmployees.push(chip);\n }\n\n\n \n}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { DatePipe } from '@angular/common';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport * as _ from 'underscore/underscore-min.js';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-goals2',\n templateUrl: './goals2.component.html',\n styleUrls: ['./goals2.component.scss'],\n})\n\nexport class Goals2Component implements OnInit { \n public allEngineers: Employee[] = [\n // { Name: 'A.N. Engineer', LedgerID: 1 },\n // { Name: 'Some Other', LedgerID: 2 },\n // { Name: 'Prof. Engineering', LedgerID: 3 },\n ];\n public chipSelectedEmployees: Employee[] = [];\n public filteredEmployees: Observable;\n employee:any;\n //\n // Set this to false to ensure engineers are from allEngineers list only.\n // Set this to true to also allow 'free text' engineers.\n //\n private allowFreeTextAddEngineer = false;\n\n public fcEmployee = new FormControl();\n readonly separatorKeysCodes: number[] = [ENTER, COMMA];\n CID:any;\n GoalID:any;\n @ViewChild('engineerInput') engineerInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n\n constructor(private datePipe: DatePipe,public service: HttpserviceService,public notificationService: NotificationService,\n private dialogService: DialogService,@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef) \n {\n this.GoalID=data.GoalID;\n this.CID=data.cid;\n }\n\n ngOnInit() { \n this.getGoalsdetails();\n\n \n }\n\n public addEngineer(event: MatChipInputEvent): void {\n if (!this.allowFreeTextAddEngineer) {\n // only allowed to select from the filtered autocomplete list\n console.log('allowFreeTextAddEngineer is false');\n return;\n }\n\n //\n // Only add when MatAutocomplete is not open\n // To make sure this does not conflict with OptionSelected Event\n //\n if (this.matAutocomplete.isOpen) {\n return;\n }\n\n // Add our engineer\n const value = event.value;\n if ((value || '').trim()) {\n this.selectEngineerByName(value.trim());\n }\n\n this.resetInputs();\n }\n\n public removeEngineer(engineer: Employee): void {\n const index = this.chipSelectedEmployees.indexOf(engineer);\n if (index >= 0) {\n this.chipSelectedEmployees.splice(index, 1);\n this.resetInputs();\n }\n }\n\n public engineerSelected(event: MatAutocompleteSelectedEvent): void {\n this.selectEngineerByName(event.option.value);\n this.resetInputs();\n }\n\n private resetInputs() {\n // clear input element\n this.engineerInput.nativeElement.value = '';\n // clear control value and trigger fcEmployee.valueChanges event\n this.fcEmployee.setValue(null);\n }\n\n //\n // Compute a new autocomplete list each time control value changes\n //\n private filterOnValueChange(engineerName: string | null): String[] {\n let result: String[] = [];\n //\n // Remove the engineers we have already selected from all engineers to\n // get a starting point for the autocomplete list.\n //\n let allEngineersLessSelected = this.allEngineers.filter(\n (engineer) => this.chipSelectedEmployees.indexOf(engineer) < 0\n );\n if (engineerName) {\n result = this.filterEngineer(allEngineersLessSelected, engineerName);\n } else {\n result = allEngineersLessSelected.map((engineer) => engineer.Name);\n }\n return result;\n }\n\n private filterEngineer(\n engineerList: Employee[],\n engineerName: String\n ): String[] {\n let filteredEngineerList: Employee[] = [];\n const filterValue = engineerName.toLowerCase();\n let engineersMatchingEngineerName = engineerList.filter(\n (engineer) => engineer.Name.toLowerCase().indexOf(filterValue) === 0\n );\n if (engineersMatchingEngineerName.length || this.allowFreeTextAddEngineer) {\n //\n // either the engineer name matched some autocomplete options\n // or the name didn't match but we're allowing\n // non-autocomplete engineer names to be entered\n //\n filteredEngineerList = engineersMatchingEngineerName;\n } else {\n //\n // the engineer name didn't match the autocomplete list\n // and we're only allowing engineers to be selected from the list\n // so we show the whjole list\n //\n filteredEngineerList = engineerList;\n }\n //\n // Convert filtered list of engineer objects to list of engineer\n // name strings and return it\n //\n return filteredEngineerList.map((engineer) => engineer.Name);\n }\n\n private selectEngineerByName(engineerName) {\n let foundEngineer = this.allEngineers.filter(\n (engineer) => engineer.Name == engineerName\n );\n if (foundEngineer.length) {\n //\n // We found the engineer name in the allEngineers list\n //\n this.chipSelectedEmployees.push(foundEngineer[0]);\n } else {\n //\n // Create a new engineer, assigning a new higher employeeId\n // This is the use case when allowFreeTextAddEngineer is true\n //\n let highestEmployeeId = Math.max(\n ...this.chipSelectedEmployees.map((engineer) => engineer.LedgerID),\n 0\n );\n this.chipSelectedEmployees.push({\n Name: engineerName,\n LedgerID: highestEmployeeId + 1,\n });\n }\n }\n\n\n getGoalsdetails()\n {\n let params = {\n cid:this.CID,\n flag:'Emplist',\n GoalID:this.GoalID,\n LedgerID:0,\n FromDate:this.datePipe.transform(new Date(), 'yyy-MM-dd'),\n AssessmentType:\"''\"\n }\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n let emplist= result.respdata.Employeelist;\n this.chipSelectedEmployees= result.respdata.selectedEmployee;//_.pluck(result.respdata.selectedEmployee,'Name'); \n console.log('this.employees',this.employee)\n this.allEngineers= emplist//_.pluck(emplist, 'Name'); \n console.log('this.allEmployees',this.allEngineers)\n this.filteredEmployees = this.fcEmployee.valueChanges.pipe(\n startWith(null),\n map(engineerName => this.filterOnValueChange(engineerName))\n );\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSubmit()\n {\n let employee=this.chipSelectedEmployees;\n console.log('employee',employee);\n this.chipSelectedEmployees=_.pluck(this.chipSelectedEmployees, 'Name');\n console.log('this.chipSelectedEmployees', this.chipSelectedEmployees);\n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag:\"ADD\",\n GoalID:this.GoalID,\n emplist:this.chipSelectedEmployees\n \n };\n this.service.httpPost('/Goals/SetGoalAccessGroup?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n if (users.errno === 0){\n this.chipSelectedEmployees=employee;\n this.notificationService.success(users.errdesc); \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n\n }\n\n}\n\nexport interface Employee {\n Name: string;\n LedgerID: number;\n}","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { User } from './../../../../Modules/user';\nimport { GoalaccessComponent } from './../goalaccess/goalaccess.component';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogConfig,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { DatePipe } from '@angular/common';\nimport { Goals2Component } from '../goals2/goals2.component';\n\n@Component({\n selector: 'app-goals',\n templateUrl: './goals.component.html',\n styleUrls: ['./goals.component.css']\n})\nexport class GoalsComponent implements OnInit {\n\n flag:any\n GoalID:number=0;\n GoalName:any\n GoalDescription:any\n EntryDate:any\n groupenable:any=true\n CurLedgerID:any\n CID:any\n\n constructor(private dialog: MatDialog,private datePipe: DatePipe,public notificationService: NotificationService,public service: HttpserviceService, public dialogRef: MatDialogRef,\n private dialogService: DialogService,@Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.GoalName=this.data.GoalName;\n this.GoalID=this.data.GoalID;\n this.GoalDescription=this.data.GoalDescription;\n this.EntryDate=this.data.EntryDate;\n this.CID=this.data.cid;\n }\n\n ngOnInit(): void {\n this.groupenable = this.GoalID != 0 ? false : true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n onClose(model){\n this.dialogRef.close({event: this.flag, data: model});\n }\n onClear()\n {\n this.GoalName=''\n this.EntryDate=''\n this.GoalDescription=''\n }\n onSubmit()\n {\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag: this.flag,\n GoalID:this.GoalID,\n GoalName:this.GoalName,\n GoalDescription:this.GoalDescription,\n EntryDate:this.datePipe.transform(this.EntryDate, 'yyy-MM-dd'),\n GoalStatus:\"Open\",\n UserName: this.CurLedgerID,\n CreateDate:currentdate\n \n\n };\n this.service.httpPost('/Goals/SetGoals?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.notificationService.success(users.errdesc);\n this.GoalID=users.respdata;\n this.groupenable = this.GoalID !== 0 ? false : true;\n this.dialogRef.close({event: 'CLEAR'});\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n this.dialogRef.close({event: 'CLEAR'});\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n width: '60%',\n GoalID:this.GoalID,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(Goals2Component,dialogConfig);\n }\n}","import { UserService } from 'src/app/components/Admin/Users/userValidate';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\n\nimport { Component, OnInit,ViewChild, } from '@angular/core';\nimport {GoalsComponent} from './../goals/goals.component';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subscription } from 'rxjs';\nimport { FormGroup, FormControl,Validators } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { GoalaccessComponent } from './../goalaccess/goalaccess.component';\n\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Goals2Component } from '../goals2/goals2.component';\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MMM/YYYY',\n },\n display: {\n dateInput: 'MMM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n\n\n\n@Component({\n selector: 'app-goalslist',\n templateUrl: './goalslist.component.html',\n styleUrls: ['./goalslist.component.css'],\n providers: [\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\n // application's root module. We provide it at the component level here, due to limitations of\n // our example generation script.\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ]\n})\nexport class GoalslistComponent implements OnInit {\n \n myFormGroup:FormGroup;\n myFormGroup1:FormGroup;\n\n companies:any\n datasource:any;\n commentlist:any;\n Reportingemployees:any;\n managerquestions:any;\n selectedOptions:any;\n comment:any\n index:any\n extravisable:Boolean=false\n GoalID:any\n CurLedgerID:any\n UserName:any\n form_template:any;\n assessmentvisible:boolean=true;\n managervisible:boolean=false;\n assessmentType:string='Employee';\n LedgerID:any\n ProfileImage:any;\n Profilevisible:boolean=false;\n currentuserImage:any;\n ProfileName:any\n fd=new Date()\n animate = false;\n hideme = {};\n date = new FormControl(moment());\n limit:any=0;\n commentvisible:boolean=false;\n selectedValue: string;\n groupvisible:boolean=false;\n commentcount:Number=0;\n CID:any;\n addbtnvisible:boolean=false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n groupbtnvisible:boolean = false;\n\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n displayedColumns =['GoalID','GoalName','GoalDescription','EntryDate','GoalStatus','EmployeePercent','ManagerPercent','Action'];\n constructor(private datePipe: DatePipe,private generic: GenericService, private service1: UserService, private sanitizer: DomSanitizer,public service: HttpserviceService,public notificationService: NotificationService,private dialog: MatDialog, private DialogService: DialogService) {\n this.hideme = {};\n }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.myFormGroup=new FormGroup(\n {}\n );\n\n this.myFormGroup1=new FormGroup(\n {}\n );\n \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserName=curUser.username;\n this.LedgerID=curUser.ledgerid;\n this.getGoalsdetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.getGoalsdetails();\n\n }\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_86\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.editbtnvisible = btnVisilityData.editflag; \n this.deletebtnvisible = btnVisilityData.deleteflag; \n this.groupbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n chosenYearHandler(normalizedYear: Moment) {\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n this.date.setValue(ctrlValue);\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n datepicker.close();\n this.getGoalsdetails()\n }\n\n onMangerSubmit()\n {\n const paramvalue=this.myFormGroup1.value;\n let assessmentvalue = [];\n var ColumnName\n let Value\n\n for (var i = 0; i < this.managerquestions.length; i++) {\n ColumnName= this.managerquestions[i].label;\n Value=paramvalue[ColumnName]\n assessmentvalue.push({ColumnName,Value});\n\n }\n\n let paramsExtra;\n paramsExtra = {\n CID: this.CID,\n Description:\"\",\n LedgerID:this.LedgerID,\n AssessmentType:\"Manager\",\n EntryDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n UserName:this.UserName,\n emptable:assessmentvalue\n };\n this.service.httpPost('/Goals/SetAssessment',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n \n this.notificationService.success('Submitted successfully');\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n \n }\n onSubmit(){\n const paramvalue=this.myFormGroup.value;\n let assessmentvalue = [];\n var ColumnName\n let Value\n\n for (var i = 0; i < this.form_template.length; i++) {\n ColumnName= this.form_template[i].label;\n Value=paramvalue[ColumnName]\n assessmentvalue.push({ColumnName,Value});\n\n }\n\n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n CID: this.CID,\n Description:\"\",\n LedgerID:this.CurLedgerID,\n AssessmentType:\"Employee\",\n EntryDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n UserName:this.UserName,\n emptable:assessmentvalue\n \n };\n this.service.httpPost('/Goals/SetAssessment',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n \n this.notificationService.success('Submitted successfully');\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n \n addRow()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n GoalID:0,\n cid:this.CID,\n EntryDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n \n }\n const dialogRef = this.dialog.open(GoalsComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getGoalsdetails(); \n });\n // dialogRef.afterClosed();\n \n }\n onEdit(event, item){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"Edit\",\n GoalName:item.GoalName,\n GoalID:item.GoalID,\n GoalDescription:item.GoalDescription,\n EntryDate:item.EntryDate,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(GoalsComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getGoalsdetails(); \n }); \n }\n onDelete(item)\n {\n this.DialogService.openConfirmDialog('Are you sure to delete this goal?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid:this.CID,\n flag:'DELETE',\n GoalID:item.GoalID,\n LedgerID:this.CurLedgerID,\n FromDate:this.datePipe.transform(this.fd, 'yyy-MM-dd'),\n AssessmentType:\"Goals\"\n };\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.notificationService.warn('Record deleted successfully');\n this.getGoalsdetails();\n },\n (error: AppError) =>{\n if (error instanceof BadInput) \n console.log(error);\n else throw error;\n });\n }\n });\n\n }\n loadmore()\n {\n if(this.commentlist.length!==this.limit)\n {\n this.limit=this.commentlist.length;\n this.commentvisible=false\n }\n }\n onMore(event, item,rowindex)\n {\n // this.limit=1;\n this.comment=\"\"\n item.Visibility=item.Visibility==false ? true : false;\n\n Object.keys(this.hideme).forEach(h => {\n this.hideme[h] = false;\n \n });\n \n if(this.GoalID !==item.GoalID)\n {\n\n this.GoalID=item.GoalID\n this.extravisable = this.extravisable == false ? true : false;\n this.hideme[item.GoalID] = true\n } \n else if (this.GoalID ==item.GoalID)\n {\n this.GoalID=item.GoalID\n this.extravisable = this.extravisable == false ? true : false;\n this.hideme[item.GoalID] = this.extravisable\n }\n \n this.Commentdetails(item.GoalID);\n\n }\n Commentdetails(value)\n {\n let params = {\n cid:this.CID,\n flag:'GoalSub',\n GoalID:value,\n LedgerID:this.CurLedgerID,\n FromDate:this.datePipe.transform(this.fd, 'yyy-MM-dd'),\n AssessmentType:\"employee\"\n\n }\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n\n this.commentlist=result.respdata.CommentList;\n if(this.commentlist.length>=1)\n {\n this.limit=2;\n this.commentvisible=this.commentlist.length >= 3 ? true : false;\n }else{this.commentvisible=false;}\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n onReportingEmployee(data)\n {\n this.ProfileImage='data:image/jpeg;base64,'+this.Reportingemployees[data].Image;\n this.ProfileName=this.Reportingemployees[data].Name;\n this.LedgerID=this.Reportingemployees[data].LedgerID;\n this.assessmentType='Manager';\n this.Profilevisible=true;\n this.getGoalsdetails();\n }\n // GetImage()\n // {\n // let params = {\n // cid:101,\n // flag:'GetImage',\n // GoalID:0,\n // LedgerID:this.CurLedgerID,\n // FromDate:this.datePipe.transform(this.date.value, 'yyy-MM-dd'),\n // AssessmentType:this.assessmentType\n // }\n // this.service.GetGoals(params)\n // .subscribe(data => {\n // let result: any;\n // result=data;\n // if (result.errno === 0){\n\n // console.log(\"get\",result.respdata.Image)\n\n // this.currentuserImage='data:image/jpeg;base64,' +result.respdata.Image[0].Image;\n \n \n \n // }\n // else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n // }\n // }, \n // (error: AppError) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n // });\n // }\n \n openDialog(item) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n GoalID:item.GoalID,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(Goals2Component,dialogConfig);\n }\n Post(item)\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag: \"POST\",\n GoalID:item.GoalID,\n GoalName:item.GoalName,\n GoalDescription:this.comment,\n EntryDate:this.datePipe.transform(item.EntryDate, 'yyy-MM-dd'),\n GoalStatus:\"Open\",\n UserName: this.CurLedgerID,\n CreateDate:currentdate\n };\n this.service.httpPost('/Goals/SetGoals?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n this.Commentdetails(item.GoalID)\n this.comment=\"\"\n this.commentvisible=true\n this.getGoalsdetails();\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n \n }\n Cancel()\n {\n this.comment=\"\"\n } \n addItem()\n {\n // console.log(\"reporting\",this.Reportingemployees);\n this.ProfileImage=\"\";\n this.currentuserImage=\"\";\n this.ProfileName=\"\";\n this.Profilevisible=false;\n this.LedgerID=this.CurLedgerID;\n this.assessmentType='Employee';\n this.getGoalsdetails();\n }\n getGoalsdetails()\n {\n let params = {\n cid:this.CID,\n flag:'LOADGRID',\n GoalID:0,\n LedgerID:this.LedgerID,\n FromDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n AssessmentType:this.assessmentType\n }\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.companies= result.respdata.Companylist;\n this.datasource= result.respdata.GoalList;\n \n this.Commentdetails(0)\n\n this.datasource.forEach(e => {\n this.hideme[e.GoalID] = false;\n });\n \n let newList1 = [];\n let temp\n for (var i = 0; i < result.respdata.EmployeeQuestions.length; i++) \n {\n temp={\"type\":result.respdata.EmployeeQuestions[i].type,\"label\":result.respdata.EmployeeQuestions[i].label,\"options\":(JSON.parse(result.respdata.EmployeeQuestions[i].options) )}\n newList1.push(temp);\n }\n\n this.form_template=newList1\n let group={} \n this.form_template.forEach(input_template=>{\n group[input_template.label]=new FormControl(''); \n })\n this.myFormGroup = new FormGroup(group);\n\n this.assessmentvisible=true\n if(result.respdata.ReturnValue[0].NumberofRows!=0)\n {\n \n let group123={} \n result.respdata.EmployeeQuestions.forEach(input_template=>{\n group123[input_template.label]=input_template.Answer; \n })\n this.myFormGroup.setValue(group123);\n this.assessmentvisible=false\n }\n if(this.CurLedgerID==this.LedgerID)\n {\n this.Reportingemployees=result.respdata.ReportingEmployees\n this.groupvisible=result.respdata.GroupLevel[0].Level!==0?true:false;\n }\n \n let newList2 = [];\n let temp2\n \n for (var i = 0; i < result.respdata.ManagerQuestions.length; i++) \n {\n temp2={\"type\":result.respdata.ManagerQuestions[i].type,\"label\":result.respdata.ManagerQuestions[i].label,\"options\":(JSON.parse(result.respdata.ManagerQuestions[i].options) )}\n newList2.push(temp2);\n }\n\n this.managerquestions=newList2\n \n let group1={} \n this.managerquestions.forEach(input_template=>{\n group1[input_template.label]=new FormControl(''); \n })\n this.myFormGroup1 = new FormGroup(group1);\n\n if(result.respdata.ReturnValue[0].NumberofRows==0)\n {\n let managervalue={} \n result.respdata.ManagerQuestions.forEach(input_template=>{\n managervalue[input_template.label]=input_template.Answer; \n })\n this.myFormGroup1.setValue(managervalue);\n // this.assessmentvisible=false\n \n }\n\n if(result.respdata.ReturnValue[0].NumberofRows==2)\n {\n console.log(\"amjath2\")\n let managervalue={} \n result.respdata.ManagerQuestions.forEach(input_template=>{\n managervalue[input_template.label]=input_template.Answer; \n })\n this.myFormGroup1.setValue(managervalue);\n this.assessmentvisible=false\n \n }\n\n this.managervisible=result.respdata.ReturnValue[0].NumberofRows==1? true:false;\n this.getUserList();\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n refresh()\n {\n this.getGoalsdetails();\n }\n\n}\nexport interface GroupALL {\n GoalID: string;\n GoalName: string;\n}\n","\nimport { UserService } from './../../../../components/Admin/Users/userValidate';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit,ViewChild, } from '@angular/core';\nimport {GoalsComponent} from './../goals/goals.component';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subscription } from 'rxjs';\nimport { FormGroup, FormControl,Validators } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { GoalaccessComponent } from './../goalaccess/goalaccess.component';\n\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Goals2Component } from '../goals2/goals2.component';\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MMM/YYYY',\n },\n display: {\n dateInput: 'MMM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n\n@Component({\n selector: 'app-hrgoalslist',\n templateUrl: './hrgoalslist.component.html',\n styleUrls: ['./hrgoalslist.component.scss'],\n providers: [ \n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ]\n})\nexport class HrgoalslistComponent implements OnInit {\n\n myFormGroup:FormGroup;\n myFormGroup1:FormGroup;\n\n companies:any\n datasource:any;\n commentlist:any;\n Reportingemployees:any;\n managerquestions:any;\n selectedOptions:any;\n comment:any\n index:any\n extravisable:Boolean=false\n GoalID:any\n CurLedgerID:any\n UserName:any\n form_template:any;\n assessmentvisible:boolean=true;\n managervisible:boolean=false;\n assessmentType:string='Employee';\n LedgerID:any\n ProfileImage:any;\n Profilevisible:boolean=false;\n currentuserImage:any;\n ProfileName:any\n fd=new Date()\n animate = false;\n hideme = {};\n date = new FormControl(moment());\n limit:any=0;\n commentvisible:boolean=false;\n selectedValue: string;\n groupvisible:boolean=false;\n commentcount:Number=0;\n CID:any;\n addbtnvisible:boolean=false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n groupbtnvisible:boolean = false;\n\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n displayedColumns =['GoalID','GoalName','GoalDescription','EntryDate','GoalStatus','EmployeePercent','ManagerPercent','Action'];\n constructor(private datePipe: DatePipe,private generic: GenericService, private service1: UserService, private sanitizer: DomSanitizer,public service: HttpserviceService,public notificationService: NotificationService,private dialog: MatDialog, private DialogService: DialogService) {\n this.hideme = {};\n }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.myFormGroup=new FormGroup(\n {}\n );\n\n this.myFormGroup1=new FormGroup(\n {}\n );\n \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserName=curUser.username;\n this.LedgerID=curUser.ledgerid;\n this.getGoalsdetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.getGoalsdetails();\n\n }\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_114\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.editbtnvisible = btnVisilityData.editflag; \n this.deletebtnvisible = btnVisilityData.deleteflag; \n this.groupbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n chosenYearHandler(normalizedYear: Moment) {\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n this.date.setValue(ctrlValue);\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n datepicker.close();\n this.getGoalsdetails()\n }\n\n onMangerSubmit()\n {\n const paramvalue=this.myFormGroup1.value;\n let assessmentvalue = [];\n var ColumnName\n let Value\n\n for (var i = 0; i < this.managerquestions.length; i++) {\n ColumnName= this.managerquestions[i].label;\n Value=paramvalue[ColumnName]\n assessmentvalue.push({ColumnName,Value});\n\n }\n\n let paramsExtra;\n paramsExtra = {\n CID: this.CID,\n Description:\"\",\n LedgerID:this.LedgerID,\n AssessmentType:\"Manager\",\n //EntryDate:this.datePipe.transform(this.date.value, 'yyy-MM-dd'),\n UserName:this.UserName,\n emptable:assessmentvalue\n };\n this.service.httpPost('/Goals/SetAssessment',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n \n this.notificationService.success('Submitted successfully');\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n \n }\n onSubmit(){\n const paramvalue=this.myFormGroup.value;\n let assessmentvalue = [];\n var ColumnName\n let Value\n\n for (var i = 0; i < this.form_template.length; i++) {\n ColumnName= this.form_template[i].label;\n Value=paramvalue[ColumnName]\n assessmentvalue.push({ColumnName,Value});\n\n }\n\n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n CID: this.CID,\n Description:\"\",\n LedgerID:this.CurLedgerID,\n AssessmentType:\"Employee\",\n EntryDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n UserName:this.UserName,\n emptable:assessmentvalue\n \n };\n this.service.httpPost('/Goals/SetAssessment',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n \n this.notificationService.success('Submitted successfully');\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n \n addRow()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n GoalID:0,\n cid:this.CID,\n EntryDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n \n }\n const dialogRef = this.dialog.open(GoalsComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getGoalsdetails(); \n });\n // dialogRef.afterClosed();\n \n }\n onEdit(event, item){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"Edit\",\n GoalName:item.GoalName,\n GoalID:item.GoalID,\n GoalDescription:item.GoalDescription,\n EntryDate:item.EntryDate,\n cid:this.CID\n }\n this.dialog.open(GoalsComponent, dialogConfig); \n }\n onDelete(item)\n {\n this.DialogService.openConfirmDialog('Are you sure to delete this goal?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid:this.CID,\n flag:'DELETE',\n GoalID:item.GoalID,\n LedgerID:this.CurLedgerID,\n FromDate:this.datePipe.transform(this.fd, 'yyy-MM-dd'),\n AssessmentType:\"Goals\"\n };\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.notificationService.warn('Record deleted successfully');\n this.getGoalsdetails();\n },\n (error: AppError) =>{\n if (error instanceof BadInput) \n console.log(error);\n else throw error;\n });\n }\n });\n\n }\n loadmore()\n {\n if(this.commentlist.length!==this.limit)\n {\n this.limit=this.commentlist.length;\n this.commentvisible=false\n }\n }\n onMore(event, item,rowindex)\n {\n // this.limit=1;\n this.comment=\"\"\n item.Visibility=item.Visibility==false ? true : false;\n\n Object.keys(this.hideme).forEach(h => {\n this.hideme[h] = false;\n \n });\n \n if(this.GoalID !==item.GoalID)\n {\n\n this.GoalID=item.GoalID\n this.extravisable = this.extravisable == false ? true : false;\n this.hideme[item.GoalID] = true\n } \n else if (this.GoalID ==item.GoalID)\n {\n this.GoalID=item.GoalID\n this.extravisable = this.extravisable == false ? true : false;\n this.hideme[item.GoalID] = this.extravisable\n }\n \n this.Commentdetails(item.GoalID);\n\n }\n Commentdetails(value)\n {\n let params = {\n cid:this.CID,\n flag:'GoalSub',\n GoalID:value,\n LedgerID:this.CurLedgerID,\n FromDate:this.datePipe.transform(this.fd, 'yyy-MM-dd'),\n AssessmentType:\"employee\"\n\n }\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n\n this.commentlist=result.respdata.CommentList;\n if(this.commentlist.length>=1)\n {\n this.limit=2;\n this.commentvisible=this.commentlist.length >= 3 ? true : false;\n }else{this.commentvisible=false;}\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n onReportingEmployee(data)\n {\n this.ProfileImage='data:image/jpeg;base64,'+this.Reportingemployees[data].Image;\n this.ProfileName=this.Reportingemployees[data].Name;\n this.LedgerID=this.Reportingemployees[data].LedgerID;\n this.assessmentType='Manager';\n this.Profilevisible=true;\n this.getGoalsdetails();\n }\n // GetImage()\n // {\n // let params = {\n // cid:101,\n // flag:'GetImage',\n // GoalID:0,\n // LedgerID:this.CurLedgerID,\n // FromDate:this.datePipe.transform(this.date.value, 'yyy-MM-dd'),\n // AssessmentType:this.assessmentType\n // }\n // this.service.GetGoals(params)\n // .subscribe(data => {\n // let result: any;\n // result=data;\n // if (result.errno === 0){\n\n // console.log(\"get\",result.respdata.Image)\n\n // this.currentuserImage='data:image/jpeg;base64,' +result.respdata.Image[0].Image;\n \n \n \n // }\n // else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n // }\n // }, \n // (error: AppError) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n // });\n // }\n \n openDialog(item) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n GoalID:item.GoalID,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(Goals2Component,dialogConfig);\n }\n Post(item)\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag: \"POST\",\n GoalID:item.GoalID,\n GoalName:item.GoalName,\n GoalDescription:this.comment,\n EntryDate:this.datePipe.transform(item.EntryDate, 'yyy-MM-dd'),\n GoalStatus:\"Open\",\n UserName: this.CurLedgerID,\n CreateDate:currentdate\n };\n this.service.httpPost('/Goals/SetGoals?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n this.Commentdetails(item.GoalID)\n this.comment=\"\"\n this.commentvisible=true\n this.getGoalsdetails();\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n \n }\n Cancel()\n {\n this.comment=\"\"\n } \n addItem()\n {\n // console.log(\"reporting\",this.Reportingemployees);\n this.ProfileImage=\"\";\n this.currentuserImage=\"\";\n this.ProfileName=\"\";\n this.Profilevisible=false;\n this.LedgerID=this.CurLedgerID;\n this.assessmentType='Employee';\n this.getGoalsdetails();\n }\n getGoalsdetails()\n {\n let params = {\n cid:this.CID,\n flag:'LOADALLGOALS',\n GoalID:0,\n LedgerID:this.LedgerID,\n FromDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd'),\n AssessmentType:this.assessmentType\n }\n const query = `cid=${params.cid}&flag=${params.flag}&GoalID=${params.GoalID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}&AssessmentType=${params.AssessmentType}`;\n this.service.httpGet('/Goals/GetGoals?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.companies= result.respdata.Companylist;\n this.datasource= result.respdata.GoalList;\n \n this.Commentdetails(0)\n\n this.datasource.forEach(e => {\n this.hideme[e.GoalID] = false;\n });\n \n let newList1 = [];\n let temp\n for (var i = 0; i < result.respdata.EmployeeQuestions.length; i++) \n {\n temp={\"type\":result.respdata.EmployeeQuestions[i].type,\"label\":result.respdata.EmployeeQuestions[i].label,\"options\":(JSON.parse(result.respdata.EmployeeQuestions[i].options) )}\n newList1.push(temp);\n }\n\n this.form_template=newList1\n let group={} \n this.form_template.forEach(input_template=>{\n group[input_template.label]=new FormControl(''); \n })\n this.myFormGroup = new FormGroup(group);\n\n this.assessmentvisible=true\n if(result.respdata.ReturnValue[0].NumberofRows!=0)\n {\n \n let group123={} \n result.respdata.EmployeeQuestions.forEach(input_template=>{\n group123[input_template.label]=input_template.Answer; \n })\n this.myFormGroup.setValue(group123);\n this.assessmentvisible=false\n }\n if(this.CurLedgerID==this.LedgerID)\n {\n this.Reportingemployees=result.respdata.ReportingEmployees\n this.groupvisible=result.respdata.GroupLevel[0].Level!==0?true:false;\n }\n \n let newList2 = [];\n let temp2\n \n for (var i = 0; i < result.respdata.ManagerQuestions.length; i++) \n {\n temp2={\"type\":result.respdata.ManagerQuestions[i].type,\"label\":result.respdata.ManagerQuestions[i].label,\"options\":(JSON.parse(result.respdata.ManagerQuestions[i].options) )}\n newList2.push(temp2);\n }\n\n this.managerquestions=newList2\n \n let group1={} \n this.managerquestions.forEach(input_template=>{\n group1[input_template.label]=new FormControl(''); \n })\n this.myFormGroup1 = new FormGroup(group1);\n\n if(result.respdata.ReturnValue[0].NumberofRows==0)\n {\n let managervalue={} \n result.respdata.ManagerQuestions.forEach(input_template=>{\n managervalue[input_template.label]=input_template.Answer; \n })\n this.myFormGroup1.setValue(managervalue);\n // this.assessmentvisible=false\n \n }\n\n if(result.respdata.ReturnValue[0].NumberofRows==2)\n {\n console.log(\"amjath2\")\n let managervalue={} \n result.respdata.ManagerQuestions.forEach(input_template=>{\n managervalue[input_template.label]=input_template.Answer; \n })\n this.myFormGroup1.setValue(managervalue);\n this.assessmentvisible=false\n \n }\n\n this.managervisible=result.respdata.ReturnValue[0].NumberofRows==1? true:false;\n this.getUserList();\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n refresh()\n {\n this.getGoalsdetails();\n }\n\n}\nexport interface GroupALL {\n GoalID: string;\n GoalName: string;\n}\n","import { User } from './../../../../Modules/user';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-currentyearcarryforward',\n templateUrl: './currentyearcarryforward.component.html',\n styleUrls: ['./currentyearcarryforward.component.scss'],\n})\nexport class CurrentyearcarryforwardComponent implements OnInit {\n CID:any;\n Flag:any;\n GroupID:any;\n Year:any\n dataSource:any;\n Years:any;\n Annualleavepolicy:any;\n CurLedgerID:any;\n LeaveTypeID:any;\n LeaveType:any;\n \n constructor(private service:HttpserviceService,private NotificationService:NotificationService\n ,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.CID=this.data.CID;\n \n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n this.Flag='LOADGRADE';\n this.getddllist();\n this.Year=2021;\n this.GroupID=0;\n //this.LeaveTypeID=106;\n }\n refresh()\n {\n this.Flag='LOADGRID';\n \n \n this.getddllist();\n }\n getddllist()\n {\n let params = {\n CID: this.CID,\n Flag: this.Flag,\n GroupID:this.GroupID ,\n Year: this.Year,\n LeaveTypeID:this.LeaveTypeID \n };\n this.service.httpPost('/HRPolicies/GetCurrentYrCarryForward',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n console.log('data ', data);\n if (result.errno === 0) { \n \n if(this.Flag=='LOADGRADE')\n {\n this.Annualleavepolicy = result.respdata.Annualleavepolicy; \n this.Years=result.respdata.Year;\n this.LeaveType=result.respdata.LeaveType;\n }\n else\n {\n this.dataSource=result.respdata.DataSource; \n }\n \n \n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n Submit()\n {\n\n }\n onClear()\n {\n\n }\n onCloseDialog()\n {\n this.dialogRef.close();\n }\n logEvent(_flag, e)\n {\n console.log(\"logEvent\",e.data.Carryforward)\n\n\n let slno = 0;\n let paramsExtra;\n slno = e.data.SlNo;\n // const time = (this.datePipe.transform( e.data.Date, 'dd-MM-yyyy') + ' ' + e.data.Time);\n\n if (_flag == 'RowUpdated')\n {\n paramsExtra = {\n CID: this.CID,\n Flag: 'EDIT',\n Year:this.Year,\n HalfDay: e.data.LedgerID,\n WorkingHrs: e.data.Carryforward,\n UserID: this.CurLedgerID,\n LeaveTypeID:this.LeaveTypeID, \n GroupID:sessionStorage.getItem('groupid')\n\n };\n }\n else if (_flag == 'RowRemoved')\n {\n\n paramsExtra = {\n CID: this.CID,\n Flag: 'DELETE',\n Year:this.Year,\n HalfDay: e.data.LedgerID,\n WorkingHrs: e.data.Carryforward,\n UserID: this.CurLedgerID,\n LeaveTypeID:this.LeaveTypeID, \n GroupID:sessionStorage.getItem('groupid')\n\n };\n }\n this.service.httpPost('/HRPolicies/SetCurrentYrCarryForward',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n if (users.errno === 0){\n this.NotificationService.success(users.errdesc);\n\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n\n}\n","import { CurrentyearcarryforwardComponent } from './../currentyearcarryforward/currentyearcarryforward.component';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport * as _ from 'underscore/underscore-min.js';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe} from '@angular/common';\nimport { HrpoliciesviewComponent } from './../hrpoliciesview/hrpoliciesview.component';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\n\n@Component({\n selector: 'app-hrpolicies',\n templateUrl: './hrpolicies.component.html',\n styleUrls: ['./hrpolicies.component.css']\n})\nexport class HrpoliciesComponent implements OnInit {\n\n HrPolicyFormGroup:FormGroup;\n dataSource:any;\n Companies:any;\n Timezone:any;\n Years:any;\n Days:any;\n fcFullDay=new FormControl();\n removable = true;\n cid:any;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private generic: GenericService,private formBuilder: FormBuilder, private service1: UserService, \n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService,\n public dialogRef: MatDialogRef) \n {\n this.HrPolicyFormGroup = this.formBuilder.group\n ({ \n fcCompany: ['', Validators.required] , \n fcTimezone: ['', Validators.required] ,\n fcYear:['',Validators.required],\n fcFullDay:['',Validators.required],\n fcHalfDay:[''],\n fcWorkingHrs:['',Validators.required]\n }); \n }\n\n ngOnInit(): void { \n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.getddllist(); \n this.HrPolicyFormGroup.controls.fcCompany.setValue(this.cid);\n let year = new Date().getFullYear();\n this.HrPolicyFormGroup.controls.fcYear.setValue(year); \n }\n\n remove(full: string) {\n const toppings = this.fcFullDay.value as string[];\n this.removeFirst(toppings, full);\n this.fcFullDay.setValue(toppings); // To trigger change detection\n }\n\n private removeFirst(array: T[], toRemove: T): void {\n const index = array.indexOf(toRemove);\n if (index !== -1) {\n array.splice(index, 1);\n }\n }\n\n changesite(e) {\n this.cid=e.value;\n this.getddllist();\n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\", \n };\n this.service.httpPost('/HRPolicies/GetHRPolicies',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Timezone = result.respdata.Timezone;\n this.Years=result.respdata.Year;\n this.Days = result.respdata.Days; \n this.dataSource=result.respdata.Datasource; \n this. getUserList(); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_13\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.viewbtnvisible = btnVisilityData.viewflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Submit() { \n const filteredcolumn = this.dataSource.map(item => { return {\n Date: this.datePipe.transform(item.Date, 'dd-MM-yyyy'),\n Description: item.Description\n }});\n\n let params = { \n CID: this.HrPolicyFormGroup.get('fcCompany').value,\n Flag: \"ADD\", \n Timezone:this.HrPolicyFormGroup.get('fcTimezone').value,\n Year:this.HrPolicyFormGroup.get('fcYear').value,\n WeekEnd:this.fcFullDay.value,\n HalfDay:this.HrPolicyFormGroup.get('fcHalfDay').value,\n WorkingHrs:this.HrPolicyFormGroup.get('fcWorkingHrs').value,\n dtHolidays: filteredcolumn \n };\n this.service.httpPost('/HRPolicies/SetHRPolicies',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Edit(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.HrPolicyFormGroup.get('fcCompany').value,\n Flag:'EDIT'\n }\n const dialogRef = this.dialog.open(HrpoliciesviewComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n View(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.HrPolicyFormGroup.get('fcCompany').value,\n Flag:'View'\n }\n const dialogRef = this.dialog.open(HrpoliciesviewComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n Delete(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n CID:this.HrPolicyFormGroup.get('fcCompany').value,\n Flag:'DELETE'\n }\n const dialogRef = this.dialog.open(HrpoliciesviewComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.HrPolicyFormGroup.reset();\n this.dialogRef.close();\n }\n });\n }\n\n onClear()\n {\n this.HrPolicyFormGroup.reset(); \n this.fcFullDay.reset(); \n this.dataSource='';\n this.HrPolicyFormGroup.controls.fcCompany.setValue(this.cid); \n let year = new Date().getFullYear();\n this.HrPolicyFormGroup.controls.fcYear.setValue(year); \n }\n\n logEvent(eventName, e)\n {\n }\n onDialog()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n CID:this.HrPolicyFormGroup.get('fcCompany').value,\n Flag:'edit'\n }\n const dialogRef = this.dialog.open(CurrentyearcarryforwardComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n}\n","import { CurrentyearcarryforwardComponent } from './../currentyearcarryforward/currentyearcarryforward.component';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { UserService } from 'src/app/components/Admin/Users/userValidate';\nimport { HrpoliciesComponent } from './../hrpolicies/hrpolicies.component';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport * as _ from 'underscore/underscore-min.js';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe} from '@angular/common';\nimport { MatDialog, MatDialogConfig ,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\nimport { Inject } from '@angular/core';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-hrpoliciesview',\n templateUrl: './hrpoliciesview.component.html',\n styleUrls: ['./hrpoliciesview.component.css']\n})\nexport class HrpoliciesviewComponent implements OnInit {\n\n HrPolicyFormGroup:FormGroup;\n dataSource:any;\n Companies:any;\n Timezone:any;\n Years:any;\n Days:any;\n fcFullDay=new FormControl();\n removable = true;\n CID:String;\n Flag:String=\"Edit\";\n WorkingHrs:any;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n visible = true;\n selectable = true;\n \n fcProject = new FormControl();\n filteredWeekends: Observable;\n weekends: string[] = [];\n allWeekends: string[] = [];\n cid:any;\n\n addbtnvisible: boolean = true;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n\n @ViewChild('weekInput') weekInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n btnvisible: boolean = false;\n \n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder,\n private datePipe: DatePipe,private service1: UserService, private generic: GenericService, private dialog: MatDialog,private dialogService: DialogService\n \n ) \n { \n this.HrPolicyFormGroup = this.formBuilder.group\n ({ \n fcCompany: ['', Validators.required] , \n fcTimezone: ['', Validators.required] ,\n fcYear:['',Validators.required],\n fcFullDay:['',Validators.required],\n fcHalfDay:[''],\n fcWorkingHrs:['',Validators.required]\n }); \n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.getddllist(); \n this.HrPolicyFormGroup.controls.fcCompany.setValue(this.cid);\n let year = new Date().getFullYear();\n this.HrPolicyFormGroup.controls.fcYear.setValue(year); \n }\n \n changesite(e) {\n this.cid=e.value;\n this.getddllist();\n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\", \n };\n this.service.httpPost('/HRPolicies/GetHRPolicies',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Timezone = result.respdata.Timezone;\n this.Years=result.respdata.Year;\n this.Days = result.respdata.Days; \n this.dataSource=result.respdata.Datasource; \n this. getUserList(); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_13\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n \n remove(full: string) {\n const toppings = this.fcFullDay.value as string[];\n this.removeFirst(toppings, full);\n this.fcFullDay.setValue(toppings); // To trigger change detection\n }\n\n private removeFirst(array: T[], toRemove: T): void {\n const index = array.indexOf(toRemove);\n if (index !== -1) {\n array.splice(index, 1);\n }\n }\n\n editlist(event)\n {\n let params = {\n CID: this.HrPolicyFormGroup.get('fcCompany').value,\n Flag: \"EDITDATA\", \n Timezone:event.value,\n Year:this.HrPolicyFormGroup.get('fcYear').value \n };\n this.service.httpPost('/HRPolicies/GetHRPolicies',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n \n this.Days=result.respdata.AllWeekEnds; \n this.WorkingHrs = result.respdata.WorkingHrs; \n this.dataSource=result.respdata.HoliDays; \n\n console.log('days',this.Days)\n console.log('days',result.respdata.WeekEnd)\n\n // this.fcFullDay= _.pluck(this.Days, 'Day'); \n this.fcFullDay.setValue(_.pluck(result.respdata.WeekEnd, 'WeekEnds')); \n \n if(this.WorkingHrs[0].WorkingHours != undefined)\n this.HrPolicyFormGroup.controls.fcWorkingHrs.setValue(this.WorkingHrs[0].WorkingHours);\n else if(this.WorkingHrs[0].WorkingHours == undefined)\n this.HrPolicyFormGroup.controls.fcWorkingHrs.setValue('');\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onClear()\n {\n this.HrPolicyFormGroup.reset(); \n this.fcFullDay.reset(); \n this.dataSource='';\n this.HrPolicyFormGroup.controls.fcCompany.setValue(this.cid); \n let year = new Date().getFullYear();\n this.HrPolicyFormGroup.controls.fcYear.setValue(year); \n }\n\n Submit() { \n\n \n\n const filteredcolumn = this.dataSource.map(item => { return {\n Date: this.datePipe.transform(item.Date, 'dd-MM-yyyy'),\n Description: item.Description\n }});\n\n // if (this.HrPolicyFormGroup.invalid) {\n // this.NotificationService.warn('Please select all mandatory fields'); \n // return;\n // } \n\n let params = { \n CID: this.HrPolicyFormGroup.get('fcCompany').value,\n Flag: this.Flag, \n Timezone:this.HrPolicyFormGroup.get('fcTimezone').value,\n Year:this.HrPolicyFormGroup.get('fcYear').value,\n WeekEnd:this.fcFullDay.value,\n HalfDay:this.HrPolicyFormGroup.get('fcHalfDay').value,\n WorkingHrs:this.HrPolicyFormGroup.get('fcWorkingHrs').value,\n dtHolidays: filteredcolumn \n };\n\n console.log('Project list: ', params);\n this.service.httpPost('/HRPolicies/SetHRPolicies',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n logEvent(eventName, e)\n {\n }\n onDialog()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n CID:this.HrPolicyFormGroup.get('fcCompany').value,\n Flag:'edit'\n }\n const dialogRef = this.dialog.open(CurrentyearcarryforwardComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport {FormGroup, FormControl} from '@angular/forms';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-dialogleaveapproval',\n templateUrl: './dialogleaveapproval.component.html',\n styleUrls: ['./dialogleaveapproval.component.css']\n})\nexport class DialogleaveapprovalComponent implements OnInit {\n fromdate = new FormControl(new Date());\n\n _frmdate: any;\n _todate: any;\n\n model: any;\n panelOpenState = false;\n step = 0;\n ledgerid: string;\n flag: string;\n type: any;\n requestyear: any;\n leavelist: any;\n dayslist: any;\n sessionlist: any;\n isDivVisible= false;\n formname: string;\n CID:any;\n CurLedgerID:any;\n showSpinner:any;\n error: any= {isError: false, errorMessage: ''};\n isValidDate: any;\n\n languages: Language[];\n Days = {\n store: {\n type: 'array',\n data: [\n { id: 1, name: 'Full day' },\n { id: 0.5, name: 'Half day' },\n\n // ...\n ],\n key: 'id'\n }};\n\n Session = {\n store: {\n type: 'array',\n data: [\n { id: 'M', name: 'Morning' },\n { id: 'E', name: 'Evening' },\n\n // ...\n ],\n key: 'id'\n }};\n\n sessionVisible = false;\n returnVisible = false;\n\n constructor(private datePipe: DatePipe,private dialogService: DialogService,\n public service: LeaveApprovalService,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.ledgerid = this.data.ledgerid;\n this.requestyear = this.data.requestyear;\n this.type = this.data.type;\n this.CID=this.data.cid;\n //console.log('dialog data',this.data)\n }\n\n ngOnInit(): void {\n this.dayslist = this.Days.store.data;\n this.sessionlist = this.Session.store.data;\n this.service.form.controls.daystatus.setValue(this.data.daystatus);\n this.sessionVisible = this.data.daystatus == 0.5 ? true : false;\n if(this.flag==\"ADD\")\n this.service.form.controls.daystatus.setValue(1);\n \n if (this.type == 1)\n { \n this.formname = 'Leave Approval';\n if(this.flag ==\"RETURN\") \n this.returnVisible = true;\n else\n this.returnVisible = false;\n }\n else{\n this.formname = 'Leave Request';\n this.returnVisible = false;\n }\n this.getleavelist();\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n // public dateOptions: any = {\n // locale: {format: \"DD/MM/YYYY\"},\n // alwaysShowCalendars: false,\n // singleDatePicker: true\n // };\n setStep(index: number) {\n this.step = index;\n }\n nextStep() {\n this.step++;\n }\n prevStep() {\n this.step--;\n }\n getleavelist(){\n const params = {\n cid: this.CID,\n flag: 'LEAVETYPEMASTER',\n ledgerid: 0,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.getleaveapproval(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.leavelist = result.respdata.Table;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n onClose(model){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n\n validateDates(sDate: string, eDate: string){\n this.isValidDate = true;\n if ((sDate != null && eDate != null) && (eDate) < (sDate)){\n this.isValidDate = false;\n }\n return this.isValidDate;\n\n }\n\n onSubmit()\n {\n if (this.service.form.valid){\n const curDate = new Date();\n const paramsFormValue = this.service.form.value;\n this.showSpinner=true;\n paramsFormValue.fromdate = this.datePipe.transform(paramsFormValue.fromdate, 'yyyy-MM-dd');\n paramsFormValue.todate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n if (this.flag == 'RETURN')\n {\n paramsFormValue.returndate = this.datePipe.transform(paramsFormValue.returndate, 'yyyy-MM-dd');\n }\n else{\n paramsFormValue.returndate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n }\n\n\n this._frmdate = this.datePipe.transform(paramsFormValue.fromdate, 'yyyy-MM-dd');\n this._todate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n\n this.isValidDate = this.validateDates( this._frmdate , this._todate);\n if (this.isValidDate){\n const paramsExtra = {\n cid: this.CID,\n flag: this.flag,\n LedgerID: this.ledgerid,\n\n UserID: '',\n EmpUniqID\t:this.CurLedgerID,\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: this.type\n\n };\n const params = Object.assign(paramsFormValue, paramsExtra);\n this.service.setleaveapproval(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n \n if (users.errno === 0){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.notificationService.success(users.errdesc);\n this.onClose(this.model);\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n\n }\n else\n {\n this.notificationService.success('To date should be greater then from date');\n }\n }\n\n }\n onClear()\n {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.service.form.controls.daystatus.setValue(1);\n this.onDaysSelect(1);\n }\n\n onDaysSelect(e){\n const dayvalue = e.value;\n this.sessionVisible = e.value == 0.5 ? true : false;\n }\n\n}\nexport interface GroupALL {\n GroupID: string;\n GroupName: string;\n UserID: string;\n UserName: string;\n Status: string;\n}\n\ninterface Language {\n LngCode: string;\n Description: string;\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport {FormGroup, FormControl} from '@angular/forms';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-dialogtimepunchleaveposting',\n templateUrl: './dialogtimepunchleaveposting.component.html',\n styleUrls: ['./dialogtimepunchleaveposting.component.scss'],\n})\nexport class DialogtimepunchleavepostingComponent implements OnInit {\n\n fromdate = new FormControl(new Date());\n\n _frmdate: any;\n _todate: any;\n\n model: any;\n panelOpenState = false;\n step = 0;\n ledgerid: string;\n flag: string;\n type: any;\n requestyear: any;\n leavelist: any;\n dayslist: any;\n sessionlist: any;\n isDivVisible= false;\n formname: string;\n CID:any;\n CurLedgerID:any;\n showSpinner:any;\n error: any= {isError: false, errorMessage: ''};\n isValidDate: any;\n\n languages: Language[];\n Days = {\n store: {\n type: 'array',\n data: [\n { id: 1, name: 'Full day' },\n { id: 0.5, name: 'Half day' },\n\n // ...\n ],\n key: 'id'\n }};\n\n Session = {\n store: {\n type: 'array',\n data: [\n { id: 'M', name: 'Morning' },\n { id: 'E', name: 'Evening' },\n\n // ...\n ],\n key: 'id'\n }};\n\n sessionVisible = false;\n returnVisible = false;\n\n constructor(private datePipe: DatePipe,private dialogService: DialogService,\n public service: LeaveApprovalService,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.ledgerid = this.data.ledgerid;\n this.requestyear = this.data.requestyear;\n this.type = this.data.type;\n this.CID=this.data.cid;\n console.log('dialog data',this.data)\n }\n\n ngOnInit(): void {\n this.dayslist = this.Days.store.data;\n this.sessionlist = this.Session.store.data;\n this.service.form.controls.daystatus.setValue(this.data.daystatus);\n \n this.sessionVisible = this.data.daystatus == 0.5 ? true : false;\n if(this.flag==\"ADD\")\n this.service.form.controls.daystatus.setValue(1);\n \n if (this.type == 1)\n { \n this.formname = 'Leave Approval';\n if(this.flag ==\"RETURN\") \n this.returnVisible = true;\n else\n this.returnVisible = false;\n }\n else{\n this.formname = 'Leave Request';\n this.returnVisible = false;\n }\n this.getleavelist();\n\n this.service.form.controls.leavetype.setValue(106);\n this.service.form.controls.fromdate.setValue(this.data.date);\n this.service.form.controls.todate.setValue(this.data.date);\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n // public dateOptions: any = {\n // locale: {format: \"DD/MM/YYYY\"},\n // alwaysShowCalendars: false,\n // singleDatePicker: true\n // };\n setStep(index: number) {\n this.step = index;\n }\n nextStep() {\n this.step++;\n }\n prevStep() {\n this.step--;\n }\n getleavelist(){\n const params = {\n cid: this.CID,\n flag: 'LEAVETYPEMASTER',\n ledgerid: this.ledgerid,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.leavelist = result.respdata.Table;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n onClose(model){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n\n validateDates(sDate: string, eDate: string){\n this.isValidDate = true;\n if ((sDate != null && eDate != null) && (eDate) < (sDate)){\n this.isValidDate = false;\n }\n return this.isValidDate;\n\n }\n\n onSubmit()\n {\n if (this.service.form.valid){\n const curDate = new Date();\n const paramsFormValue = this.service.form.value;\n this.showSpinner=true;\n paramsFormValue.fromdate = this.datePipe.transform(paramsFormValue.fromdate, 'yyyy-MM-dd');\n paramsFormValue.todate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n if (this.flag == 'RETURN')\n {\n paramsFormValue.returndate = this.datePipe.transform(paramsFormValue.returndate, 'yyyy-MM-dd');\n }\n else{\n paramsFormValue.returndate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n }\n\n\n this._frmdate = this.datePipe.transform(paramsFormValue.fromdate, 'yyyy-MM-dd');\n this._todate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n\n this.isValidDate = this.validateDates( this._frmdate , this._todate);\n if (this.isValidDate){\n const paramsExtra = {\n cid: this.CID,\n flag: this.flag,\n LedgerID: this.ledgerid,\n\n UserID: '',\n EmpUniqID\t:this.CurLedgerID,\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: this.type\n\n };\n const params = Object.assign(paramsFormValue, paramsExtra);\n this.service.SetLeaveDetails(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n \n if (users.errno === 0){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.notificationService.success(users.errdesc);\n this.onClose(this.model);\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n\n }\n else\n {\n this.notificationService.success('To date should be greater then from date');\n }\n }\n\n }\n onClear()\n {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.service.form.controls.daystatus.setValue(1);\n this.onDaysSelect(1);\n }\n\n onDaysSelect(e){\n const dayvalue = e.value;\n this.sessionVisible = e.value == 0.5 ? true : false;\n }\n\n}\nexport interface GroupALL {\n GroupID: string;\n GroupName: string;\n UserID: string;\n UserName: string;\n Status: string;\n}\n\ninterface Language {\n LngCode: string;\n Description: string;\n}\n\n","import { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { DialogleaveapprovalComponent } from './../dialogleaveapproval/dialogleaveapproval.component';\n//import { FormGroup,FormControl } from '@angular/Forms';\nimport { Component, OnInit, Pipe, PipeTransform, ViewChild, NgModule, enableProdMode } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\n// import { BrowserModule } from '@angular/platform-browser';\n// import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n// import { DxPopupModule, DxButtonModule, DxTemplateModule } from 'devextreme-angular';\n// import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { NewpopupleavedirectapprovalComponent } from '../newpopupleavedirectapproval/newpopupleavedirectapproval.component';\n\n@Component({\n selector: 'app-empleaverequest',\n templateUrl: './empleaverequest.component.html',\n styleUrls: ['./empleaverequest.component.css']\n})\nexport class EmpleaverequestComponent implements OnInit {\n\n employeelist: any;\n ledgerid= '';\n dataSource1: any;\n leavedetails: any;\n otherdetails: any;\n requestyear: any= 0;\n popupVisible = false;\n CID: any;\n navbarOpen = true;\n companies: any;\n isLinear = false;\n CurLedgerID:any; \n toggle= 'filter_list';\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n filteredOptions: Observable;\n empid:string[]=[];\n approverdetails:any;\n\n displayedColumns = ['FromDate', 'ToDate','CalendarDay', 'DaysRequested', 'LeaveType', 'Status', 'Comments', 'Action'];\n displayedColumns1 = ['CategoryName', 'LeaveCount'];\n displayedColumns2 = ['CategoryName', 'Available', 'Taken'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service: LeaveApprovalService, private NotificationService: NotificationService, \n private generic: GenericService, private service1: UserService,\n private dialog: MatDialog, private dialogService: DialogService) { }\n\n async ngOnInit() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.CID=JSON.parse(sessionStorage.getItem('cid')); \n this.requestyear = new Date().getFullYear();\n \n // this.getUserList();\n await this.getemployeelist();\n await this.Submit();\n \n \n }\n\n async Submit(){\n // await this.getemployeelist();\n console.log('Refere')\n await this.getleaveapproval(); \n }\n\n toggleNavbar() {\n this.navbarOpen = !this.navbarOpen;\n if (this.navbarOpen == false)\n { this.toggle = 'close'; }\n else{this.toggle = 'filter_list'; }\n }\n show()\n {\n this.popupVisible = true;\n }\n showInfo(eventName) {\n this.popupVisible = true;\n }\n onvaluechanged() {\n this.getleaveapproval();\n }\n addRow() {\n if (this.CurLedgerID != '')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: this.CurLedgerID,\n requestyear: this.requestyear,\n cid:this.CID,\n type: 0\n };\n const dialogRef = this.dialog.open(NewpopupleavedirectapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n }\n onEdit(data, _flag){\n this.service.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: this.CurLedgerID,\n requestyear: this.requestyear,\n cid:this.CID,\n type: 0,\n daystatus:data.DayStatus\n };\n const dialogRef = this.dialog.open(NewpopupleavedirectapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n onDelete(data, _flag){\n data.RtnDate = data.ToDate;\n const data1 = data;\n this.dialogService.openConfirmDialog('Are you sure to delete this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid: this.CID,\n flag: 'DELETE',\n LedgerID: this.CurLedgerID,\n LeaveID: data.LeaveID,\n LeaveType: data.CategoryName,\n Comment: data.Comments,\n DayStatus: data.DayStatus,\n FromDate: data.FromDate,\n ToDate: data.ToDate,\n ReturnDate: data.ToDate,\n Session: data.SessionType,\n UserID: '',\n EmpUniqID\t: sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\"),\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: 0\n };\n const params1 = Object.assign(params);\n this.service.setleaveapproval(params1)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.NotificationService.warn('Record deleted successfully');\n this.getleaveapproval();\n },\n error => {\n console.log(error);\n });\n }\n });\n\n }\n\n onView(data, _flag){\n console.log('DATA',data)\n const params = {\n cid: this.CID,\n flag: _flag,\n ledgerid: data.LedgerID,\n LeaveID: data.LeaveID,\n year: 0\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any; \n result = data;\n if (result.errno === 0){\n this.approverdetails = result.respdata.Table; \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n async getemployeelist(){\n const params = {\n cid: this.CID,\n flag: 'PAGELOAD',\n ledgerid: 0,\n LeaveID: 0,\n year: this.requestyear\n\n };\n let t= await this.service.GetLeaveDetails(params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.companies = result.respdata.Table;\n // this.getleaveapproval(); \n this.getUserList();\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n \n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n async getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_94\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n let t= await this.service1.getUserList(params)\n .toPromise().then((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n async getleaveapproval(){\n const params = {\n cid: this.CID,\n flag: 'LOADLEAVE',\n ledgerid: this.CurLedgerID,\n LeaveID: 0,\n year: this.requestyear\n\n };\n console.log('Refresh', params)\n let t= await this.service.GetLeaveDetails(params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.dataSource1 = result.respdata.Table1;\n this.leavedetails = result.respdata.Table;\n //this.otherdetails = result.respdata.Table;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n onChangeEvent(event: any){\n \n const params = {\n cid: this.CID,\n flag: 'LOADLEAVE',\n ledgerid: this.CurLedgerID,\n LeaveID: 0,\n year: event.target.value\n \n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.dataSource1 = result.respdata.Table2;\n this.leavedetails = result.respdata.Table1;\n this.otherdetails = result.respdata.Table;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeaveApprovalService {\n\n constructor(private http: HttpserviceService) {\n\n }\n getemployeelist(params: any){\n const query = `cid=${params.cid}&tablename=${params.tablename}&type=${params.formtype}&condition=${params.condition}&menuid=${params.menuid}&withinactive=${params.withinactive}`;\n return this.http.httpGet('/leaveapproval/loaddetails?' , query);\n }\n setleaveapproval(data: any)\n {\n return this.http.httpPost('/leaveapproval/setleaveapproval?', data);\n }\n getleaveapproval(data: any)\n {\n return this.http.httpPost('/leaveapproval/getleaveapproval', data);\n }\n GetLeaveDetails(data: any)\n {\n return this.http.httpPost('/leaveapproval/GetLeaveDetails', data);\n }\n SetLeaveDetails(data: any)\n {\n return this.http.httpPost('/leaveapproval/SetLeaveDetails?', data);\n }\n form: FormGroup = new FormGroup({\n fromdate: new FormControl('', [Validators.required]),\n todate: new FormControl('', Validators.required),\n returndate: new FormControl(''),\n leavetype: new FormControl('', Validators.required),\n daystatus: new FormControl('', Validators.required),\n session: new FormControl(''),\n comment: new FormControl(''),\n LeaveID: new FormControl('')\n\n });\n\n initializeFormGroup(){\n this.form.setValue({\n fromdate: '',\n todate: '',\n returndate: '',\n leavetype: '',\n daystatus: '',\n session: '',\n comment: '',\n LeaveID: ''\n });\n }\n\n populateForm(data){\n let userdata;\n\n userdata = data;\n const user = {\n\n fromdate: data.FromDate,\n todate: data.ToDate,\n returndate: data.RtnDate,\n leavetype: data.CategoryName,\n daystatus: data.DayStatus,\n session: data.SessionType,\n comment: data.Comments,\n LeaveID: data.LeaveID\n };\n this.form.setValue(user);\n\n }\n}\nexport class Employee {\n LedgerID: number;\n CategoryName: string;\n BioMetric: string;\n StartTime: string;\n EndTime: string;\n Effort: string;\n OT: string;\n Comment: string;\n LeaveType: number;\n}\n\n","import { UserService } from './../../../Admin/Users/userValidate';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { DialogleaveapprovalComponent } from './../dialogleaveapproval/dialogleaveapproval.component';\nimport { FormGroup,FormControl } from '@angular/Forms';\nimport { Component, OnInit, Pipe, PipeTransform, ViewChild, NgModule, enableProdMode } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator} from '@angular/material/paginator';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { DxPopupModule, DxButtonModule, DxTemplateModule } from 'devextreme-angular';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { User } from './../../../../Modules/user';\n\n@Component({\n selector: 'app-leave-approval',\n templateUrl: './leave-approval.component.html',\n styleUrls: ['./leave-approval.component.css']\n})\nexport class LeaveApprovalComponent implements OnInit {\n employeelist: any;\n ledgerid= '';\n dataSource1: any;\n leavedetails: any;\n otherdetails: any;\n approverdetails:any;\n requestyear: any= 0;\n popupVisible = false;\n CID: any;\n navbarOpen = true;\n companies: any;\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n toggle= 'filter_list';\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n isLinear = false;\n showSpinner:any;\n displayedColumns = ['FromDate', 'ToDate', 'DaysRequested','RtnDate', 'LeaveType', 'Status', 'Comments', 'Action'];\n displayedColumns1 = ['CategoryName', 'LeaveCount'];\n displayedColumns2 = ['CategoryName', 'Available', 'Taken'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service: LeaveApprovalService, private NotificationService: NotificationService, \n private generic: GenericService, private service1: UserService,\n private dialog: MatDialog, private dialogService: DialogService) { }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getemployeelist();\n this.requestyear = new Date().getFullYear();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=\"\";\n this.otherdetails=\"\";\n this.dataSource1 = [];\n this.approverdetails=[];\n this.getemployeelist();\n\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n // this.getleaveapproval(); \n }\n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n // show()\n // {\n // this.popupVisible = true;\n // }\n // showInfo(eventName) {\n // this.popupVisible = true;\n // }\n refresh()\n {\n this.getleaveapproval();\n }\n clear()\n {\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=\"\";\n this.otherdetails=\"\";\n this.dataSource1 = [];\n this.approverdetails=[];\n this.ledgerid=\"0\";\n }\n onvaluechanged() {\n this.getleaveapproval();\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n\n addRow() {\n if (this.ledgerid != '')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 1,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(DialogleaveapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n }\n onEdit(data, _flag){\n // console.log('fsdf',data)\n this.service.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 1,\n daystatus:data.DayStatus,\n cid:this.CID\n };\n const dialogRef =this.dialog.open(DialogleaveapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n onView(data, _flag){\n \n const params = {\n cid: this.CID,\n flag: _flag,\n ledgerid: data.LedgerID,\n LeaveID: data.LeaveID,\n year: 0\n\n };\n this.service.getleaveapproval(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.approverdetails = result.respdata.Table; \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onDelete(data, _flag){\n data.RtnDate = data.ToDate;\n const data1 = data;\n this.dialogService.openConfirmDialog('Are you sure do you want to delete this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid: this.CID,\n flag: 'DELETE',\n LedgerID: this.ledgerid,\n LeaveID: data.LeaveID,\n LeaveType: data.CategoryName,\n Comment: data.Comments,\n DayStatus: data.DayStatus,\n FromDate: data.FromDate,\n ToDate: data.ToDate,\n ReturnDate: data.ToDate,\n Session: data.SessionType,\n UserID: '',\n EmpUniqID\t: sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\"),\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: 1\n };\n const params1 = Object.assign(params);\n this.service.setleaveapproval(params1)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.NotificationService.warn('Leave deleted successfully');\n this.getleaveapproval(); \n },\n error => {\n console.log(error);\n });\n }\n });\n\n }\n getemployeelist(){\n this.showSpinner=true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n cid: this.CID,\n flag: 'PAGELOAD',\n ledgerid: 0,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.getleaveapproval(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.companies =curUser.dtsiteid;\n this.employeelist = result.respdata.Table1;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.getUserList();\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_21\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n\n getleaveapproval(){\n this.showSpinner=true;\n const params = {\n cid: this.CID,\n flag: 'LOADLEAVE',\n ledgerid: this.ledgerid,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.getleaveapproval(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.dataSource1 = result.respdata.Table2;\n this.leavedetails = result.respdata.Table1;\n this.otherdetails = result.respdata.Table;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore';\nimport { DatePipe } from '@angular/common';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-leavemgtelog',\n templateUrl: './leavemgtelog.component.html',\n styleUrls: ['./leavemgtelog.component.scss'],\n})\nexport class LeavemgtelogComponent implements OnInit {\n\n LeavepostingelogFormGroup: FormGroup;\n Flag:any;CID:any;LeaveID:string;\n LeaveDataGrids:any;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder, private datePipe: DatePipe,\n private dialog: MatDialog,private dialogService: DialogService,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n console.log('e',this.data)\n\n this.Flag=this.data.flag;\n this.CID = this.data.cid; \n this.LeaveID = this.data.leaveid; \n\n this.LeavepostingelogFormGroup = this.formBuilder.group({ \n \n }); \n }\n\n ngOnInit() {\n this.onLeaveIDChange() ;\n }\n\n onLeaveIDChange() { \n let params = {\n CID: this.CID,\n Flag: this.Flag,\n EmployeeID:\"\", \n Department:\"\",\n LeaveType:\"\",\n FromDate:\"\",\n ToDate:\"\",\n RtnStatus:\"\",\n UserID:this.LeaveID\n };\n \n this.service.httpPost('/EmpLeaveReport/GetEmpLeaveReport',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n\n if (result.errno === 0) { \n this.LeaveDataGrids=result.respdata.Leavehistory;\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n onCloseDialog()\n { \n this.LeavepostingelogFormGroup.reset();\n this.dialogRef.close(); \n }\n\n}\n","import { UserService } from './../../../Admin/Users/userValidate';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { DialogleaveapprovalComponent } from './../dialogleaveapproval/dialogleaveapproval.component';\nimport { FormGroup,FormControl } from '@angular/Forms';\nimport { Component, OnInit, Pipe, PipeTransform, ViewChild, NgModule, enableProdMode } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { DxPopupModule, DxButtonModule, DxTemplateModule } from 'devextreme-angular';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { User } from './../../../../Modules/user';\n\n\n@Component({\n selector: 'app-leaverequest',\n templateUrl: './leaverequest.component.html',\n styleUrls: ['./leaverequest.component.scss']\n})\nexport class LeaverequestComponent implements OnInit {\n employeelist: any;\n ledgerid= '';\n approverdetails:any;\n dataSource1: any;\n leavedetails: any;\n otherdetails: any;\n requestyear: any= 0;\n popupVisible = false;\n CID: any;\n navbarOpen = true;\n companies: any;\n isLinear = false;\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n toggle= 'filter_list';\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n showSpinner:any;\n displayedColumns = ['FromDate', 'ToDate', 'DaysRequested', 'LeaveType', 'Status', 'Comments', 'Action'];\n displayedColumns1 = ['CategoryName', 'LeaveCount'];\n displayedColumns2 = ['CategoryName', 'Available', 'Taken'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service: LeaveApprovalService, private NotificationService: NotificationService, \n private generic: GenericService, private service1: UserService,\n private dialog: MatDialog, private dialogService: DialogService) { }\n\n ngOnInit(): void {\n // this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getemployeelist();\n this.requestyear = new Date().getFullYear();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=\"\";\n this.otherdetails=\"\";\n this.dataSource1 = [];\n this.approverdetails=[];\n this.getemployeelist();\n\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n // this.getleaveapproval(); \n }\n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n toggleNavbar() {\n this.navbarOpen = !this.navbarOpen;\n if (this.navbarOpen == false)\n { this.toggle = 'close'; }\n else{this.toggle = 'filter_list'; }\n }\n // show()\n // {\n // this.popupVisible = true;\n // }\n // showInfo(eventName) {\n // this.popupVisible = true;\n // }\n refresh()\n {\n this.getleaveapproval();\n }\n clear()\n {\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=\"\";\n this.otherdetails=\"\";\n this.dataSource1 = [];\n this.approverdetails=[];\n this.ledgerid=\"0\";\n }\n onvaluechanged() {\n this.getleaveapproval();\n }\n addRow() {\n if (this.ledgerid != '')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 0,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(DialogleaveapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n\n }\n }\n onEdit(data, _flag){\n this.service.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 0,\n daystatus:data.DayStatus,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(DialogleaveapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n onView(data, _flag){\n \n const params = {\n cid: this.CID,\n flag: _flag,\n ledgerid: data.LedgerID,\n LeaveID: data.LeaveID,\n year: 0\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.approverdetails = result.respdata.Table; \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onDelete(data, _flag){\n data.RtnDate = data.ToDate;\n const data1 = data;\n this.dialogService.openConfirmDialog('Are you sure do you want to delete this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid: this.CID,\n flag: 'DELETE',\n LedgerID: this.ledgerid,\n LeaveID: data.LeaveID,\n LeaveType: data.CategoryName,\n Comment: data.Comments,\n DayStatus: data.DayStatus,\n FromDate: data.FromDate,\n ToDate: data.ToDate,\n ReturnDate: data.ToDate,\n Session: data.SessionType,\n UserID: '',\n EmpUniqID\t: sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\"),\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: 0\n };\n const params1 = Object.assign(params);\n this.service.SetLeaveDetails(params1)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.NotificationService.warn('Leave deleted successfully');\n this.getleaveapproval(); \n },\n error => {\n console.log(error);\n });\n }\n });\n\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n \n getemployeelist(){\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n cid: this.CID,\n flag: 'PAGELOAD',\n ledgerid: 0,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.companies = curUser.dtsiteid;\n this.employeelist = result.respdata.Table1;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.getUserList();\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_11\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n getleaveapproval(){\n this.showSpinner=true;\n const params = {\n cid: this.CID,\n flag: 'LOADLEAVE',\n ledgerid: this.ledgerid,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.dataSource1 = result.respdata.Table2;\n this.leavedetails = result.respdata.Table1;\n this.otherdetails = result.respdata.Table;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n}\n","import { UserService } from './../../../Admin/Users/userValidate';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { DialogleaveapprovalComponent } from './../dialogleaveapproval/dialogleaveapproval.component';\nimport { FormGroup,FormControl } from '@angular/Forms';\nimport { Component, OnInit, Pipe, PipeTransform, ViewChild, NgModule, enableProdMode } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator} from '@angular/material/paginator';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { DxPopupModule, DxButtonModule, DxTemplateModule } from 'devextreme-angular';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { User } from './../../../../Modules/user';\nimport { NewpopupleavedirectapprovalComponent } from '../newpopupleavedirectapproval/newpopupleavedirectapproval.component';\n\n@Component({\n selector: 'app-newleavedirectapproval',\n templateUrl: './newleavedirectapproval.component.html',\n styleUrls: ['./newleavedirectapproval.component.scss'],\n})\nexport class NewleavedirectapprovalComponent implements OnInit {\n employeelist: any='';\n ledgerid= '';\n dataSource1: any;\n leavedetails: any;\n otherdetails: any;\n approverdetails:any;\n requestyear: any= 0;\n popupVisible = false;\n CID: any;\n navbarOpen = true;\n companies: any;\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n toggle= 'filter_list';\n CurLedgerID:any;\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n isLinear = false;\n showSpinner:any;\n displayedColumns = ['FromDate', 'ToDate', 'DaysRequested','RtnDate', 'LeaveType', 'Status', 'Comments', 'Action'];\n displayedColumns1 = ['CategoryName', 'LeaveCount'];\n displayedColumns2 = ['CategoryName', 'Available', 'Taken'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service: LeaveApprovalService, private NotificationService: NotificationService, \n private generic: GenericService, private service1: UserService,\n private dialog: MatDialog, private dialogService: DialogService) { }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getemployeelist();\n this.requestyear = new Date().getFullYear();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n onCompanySelect(event)\n {\n this.employeelist='';\n this.empid=[];\n this.CID=event;\n this.getemployeelist();\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=[]; \n this.dataSource1 = [];\n this.approverdetails=[];\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n // this.getleaveapproval(); \n }\n \n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n // show()\n // {\n // this.popupVisible = true;\n // }\n // showInfo(eventName) {\n // this.popupVisible = true;\n // }\n refresh()\n {\n this.getleaveapproval();\n }\n clear()\n {\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=[]; \n this.dataSource1 = [];\n this.approverdetails=[];\n this.ledgerid=\"0\";\n }\n onvaluechanged() {\n this.getleaveapproval();\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n\n addRow() {\n if (this.ledgerid != '')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 1,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(NewpopupleavedirectapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n }\n onEdit(data, _flag){\n // console.log('fsdf',data)\n this.service.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 1,\n LeaveID: data.LeaveID,\n daystatus:data.DayStatus,\n LeaveTypeID:data.LeaveType,\n cid:this.CID\n };\n const dialogRef =this.dialog.open(NewpopupleavedirectapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n onView(data, _flag){\n \n const params = {\n cid: this.CID,\n flag: _flag,\n ledgerid: data.LedgerID,\n LeaveID: data.LeaveID,\n year: 0\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.approverdetails = result.respdata.Table; \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onDelete(data, _flag){\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n data.RtnDate = data.ToDate;\n const data1 = data;\n this.dialogService.openConfirmDialog('Are you sure do you want to delete this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid: this.CID,\n flag: 'DELETE',\n LedgerID: this.ledgerid,\n LeaveID: data.LeaveID,\n LeaveType: data.CategoryName,\n Comment: data.Comments,\n DayStatus: data.DayStatus,\n FromDate: data.FromDate,\n ToDate: data.ToDate,\n ReturnDate: data.ToDate,\n Session: data.SessionType,\n UserID: '',\n EmpUniqID\t: this.CurLedgerID,\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: 1\n };\n const params1 = Object.assign(params);\n this.service.SetLeaveDetails(params1)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.NotificationService.warn('Leave deleted successfully');\n this.getleaveapproval(); \n },\n error => {\n console.log(error);\n });\n }\n });\n\n }\n getemployeelist(){\n this.showSpinner=true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n cid: this.CID,\n flag: 'PAGELOAD',\n ledgerid: 0,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.companies =curUser.dtsiteid;\n this.employeelist = result.respdata.Table1;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.getUserList();\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_21\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n\n getleaveapproval(){\n this.showSpinner=true;\n const params = {\n cid: this.CID,\n flag: 'LOADLEAVE',\n ledgerid: this.ledgerid,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n console.log('data',data)\n if (result.errno === 0){\n this.dataSource1 = result.respdata.Table1;\n this.leavedetails = result.respdata.Table;\n //this.otherdetails = result.respdata.Table;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n}\n","import { UserService } from './../../../Admin/Users/userValidate';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { FormGroup,FormControl } from '@angular/Forms';\nimport { Component, OnInit, Pipe, PipeTransform, ViewChild, NgModule, enableProdMode } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { DxPopupModule, DxButtonModule, DxTemplateModule } from 'devextreme-angular';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { User } from './../../../../Modules/user';\nimport { NewpopupleavedirectapprovalComponent } from '../newpopupleavedirectapproval/newpopupleavedirectapproval.component';\n\n\n@Component({\n selector: 'app-newleaverequest',\n templateUrl: './newleaverequest.component.html',\n styleUrls: ['./newleaverequest.component.scss'],\n})\nexport class NewleaverequestComponent implements OnInit {\n\n employeelist: any;\n ledgerid= '';\n approverdetails:any;\n dataSource1: any;\n leavedetails: any;\n otherdetails: any;\n requestyear: any= 0;\n popupVisible = false;\n CID: any;\n CurLedgerID:any;\n navbarOpen = true;\n companies: any;\n isLinear = false;\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n toggle= 'filter_list';\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n showSpinner:any;\n displayedColumns = ['FromDate', 'ToDate', 'DaysRequested', 'LeaveType', 'Status', 'Comments', 'Action'];\n displayedColumns1 = ['CategoryName', 'LeaveCount'];\n displayedColumns2 = ['CategoryName', 'Available', 'Taken'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service: LeaveApprovalService, private NotificationService: NotificationService, \n private generic: GenericService, private service1: UserService,\n private dialog: MatDialog, private dialogService: DialogService) { }\n\n ngOnInit(): void {\n // this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getemployeelist();\n this.requestyear = new Date().getFullYear();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n onCompanySelect(event)\n {\n this.employeelist='';\n this.empid=[];\n this.CID=event;\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=[];\n this.dataSource1 = [];\n this.approverdetails=[];\n this.getemployeelist();\n\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n // this.getleaveapproval(); \n }\n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n toggleNavbar() {\n this.navbarOpen = !this.navbarOpen;\n if (this.navbarOpen == false)\n { this.toggle = 'close'; }\n else{this.toggle = 'filter_list'; }\n }\n // show()\n // {\n // this.popupVisible = true;\n // }\n // showInfo(eventName) {\n // this.popupVisible = true;\n // }\n async refresh()\n {\n await this.getleaveapproval();\n }\n clear()\n {\n this.myControl.setValue(''); \n this.requestyear = new Date().getFullYear();\n this.leavedetails=[]; \n this.dataSource1 = [];\n this.approverdetails=[];\n this.ledgerid=\"0\";\n }\n // onvaluechanged() {\n // this.getleaveapproval();\n // }\n addRow() {\n if (this.ledgerid != '')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 0,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(NewpopupleavedirectapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n\n }\n }\n onEdit(data, _flag){\n this.service.populateForm(data);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: this.ledgerid,\n requestyear: this.requestyear,\n type: 0,\n daystatus:data.DayStatus,\n cid:this.CID\n };\n const dialogRef = this.dialog.open(NewpopupleavedirectapprovalComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getleaveapproval(); \n });\n }\n onView(data, _flag){\n \n const params = {\n cid: this.CID,\n flag: _flag,\n ledgerid: data.LedgerID,\n LeaveID: data.LeaveID,\n year: 0\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.approverdetails = result.respdata.Table; \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onDelete(data, _flag){\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n data.RtnDate = data.ToDate;\n const data1 = data;\n this.dialogService.openConfirmDialog('Are you sure do you want to delete this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid: this.CID,\n flag: 'DELETE',\n LedgerID: this.ledgerid,\n LeaveID: data.LeaveID,\n LeaveType: data.CategoryName,\n Comment: data.Comments,\n DayStatus: data.DayStatus,\n FromDate: data.FromDate,\n ToDate: data.ToDate,\n ReturnDate: data.ToDate,\n Session: data.SessionType,\n UserID: '',\n EmpUniqID\t: this.CurLedgerID,\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: 0\n };\n const params1 = Object.assign(params);\n this.service.SetLeaveDetails(params1)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.NotificationService.warn('Leave deleted successfully');\n this.getleaveapproval(); \n },\n error => {\n console.log(error);\n });\n }\n });\n\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n \n getemployeelist(){\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n cid: this.CID,\n flag: 'PAGELOAD',\n ledgerid: 0,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.companies = curUser.dtsiteid;\n this.employeelist = result.respdata.Table1;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.getUserList();\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_11\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n getleaveapproval(){\n this.showSpinner=true;\n const params = {\n cid: this.CID,\n flag: 'LOADLEAVE',\n ledgerid: this.ledgerid,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n if (result.errno === 0){\n this.dataSource1 = result.respdata.Table1;\n this.leavedetails = result.respdata.Table;\n // this.otherdetails = result.respdata.Table;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n}\n\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { LeaveApprovalService, Employee } from '../leave-approvalValidate';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport {FormGroup, FormControl} from '@angular/forms';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { User } from './../../../../Modules/user';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-newpopupleavedirectapproval',\n templateUrl: './newpopupleavedirectapproval.component.html',\n styleUrls: ['./newpopupleavedirectapproval.component.scss'],\n})\nexport class NewpopupleavedirectapprovalComponent implements OnInit {\n\n fromdate = new FormControl(new Date());\n\n _frmdate: any;\n _todate: any;\n\n model: any;\n panelOpenState = false;\n step = 0;\n ledgerid: string;\n leaveid:any;\n leavetypeid:number;\n flag: string;\n type: any;\n requestyear: any;\n leavelist: any;\n dayslist: any;\n sessionlist: any;\n isDivVisible= false;\n formname: string;\n CID:any;\n CurLedgerID:any;\n showSpinner:any;\n error: any= {isError: false, errorMessage: ''};\n isValidDate: any;\n // isControlDisabled:boolean=false;\n languages: Language[];\n Days = {\n store: {\n type: 'array',\n data: [\n { id: 1, name: 'Full day' },\n { id: 0.5, name: 'Half day' },\n\n // ...\n ],\n key: 'id'\n }};\n\n Session = {\n store: {\n type: 'array',\n data: [\n { id: 'M', name: 'Morning' },\n { id: 'E', name: 'Evening' },\n\n // ...\n ],\n key: 'id'\n }};\n\n sessionVisible = false;\n returnVisible = false;\n isReadonly:boolean=true;\n isDisabled:boolean= true;\n constructor(private datePipe: DatePipe,private dialogService: DialogService,\n public service: LeaveApprovalService,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.ledgerid = this.data.ledgerid;\n this.requestyear = this.data.requestyear;\n this.type = this.data.type;\n this.CID=this.data.cid;\n // this.leaveid=this.data.LeaveID;\n // this.leavetypeid=this.data.LeaveTypeID;\n //console.log('dialog data',this.data)\n if(this.flag==\"RETURN\")\n { \n this.isReadonly=true;\n this.isDisabled=true;\n // this.service.form.controls.fromdate.disable();\n // this.service.form.controls.todate.disable();\n // this.service.form.controls.daystatus.disable();\n // this.service.form.controls.leavetype.disable();\n\n }\n else\n {\n this.isReadonly=false;\n this.isDisabled=false;\n // this.service.form.controls.fromdate.enable();\n // this.service.form.controls.todate.enable();\n // this.service.form.controls.daystatus.enable();\n // this.service.form.controls.leavetype.enable();\n }\n }\n\n ngOnInit(): void {\n this.dayslist = this.Days.store.data;\n this.sessionlist = this.Session.store.data;\n this.service.form.controls.daystatus.setValue(this.data.daystatus);\n\n\n //console.log('leavetypid',this.leavetypeid)\n this.sessionVisible = this.data.daystatus == 0.5 ? true : false;\n if(this.flag==\"ADD\")\n this.service.form.controls.daystatus.setValue(1);\n // else\n // this.service.form.controls.leavetype.setValue(this.leavetypeid);\n\n if (this.type == 1)\n { \n this.formname = 'Leave Approval';\n if(this.flag ==\"RETURN\") \n this.returnVisible = true;\n else\n this.returnVisible = false;\n }\n else{\n this.formname = 'Leave Request';\n this.returnVisible = false;\n }\n this.getleavelist();\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n // public dateOptions: any = {\n // locale: {format: \"DD/MM/YYYY\"},\n // alwaysShowCalendars: false,\n // singleDatePicker: true\n // };\n setStep(index: number) {\n this.step = index;\n }\n nextStep() {\n this.step++;\n }\n prevStep() {\n this.step--;\n }\n getleavelist(){\n const params = {\n cid: this.CID,\n flag: 'LEAVETYPEMASTER',\n ledgerid: this.ledgerid,\n LeaveID: 0,\n year: this.requestyear\n\n };\n this.service.GetLeaveDetails(params)\n .subscribe(data => {\n let result: any;\n result = data;\n console.log('data',data)\n if (result.errno === 0){\n this.leavelist = result.respdata.Table;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n onClose(model){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n\n validateDates(sDate: string, eDate: string){\n this.isValidDate = true;\n if ((sDate != null && eDate != null) && (eDate) < (sDate)){\n this.isValidDate = false;\n }\n return this.isValidDate;\n\n }\n\n onSubmit()\n {\n if (this.service.form.valid){\n const curDate = new Date();\n const paramsFormValue = this.service.form.value;\n this.showSpinner=true;\n paramsFormValue.fromdate = this.datePipe.transform(paramsFormValue.fromdate, 'yyyy-MM-dd');\n paramsFormValue.todate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n if (this.flag == 'RETURN')\n {\n paramsFormValue.returndate = this.datePipe.transform(paramsFormValue.returndate, 'yyyy-MM-dd');\n }\n else{\n paramsFormValue.returndate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n }\n\n\n this._frmdate = this.datePipe.transform(paramsFormValue.fromdate, 'yyyy-MM-dd');\n this._todate = this.datePipe.transform(paramsFormValue.todate, 'yyyy-MM-dd');\n\n this.isValidDate = this.validateDates( this._frmdate , this._todate);\n if (this.isValidDate){\n const paramsExtra = {\n cid: this.CID,\n flag: this.flag,\n LedgerID: this.ledgerid,\n\n UserID: '',\n EmpUniqID\t:this.CurLedgerID,\n GroupID: sessionStorage.getItem('groupid'),\n Year: this.requestyear,\n Type: this.type\n\n };\n const params = Object.assign(paramsFormValue, paramsExtra);\n this.service.SetLeaveDetails(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n \n if (users.errno === 0){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.notificationService.success(users.errdesc);\n this.onClose(this.model);\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n\n }\n else\n {\n this.notificationService.success(':: Todate should be grater then fromdate.');\n }\n }\n\n }\n onClear()\n {\n this.service.form.reset();\n this.service.initializeFormGroup();\n }\n\n onDaysSelect(e){\n const dayvalue = e.value;\n this.sessionVisible = e.value == 0.5 ? true : false;\n }\n\n}\nexport interface GroupALL {\n GroupID: string;\n GroupName: string;\n UserID: string;\n UserName: string;\n Status: string;\n}\n\ninterface Language {\n LngCode: string;\n Description: string;\n}\n\n\n","import { Component, ElementRef, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog,MatDialogConfig,MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable,of } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {MatAutocompleteSelectedEvent, MatAutocomplete} from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from './../../../../Modules/user';\nimport {MatPaginator} from '@angular/material/paginator';\nimport { MatSort} from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { DialogleaveapprovalComponent } from '../../LeaveApproval/dialogleaveapproval/dialogleaveapproval.component';\nimport { LeaveApprovalService } from 'src/app/components/HR/LeaveApproval/leave-approvalValidate';\n\n@Component({\n selector: 'app-leave-management',\n templateUrl: './leave-management.component.html',\n styleUrls: ['./leave-management.component.scss'],\n})\nexport class LeaveManagementComponent implements OnInit {\n\n LeaveMgtFormGroup:FormGroup;\n LeaveMgtDataFormGroup:FormGroup;\n AvailLeave:any;\n TakenLeave:any;\n Companies:any;\n Employees:any;\n LeaveType:any;\n dataSource1: any;\n dataSource2: any;\n isLeaveIDVisible: boolean;\n leavedetails:any;\n History:any;\n showSpinner:any;\n optionApprovalBy = [\n { id : 0, ApprovalByName: '-- Me --'},\n { id : 1, ApprovalByName: '-- All --'}\n ];\n\n // optionStatus = [ \n // // { id : 4, StatusName: '-- All --'},\n // { id : 0, StatusName: 'Requested'},\n // { id : 1, StatusName: 'Approved'},\n // { id : 2, StatusName: 'Declined'},\n // { id : 3, StatusName: 'Pending'}\n // ];\n \n optionStatus:any;\n cid:any;\n Leavelist:any;\n \n myControl = new FormControl('');\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n selectedEmpID: any;\n CurLedgerID:any;\n isEditable = true; \n displayedColumns = ['Name', 'FromDate', 'ToDate', 'CalendarDay', 'LeaveType', 'Status', 'Comments', 'Action'];\n\n @ViewChild('empInput') empInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,private dialogService: DialogService,private service1: LeaveApprovalService,\n public notificationService: NotificationService, private datePipe: DatePipe) \n { \n this.LeaveMgtFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required], \n fcStatus: [''],\n // fcApproval: [''], \n fcRequestType: [''], \n fcYear: [''],\n myControl: [''] \n });\n this.LeaveMgtDataFormGroup = this.formBuilder.group({ \n }); \n }\n \n\n ngOnInit() {\n this.isLeaveIDVisible=false;\n const date = new Date();\n this.LeaveMgtFormGroup.get('fcYear').setValue(date.getFullYear());\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.LeaveMgtFormGroup.controls.fcCompany.setValue(this.cid);\n this.LeaveMgtFormGroup.controls.fcStatus.setValue(-1);\n //this.LeaveMgtFormGroup.controls.fcApproval.setValue(0);\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n changesite(e) { \n this.cid=e.value;\n this.Employees = ''; \n this.employeeid= [];\n this.PageLoad();\n \n this.selectedEmpID=null;\n this.myControl.setValue(''); \n this.LeaveMgtFormGroup.controls.fcStatus.setValue(0);\n //this.LeaveMgtFormGroup.controls.fcApproval.setValue(0);\n \n \n }\n\n PageLoad() {\n this.showSpinner=true;\n let params = {\n CID:this.cid, \n Flag: \"LOADDDL\" \n }; \n this.service.httpPost('/LeaveManagement/GetLeaveMgt',params)\n .subscribe (\n (data) => { \n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data; \n \n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employee;\n this.optionStatus= result.respdata.Status\n //this.LeaveType=result.respdata.LeaveType;\n \n // this.allEmployees= _.pluck(this.Employees, 'Name'); \n this.employeeid= _.pluck(this.Employees, 'Name');\n \n this.getLeaveData();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getLeaveData() {\n this.showSpinner=true;\n let params = {\n CID:this.cid, \n Flag: \"PageLoad\",\n LeaveType:\"%\",\n LeaveID:\"%\",\n LeaveStatus:\"-1\",\n AuthorisedBy:this.CurLedgerID,\n EmployeeID:\"%\",\n Year:\"\", \n }; \n this.service.httpPost('/LeaveManagement/GetLeaveMgt',params)\n .subscribe (\n (data) => { \n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data; \n console.log('result',result) \n if (result.errno === 0) { \n this.dataSource1 = result.respdata.PageLoadLeavedata;\n this.dataSource1 = new MatTableDataSource(result.respdata.PageLoadLeavedata);\n this.dataSource1.sort = this.sort;\n this.dataSource1.paginator = this.paginator;\n this.leavedetails=result.respdata.Table6;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n\n Submit(){\n this.showSpinner=true;\n let params = {\n CID:this.cid, \n Flag: \"PageLoad\",\n LeaveType:this.LeaveMgtFormGroup.get('fcRequestType').value==\"\"?\"%\":this.LeaveMgtFormGroup.get('fcRequestType').value,\n LeaveID:\"%\",\n LeaveStatus:this.LeaveMgtFormGroup.get('fcStatus').value, \n AuthorisedBy:this.CurLedgerID,\n EmployeeID:this.selectedEmpID==undefined ?\"%\":this.selectedEmpID,\n Year:this.LeaveMgtFormGroup.get('fcYear').value \n }; \n this.service.httpPost('/LeaveManagement/GetLeaveMgt',params)\n .subscribe (\n (data) => { \n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n \n if (result.errno === 0) { \n this.dataSource1 = result.respdata.PageLoadLeavedata;\n this.dataSource1 = new MatTableDataSource(result.respdata.PageLoadLeavedata);\n this.dataSource1.sort = this.sort;\n this.dataSource1.paginator = this.paginator;\n this.leavedetails=result.respdata.Table6;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onApprove(data, _flag){ \n data.RtnDate=data.ToDate;\n let data1=data;\n this.dialogService.openConfirmDialog('Are you sure do you want to approve this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.showSpinner=true;\n let params = {\n CID: this.cid,\n Flag: \"setLeaveDays\",\n GridLeaveID:data.LeaveID,\n ApprovalLeaveType:\"Approved\",\n AuthorisedBy:this.CurLedgerID,\n FromDate:data.FromDate,\n ToDate:data.ToDate, \n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem(\"groupid\"),\n Comment:data.Comments\n } \n this.service.httpPost('/LeaveManagement/SetLeaveMgt',params)\n .subscribe( \n data => {\n var result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n this.notificationService.success(result.errdesc);\n this.Submit();\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error); \n else throw error;\n });\n }\n });\n \n } \n\n onDecline(data, _flag){\n data.RtnDate=data.ToDate;\n let data1=data;\n this.dialogService.openConfirmDialog('Are you sure do you want to decline this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.showSpinner=true;\n let params = {\n CID: this.cid,\n Flag: \"setLeaveDays\",\n GridLeaveID:data.LeaveID,\n ApprovalLeaveType:\"102\",\n AuthorisedBy:this.CurLedgerID,\n FromDate:data.FromDate,\n ToDate:data.ToDate, \n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem(\"groupid\")\n } \n this.service.httpPost('/LeaveManagement/SetLeaveMgt',params)\n .subscribe( \n data => {\n var result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n this.notificationService.success(result.errdesc);\n this.Submit();\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n }); \n } \n\n logEvent(_flag, e)\n { \n if (_flag == 'RowUpdated')\n { \n\n this.dialogService.openConfirmDialog('Are you sure do you want to approve this leave?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = {\n CID: this.cid,\n Flag: \"setLeaveDays\",\n GridLeaveID:e.data.LeaveID,\n ApprovalLeaveType:e.data.LID,\n AuthorisedBy:this.CurLedgerID,\n FromDate:e.data.FromDate,\n ToDate:e.data.ToDate, \n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem(\"groupid\"),\n Comment:e.data.Comments\n } \n this.service.httpPost('/LeaveManagement/SetLeaveMgt',params)\n .subscribe( \n data => {\n var result: any;\n result = data;\n this.notificationService.success(result.errdesc);\n this. getLeaveData();\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error); \n else throw error;\n });\n }\n });\n }\n }\n\n\n onView(data, _flag){ \n let params = {\n CID:this.cid, \n Flag: \"View\",\n LeaveType:this.LeaveMgtFormGroup.get('fcRequestType').value==\"\"?\"%\":this.LeaveMgtFormGroup.get('fcRequestType').value,\n LeaveID:data.LeaveID,\n LeaveStatus:\"%\", \n AuthorisedBy:this.CurLedgerID,\n // EmployeeID:this.selectedEmpID==undefined ?\"%\":this.selectedEmpID,\n EmployeeID:data.EmpID,\n Year:this.LeaveMgtFormGroup.get('fcYear').value \n }; \n this.service.httpPost('/LeaveManagement/GetLeaveMgt',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n if (result.errno === 0) { \n this.dataSource2 = result.respdata.PageLoadLeavedata;\n this.Leavelist = result.respdata.LeaveType; \n //console.log('leavelist',result.respdata.Table6)\n // this.TakenLeave = result.respdata.TakenLeave;\n // this.AvailLeave = result.respdata.AvailLeave; \n this.History = result.respdata.History;\n\n this.leavedetails=result.respdata.LeaveDetails;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n \n onSearchClear(){\n const date = new Date();\n this.LeaveMgtFormGroup.reset(); \n //this.dataSource1=''; \n this.selectedEmpID=null;\n this.myControl.setValue(''); \n this.LeaveMgtFormGroup.controls.fcStatus.setValue(0);\n // this.LeaveMgtFormGroup.controls.fcApproval.setValue(0);\n this.LeaveMgtFormGroup.controls.fcCompany.setValue(this.cid);\n this.LeaveMgtFormGroup.get('fcYear').setValue(date.getFullYear());\n this.PageLoad();\n }\n}\n\n\nexport interface GroupALL {\n EmpName: string;\n}","import { DatePipe } from '@angular/common';\nimport { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { VoucherforHRComponent } from '../../voucherfor-hr/voucherfor-hr.component';\n\n@Component({\n selector: 'app-leavesalaryencashposting',\n templateUrl: './leavesalaryencashposting.component.html',\n styleUrls: ['./leavesalaryencashposting.component.css']\n})\n\n\nexport class LeavesalaryencashpostingComponent {\n\n cid:any=101;\n Categorylist:any;\n VouDate:any=new Date();\n Employeelist:any;\n LedgerID:any;\n LeaveID:any=120;\n Category:any=0;\n Prefixlist:any;\n Prefix:any;\n VouNo:any;\n flag:any;\n payslipmonth:any=new Date();\n Comment:any;\n dataSource:Details[]=[];\n step = 0;\n panelExpanded = false;\n AccountSource:any;\n ExcludeEmergency:Boolean=true;\n ExcludeUnPaidLeave:boolean=true;\n MenuID:any;\n Ledgerlist:any;\n \n CarryForward:number=0;\n AccuredLeave:number=0;\n EncashDays:number=0;\n LeaveToken:number=0;\n AvailableLeave:number=0;\n\n SalaryAmount:number=0;\n perdayleaveamt:number=0;\n CalenderDays:number=0;\n noofencashdays:number=0;\n\n objcsls:any;\n Daysinmonth1:any;\n ContractType:any;\n daysinyear1:any;\n\n isforceNo = false;\n HikeDetails:any;\n JoingDate:any;\n Yearlyleavetype:any;\n Leavelist:any;\n Total:number=0;\n wages_:any;\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog,private NotificationService: NotificationService, @Inject(MAT_DIALOG_DATA) public data: any)\n {\n \n this.Categorylist=data.datalist.Category;\n this.Employeelist=data.datalist.Employee;\n this.Prefixlist=data.datalist.Prefix;\n this.AccountSource= data.datalist.AccountGrid; \n this.Prefix=this.Prefixlist[0].Prefix;\n this.Ledgerlist=data.datalist.Ledgerlist; \n this.Leavelist= data.datalist.LeaveList; \n\n this.flag=data.flag\n if(this.flag=='EDIT')\n {\n let parts = data.VouNo.split('/');\n this.Prefix=parts[0]+'/'\n this.VouNo=parts[1]\n this.Getstructure()\n }\n \n }\n ngOnInit() \n {\n this.MenuID=sessionStorage.getItem('SelectedMenuID')\n\n }\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n togglePanel(event: MouseEvent) {\n event.stopPropagation(); // Prevent expansion panel from toggling\n this.panelExpanded = !this.panelExpanded;\n }\n SelectedEmployee()\n {\n \n const params = {\n _SiteID: this.cid,\n _LedgerID:this.LedgerID\n }; \n \n this.service.httpPost('/LeaveSalary/GetHikeDetails?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n this.HikeDetails=result.respdata.DT_SalaryTags\n \n });\n\n\n }\n Populate()\n {\n\n //this.showSpinner=true;\n const params = {\n _SiteID: this.cid,\n _LedgerID:this.LedgerID,\n _LeaveID:this.LeaveID,\n _TillDate:this.payslipmonth,\n DT_SalaryTags:this.HikeDetails.filter(item => item.Select===true),\n _MenuID:this.MenuID\n \n }; \n \n \n\n \n this.service.httpPost('/LeaveSalary/GetCalcLeaveSalary?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n this.objcsls=result.respdata.obj;\n this.JoingDate=this.datePipe.transform(this.objcsls._JoiningDate,'dd/MM/yyyy');\n this.Yearlyleavetype=this.objcsls._YearlyLeaveType;\n \n this.CarryForward=this.objcsls._CarryForward;\n this.AccuredLeave=this.objcsls._AccuredAnnualLeave;\n \n this.LeaveToken=this.objcsls._LeaveTaken;\n this.AvailableLeave=this.objcsls._AvailableLeave;\n\n this.SalaryAmount=this.objcsls._SalaryAmount;\n this.perdayleaveamt=this.objcsls._PerDayAmount;\n //this.CalenderDays=this.objcsls._CalendarDays;\n\n\n if (this.flag=='ADD')\n {\n this.noofencashdays=this.objcsls._AvailableLeave;\n this.CalenderDays = this.Yearlyleavetype == \"Calendar Days\"? this.objcsls._AvailableLeave: this.objcsls._AvailableLeave * 7 / 5\n\n this.dataSource=[];\n this.dataSource=this.objcsls.DT_EnCash\n \n \n const totalAmount = this.dataSource.reduce((sum, item) => sum + item.Total,0);\n this.AccountSource.map(item=> item.TCDebit=totalAmount);\n this.Total=totalAmount;\n }\n \n \n \n\n //this. Assignlabels();\n\n \n });\n\n }\n async Getstructure()\n {\n const params = {\n _SiteID: this.cid,\n _VouNo:this.Prefix+this.VouNo\n\n }; \n \n \n\n \n let t= await this.service.httpPost('/LeaveSalary/GetLeaveSalary?' ,params) \n .toPromise().then(data =>{\n var result = data as any;\n result = data; \n \n \n this.objcsls=result.respdata.obj;\n \n this.LeaveID=this.objcsls._LeaveID;\n this.LedgerID=this.objcsls._LedgerID;\n this.noofencashdays=this.objcsls._EnCashDays;\n this.CalenderDays=this.objcsls._CalendarDays;\n this.VouDate=this.objcsls._dtpPostDate;\n this.payslipmonth=this.objcsls._TillDate;\n\n this.AccuredLeave=this.objcsls._AccuredAnnualLeave;\n \n this.LeaveToken=this.objcsls._LeaveTaken;\n this.AvailableLeave=this.objcsls._AvailableLeave;\n\n this.SalaryAmount=this.objcsls._SalaryAmount;\n this.perdayleaveamt=this.objcsls._PerDayAmount;\n \n\n this.dataSource=[];\n this.dataSource=this.objcsls.DT_EnCash;\n this.HikeDetails=this.objcsls.DT_SalaryTags;\n this.AccountSource=result.respdata.InvoiceAccounts\n\n this.Populate();\n this.Get_MatchedInvoice()\n\n \n });\n }\n onRowUpdated(e)\n {\n // console.log('onRowUpdated33',this.dataSource[0].Amount)\n // this.recalculateAmounts();\n\n e.data.Total=e.data.NoOfLeavetoEnCash*e.data.PerDayLeaveAmount;\n\n const totalAmount = this.dataSource.reduce((sum, item) => sum + item.Total,0);\n this.AccountSource.map(item=> item.TCDebit=totalAmount);\n this.Total=totalAmount;\n\n }\n // onCellValueChanged(event) {\n // console.log('Cell value changed:', event);\n // // Implement your logic here\n // }\n // OnCellPrepared(e)\n // {\n // console.log('OnCellPrepared',e)\n // }\n onRowInserted(e)\n {\n e.data.Total=e.data.NoOfLeavetoEnCash*e.data.PerDayLeaveAmount;\n\n const totalAmount = this.dataSource.reduce((sum, item) => sum + item.Total,0);\n this.AccountSource.map(item=> item.TCDebit=totalAmount);\n this.Total=totalAmount;\n\n }\n onTabClick(e)\n {\n\n }\n Save()\n {\n\n //let wages_ = this.wages_.filter(item => item.LedgerID==this.LedgerID)\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.cid,\n WAGES:this.wages_,\n LedgerID:this.LedgerID,\n AdvType:'CR',\n FormType:'ELS'\n };\n \n const dialogRef = this.dialog.open(VoucherforHRComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n\n const sumOfPayNow = result.Wageslist.reduce((sum, item) => sum + item.PayNow, 0);\n\n const Totalamt = this.dataSource.reduce((sum, item) => sum + item.Total,0)\n\n if (sumOfPayNow>Totalamt)\n {\n alert(\"Mismatch matched amount\");\n }\n else\n {\n this.wages_=result.Wageslist.filter(Item=> Item.PayNow>0)\n\n\n let RefNo='';\n\n if (this.flag=='ADD' && this.isforceNo==true)\n {RefNo=this.Prefix+this.VouNo}\n else if(this.flag=='ADD'){RefNo=''}\n else{RefNo=this.Prefix+this.VouNo}\n\n let name=this.Employeelist.filter(item => item.LedgerID==this.LedgerID);\n // let dateStr = this.fr;\n // let parts = dateStr.split('-');\n // let formattedDate = new Date(`${parts[2]}-${parts[1]}-${parts[0]}`);\n\n const params = {\n \n\n csLS:{\n _SiteID: this.cid,\n _Flag:this.flag,\n _MenuID:this.MenuID,\n _FormPrefix:this.Prefix,\n _BusinessPeriodID:101,\n _LeaveID:120,\n _VouNo:RefNo,\n _LedgerID:this.LedgerID,\n _Alias:name[0].AliasName1,\n _dtpPostDate:this.VouDate, //this.datePipe.transform(this.VouDate,'dd-MM-yyyy'),\n _JoiningDate:this.JoingDate,\n _TillDate:this.payslipmonth,\n _Comment:\"\",\n // _YearlyLeave:\"\",\n _YearlyLeaveType:this.Yearlyleavetype,\n _CarryForward:this.CarryForward,\n _AccuredAnnualLeave:this.AccuredLeave,\n _LeaveTaken:this.LeaveToken,\n _AvailableLeave:this.AvailableLeave,\n _SalaryAmount:this.SalaryAmount,\n _PerDayAmount:this.perdayleaveamt,\n _TotalAmount:this.dataSource.reduce((sum, item) => sum + item.Total,0),\n _EnCashDays:this.noofencashdays,\n _CalendarDays:this.CalenderDays,\n CreatedBy:\"\",\n // CreatedDate:new Date(),\n // LastUpdatedBy:\"\",\n // LastUpdatedDate:new Date(),\n // ApprovedBy:\"\",\n // ApprovedDate:new Date(),\n DT_SalaryTags:this.HikeDetails,\n DT_EnCash:this.dataSource,\n DT_Wages:this.wages_\n \n \n },\n DT_AccountLedger:this.AccountSource\n \n \n }; \n \n //console.log(\"filter\",params)\n this.service.httpPost('/LeaveSalary/Update_LeaveSalary?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n if (result.errno === 0)\n {\n this.NotificationService.success(\"Posting Successfully\");\n }\n else\n {\n this.NotificationService.warn(result.errdesc);\n }\n \n \n \n });\n\n\n }\n\n // e.editorOptions.value =sumOfPayNow\n // e.setValue =sumOfPayNow\n // this.payslipgrid[e.row.rowIndex].ADVDeduct=sumOfPayNow\n\n // this.wages_.forEach(item1 => {\n // const match = result.Wageslist.find(item2 => item1.LedgerID === item2.LedgerID && item1.ReqID === item2.ReqID);\n // if (match) {\n // // Update PayNow and AmountType\n // item1.PayNow = match.PayNow;\n // item1.AmountType = match.AmountType;\n // }\n // });\n\n });\n \n }\n\n onRowInserted1(event: any) {\n if (event.dataIndex === 0) return; // If it's the first row, do nothing\n \n // Assuming the TCDebit value of the first row is stored in a variable named firstRowTCDebit\n const firstRowTCDebit = this.AccountSource[0].TCDebit;\n \n // Subtract the TCDebit value of the newly added row from the TCDebit value of the first row\n if(firstRowTCDebit>=event.data.TCDebit)\n {\n this.AccountSource[0].TCDebit = firstRowTCDebit - event.data.TCDebit;\n }\n else \n {\n alert('Overmatching');\n \n this.AccountSource.pop();\n }\n \n }\n async Get_MatchedInvoice()\n {\n const params = {\n cid: this.cid,\n LedgerID:this.LedgerID,\n _AdvType:\"CR\",\n _FormType:\"ELS\",\n objmain:{\n str_PSRef:this.Prefix+this.VouNo,\n int_BusinessPeriodID:105\n \n \n }\n }; \n \n \n let test=await this.service.httpPost('/Payslip/GetHRDetialsForVou?' ,params) \n .toPromise().then(data =>{\n var result = data as any;\n result = data; \n \n this.wages_=result.respdata.Payslipobj.dt_Wages;\n \n \n });\n \n \n }\n}\nexport interface Details\n{\n NoOfLeavetoEnCash:number,\n PerDayLeaveAmount:number,\n Total:number,\n Comment:string\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { LeavesalaryencashpostingComponent } from '../leavesalaryencashposting/leavesalaryencashposting.component';\nimport { PayslippaymentfilterComponent } from '../../EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component';\n\n@Component({\n selector: 'app-leavesalaryencashreport',\n templateUrl: './leavesalaryencashreport.component.html',\n styleUrls: ['./leavesalaryencashreport.component.css']\n})\nexport class LeavesalaryencashreportComponent {\n\n showSpinner:any;\n curUser: User= JSON.parse(sessionStorage.getItem('currentUser'));\n cid:any=JSON.parse(sessionStorage.getItem('cid'));\n fromdate:any=new Date() ;\n todate:any= new Date();\n dataSource:any;\n companies:any;\n Employeelist:any;\n Categorylist:any;\n Typelist:any;\n Prefixlist:any;\n AccountSource: any;\n Ledgerlist:any;\n data:any;\n MenuID:any;\n\n sumofearings:number=0;\n sumofdeduction:number=0;\n sumofnetamount:number=0;\n sumofpaidamount:number=0;\n DateTypeFlag:any='Today';\n\n displayedColumns =['PSRef','PSMonth','Earnings','Deductions','NetAmount','PaidAmount','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,public dialog: MatDialog,private NotificationService: NotificationService) \n {\n this.MenuID=sessionStorage.getItem('SelectedMenuID')\n this.fromdate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n this.todate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n\n }\n\n ngOnInit() \n {\n this.LoadData();\n }\n Filter()\n {\n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '25%', // Set the width of the dialog\n height:'85%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n LedgerID:0,\n EmpName:'',\n // Category:this.Category, \n Type:'',\n DateTypeFlag:this.DateTypeFlag,\n fromdate:this.fromdate,\n todate:this.todate\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n //this.Category=result.Category\n // this.PSType=result.Type\n this.DateTypeFlag=result.DateTypeFlag\n this.fromdate=result.FromDate\n // const dateObj= new Date(result.ToDate); \n this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n this.LoadData()\n }\n \n });\n }\n LoadData()\n {\n\n this.showSpinner=true;\n const params = {\n cid: this.cid,\n MenuID:this.MenuID,\n Date1:this.DateTypeFlag,\n FromDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\")\n }; \n\n \n const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n\n\n this.service.httpGet('/Payslip/GetEmppaySlipmain?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n //console.log(\"mm\",result.respdata)\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.data=result.respdata;\n this.dataSource= new MatTableDataSource(result.respdata.PayLedger); \n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n \n this.Employeelist= result.respdata.Employee; \n this.Categorylist= result.respdata.Category; \n this.Typelist= result.respdata.Type; \n this.Prefixlist= result.respdata.Prefix; \n\n // this.dataSource1 = result.respdata.Table; \n // this.columnNames=result.respdata.columnNames;\n // console.log(\"columnNames\",this.columnNames)\n // this.dataSource1 = this.getCurrentPageData();\n this.Ledgerlist= result.respdata.Ledgerlist; \n this.AccountSource= result.respdata.AccountGrid; \n\n \n //this.pr=this.Prefixlist[0].Prefix;\n\n\n this.sumofearings = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.Earnings}, 0);\n this.sumofdeduction = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.Deductions}, 0);\n this.sumofnetamount = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.NetAmount}, 0);\n this.sumofpaidamount = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.PaidAmount}, 0);\n \n this.sumofearings = +this.sumofearings.toFixed(2);\n this.sumofdeduction = +this.sumofdeduction.toFixed(2);\n this.sumofnetamount = +this.sumofnetamount.toFixed(2);\n this.sumofpaidamount = +this.sumofpaidamount.toFixed(2);\n \n });\n }\n add()\n {\n\n const dialogRef = this.dialog.open(LeavesalaryencashpostingComponent, {\n width: '90%', // Set the width of the dialog\n height:'85%',\n //position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n VouNo:'',\n flag:'ADD',\n datalist:this.data\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result !== undefined)\n {\n // // this.qtnstatus=result.Status\n // this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n // this.Category=result.Category\n // this.PSType=result.Type\n // this.DateTypeFlag=result.DateTypeFlag\n // this.fromdate=result.FromDate\n // // const dateObj= new Date(result.ToDate); \n // this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n // this.LoadData()\n }\n \n });\n\n }\n\n edit(row)\n {\n\n const dialogRef = this.dialog.open(LeavesalaryencashpostingComponent, {\n width: '90%', // Set the width of the dialog\n height:'85%',\n //position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n VouNo:row.PSRef,\n flag:'EDIT',\n datalist:this.data\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result !== undefined)\n {\n // // this.qtnstatus=result.Status\n // this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n // this.Category=result.Category\n // this.PSType=result.Type\n // this.DateTypeFlag=result.DateTypeFlag\n // this.fromdate=result.FromDate\n // // const dateObj= new Date(result.ToDate); \n // this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n // this.LoadData()\n }\n \n });\n\n }\n\n\n}\n","import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-pstemplate',\n templateUrl: './pstemplate.component.html',\n styleUrls: ['./pstemplate.component.scss'],\n})\nexport class PstemplateComponent implements OnInit {\n form: FormGroup;\n cid:any=101;\n flag:any;\n prefixlist:any;\n particularslist:any;\n VouNo:any;\n Description:any;\n Interval:any;\n Comment:any;\n Prefix:any;\n VoucherNo:any;\n Revno:any;\n flag_:any;\n \n\n\n\n constructor(private fb: FormBuilder, private cd: ChangeDetectorRef,private service:HttpserviceService,private NotificationService:NotificationService,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n\n this.cid=this.data.cid;\n this.flag_=this.data.Flag;\n this.VouNo=this.data.VouNo;\n\n this.form = this.fb.group({\n items: this.fb.array([])\n });\n }\n\n ngOnInit(): void {\n if (this.flag_=='ADD')\n {\n this.flag='LOADCOMBO'\n }\n else\n {\n let parts = this.data.VouNo.split('/');\n this.Prefix=parts[0]+'/'\n this.VoucherNo=parts[1]\n this.flag='GET'\n }\n \n this.LoadData();\n this.addItem('',0); // Add one initial item in ngOnInit\n }\n\n get items(): FormArray {\n return this.form.get('items') as FormArray;\n }\n\n createItem(item: any = { Slno:'',Tag: '', CustomText: '', Formula: '', Parameter: false, AffectNetAmount: false, Visibility: false, Readonly: false, PSMainTag: '' },index: number): FormGroup {\n const formGroup = this.fb.group({\n Slno: [index + 1 , Validators.required],\n Tag: [item.Tag, Validators.required],\n CustomText: [{ value: item.CustomText, disabled: true }, Validators.required],\n Formula: [item.Formula, Validators.required],\n Parameter: [item.Parameter],\n AffectNetAmount: [item.AffectNetAmount],\n Visibility: [item.Visibility],\n Readonly: [item.Readonly],\n PSMainTag: [item.PSMainTag, Validators.required]\n\n });\n\n formGroup.get('Tag')!.valueChanges.subscribe((newValue) => {\n formGroup.get('CustomText')!.setValue(newValue);\n });\n\n return formGroup;\n }\n\n addItem(item: any = { Slno:'',Tag: '', CustomText: '', Formula: '', Parameter: false, AffectNetAmount: false, Visibility: false, Readonly: false, PSMainTag: '' }, index: number = this.items.length): void {\n this.items.push(this.createItem(item,index));\n this.cd.markForCheck(); // Use markForCheck to update the view\n }\n\n removeItem(index: number): void {\n this.items.removeAt(index);\n this.cd.markForCheck(); // Use markForCheck to update the view\n }\n\n Submit(): void {\n console.log('Form submitted:', this.form.value);\n const initialValues=this.form.value\n\n \n const params = {\n int_CID:this.cid,\n str_Flag:this.flag_,\n str_VouNo:this.Prefix+this.VoucherNo,\n int_RevNo :this.Revno==undefined?0:this.Revno,\n str_MenuID:'ERP_252',\n str_Prefix:this.Prefix,\n str_Interval :this.Interval,\n str_Description :this.Description,\n str_Comment:this.Comment,\n dt_PSTemplatesub:initialValues.items \n }; \n console.log('params',params)\n this.service.httpPost('/PSTemplate/SetPSTemplate?',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.NotificationService.success(':: Submitted sucessfully');\n // this.GoalID=users.respdata;\n // this.groupenable = this.GoalID !== 0 ? false : true;\n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n } \n \n LoadData()\n {\n const params = {\n cid: this.cid,\n Flag:this.flag,\n VouNo:this.VouNo\n \n }; \n const query = `cid=${params.cid}&Flag=${params.Flag}&VouNo=${params.VouNo}`;\n\n this.service.httpGet('/PSTemplate/GetPSTemplate?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n if (this.flag=='LOADCOMBO')\n {\n this.particularslist=result.respdata.Table;\n this.prefixlist=result.respdata.Table1;\n \n }\n else if (this.flag=='GET')\n {\n\n console.log('amjath',this.flag)\n this.particularslist=result.respdata.Table;\n this.prefixlist=result.respdata.Table1;\n this.Description=result.respdata.Table2[0].Description;\n this.Interval=result.respdata.Table2[0].Interval;\n this.Comment=result.respdata.Table2[0].Comment;\n this.Revno=result.respdata.Table2[0].Revno;\n\n const initialValues = result.respdata.Table3;\n this.items.clear();\n\n initialValues.forEach(value => this.addItem(value,value.Slno-1));\n \n }\n\n \n \n \n \n \n });\n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectorRef, Component, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { PstemplateComponent } from '../pstemplate/pstemplate.component';\n\n@Component({\n selector: 'app-pstemplatelist',\n templateUrl: './pstemplatelist.component.html',\n styleUrls: ['./pstemplatelist.component.css']\n})\nexport class PstemplatelistComponent {\n\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n companies:any;\n datasource:any;\n dataSource: any[];\n columns: any[];\n\n displayedColumns =['VouNo','Description','Interval','Comment','Action'];\n\n constructor(public service: HttpserviceService,public notificationService: NotificationService,\n private datePipe: DatePipe,private dialogService: DialogService,private dialog: MatDialog,private cdr: ChangeDetectorRef)\n { \n\n this.dataSource = [\n { id: 1, name: 'John Doe', age: 30,email:'test' },\n { id: 2, name: 'Jane Smith', age: 25,email:'test' },\n // Add more data as needed\n ];\n this.loadUserPreferences();\n }\n\n loadUserPreferences() {\n const savedColumns = sessionStorage.getItem('userColumns');\n console.log('savedColumns',savedColumns)\n if (savedColumns) {\n this.columns = JSON.parse(savedColumns);\n } else {\n this.columns = [\n { dataField: 'id', caption: 'ID', visible: true },\n { dataField: 'name', caption: 'Name', visible: true },\n { dataField: 'age', caption: 'Age', visible: true },\n { dataField: 'email', caption: 'Email', visible: true }\n ];\n }\n }\n\n saveUserPreferences() {\n console.log('userColumns',this.columns)\n sessionStorage.setItem('userColumns', JSON.stringify(this.columns));\n }\n\n onOptionChanged(e: any) {\n console.log('onOptionChanged event:', e);\n \n // Check if the change is related to column visibility\n if (e.name === 'columns' && e.fullName.startsWith('columns[')) {\n const columnIndex = parseInt(e.fullName.match(/\\d+/)[0], 10);\n const isVisible = e.value;\n \n // Update the visibility in your columns array\n if (!isNaN(columnIndex) && columnIndex >= 0 && columnIndex < this.columns.length) {\n this.columns[columnIndex].visible = isVisible;\n console.log('Updated columns:', this.columns);\n \n // Save user preferences after updating visibility\n this.saveUserPreferences();\n }\n }\n }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n\n Refresh()\n {\n this.Loaddetails();\n }\n\n Loaddetails()\n {\n let servicepath;\n const params = {\n cid: this.CID,\n Flag:this.flag,\n VouNo:'0'\n }; \n const query = `cid=${params.cid}&Flag=${params.Flag}&VouNo=${params.VouNo}`;\n \n this.service.httpGet('/PSTemplate/GetPSTemplate?' ,query) \n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Table;\n //this.datasource=result.respdata.Table1;\n this.datasource = new MatTableDataSource(result.respdata.Table1);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n }\n // else if(this.flag=='Category')\n // {\n // this.datasource=result.respdata.List;\n // }\n // else\n // {\n // let filterdata\n // this.employeelistselected=result.respdata.List;\n // }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width=\"95%\";\n dialogConfig.height=\"85%\";\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n VouNo:'0'\n \n }\n const dialogRef = this.dialog.open(PstemplateComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n Edit(event)\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width=\"95%\";\n dialogConfig.height=\"85%\";\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n VouNo:event.VouNo,\n \n }\n const dialogRef = this.dialog.open(PstemplateComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }); \n\n }\n // Delete(event)\n // {\n\n // let temp = [];\n // temp.push({Value:'',Value1:''});\n \n \n // let params = { \n // cid:this.CID,\n // flag:'DELETE', \n // ID:event.ID,\n // Questions:event.Questions,\n // ControlType:event.ControlType,\n // Type:event.Type, \n // DatePeriod: this.datePipe.transform(event.DatePeriod, 'dd-MM-yyyy') , \n // dt:temp,\n // UserID:'0',\n // GroupID:101\n \n // };\n // this.service.httpPost('/Question/SetQuestion',params)\n // .subscribe(\n // (data) => {\n // let result: any;\n // result = data; \n // if (result.errno === 0) {\n // this.notificationService.warn('Deleted Successfully');\n \n \n // }\n // else {\n // this.notificationService.success(result.errdesc); //':: Problem details');\n // }\n // },\n // (error: AppError) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n // });\n // }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { PayslippaymentfilterComponent } from '../../EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DxDataGridModule, DxCheckBoxModule, DxSelectBoxModule } from 'devextreme-angular';\n@Component({\n selector: 'app-payslipreport',\n templateUrl: './payslipreport.component.html',\n styleUrls: ['./payslipreport.component.scss'],\n})\nexport class PayslipreportComponent implements OnInit {\n\n\n showSpinner:any;\n cid:any=101;\n flag:any=\"ADD\";\n LedgerID:any=0;\n fromdate:any;\n todate:any;\n dataSource:any;\n TotEaring:any=0;\n TotDeduct:any=0;\n TotAmount:any=0;\n TotAbsAmt:any=0;\n EmpID:any=0;\n EmpName:any='';\n Category:string='--ALL--'\n PSType:string='PST/1001'\n DateTypeFlag:any;\n displayMode:any = \"compact\";\n allowedPageSizes = [5, 10, 'all'];\n showPageSizeSelector = true;\n\n readonly displayModes = [{ text: \"Display Mode 'full'\", value: 'full' }, { text: \"Display Mode 'compact'\", value: 'compact' }];\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog,private NotificationService: NotificationService) \n { \n this.fromdate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n this.todate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n }\n\n\n ngOnInit()\n {\n //this.LoadData()\n }\n get isCompactMode() {\n return this.displayMode === 'compact';\n }\n\n LoadData()\n {\n \n this.showSpinner=true;\n const params = {\n str_SiteID: this.cid,\n str_EmpName:this.EmpID,\n str_VouNo:this.PSType,\n str_Categotry:this.Category,\n dtp_FromDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n dtp_ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\"),\n dtp_Date:this.DateTypeFlag,\n str_PaymentStaus:'--ALL--'\n \n }; \n \n \n // const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n \n \n this.service.httpPost('/Payslip/GetPayslipLedger?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"mm\",result.respdata)\n\n let LastRow = result.respdata.Table.filter(item => item.PSNo=='10000001');\n\n this.TotEaring=LastRow[0].TOTEAR;\n this.TotDeduct=LastRow[0].TOTDEDUT;\n this.TotAmount=LastRow[0].NSAL;\n this.TotAbsAmt=LastRow[0].AbsAmt;\n\n\n console.log(\"total\",LastRow)\n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.dataSource = result.respdata.Table; \n \n \n \n \n });\n }\n\n Filter()\n {\n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '30%', // Set the width of the dialog\n height:'85%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n LedgerID:this.EmpID,\n EmpName:this.EmpName,\n Category:this.Category, \n Type:this.PSType,\n DateTypeFlag:this.DateTypeFlag,\n fromdate:this.fromdate,\n todate:this.todate,\n typevisible:true,\n categoryvisible:true,\n employeevisible:true\n\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n this.EmpID=result.LedgerID\n this.EmpName=result.Name\n this.Category=result.Category\n this.PSType=result.Type\n this.DateTypeFlag=result.DateTypeFlag\n this.fromdate=result.FromDate\n // const dateObj= new Date(result.ToDate); \n this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n this.LoadData()\n }\n \n });\n }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { PayslippaymentfilterComponent } from '../../EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component';\nimport { TableColumn } from 'src/app/components/HR/dynamicTable/dynamic-table-component/dynamic-table-component.component';\nimport { EmpsalaryhikepostingComponent } from '../empsalaryhikeposting/empsalaryhikeposting.component';\n\n@Component({\n selector: 'app-empsalaryhike',\n templateUrl: './empsalaryhike.component.html',\n styleUrls: ['./empsalaryhike.component.scss'],\n})\nexport class EmpsalaryhikeComponent implements OnInit {\n\n @Input() flag_:any;\n columnsData: TableColumn[] = [];\n // { header: 'Name', field: 'Name', width: '100px', readOnly: true },\n // { header: 'EmpID', field: 'EmpID', width: '50px' },\n // { header: 'Category', field: 'Category', width: '300px' }\n // ];\n\n tableData:any;\n Actionlist=[{icon:'edit_outline',tooltip:'edit',flag:'EDIT',color:'primary'},\n {icon:'delete',tooltip:'Delete',flag:'DELETE',color:'warn'},\n //{icon:'add_photo_alternate',tooltip:'VIEW',flag:'View',color:'primary'}\n ]\n\n // tableData = [\n // { name: 'John', age: 30 ,address:'chennai'},\n // { name: 'Doe', age: 25,address:'chennai' },\n // { name: 'Doe1', age: 25 ,address:'chennai'},\n // { name: 'Doe2', age: 25,address:'chennai' },\n // { name: 'John', age: 30 ,address:'chennai'},\n // { name: 'Doe', age: 25 ,address:'chennai'},\n // { name: 'Doe1', age: 25 ,address:'chennai'},\n // { name: 'Doe2', age: 25 ,address:'chennai'},\n // { name: 'John', age: 30 ,address:'chennai'},\n // { name: 'Doe', age: 25 ,address:'chennai'},\n // { name: 'Doe1', age: 25 ,address:'chennai'},\n // { name: 'Doe2', age: 25 ,address:'chennai'}\n // ];\n\n showSpinner:any;\n cid:any=101;\n flag:any=\"ADD\";\n LedgerID:any=0;\n fromdate:any;\n todate:any;\n dataSource:any;\n TotEaring:any=0;\n TotDeduct:any=0;\n TotAmount:any=0;\n TotAbsAmt:any=0;\n EmpID:any=0;\n EmpName:any='';\n Category:string='--ALL--'\n PSType:string='PST/1001'\n DateTypeFlag:any;\n displayMode:any = \"compact\";\n allowedPageSizes = [5, 10, 'all'];\n showPageSizeSelector = true;\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog,private NotificationService: NotificationService) \n { \n this.fromdate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n this.todate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n }\n\n ngOnInit() \n {}\n add()\n {\n\n const dialogRef = this.dialog.open(EmpsalaryhikepostingComponent, {\n width: '90%', // Set the width of the dialog\n height:'85%',\n //position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n VouNo:'',\n flag:'ADD',\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // // this.qtnstatus=result.Status\n // this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n // this.Category=result.Category\n // this.PSType=result.Type\n // this.DateTypeFlag=result.DateTypeFlag\n // this.fromdate=result.FromDate\n // // const dateObj= new Date(result.ToDate); \n // this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n // this.LoadData()\n }\n \n });\n\n }\n Filter()\n {\n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '30%', // Set the width of the dialog\n height:'85%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n LedgerID:this.EmpID,\n EmpName:this.EmpName,\n Category:this.Category, \n Type:this.PSType,\n DateTypeFlag:this.DateTypeFlag,\n fromdate:this.fromdate,\n todate:this.todate\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n this.EmpID=result.LedgerID\n this.EmpName=result.Name\n this.Category=result.Category\n this.PSType=result.Type\n this.DateTypeFlag=result.DateTypeFlag\n this.fromdate=result.FromDate\n // const dateObj= new Date(result.ToDate); \n this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n this.LoadData()\n }\n \n });\n }\n\n LoadData()\n {\n \n this.showSpinner=true;\n const params = {\n int_CID: this.cid,\n str_VouNo:'ERP_225',\n dtp_VoucherDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n CreatedDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\"),\n str_Tag:this.DateTypeFlag ,// this.DateTypeFlag,\n str_Flag:'PageLoad'\n \n }; \n \n \n // const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n \n \n this.service.httpPost('/EmpSalaryHike/GetLoadCombo?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"mm\",result.respdata)\n\n // let LastRow = result.respdata.Table.filter(item => item.PSNo=='10000001');\n\n // this.TotEaring=LastRow[0].TOTEAR;\n // this.TotDeduct=LastRow[0].TOTDEDUT;\n // this.TotAmount=LastRow[0].NSAL;\n // this.TotAbsAmt=LastRow[0].AbsAmt;\n\n\n // console.log(\"total\",LastRow)\n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.dataSource = result.respdata.dt_Main; \n\n console.log('dataSource',this.dataSource)\n this.columnsData=result.respdata.columnNames;\n //this.columnsData.push({ header: 'actions', field: 'actions', width: '100px' })\n this.tableData= result.respdata.dt_Main; \n \n //this.handleChildClick();\n \n \n });\n }\n\n onButtonClicked(event: any) {\n console.log('Button clicked:', event.flag, event.value);\n // Here, you can handle the emitted event data as needed\n\n const dialogRef = this.dialog.open(EmpsalaryhikepostingComponent, {\n width: '90%', // Set the width of the dialog\n height:'85%',\n //position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n VouNo:event.value.VouNo,\n flag:event.flag,\n \n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // // this.qtnstatus=result.Status\n // this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n // this.Category=result.Category\n // this.PSType=result.Type\n // this.DateTypeFlag=result.DateTypeFlag\n // this.fromdate=result.FromDate\n // // const dateObj= new Date(result.ToDate); \n // this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n // this.LoadData()\n }\n \n });\n }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-empsalaryhikeposting',\n templateUrl: './empsalaryhikeposting.component.html',\n styleUrls: ['./empsalaryhikeposting.component.scss'],\n})\nexport class EmpsalaryhikepostingComponent implements OnInit {\n cid:any=101;\n VouNo:any='';\n LedgerID:any=0;\n Category:any=0;\n showSpinner:boolean=false\n dataSource:any;\n columns: Array = [];\n Employeelist:any;\n Categorylist:any;\n Typelist:any;\n Prefixlist:any;\n Prefix:any\n VouDate:any=new Date() ;\n Tag:any;\n Percentage:any;\n flag:any=\"ADD\";\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,private dialog: MatDialog,private NotificationService: NotificationService, @Inject(MAT_DIALOG_DATA) public data: any)\n {\n this.LoadData()\n console.log('dialogRef',data)\n this.flag=data.flag\n if(this.flag=='EDIT')\n {\n let parts = data.VouNo.split('/');\n this.Prefix=parts[0]+'/'\n this.VouNo=parts[1]\n this.Getstructure()\n }\n \n }\n\n ngOnInit() \n {\n \n }\n Populate()\n {\n this.Getstructure()\n }\n LoadData()\n {\n //this.showSpinner=true;\n const params = {\n int_CID: this.cid,\n str_VouNo:'ERP_225',\n dtp_VoucherDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy\") ,\n CreatedDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy\"),\n str_Tag:'',// this.DateTypeFlag,\n str_Flag:'LoadCombo'\n \n }; \n \n \n // const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n \n \n this.service.httpPost('/EmpSalaryHike/GetLoadCombo?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"mm\",result.respdata)\n\n \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.Employeelist= result.respdata.Employee; \n this.Categorylist= result.respdata.Category; \n this.Typelist= result.respdata.Taglist; \n this.Prefixlist= result.respdata.Prefix; \n this.Prefix=this.Prefixlist[0].Prefix;\n\n console.log('dataSource',this.dataSource)\n // this.columnsData=result.respdata.columnNames;\n //this.columnsData.push({ header: 'actions', field: 'actions', width: '100px' })\n //this.tableData= result.respdata.dt_Main; \n \n //this.handleChildClick();\n \n \n });\n }\n Getstructure()\n {\n //this.showSpinner=true;\n const params = {\n int_CID: this.cid,\n str_VouNo:this.Prefix+this.VouNo,\n str_LedgerID:this.LedgerID,\n str_Flag:this.flag,\n str_Category:this.Category==0 ? '--ALL--':this.Category,\n dtp_VoucherDate:new Date(),\n int_BusinessPeriodID:105,\n str_Tag:'',\n dbl_Percentage:this.Percentage\n \n }; \n \n \n // const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n \n \n this.service.httpPost('/EmpSalaryHike/GetEmpSalHike?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"mm\",result.respdata)\n\n \n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n this.dataSource=[];\n this.dataSource = result.respdata.dt_Main; \n\n console.log('dataSource',this.dataSource)\n // this.columnsData=result.respdata.columnNames;\n //this.columnsData.push({ header: 'actions', field: 'actions', width: '100px' })\n //this.tableData= result.respdata.dt_Main; \n \n //this.handleChildClick();\n \n \n });\n }\n onRowUpdating(e)\n {\n\n }\n onEditorPreparing(e)\n {\n\n }\n Save()\n {\n\n\n let dt2 =[] ;\n let Ledgerid; \n\n \n for (let i = 0; i < this.dataSource.length; i++) {\n let drow = this.dataSource[i];\n for (let prop in drow) {\n if (drow.hasOwnProperty(prop)) {\n let value = drow[prop];\n if(`${prop}`=='LedgerID')\n {\n Ledgerid=value\n }\n if(prop!='LedgerID'&& prop!='EmpID'&& prop!='Name'&& prop!='Category')\n {\n if(value!=0&&value!=undefined&&value!='')\n {\n dt2.push({'LedgerID':Ledgerid,'Tag':prop,'Value':value})\n }\n \n }\n }\n }\n }\n \n\n\n const params = {\n int_CID: this.cid,\n str_VouNo:this.flag=='ADD'?'':this.Prefix+this.VouNo,\n str_FormPrefix:this.Prefix,\n \n // str_MenuID:\"ERP_225\",\n dt_EmpDocumnet:dt2,\n dtp_VoucherDate: this.datePipe.transform( this.VouDate,\"MM-dd-yyyy\"),\n str_Flag:this.flag,\n str_CreatedBy:this.curUser.username,\n dtp_CreatedDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy HH:mm:ss\"),\n str_LastUpdatedBy:this.curUser.username,\n dtp_LastUpdatedDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy HH:mm:ss\"),\n str_ApprovedBy:this.curUser.username,\n dtp_ApprovedDate:this.datePipe.transform(new Date(),\"MM-dd-yyyy HH:mm:ss\"),\n bool_ApprovedStatus:1\n \n \n }; \n \n \n this.service.httpPost('/EmpSalaryHike/SetEmpSalHike?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n \n console.log('result',result)\n if (result.errno === 0)\n {\n this.NotificationService.success('Updated Successfully');\n }\n else\n {\n this.NotificationService.warn(result.errdesc);\n }\n \n \n \n });\n }\n onRowDoubleClick(event) {\n // Handle the double-click event here\n console.log('Row double-clicked:', event.data); // Access the data of the double-clicked row\n // Open your dialog or perform any action you want\n }\n customizeColumns(columns) {\n columns.push({\n type: \"buttons\",\n width: 100,\n buttons: [{\n hint: \"Show Previous Hike\",\n icon: \"info\",\n onClick: (e) => {\n // Handle button click event here\n console.log(\"Custom button clicked\", e.row.data);\n\n //this.Getstructure()\n }\n }]\n });\n}\n}\n","import { TimepunchreportComponent } from './../../../HR/timepuchreport/timepunchreport/timepunchreport.component';\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { FormGroup, FormControl, Validators, FormBuilder,AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from './../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { CrmdatecontrolComponent } from './../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { DialogtimepunchleavepostingComponent } from './../../LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component';\nimport { EditotComponent } from './../../../HR/timepuchreport/editot/editot.component';\nimport { UpdatefingerprintComponent } from './../../../HR/timepuchreport/updatefingerprint/updatefingerprint.component';\n\nexport interface User {\n Name: string;\n}\n@Component({\n selector: 'app-shifttimepunchreport',\n templateUrl: './shifttimepunchreport.component.html',\n styleUrls: ['./shifttimepunchreport.component.scss'],\n})\nexport class ShifttimepunchreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n employeelist: any;\n companies: any;\n category: any;\n shiftname:any;\n AbsentGridData:any;\n datasource: MatTableDataSource;\n ledgerid= 0;\n Categoryid= 0;\n CID: any;\n searchKey: string;\n mobileQuery: MediaQueryList;\n navbarOpen = true;\n date= new Date();\n frmdate= new Date();\n todate1= new Date();\n DateType= 'CurrentDate';\n filterOption: any;\n frmtext= 'Current Date';\n totext: any;\n todatevisible= false;\n fromdatevisible= true;\n flag:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n isEditable = true; \n TimepunchGroup : FormGroup;\n TimepunchDataGroup: FormGroup;\n AbsentDataGroup: FormGroup;\n cid:any;\n showSpinner:any;\n toggle= 'filter_list';\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n isPunchOTvisible:boolean=true;\n isEffortOTvisible:boolean=true;\n isOTEditvisible:boolean=false;\n displayedColumns = ['EMPID', 'EmpName', 'Date', 'Hours','PunchOT', 'OTHours', 'In1', 'Out1', 'In2', 'Out2', 'Category','Department', 'Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, private service: HttpserviceService, \n private generic: GenericService, private service1: UserService,\n private NotificationService: NotificationService, private dialog: MatDialog)\n {\n\n this.TimepunchGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDateType: [''], \n fcCategory: [''], \n fcShift:['']\n //fcFromDate: [''], \n // fcToDate: ['']\n \n });\n this.TimepunchDataGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n \n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n // this.getemployeelist();\n this.flag=\"PAGELOAD\";\n this.gettimepunchreport(); \n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n this.TimepunchGroup.controls.fcShift.setValue(1); \n this.TimepunchGroup.controls.fcCategory.setValue(0); \n\n\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n \n }\n \n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n changesite(e) {\n this.cid=e.value;\n this.flag=\"PAGELOAD\"\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n this.DateTypeFlag=\"Today\";\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n Refresh()\n {\n this.flag=\"LOADGRID\";\n this.gettimepunchreport();\n }\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: 0,\n date: this.date,\n employeelist: this.employeelist,\n CID:this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n onEdit(data, _flag){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date ,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID +' - '+ data.EmpName,\n CID:this.CID\n // Rolelist:this.Rolelist\n \n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n\n onEditOT(data, _flag){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date ,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID +' - '+ data.EmpName,\n CID:this.CID,\n OT:data.OTHours\n // Rolelist:this.Rolelist\n \n };\n const dialogRef = this.dialog.open(EditotComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n\n UpdateFingerprintID()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.CID, \n };\n const dialogRef = this.dialog.open(UpdatefingerprintComponent, dialogConfig);\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_128\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Sync(){\n let params = {\n cid: this.cid \n }\n this.service.httpPost('/timepunchreport/TimepunchSync',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.NotificationService.success(result.errdesc); \n }\n else {\n this.NotificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n exportAsExcel()\n { \n this.generic.excelExport(this.datasource.data, 'Timepunch', 'Timepunchreport' );\n }\n \n AbsentList()\n {\n // console.log('HI')\n this.showSpinner=true;\n let params = { \n cid: this.cid,\n Flag: 'LOADABSENTGRID',\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n \n };\n this.service.httpPost('/timepunchreport/GetShiftTimePuchReport',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.stepper.selectedIndex = 2; \n this.AbsentGridData = result.respdata.Table;\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n gettimepunchreport(){\n\n let params\n this.showSpinner=true;\n if(this.flag==\"PAGELOAD\") \n {\n params= {\n \n cid: this.cid,\n Flag: this.flag,\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n }\n else\n {\n params=\n { \n cid: this.cid,\n Flag: this.flag,\n Date: this.fromdate,\n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n ShiftID:this.TimepunchGroup.get('fcShift').value,\n DateType: \"ByDate\",\n CurrentMonth:this.fromdate,\n CurrentYear: this.fromdate,\n Month: '',\n FromDate: this.fromdate,\n ToDate: this.todate, \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n\n };\n this.service.httpPost('/timepunchreport/GetShiftTimePuchReport',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0){\n if (this.flag==\"PAGELOAD\")\n {\n this.companies = result.respdata.Table;\n this.CID = this.cid;\n this.category = result.respdata.Table1;\n this.employeelist = result.respdata.Table2;\n this.empid= _.pluck(this.employeelist, 'Name');\n\n\n this.datasource = result.respdata.Table3;\n this.datasource = new MatTableDataSource(result.respdata.Table3);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n\n if(result.respdata.Table3[0].Visibility==\"False\") \n this.isPunchOTvisible=true; \n else\n this.isPunchOTvisible=false;\n\n if(result.respdata.Table4[0].Visibility==\"False\") \n { \n this.isEffortOTvisible=true; \n this.isOTEditvisible=false; \n } \n else\n {\n this.isEffortOTvisible=false;\n this.isOTEditvisible=true; \n }\n this.shiftname=result.respdata.Table5;\n\n this.getUserList();\n }\n else\n {\n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1; \n this.getUserList();\n }\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear()\n {\n this.flag=\"PAGELOAD\";\n this.TimepunchGroup.reset(); \n this.myControl.setValue({Name: 'ALL'});\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.stepper.selectedIndex = 0; \n this.datasource = new MatTableDataSource([])\n this.TimepunchGroup.controls.fcShift.setValue(1); \n this.TimepunchGroup.controls.fcCategory.setValue(0); \n \n }\n\n date1= new Date();\n onFocusedRowChanged(e)\n { \n //console.log('grid',e.data)\n if(e.data.LeaveType==\"\" ){\n // console.log('HI')\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"ADD\",\n ledgerid:e.data.LedgerID, \n cid: this.cid,\n //date:this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"MM/dd/yyyy\"), \n date:this.date1, \n type: 1,\n requestyear: new Date().getFullYear(),\n }\n const dialogRef = this.dialog.open(DialogtimepunchleavepostingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.AbsentList(); \n // this.stepper.selectedIndex = 2; \n }); \n \n } \n }\n\n}\n\nexport interface GroupALL {\n EMPID: string;\n EmpName: string;\n Category: string;\n\n\n}","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { TimesheetviewComponent } from './../timesheetview/timesheetview.component';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { User } from '../../../../Modules/user';\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n@Component({\n selector: 'app-timesheet',\n templateUrl: './timesheet.component.html',\n styleUrls: ['./timesheet.component.css']\n ,\n providers: [\n ]\n})\nexport class TimesheetComponent implements OnInit {\n TaskCount:any;\n flag: string;\n dataSource: any;\n dataSource1: any;\n Categorylist:any;\n Productlist:any;\n Projectlist:any;\n Clientlist:any;\n Companies:any;\n MyTask:any;\n CommonTask:any; \n Visiblelist:any;\n TimeSheetFormGroup: FormGroup;\n CurLedgerID:string;\n selectedEmpID: any;\n Employees: any;\n regex = '([01]?[0-9]|2[0-3]):[0-5][0-9]';\n cid:any;\n Table9:any;\n Table10:any;\n Table11:any;\n Table12:any;\n Table13:any;\n Table14:any;\n Table15:any;\n PreviousEffort:any;\n Rolelist:any;\n HomePage:any;\n ticketdetails:any;\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n employeeid:string[]=[];\n \n date : any;\n\n isTicketVisible: boolean ;\n isProductVisible: boolean;\n isProjectVisible: boolean;\n isClientVisible: boolean;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private formBuilder: FormBuilder,private generic: GenericService, private service1: UserService,\n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n {\n this.setStateValue = this.setStateValue.bind(this);\n this.TimeSheetFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDate: ['', Validators.required] ,\n myControl: ['', Validators.required], \n }); \n }\n\n ngOnInit(): void { \n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID=curUser.username;\n // console.log('CurLedgerID', this.CurLedgerID);\n \n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.getddllist();\n this.TimeSheetFormGroup.controls.fcCompany.setValue(this.cid);\n\n // this.hideEmails();\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n\n onChangeEvent(){ \n this.dataSource = '';\n this.getddllist();\n }\n\n async setStateValue(rowData: any, value: any) { \n rowData.Ticket = value;\n \n \n await this.GetStrucure(value,\"Get\")\n \n if(parseInt(this.ticketdetails[0].Field4) >0)\n {\n rowData.Product = parseInt(this.ticketdetails[0].Field4) ;\n }\n if(this.ticketdetails[0].ProjectUID >0)\n {\n rowData.Project = this.ticketdetails[0].ProjectUID;\n }\n if(this.ticketdetails[0].MerchantLedgerID >0)\n {\n rowData.Client = this.ticketdetails[0].MerchantLedgerID;\n }\n \n} \nasync GetStrucure(ledgerid:any,flag1:any)\n {\n let params = {\n CID: this.cid,\n Flag: flag1, \n Date : this.datePipe.transform(this.TimeSheetFormGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n Ticket:ledgerid,\n };\n \n const dt=await this.service.httpPost('/Timesheet/Getdropdownvalues' ,params) \n .toPromise().then(data => {\n // this.service.httpPost('/Timesheet/Getdropdownvalues',params)\n // .subscribe (\n // (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.TaskCount = result.respdata.Ticketdetails.length;\n \n if(this.TaskCount > 0) \n this.ticketdetails= result.respdata.Ticketdetails; \n else \n this.NotificationService.success('Not possible to post effort for this ticket');\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getddllist()\n { \n console.log('selectempid',this.selectedEmpID)\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\", \n Date:this.datePipe.transform(this.TimeSheetFormGroup.get('fcDate').value,\"dd-MM-yyyy\"),\n MenuID:'STS_24',\n LedgerID:this.selectedEmpID==undefined ?curUser.ledgerid : this.selectedEmpID\n \n };\n this.service.httpPost('/Timesheet/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n // console.log('params ', params);\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Categorylist = result.respdata.Category;\n this.Productlist=result.respdata.Product;\n this.Projectlist = result.respdata.Project; \n this.Clientlist = result.respdata.Client;\n // this.MyTask=result.respdata.MyTask;\n //this.CommonTask=result.respdata.CommonTask; \n this.HomePage=result.respdata.HomePage;\n this.Rolelist=result.respdata.Role; \n\n this.dataSource=result.respdata.Datasource; \n this.dataSource1=result.respdata.Datasource; \n this.Employees = result.respdata.Employees; \n this.Visiblelist = result.respdata.Visible;\n // console.log('visible list ', this.Visiblelist);\n this.isClientVisible=this.Visiblelist[0].Visibility;\n this.isProductVisible = this.Visiblelist[1].Visibility;\n this.isProjectVisible=this.Visiblelist[2].Visibility;\n // this.isRoleVisible=this.Visiblelist[3].Visibility;\n this.isTicketVisible = this.Visiblelist[4].Visibility; \n // console.log('Client visible value ', this.isClientVisible);\n for (var i = 0; i < result.respdata.HomePage.length; i++) \n {\n if(i==0)\n {\n //console.log('RESULT',result.respdata)\n this.Table11=result.respdata.Table11 \n }\n else if(i==1)\n {\n this.Table12=result.respdata.Table12 \n }\n else if(i==2)\n {\n this.Table13=result.respdata.Table13\n }\n else if(i==3)\n {\n this.Table14=result.respdata.Table14\n }\n else if(i==4)\n {\n this.Table15=result.respdata.Table15\n }\n\n \n }\n \n this.PreviousEffort=result.respdata.PrevEffort;\n \n this.employeeid= _.pluck(this.Employees, 'Name'); \n\n this.getUserList();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_24\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.editbtnvisible = btnVisilityData.editflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n selectedemployee(event) { \n // this.selectedemployees=event.option.value; \n // this.selectedemployees=JSON.parse(_.pluck(_.where(this.Employees, { 'Name': event.option.value }),'LedgerID')); \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID;\n // this.selectedEmpID=str.split('-',1);\n // console.log('selectedEmpID Split',this.selectedEmpID.substr(0,this.selectedEmpID.length));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n this.getddllist();\n }\n\n\n Edit(){\n // const dialogRef = this.dialog.open(TimesheetviewComponent);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.TimeSheetFormGroup.get('fcCompany').value,\n LedgerID:this.selectedEmpID \n }\n const dialogRef = this.dialog.open(TimesheetviewComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n onClear()\n {\n this.TimeSheetFormGroup.reset(); \n this.myControl.setValue('');\n this.dataSource='';\n this.MyTask='';\n this.CommonTask='';\n this.TimeSheetFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n changesite(e) {\n this.cid=e.value;\n this.getddllist();\n }\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n logEvent(eventName, e)\n {\n }\n\n Submit() { \n // if (this.TimeSheetFormGroup.invalid) {\n // this.NotificationService.warn('Please select employee & effort date'); \n // return;\n // } \n let params = { \n CID: this.TimeSheetFormGroup.get('fcCompany').value,\n Flag: \"SETEFFORT\", \n Date : this.datePipe.transform(this.TimeSheetFormGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n //Date : this.TimeSheetFormGroup.get('fcDate'), \n MenuID:'STS_24',\n LedgerID:this.selectedEmpID,\n Listarray: this.dataSource1 ,\n ApplicationDetails:'Web' \n };\n this.service.httpPost('/Timesheet/SetTimesheetEffort',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n}\n","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit} from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport * as _ from 'underscore/underscore-min.js';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n// class PickDateAdapter extends NativeDateAdapter {\n// format(date: Date, displayFormat: Object): string {\n// if (displayFormat === 'input') {\n// return formatDate(date,'dd-MM-yyyy',this.locale);;\n// } else {\n// return date.toDateString();\n// }\n// }\n// }\n\n@Component({\n selector: 'app-timesheetview',\n templateUrl: './timesheetview.component.html',\n styleUrls: ['./timesheetview.component.css']\n ,\n providers: [\n // {provide: DateAdapter, useClass: PickDateAdapter},\n // {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}\n]\n})\nexport class TimesheetviewComponent implements OnInit {\n\n // flag: string;\n dataSource: any;\n dataSource1: any;\n Categorylist:any;\n Productlist:any;\n Projectlist:any;\n Clientlist:any;\n Companies:any;\n // date= new Date();\n CID: string;\n CurLedgerID:any;\n regex = '([01]?[0-9]|2[0-3]):[0-5][0-9]';\n TimeSheetViewFormGroup: FormGroup;\n date : any;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder,\n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.CID=this.data.CID;\n this.CurLedgerID=this.data.LedgerID;\n \n // console.log('open',this.CurLedgerID);\n this.TimeSheetViewFormGroup = this.formBuilder.group({ \n fcFromDate: ['', Validators.required] , \n fcToDate: ['', Validators.required] \n }); \n }\n\n\n ngOnInit(): void {\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID=curUser.ledgerid;\n }\n\n Refresh()\n {\n let params = {\n CID: this.CID,\n Flag: \"EDITEFFORT\", \n FromDate:this.datePipe.transform(this.TimeSheetViewFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"),\n ToDate:this.datePipe.transform(this.TimeSheetViewFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n LedgerID: this.CurLedgerID\n // LedgerID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n };\n this.service.httpPost('/Timesheet/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n // this.Companies = result.respdata.Companyid; \n this.Categorylist = result.respdata.Category;\n this.Productlist=result.respdata.Product;\n this.Projectlist = result.respdata.Project; \n this.Clientlist = result.respdata.Client; \n this.dataSource=result.respdata.Datasource; \n this.dataSource1=result.respdata.Datasource; \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n Submit()\n {\n let params = { \n CID: this.CID,\n Flag: \"SETEDITEFFORT\", \n FromDate : this.datePipe.transform(this.TimeSheetViewFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n ToDate : this.datePipe.transform(this.TimeSheetViewFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"), \n LedgerID: this.CurLedgerID, \n // LedgerID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\") \n EditListarray: this.dataSource1 \n };\n this.service.httpPost('/Timesheet/SetTimesheetEffort',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onClear()\n {\n this.TimeSheetViewFormGroup.reset(); \n this.dataSource='';\n }\n\n onCloseDialog()\n {\n this.TimeSheetViewFormGroup.reset();\n this.dialogRef.close();\n }\n\n logEvent(eventName, e)\n {\n }\n\n}\n","\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { FormGroup, FormControl, Validators, FormBuilder,AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { DatecontrolComponent } from '../../DateControl/datecontrol/datecontrol.component';\nimport { TimepunchreportComponent } from '../../timepuchreport/timepunchreport/timepunchreport.component';\n\nexport interface User {\n Name: string;\n}\n@Component({\n selector: 'app-timepunch',\n templateUrl: './timepunch.component.html',\n styleUrls: ['./timepunch.component.scss'],\n})\nexport class TimepunchComponent implements OnInit {\n @ViewChild('stepper') stepper;\n employeelist: any;\n companies: any;\n category: any;\n datasource: MatTableDataSource;\n ledgerid= 0;\n Categoryid= 0;\n CID: any;\n searchKey: string;\n mobileQuery: MediaQueryList;\n navbarOpen = true;\n date= new Date();\n frmdate= new Date();\n todate1= new Date();\n DateType= 'CurrentDate';\n filterOption: any;\n frmtext= 'Current Date';\n totext: any;\n todatevisible= false;\n fromdatevisible= true;\n flag:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n isEditable = true; \n TimepunchGroup : FormGroup;\n TimepunchDataGroup: FormGroup;\n cid:any;\n showSpinner:any;\n toggle= 'filter_list';\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n displayedColumns = ['SlNo', 'LedgerID', 'EmpID', 'EmpName', 'Date', 'Time', 'Status','Location','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, private service: HttpserviceService, \n private generic: GenericService, private service1: UserService,\n private NotificationService: NotificationService, private dialog: MatDialog) { \n this.TimepunchGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDateType: [''], \n \n });\n this.TimepunchDataGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.flag=\"PAGELOAD\";\n this.gettimepunchreport(); \n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\"); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n }\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(DatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n changesite(e) {\n this.cid=e.value;\n this.flag=\"PAGELOAD\"\n this.employeelist = '';\n this.empid = [];\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\"); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n onSearchClear(){\n this.stepper.selectedIndex = 0; \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.datasource = new MatTableDataSource([]);\n this.DateTypeFlag=\"Today\";\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid);\n this.myControl.setValue({Name: 'ALL'});\n this.ledgerid=0;\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Timepunch', 'Timepunchdata' );\n }\n\n Refresh()\n {\n this.flag=\"LOADGRID\";\n this.gettimepunchreport();\n }\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: 0,\n date: this.date,\n employeelist: this.employeelist,\n CID:this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed();\n \n }\n onEdit(data, _flag){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LedgerID,\n date: data.Date , \n //date: this.datePipe.transform(data.Date,\"MM-dd-yyyy\"),\n employeelist: this.employeelist,\n Name: data.EmpID +' - '+ data.EmpName,\n CID:this.CID \n \n };\n\n this.dialog.open(TimepunchreportComponent, dialogConfig);\n }\n \n onMap(data, _flag){\n //console.log('data',data)\n if(data.Location!=null ){\n // console.log('hi')\n //var latDes = this.lat;\n // var longDes = this.long;\n var url = \"https://www.google.com/maps/dir/?api=1\";\n var origin = \"&origin=\" + data.Location;\n var destination = \"&destination=\" + data.Location;\n var newUrl = new URL(url + origin + destination);\n // console.log('url',newUrl)\n\n var win = window.open(newUrl, '_blank');\n win.focus();\n }\n // else\n // {\n // console.log('bye')\n // }\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_53\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n gettimepunchdata(){\n this.flag=\"LOADGRID\";\n let params\n this.showSpinner=true;\n \n params=\n { \n cid: this.cid,\n Flag: this.flag,\n Date: this.fromdate,\n LedgerID: this.ledgerid, \n DateType: \"ByDate\",\n CurrentMonth:this.fromdate,\n CurrentYear: this.fromdate,\n Month: '',\n FromDate: this.fromdate,\n ToDate: this.todate, \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n \n this.service.httpPost('/timepunch/GetTimePuch',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0){ \n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1; \n this.getUserList(); \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n gettimepunchreport(){\n let params\n this.showSpinner=true;\n if(this.flag==\"PAGELOAD\") \n {\n params= { \n cid: this.cid,\n Flag: this.flag,\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n }\n \n this.service.httpPost('/timepunchreport/GetTimePuchReport',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0){\n if (this.flag==\"PAGELOAD\")\n {\n this.companies = result.respdata.Table;\n this.CID = this.cid; \n this.employeelist = result.respdata.Table2;\n this.empid= _.pluck(this.employeelist, 'Name');\n\n\n this.datasource = result.respdata.Table3;\n this.datasource = new MatTableDataSource(result.respdata.Table3);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n this.getUserList();\n }\n else\n {\n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1; \n this.getUserList();\n }\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n\nexport interface GroupALL {\n EMPID: string;\n EmpName: string;\n Category: string;\n\n\n}\n","\nimport { TimepunchreportComponent } from '../../timepuchreport/timepunchreport/timepunchreport.component'\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { FormGroup, FormControl, Validators, FormBuilder,AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from '../../../../Services/OtherServices/generic.service';\nimport { UserService } from '../../../Admin/Users/userValidate';\nimport { DatecontrolComponent } from '../../DateControl/datecontrol/datecontrol.component';\nimport { DialogtimepunchleavepostingComponent } from '../../LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component';\n\n\nexport interface User {\n Name: string;\n}\n\n@Component({\n selector: 'app-timepunchleaveposting',\n templateUrl: './timepunchleaveposting.component.html',\n styleUrls: ['./timepunchleaveposting.component.scss'],\n})\nexport class TimepunchleavepostingComponent implements OnInit {\n @ViewChild('stepper') stepper;\n employeelist: any;\n companies: any;\n category: any;\n SubCategory: any;\n AbsentGridData:any;\n datasource: MatTableDataSource;\n ledgerid= 0;\n Categoryid= 0;\n CID: any;\n searchKey: string;\n mobileQuery: MediaQueryList;\n navbarOpen = true;\n date= new Date();\n frmdate= new Date();\n todate1= new Date();\n DateType= 'CurrentDate';\n filterOption: any;\n frmtext= 'Current Date';\n totext: any;\n todatevisible= false;\n fromdatevisible= true;\n flag:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n isEditable = true; \n TimepunchGroup : FormGroup;\n TimepunchDataGroup: FormGroup;\n AbsentDataGroup: FormGroup;\n cid:any;\n showSpinner:any;\n toggle= 'filter_list';\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n displayedColumns =['Date','EmpID','EmpName','Department','Category','SubCategory','LeaveType','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, private service: HttpserviceService, \n private generic: GenericService, private service1: UserService,\n private NotificationService: NotificationService, private dialog: MatDialog)\n {\n\n this.TimepunchGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDateType: [''], \n fcCategory: [''], \n fcSubCategory: [''], \n fcDate: ['', Validators.required]\n \n });\n this.TimepunchDataGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n \n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n \n this.flag=\"PAGELOAD\";\n this.gettimepunchreport(); \n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.TimepunchGroup.controls.fcCategory.setValue(0);\n this.TimepunchGroup.controls.fcSubCategory.setValue(0);\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n \n }\n \n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(DatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n\n\n\n changesite(e) {\n this.cid=e.value;\n\n this.flag=\"PAGELOAD\"\n this.employeelist='';\n this.empid=[];\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n this.DateTypeFlag=\"Today\";\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n Sync(){\n let params = {\n cid: this.cid \n }\n this.service.httpPost('/timepunchreport/TimepunchSync',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.NotificationService.success(result.errdesc); \n this.Refresh(); \n }\n else {\n this.NotificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: 0,\n date: this.date,\n employeelist: this.employeelist,\n CID:this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.Refresh(); \n });\n }\n \n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_111\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n \n onFocusedRowChanged(e)\n { \n // console.log('grid',e.data)\n if(e.data.LeaveType==\"\" ){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"ADD\",\n ledgerid:e.data.LedgerID, \n cid: this.cid,\n //date:this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"MM/dd/yyyy\"), \n date:this.TimepunchGroup.get('fcDate').value, \n type: 1,\n requestyear: new Date().getFullYear(),\n }\n const dialogRef = this.dialog.open(DialogtimepunchleavepostingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.Refresh(); \n }); \n } \n }\n \n PostLeave(event)\n {\n //console.log('HI',event)\n if(event.LeaveType==\"\" ){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"ADD\",\n ledgerid:event.LedgerID, \n cid: this.cid, \n date:this.TimepunchGroup.get('fcDate').value, \n type: 1,\n requestyear: new Date().getFullYear(),\n }\n const dialogRef = this.dialog.open(DialogtimepunchleavepostingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.Refresh(); \n }); \n } \n }\n\n PostTimepunch(event)\n {\n // console.log('HI',event)\n if(event.LeaveType==\"\" ){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n ledgerid: event.LedgerID,\n date: this.date,\n employeelist: this.employeelist,\n Name: event.EmpID +' - '+ event.EmpName,\n CID:this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.Refresh(); \n });\n }\n }\n \n Refresh()\n {\n if (this.TimepunchGroup.invalid) {\n this.NotificationService.warn('Please select timepunch date'); \n return;\n } \n this.showSpinner=true;\n let params = { \n cid:this.TimepunchGroup.get('fcCompany').value,\n Flag: 'LOADABSENTEES', \n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n SubCategory: this.TimepunchGroup.get('fcSubCategory').value,\n FromDate: this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"dd-MM-yyyy\"),\n ToDate: this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n };\n this.service.httpPost('/timepunchleaveposting/GetTimePuchLeavePosting',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.stepper.selectedIndex = 1; \n // this.AbsentGridData = result.respdata.Table;\n\n this.AbsentGridData = new MatTableDataSource(result.respdata.Table);\n this.AbsentGridData.sort = this.sort;\n this.AbsentGridData.paginator = this.paginator;\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.AbsentGridData.data, 'Missing Time Punch', 'Missing Time Punch' );\n }\n\n applyFilter1(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.AbsentGridData.filter = filterValue.trim().toLowerCase();\n }\n\n gettimepunchreport(){\n\n let params\n this.showSpinner=true;\n if(this.flag==\"PAGELOAD\") \n {\n params= {\n \n cid: this.cid,\n Flag: this.flag,\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n SubCategory: '',\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n }\n else\n {\n params=\n { \n cid: this.cid,\n Flag: this.flag,\n Date: this.fromdate,\n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n SubCategory: this.TimepunchGroup.get('fcSubCategory').value,\n DateType: \"ByDate\",\n CurrentMonth:this.fromdate,\n CurrentYear: this.fromdate,\n Month: '',\n FromDate: this.fromdate,\n ToDate: this.todate, \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n\n };\n this.service.httpPost('/timepunchreport/GetTimePuchOTReport',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0){\n if (this.flag==\"PAGELOAD\")\n {\n this.companies = result.respdata.Table;\n this.CID = this.cid;\n this.category = result.respdata.Table1;\n this.employeelist = result.respdata.Table2;\n this.empid= _.pluck(this.employeelist, 'Name');\n\n this.SubCategory = result.respdata.Table5;\n // this.datasource = result.respdata.Table3;\n // this.datasource = new MatTableDataSource(result.respdata.Table3);\n // this.datasource.sort = this.sort;\n // this.datasource.paginator = this.paginator;\n \n this.getUserList();\n }\n else\n {\n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1; \n this.getUserList();\n }\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear()\n {\n this.flag=\"PAGELOAD\";\n this.TimepunchGroup.reset(); \n this.myControl.setValue({Name: 'ALL'});\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.stepper.selectedIndex = 0; \n this.datasource = new MatTableDataSource([])\n this.TimepunchGroup.controls.fcCategory.setValue(0);\n this.TimepunchGroup.controls.fcSubCategory.setValue(0);\n this.ledgerid=0;\n }\n\n\n\n}\n\nexport interface GroupALL {\n EMPID: string;\n EmpName: string;\n Category: string;\n\n\n}","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { User } from 'src/app/Modules/user';\nimport { TrainingacessComponent } from './../trainingacess/trainingacess.component';\n// import { GoalaccessComponent } from './../goalaccess/goalaccess.component';\nimport { Component, OnInit } from '@angular/core';\n// import { MatDialogRef, MAT_DIALOG_DATA, MatInputModule, MatFormFieldModule } from '@angular/material';\nimport { Inject } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { MatDialog, MatDialogConfig ,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\n// import { User } from '../../../models';\n\n@Component({\n selector: 'app-training',\n templateUrl: './training.component.html',\n styleUrls: ['./training.component.css']\n})\nexport class TrainingComponent implements OnInit {\n\n flag:any\n TID:number=0;\n TName:any\n Description:any\n EntryDate:any\n SDate:any\n EDate:any\n groupenable:any=true\n CurLedgerID:any\n CID:any;\n\n constructor(private dialog: MatDialog,private datePipe: DatePipe,public notificationService: NotificationService,public service: HttpserviceService, public dialogRef: MatDialogRef,\n private dialogService: DialogService,@Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.TName=this.data.TName;\n this.TID=this.data.TID;\n this.Description=this.data.Description;\n this.EntryDate=this.data.EntryDate;\n this.SDate=this.data.StartDate;\n this.EDate=this.data.EndDate;\n this.CID=this.data.cid;\n }\n\n ngOnInit(): void {\n this.groupenable = this.TID != 0 ? false : true;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n onClose(model){\n this.dialogRef.close({event: this.flag, data: model});\n }\n onClear()\n {\n this.TName='';\n this.Description=''\n this.EntryDate=''\n this.SDate=''\n this.EDate=''\n }\n onSubmit()\n {\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag: this.flag,\n TID:this.TID,\n TName:this.TName,\n Description:this.Description,\n SDate:this.datePipe.transform(this.SDate, 'yyy-MM-dd'),\n EDate:this.datePipe.transform(this.EDate, 'yyy-MM-dd'),\n EntryDate:this.datePipe.transform(this.EntryDate, 'yyy-MM-dd'),\n Status:\"Open\",\n UserName: this.CurLedgerID,\n CreateDate:this.datePipe.transform(currentdate, 'yyy-MM-dd')\n \n\n };\n console.log('params',paramsExtra);\n this.service.httpPost('/Training/SetTraining',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.notificationService.success(users.errdesc);\n this.TID=users.respdata;\n this.groupenable = this.TID !== 0 ? false : true;\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n width: '60%',\n TID:this.TID,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(TrainingacessComponent,dialogConfig);\n }\n\n\n}\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatTableDataSource } from '@angular/material/table';\n// import { MatDialogRef, MAT_DIALOG_DATA, MatInputModule, MatFormFieldModule, MatAutocomplete } from '@angular/material';\nimport { Inject } from '@angular/core';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-trainingacess',\n templateUrl: './trainingacess.component.html',\n styleUrls: ['./trainingacess.component.css']\n})\nexport class TrainingacessComponent implements OnInit {\n\n emplist:any;\n selectedOptions: string[];\n lastSelectedOptions: string[];\n TID:any\n separatorKeysCodes: number[] = [ENTER, COMMA];\n fcEmployee = new FormControl();\n filteredEmployees: Observable;\n employees: string[] = [];\n allEmployees: string[] = [];\n selectable = true;\n removable = true;\n CID:any;\n\n @ViewChild('empInput') empInput: ElementRef;\n // @ViewChild('auto') matAutocomplete: MatAutocomplete;\n \n constructor(private datePipe: DatePipe,public service: HttpserviceService,public notificationService: NotificationService, public dialogRef: MatDialogRef,\n private dialogService: DialogService,@Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.TID=data.TID;\n this.CID=data.cid\n\n this.filteredEmployees = this.fcEmployee.valueChanges.pipe(\n startWith(null),\n map((value: string | null) => value ? this._filteremployees(value) : this.allEmployees.slice()));\n }\n\n addemployees(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.employees.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcEmployee.setValue(null);\n }\n\n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n\n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n }\n\n private _filteremployees(value1: string): string[] {\n const filterprojectValue = value1.toLowerCase();\n\n return this.allEmployees.filter(value1 => value1.toLowerCase().indexOf(filterprojectValue) === 0);\n }\n\n\n ngOnInit(): void {\n this.dialogRef.updateSize('70%');\n this.getGoalsdetails();\n }\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n onClose(model){\n this.dialogRef.close({event: 'CLEAR', data: model});\n }\n \n onSubmit()\n {\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag:\"ADD\",\n TID:this.TID,\n emplist:this.employees\n \n };\n this.service.httpPost('/Training/SetTrainingAccessGroup?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n\n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\ngetGoalsdetails()\n {\n let params = {\n cid:this.CID,\n flag:'Emplist',\n TID:this.TID,\n LedgerID:0,\n FromDate:this.datePipe.transform(new Date(), 'yyy-MM-dd')\n }\n const query = `cid=${params.cid}&flag=${params.flag}&TID=${params.TID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}`;\n this.service.httpGet('/Training/GetTraining?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.emplist= result.respdata.Employeelist;\n this.employees= _.pluck(result.respdata.selectedEmployee, 'Name'); \n \n this.allEmployees= _.pluck(this.emplist, 'Name'); \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n}\n","import { User } from './../../../../Modules/user';\nimport { MatCardContent } from '@angular/material/card';\nimport { TrainingacessComponent } from './../trainingacess/trainingacess.component';\n// import { DialogService } from '.././../../../shared/dialog.service';\nimport { Component, OnInit,ViewChild, } from '@angular/core';\nimport {TrainingComponent} from './../training/training.component';\n// import { MatDialog, MatDialogConfig, MatPaginator, MatSort } from '@angular/material';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subscription } from 'rxjs';\nimport { FormGroup, FormControl,Validators } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { DatePipe, formatDate } from '@angular/common';\n// import { MatCardModule } from '@angular/material/MatCardContent';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\n\n\n// import { GoalaccessComponent } from './../goalaccess/goalaccess.component';\nimport {MatDialog,MatDialogConfig,MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { DomSanitizer } from '@angular/platform-browser';\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MMM/YYYY',\n },\n display: {\n dateInput: 'MMM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n\n@Component({\n selector: 'app-traininglist',\n templateUrl: './traininglist.component.html',\n styleUrls: ['./traininglist.component.css'],\n providers: [\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\n // application's root module. We provide it at the component level here, due to limitations of\n // our example generation script.\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ]\n})\nexport class TraininglistComponent implements OnInit {\n\n myFormGroup:FormGroup;\n myFormGroup1:FormGroup;\n\n companies:any\n datasource:any;\n commentlist:any;\n Reportingemployees:any;\n managerquestions:any;\n selectedOptions:any;\n comment:any\n index:any\n extravisable:Boolean=false\n TID:any\n CurLedgerID:any\n UserName:any\n form_template:any;\n assessmentvisible:boolean=true;\n managervisible:boolean=false;\n assessmentType:string='Employee';\n LedgerID:any\n ProfileImage:any;\n Profilevisible:boolean=false;\n currentuserImage:any;\n ProfileName:any\n fd=new Date()\n animate = false;\n hideme = {};\n date = new FormControl(moment());\n limit:any=0;\n commentvisible:boolean=false;\n selectedValue: string;\n groupvisible:boolean=false;\n commentcount:Number=0;\n\n showFloatingButtons = false;\n expanded = [];\n CID:any;\n \n // @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n // @ViewChild(MatSort, {static: true}) sort: MatSort;\n displayedColumns =['TID','TName','Description','EntryDate','Status','Action'];\n constructor(private datePipe: DatePipe, private sanitizer: DomSanitizer,public service: HttpserviceService,public notificationService: NotificationService,private dialog: MatDialog,\n private DialogService: DialogService) {\n this.hideme = {};\n }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.myFormGroup=new FormGroup(\n {}\n );\n\n this.myFormGroup1=new FormGroup(\n {}\n );\n \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserName=curUser.username;\n this.LedgerID=curUser.ledgerid;\n this.getGoalsdetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.getGoalsdetails();\n\n }\n\n refresh()\n {\n this.getGoalsdetails();\n }\n\n chosenYearHandler(normalizedYear: Moment) {\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n this.date.setValue(ctrlValue);\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n datepicker.close();\n this.getGoalsdetails()\n }\n\n addRow()\n {\n console.log(\"popupflag\" , \"hi\")\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n TID:0,\n cid:this.CID\n \n }\n const dialogRef = this.dialog.open(TrainingComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getGoalsdetails(); \n });\n }\n onEdit(event, item){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"Edit\",\n TName:item.TName,\n TID:item.TID,\n Description:item.Description,\n EntryDate:item.EntryDate,\n StartDate:item.StartDate,\n EndDate:item.EndDate,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(TrainingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getGoalsdetails(); \n }); \n }\n onDelete(item)\n {\n this.DialogService.openConfirmDialog('Are you sure to delete this training?')\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n cid:this.CID,\n flag:'DELETE',\n TID:item.TID,\n LedgerID:this.CurLedgerID,\n FromDate:this.datePipe.transform(this.fd, 'yyy-MM-dd')\n };\n const query = `cid=${params.cid}&flag=${params.flag}&TID=${params.TID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}`;\n this.service.httpGet('/Training/GetTraining?',query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n this.notificationService.warn('Deleted successfully');\n this.getGoalsdetails();\n },\n (error: AppError) =>{\n if (error instanceof BadInput) \n console.log(error);\n else throw error;\n });\n }\n });\n\n }\n loadmore()\n {\n if(this.commentlist.length!==this.limit)\n {\n this.limit=this.commentlist.length;\n this.commentvisible=false\n }\n }\n onMore(event, item,rowindex)\n {\n console.log()\n // this.limit=1;\n this.comment=\"\"\n item.Visibility=item.Visibility==false ? true : false;\n\n Object.keys(this.hideme).forEach(h => {\n this.hideme[h] = false;\n \n });\n \n if(this.TID !==item.TID)\n {\n\n this.TID=item.TID\n this.extravisable = this.extravisable == false ? true : false;\n this.hideme[item.TID] = true\n } \n else if (this.TID ==item.TID)\n {\n this.TID=item.TID\n this.extravisable = this.extravisable == false ? true : false;\n this.hideme[item.TID] = this.extravisable\n }\n \n this.Commentdetails(item.TID);\n\n }\n Commentdetails(value)\n {\n let params = {\n cid:this.CID,\n flag:'TrainingSub',\n TID:value,\n LedgerID:this.CurLedgerID,\n FromDate:this.datePipe.transform(this.fd, 'yyy-MM-dd')\n }\n const query = `cid=${params.cid}&flag=${params.flag}&TID=${params.TID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}`;\n this.service.httpGet('/Training/GetTraining?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n this.commentlist=result.respdata.CommentList;\n if(this.commentlist.length>=1)\n {\n this.limit=2;\n this.commentvisible=this.commentlist.length >= 3 ? true : false;\n }else{this.commentvisible=false;}\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n onReportingEmployee(data)\n {\n this.ProfileImage='data:image/jpeg;base64,'+this.Reportingemployees[data].Image;\n this.ProfileName=this.Reportingemployees[data].Name;\n this.LedgerID=this.Reportingemployees[data].LedgerID;\n this.assessmentType='Manager';\n this.Profilevisible=true;\n this.getGoalsdetails();\n }\n \n openDialog(item) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n TID:item.TID,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(TrainingacessComponent,dialogConfig);\n }\n Post(item)\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.CID,\n flag: \"POST\",\n TID:item.TID,\n TName:item.TName,\n Description:this.comment,\n SDate:this.datePipe.transform(item.EntryDate, 'yyy-MM-dd'),\n EDate:this.datePipe.transform(item.EntryDate, 'yyy-MM-dd'),\n EntryDate:this.datePipe.transform(item.EntryDate, 'yyy-MM-dd'),\n Status:\"Open\",\n UserName: this.CurLedgerID,\n CreateDate:currentdate\n };\n \n this.service.httpPost('/Training/SetTraining',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n this.Commentdetails(item.TID)\n this.comment=\"\"\n this.commentvisible=true\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n \n }\n Cancel()\n {\n this.comment=\"\"\n } \n addItem()\n {\n // console.log(\"reporting\",this.Reportingemployees);\n this.ProfileImage=\"\";\n this.currentuserImage=\"\";\n this.ProfileName=\"\";\n this.Profilevisible=false;\n this.LedgerID=this.CurLedgerID;\n this.assessmentType='Employee';\n this.getGoalsdetails();\n }\n getGoalsdetails()\n {\n let params = {\n cid:this.CID,\n flag:'LOADGRID',\n TID:0,\n LedgerID:this.LedgerID,\n FromDate:this.datePipe.transform(this.date.value.startOf('week').toDate(), 'yyy-MM-dd')\n }\n const query = `cid=${params.cid}&flag=${params.flag}&TID=${params.TID}&LedgerID=${params.LedgerID}&FromDate=${params.FromDate}`;\n this.service.httpGet('/Training/GetTraining?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.companies= result.respdata.Companylist;\n this.datasource= result.respdata.TrainingList;\n this.Commentdetails(0)\n\n this.datasource.forEach(e => {\n this.hideme[e.GoalID] = false;\n });\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { Component, ElementRef, OnInit,ViewChild } from '@angular/core';\n import { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\n import { DatePipe} from '@angular/common';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport {DxDataGridComponent} from 'devextreme-angular';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteActivatedEvent } from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport { Observable, of } from 'rxjs';\nimport DataGrid from \"devextreme/ui/data_grid\";\n\ninterface EmployeeGroup {\n Level:number;\n Name: string;\n LedgerID: number;\n}\n\n@Component({\n selector: 'app-auth-master-list',\n templateUrl: './auth-master-list.component.html',\n styleUrls: ['./auth-master-list.component.scss'],\n})\nexport class AuthMasterListComponent implements OnInit \n{\n AuthMasterlist:FormGroup;\n Companies:any;\n employeegrouplist:any;\n employeelist:any;\n cid:any;\n flag:any;\n strAuthID:any;\n strAuthName:any;\n level:any;\n dataSource:any;\n localdt:any;\n CurLedgerID:any;\n\n selectable = true;\n removable = true;\n savebtnvisible:boolean=true;\n fcEmployee = new FormControl();\n allEmployees:any\n employees: string[] = [];\n filteredEmployees: Observable;\n autocompleteTagsOptionActivated = false;\n employeelistselected: any = [];\n isLedgerVisible:boolean=false;\n disabled:boolean=false;\n @ViewChild('empInput') empInput: ElementRef;\n constructor(private datePipe: DatePipe, \n public service: HttpserviceService,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n private formBuilder: FormBuilder,\n private dialog: MatDialog,private dialogService: DialogService,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.cid=this.data.cid;\n this.flag = this.data.flag;\n this.strAuthID = this.data.strAuthID;\n this.strAuthName = this.data.strAuthName;\n\n if(this.flag==='VIEW')\n this.savebtnvisible=false;\n else\n this.savebtnvisible=true;\n \n this.AuthMasterlist = this.formBuilder.group\n ({ \n AuthorizeGroupID: [''] ,\n AuthorizeGroupname: ['', Validators.required] ,\n Level: ['', Validators.required] \n }); \n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.AuthMasterlist.controls.AuthorizeGroupID.setValue(this.strAuthID);\n this.AuthMasterlist.controls.AuthorizeGroupname.setValue(this.strAuthName);\n this.getemployeelist();\n console.log('Test',this.strAuthID) \n \n\n if (this.flag !== \"ADD\")\n {\n this.geteditvalues();\n }\n }\n\n public list: any[] = [];\n addContrat(e,code: string, label: string)\n {\n if(e.source._selected==true)\n {\n this.list.push({ code, label });\n }\n else \n {\n this.list.splice(this.list.findIndex(item => item.code === code), 1)\n }\n \n }\n removeContract(i: number) {\n this.list.splice(i, 1);\n }\n\n\n onSubmit()\n { \n console.log(\"this.dataSource \",this.dataSource );\n let params = \n { \n CID: this.cid,\n Flag: this.flag,\n strAuthID:this.AuthMasterlist.get('AuthorizeGroupID').value,\n strAuthName:this.AuthMasterlist.get('AuthorizeGroupname').value,\n intLevel:this.AuthMasterlist.get('Level').value,\n dt_GroupList: this.dataSource ,\n strUserID:this.CurLedgerID,\n strGroupID:sessionStorage.getItem('groupid')\n };\n console.log(\"Flag :\",params) \n this.service.httpPost('/authmaster/SetAuthMaster',params)\n .subscribe(\n (data) => \n {\n let result: any;\n console.log('data ', data);\n result = data; \n console.log('result ', result);\n if (result.errno === 0) \n {\n this.notificationService.success(result.errdesc);\n }\n else \n {\n this.notificationService.success(result.errdesc); \n \n }\n },\n (error: AppError) => \n {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onClear()\n {\n this.AuthMasterlist.reset(); \n }\n\n\n onCloseDialog()\n {\n this.AuthMasterlist.reset();\n this.dialogRef.close();\n }\n\n \n \n async getemployeelist(){\n const paramsFormValue = this.AuthMasterlist.value;\n const params = {\n cid: this.cid,\n strAuthID:0,\n Flag: \"GETEMP\"\n };\n let temp=await this.service.httpPost('/authmaster/GetAuthMaster',params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n // this.employeelist = result.respdata.EmployeeList;\n \n this.allEmployees = result.respdata.EmployeeList;\n \n this.fcEmployee.valueChanges.subscribe(search => {\n this.filteredEmployees = of(this.allEmployees.filter(item =>\n item.EmployeeName.toLowerCase().includes(search)\n ));\n });\n\n this.dataSource = result.respdata.EmployeeGroup;\n\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n\n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n optionActivated($event: MatAutocompleteActivatedEvent) {\n if ($event.option) {\n this.autocompleteTagsOptionActivated = true;\n }\n }\n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n \n \n }\n\n add(event: MatChipInputEvent): void \n {\n // debugger\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) \n {\n this.employeelistselected.push(\n {\n id:Math.random(),\n EmployeeName:value.trim()\n }); \n }\n \n // Reset the input value\n if (input) \n {\n input.value = '';\n }\n \n this.fcEmployee.setValue(null);\n }\n \n\naddRow()\n{\n\n if(this.level !=='')\n {\n\n\n if(this.flag !=='ADD')\n {\n let temp = [];\n let intlevel = JSON.parse(this.AuthMasterlist.get('Level').value) \n for( var i = 0; i < this.dataSource.length; i++){ \n if ( this.dataSource[i].Level === intlevel) { \n this.dataSource.splice(i, 1); \n i--; \n }\n }\n } \n \n\n for (var i=0; i < this.employees.length; i++)\n {\n this.dataSource.push({Level:this.AuthMasterlist.get('Level').value, Name:_.pluck(this.employees, 'EmployeeName')[i],LedgerID:_.pluck(this.employees, 'EmployeeID')[i]});\n }\n\n this.AuthMasterlist.controls.Level.setValue(\"\");\n this.employeelistselected= [];\n this.employees= [];\n\n }\n\n}\n\nlogEvent(_flag, e)\n{\n\n}\n\n\nasync geteditvalues()\n{\n const paramsFormValue = this.AuthMasterlist.value;\n const params = {\n cid: this.cid,\n strAuthID:this.strAuthID,\n Flag: this.flag\n };\n let temp=await this.service.httpPost('/authmaster/GetAuthMaster',params)\n .toPromise().then(data => \n {\n let result: any;\n result = data;\n if (result.errno === 0)\n {\n this.dataSource = result.respdata.EmployeeGroup;\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => \n {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n\n\n\n\n\n}\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { DatePipe} from '@angular/common';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { AuthMasterListComponent } from './auth-master-list/auth-master-list.component';\n\n\n@Component\n({\n selector: 'app-auth-master',\n templateUrl: './auth-master.component.html',\n styleUrls: ['./auth-master.component.scss'],\n})\n\n// interface EmployeeGroup {\n// Level:number;\n// Name: string;\n// LedgerID: number;\n// }\n\nexport class AuthMasterComponent implements OnInit \n{\n\n datasource: MatTableDataSource;\n displayedColumns = ['AuthorizeGroupID', 'AuthorizeGroupName', 'Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n AuthMaster:FormGroup;\n Companies:any;\n cid:any;\n pageSize: number = 1;\n dataSource:any;\n localdt:any;\n CurLedgerID:any;\n\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder,\n private datePipe: DatePipe,private dialog: MatDialog,private dialogService: DialogService) \n {\n this.AuthMaster = this.formBuilder.group\n ({ \n fcCompany: ['', Validators.required] \n }); \n }\n\n\n ngOnInit() \n {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.getddllist(); \n this.AuthMaster.controls.fcCompany.setValue(this.cid);\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n\n\n\n getddllist()\n {\n let params = \n {\n CID: this.cid,\n strAuthID:0,\n Flag: \"GETAUTHID\", \n };\n this.service.httpPost('/authmaster/GetAuthMaster',params)\n .subscribe (\n (data) => \n { \n let result: any;\n result = data; \n console.log('data ', data);\n if (result.errno === 0) \n { \n this.Companies = result.respdata.Companyid; \n this.datasource=result.respdata.AuthDetails;\n this.datasource = new MatTableDataSource(result.respdata.AuthDetails);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n else \n {\n this.NotificationService.success(result.errdesc); \n }\n },\n (error: AppError) => \n {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n\n changesite(e)\n {\n console.log('change',e.value);\n this.cid=e.value;\n this.getddllist();\n }\n\n \n addRow()\n {\n if (this.cid != '')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data =\n {\n flag: 'ADD',\n cid:this.cid\n };\n const dialogRef = this.dialog.open(AuthMasterListComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n //console.log('HiADD')\n });\n }\n }\n\n\n onEdit(_row)\n {\n console.log(\"Rowavlue\",_row.AuthorizeGroupID)\n // if (this.cid != '')\n // {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data =\n {\n flag: 'EDIT',\n cid:this.cid,\n strAuthID:_row.AuthorizeGroupID,\n strAuthName:_row.AuthorizeGroupName\n };\n const dialogRef = this.dialog.open(AuthMasterListComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.getddllist(); \n //console.log('HiEdit')\n });\n\n //}\n }\n\n onView(_row)\n {\n console.log(\"Rowavlue\",_row.AuthorizeGroupID)\n // if (this.cid != '')\n // {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data =\n {\n flag: 'VIEW',\n cid:this.cid,\n strAuthID:_row.AuthorizeGroupID,\n strAuthName:_row.AuthorizeGroupName\n };\n const dialogRef = this.dialog.open(AuthMasterListComponent, dialogConfig);\n dialogRef.afterClosed();\n // }\n }\n\n\n onDelete(_row)\n { \n this.dialogService.openConfirmDialog('Are you sure to delete this group?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = \n { \n CID: this.AuthMaster.get('fcCompany').value,\n Flag: \"DELETE\", \n strAuthID:_row.AuthorizeGroupID,\n strAuthName:_row.AuthorizeGroupName , \n intLevel:0,\n dt_GroupList: this.dataSource ,\n strUserID:this.CurLedgerID,\n strGroupID:sessionStorage.getItem('groupid')\n };\n this.service.httpPost('/authmaster/SetAuthMaster',params)\n .subscribe(\n (data) => \n {\n let result: any;\n console.log('data ', data);\n result = data; \n console.log('result ', result);\n if (result.errno === 0) \n {\n this.NotificationService.success(result.errdesc);\n this.getddllist();\n console.log('HiDel')\n }\n else \n {\n this.NotificationService.success(result.errdesc); \n this.getddllist();\n console.log('HiDelete')\n }\n },\n (error: AppError) => \n {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n}\n\n\nexport interface GroupALL \n{\n AuthorizeGroupID: string;\n AuthorizeGroupName: string;\n \n}","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { DialogService } from './../../../Services/OtherServices/dialog.service';\nimport {CdkDragDrop, moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop';\nimport { User } from './../../../Modules/user';\n\n@Component({\n selector: 'app-authorizegroup',\n templateUrl: './authorizegroup.component.html',\n styleUrls: ['./authorizegroup.component.scss'],\n})\nexport class AuthorizegroupComponent implements OnInit {\n SearchData:any;\n SearchData1:any;\n AuthFormGroup:FormGroup;\n cid:any;\n dataSource: any;\n dataSource1: any;\n Companies:any;\n GroupName:any\n grpid:any;\n Flag:any;\n CurLedgerID:any;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private formBuilder: FormBuilder,private generic: GenericService, \n private dialogService: DialogService) { \n \n this.AuthFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required],\n fcFrom:['',Validators.required],\n fcTo:['',Validators.required]\n }); \n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.getddllist();\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.AuthFormGroup.controls.fcCompany.setValue(this.cid); \n }\n\n changesite(e) {\n this.cid=e.value;\n this.getddllist();\n }\n\n changefrom(e) {\n\n this.grpid=e.value;\n this.Flag=\"LOADFROM\"\n this.getgroupempname();\n }\n\n changeto(e) {\n this.grpid=e.value;\n this.Flag=\"LOADTO\"\n this.getgroupempname();\n }\n\n getgroupempname()\n {\n let params = {\n CID: this.cid,\n Flag: this.Flag,\n From:this.grpid \n };\n this.service.httpPost('/authgroupmaster/GetAuthGroup',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n if(this.Flag===\"LOADFROM\") \n {\n this.SearchData=result.respdata.Table; \n this.dataSource=result.respdata.Table; \n // console.log('datasource',this.SearchData);\n }\n if(this.Flag===\"LOADTO\") \n { \n // this.SearchData1=result.respdata.Table; \n this.dataSource1=result.respdata.Table; \n } \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getddllist()\n { \n let params = {\n CID: this.cid,\n Flag: \"PAGELOAD\", \n };\n this.service.httpPost('/authgroupmaster/GetAuthGroup',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.Companies = result.respdata.Table; \n this.GroupName=result.respdata.Table1; \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n doFilter(filterValue: string) { \n const result = this.SearchData.filter(option => option.EmpName.toLowerCase().includes(filterValue)); \n this.dataSource=result; \n }\n\n Submit()\n { \n if (this.AuthFormGroup.invalid) {\n this.NotificationService.warn('Please select mandatory fields'); \n return;\n } \n\n let params = { \n CID: this.AuthFormGroup.get('fcCompany').value,\n Flag: \"ADD\", \n UserID:this.CurLedgerID, \n To:this.AuthFormGroup.get('fcTo').value,\n dtAuth: this.dataSource1, \n GroupID:JSON.parse(sessionStorage.getItem('groupid'))\n };\n this.service.httpPost('/authgroupmaster/SetAuthGroupMaster',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n // this.onClear();\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n // this.onClear();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onClear()\n {\n this.AuthFormGroup.reset(); \n this.dataSource=[];\n this.dataSource1=[];\n this.AuthFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex,\n );\n }\n } \n\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, Input, OnInit, Output, ViewChild,EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\n\n\nexport interface TableColumn {\n header: string;\n field: string;\n width?: string;\n readOnly?: boolean;\n}\nexport interface ActionEvent {\n icon: string;\n tooltip: string;\n flag: string;\n color:string;\n}\n\nexport class Group {\n level = 0;\n parent: Group;\n expanded = false;\n totalCounts = 0;\n get visible(): boolean {\n return !this.parent || (this.parent.visible && this.parent.expanded);\n }\n}\n\n@Component({\n selector: 'app-dynamic-table-component',\n templateUrl: './dynamic-table-component.component.html',\n styleUrls: ['./dynamic-table-component.component.scss'],\n})\n\nexport class DynamicTableComponentComponent implements AfterViewInit {\n\n @Input() columns: TableColumn[] = [];\n @Input() dataSource: any[] = [];\n @Input() Actionlist:ActionEvent[]=[];\n @Output() buttonClicked: EventEmitter = new EventEmitter();\n tableDataSource: MatTableDataSource = null;\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n displayedColumns: string[] = [];\n groupByColumns: string[] = [];\n\n \n \n\n\n\n\n // dataSource = [\n // { name: 'John', age: 30 },\n // { name: 'Doe', age: 25 }\n // // Add more data as needed\n // ];\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n \n console.log('dunamic55',this.dataSource)\n // this.tableDataSource = new MatTableDataSource(this.dataSource);\n // // this.EmployeeList = new MatTableDataSource(result.respdata.Table);\n // console.log('dunamic',this.tableDataSource)\n // this.tableDataSource.sort = this.sort;\n // this.tableDataSource.paginator = this.paginator;\n }\n ngAfterViewInit() {\n console.log('dunamic44',this.dataSource)\n\n this.tableDataSource = new MatTableDataSource(this.dataSource);\n\n this.tableDataSource.paginator = this.paginator;\n this.tableDataSource.sort = this.sort;\n\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnChanges() {\n if (this.tableDataSource) {\n this.tableDataSource.data=[];\n this.tableDataSource.data = this.dataSource;\n this.getColumnIds()\n this.tableDataSource.paginator = this.paginator;\n this.tableDataSource.sort = this.sort;\n }\n }\n getColumnIds() {\n this.displayedColumns=[];\n // console.log('dunamic',[this.columns.map(column => column.field)])\n this.displayedColumns.push(...this.columns.map(column => column.field));\n this.displayedColumns.push('Action');\n // return this.columns.map(column => column.field);\n // return [this.columns.map(column => column.field)];\n }\n \n getColumnIds1() {\n this.displayedColumns=[];\n // console.log('dunamic',[this.columns.map(column => column.field)])\n this.displayedColumns.push('Name');\n // this.displayedColumns.push('Action');\n // return this.columns.map(column => column.field);\n // return [this.columns.map(column => column.field)];\n }\n\n onClick(value,flag)\n {\n console.log('value',flag)\n this.buttonClicked.emit({ flag, value });\n \n }\n\n\n \n // groupBy(column: string) {\n \n // // Implement your logic to group data by selected column\n // // This is just a placeholder, you need to implement your own logic\n // const groupedData = this.groupDataByColumn(this.dataSource, column);\n\n // // Assign the grouped data to the MatTableDataSource\n // this.tableDataSource.data=[];\n // this.getColumnIds()\n // this.tableDataSource = new MatTableDataSource(groupedData);\n // // this.tableDataSource.data = groupedData;\n \n\n // console.log('groupedData',this.tableDataSource.data )\n\n // // this.tableDataSource.paginator = this.paginator;\n // // // Ensure the sort is updated to reflect the new data\n // // this.tableDataSource.sort = this.sort;\n // // Trigger change detection to update the view\n // this.changeDetectorRef.detectChanges();\n // }\n\n // private groupDataByColumn(data: any[], column: string): any[] {\n // console.log('data',data)\n // // Implement your logic to group data by selected column\n // // This is just a placeholder, you need to implement your own logic\n // const groupedData = data.reduce((acc, curr) => {\n // const key = curr[column];\n // acc[key] = acc[key] || [];\n // acc[key].push(curr);\n // return acc;\n // }, {});\n\n\n\n // // return Object.values(groupedData);\n // return Object.keys(groupedData).map(key => ({ key, values: groupedData[key] }));\n // }\n\n groupBy(event, column: any[]) {\n //event.stopPropagation();\n console.log('column.field',column[0].field)\n this.checkGroupByColumn(column[0].field, true);\n console.log('this.groupByColumns',this.groupByColumns)\n this.tableDataSource.data = this.addGroups(this.dataSource, this.groupByColumns); \n this.tableDataSource.filterPredicate = this.customFilterPredicate.bind(this);\n //console.log('amjath', this.tableDataSource )\n //console.log('this.dataSource.data', this.tableDataSource);\n this.tableDataSource.filter = performance.now().toString();\n //this.tableDataSource.data = [...this.tableDataSource.data];\n // this.changeDetectorRef.detectChanges();\n }\n checkGroupByColumn(field, add) {\n let found = null;\n for (const column of this.groupByColumns) {\n if (column === field) {\n found = this.groupByColumns.indexOf(column, 0);\n }\n }\n if (found != null && found >= 0) {\n if (!add) {\n this.groupByColumns.splice(found, 1);\n }\n } else {\n if (add) {\n this.groupByColumns.push(field);\n }\n }\n }\n addGroups(data: any[], groupByColumns: string[]): any[] {\n const rootGroup = new Group();\n rootGroup.expanded = true;\n return this.getSublevel(data, 0, groupByColumns, rootGroup);\n }\n getSublevel(\n data: any[],\n level: number,\n groupByColumns: string[],\n parent: Group\n ): any[] {\n //console.log('groupByColumns',groupByColumns)\n if (level >= groupByColumns.length) {\n return data;\n }\n const groups = this.uniqueBy(\n data.map((row) => {\n const result = new Group();\n result.level = level + 1;\n result.parent = parent;\n for (let i = 0; i <= level; i++) {\n result[groupByColumns[i]] = row[groupByColumns[i]];\n }\n // console.log('data33',result)\n return result;\n }),\n JSON.stringify\n );\n const currentColumn = groupByColumns[level];\n let subGroups = [];\n groups.forEach((group) => {\n const rowsInGroup = data.filter(\n (row) => group[currentColumn] === row[currentColumn]\n );\n group.totalCounts = rowsInGroup.length;\n const subGroup = this.getSublevel(\n rowsInGroup,\n level + 1,\n groupByColumns,\n group\n );\n subGroup.unshift(group);\n subGroups = subGroups.concat(subGroup);\n });\n return subGroups;\n \n }\n uniqueBy(a, key) {\n const seen = {};\n return a.filter((item) => {\n const k = key(item);\n return seen.hasOwnProperty(k) ? false : (seen[k] = true);\n });\n }\n\n groupHeaderClick(row: any | Group) {\n console.log(\"Before toggle:\", row);\n row.expanded = !row.expanded;\n console.log(\"After toggle:\", row);\n \n // Trigger a refresh of the MatTableDataSource\n this.tableDataSource.data = [...this.tableDataSource.data];\n console.log(\"Updated data:\", this.tableDataSource.data);\n }\n \n\n customFilterPredicate(data: any | Group, filter: string): boolean {\n return data instanceof Group ? data.visible : this.getDataRowVisible(data);\n }\n \n getDataRowVisible(data: any): boolean {\n const groupRows = this.tableDataSource.data.filter((row) => {\n if (!(row instanceof Group)) {\n return false;\n }\n let match = true;\n this.groupByColumns.forEach((column) => {\n if (!row[column] || !data[column] || row[column] !== data[column]) {\n match = false;\n }\n });\n return match;\n });\n \n if (groupRows.length === 0) {\n return true;\n }\n const parent = groupRows[0] as Group;\n return parent.visible && parent.expanded;\n }\n \n // customFilterPredicate(data: any | Group, filter: string): boolean {\n // return data instanceof Group ? data.visible : this.getDataRowVisible(data);\n // }\n \n // getDataRowVisible(data: any): boolean {\n // const groupRows = this.tableDataSource.data.filter((row) => {\n // if (!(row instanceof Group)) {\n // return false;\n // }\n // let match = true;\n // this.groupByColumns.forEach((column) => {\n // if (!row[column] || !data[column] || row[column] !== data[column]) {\n // match = false;\n // }\n // });\n // return match;\n // });\n \n // if (groupRows.length === 0) {\n // return true;\n // }\n // const parent = groupRows[0] as Group;\n // return parent.visible && parent.expanded;\n // }\n\n isGroup(index, item): boolean {\n return item.level;\n }\n}\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Observable } from 'rxjs';\nimport { User } from 'src/app/Modules/user';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { UserService } from '../../Admin/Users/userValidate';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-leavetypeconfiguration',\n templateUrl: './leavetypeconfiguration.component.html',\n styleUrls: ['./leavetypeconfiguration.component.scss'],\n})\nexport class LeavetypeconfigurationComponent implements OnInit {\n dataSource:any;\n LeaveDetails:any;\n Companies:any;\n LeaveID:any;\n Status:any;\n carryForward:any;\n DayType:any;\n PaidLeave:any;\n checkBoxesMode: string;\n isTzidVisible: boolean ;\n isStatusVisible: boolean ;\n isALPIDVisible: boolean ;\n CurLedgerID:number;\n onSelectionChange:boolean;\n cid:any;\n rowcount:any;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n \n SelectedValue:string;\n LeaveTypeMaster:FormGroup;\n\n options: string[] = ['Paid', 'UnPaid'];\n \n //displayedColumns: string[] = ['AccrualType', 'Day','Month','NoofDays','AffectedYear','action'];\n dataSource2 = new MatTableDataSource();\n VOForm: FormGroup;\n filteredOptions:Observable;\n myControl = new FormControl(); \n isLoading = true;\n\n setWeekEnd: '1' | '0' = '0';\n setHolidays: '1' | '0' = '0';\n setEncash: '1' | '0' = '0';\n\n dynamicArray: Array = []; \n newDynamic: any = {}; \n Condition2:boolean;\n Condition:boolean;\n\n constructor(\n private formBuilder: FormBuilder,\n private service:HttpserviceService,\n private NotificationService: NotificationService, \n private service1: UserService, \n private generic: GenericService,\n private fb: FormBuilder,\n public dialogRef: MatDialogRef,\n private dialogService: DialogService,\n private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) \n {\n this.LeaveTypeMaster = this.formBuilder.group\n ({ \n fcCompany: ['', Validators.required] , \n //fcLeaveID: ['', Validators.required] ,\n fcLeaveName:['',Validators.required],\n fcDescription:['',Validators.required],\n fcCarryForward:['',Validators.required],\n fcLeaveCode:['',Validators.required],\n fcEncashment:['',Validators.required],\n fcStatus:['',Validators.required],\n fcLeaveType:['',Validators.required],\n fcDayType:[''],\n fcCFNoOfDays:[''],\n fcCFExpiry:[''],\n fcWeekEnds:[''],\n fcHolidays:['']\n // fcEnExpiry:['',Validators.required]\n // fcEnNoOfDays:['',Validators.required],\n }); \n \n //this.checkBoxesMode = 'always'\n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.getddllist(); \n this.isTzidVisible=false;\n this.isStatusVisible=false;\n this.isALPIDVisible=false;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.LeaveTypeMaster.controls.fcCompany.setValue(this.cid);\n this.LeaveTypeMaster.controls.fcCarryForward.setValue('Limit');\n this.LeaveTypeMaster.controls.fcDayType.setValue('WorkingDays');\n this.LeaveTypeMaster.controls.fcLeaveType.setValue('Paid');\n this.LeaveTypeMaster.controls.fcStatus.setValue(1);\n\n this.newDynamic = {accrual: \"StartOfYear\", days: 0,NoOfMonthFromJoiningDate:1}; \n this.dynamicArray.push(this.newDynamic); \n \n }\n\n onClear()\n {\n this.LeaveTypeMaster.reset(); \n //this.getddllist(); \n //this.dataSource=''; \n this.LeaveDetails='';\n this.LeaveTypeMaster.controls.fcCompany.setValue(this.cid);\n }\n\n selectedLeaveName(event) { \n // this.selectedEmpID = event.option.value;\n // const str: string = this.selectedEmpID; \n //console.log('selected leave nae', event.option.value);\n //this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n // console.log('selectedEmpID', this.selectedEmpID); \n this.SelectedValue=event.option.value\n let params = {\n CID: this.cid,\n LeaveName:event.option.value,\n Flag: \"SelectLeaveData\", \n };\n //console.log('params',params)\n this.service.httpPost('/leavetypemaster/GetLeaveTypeMaster',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n // console.log('data ', data);\n if (result.errno === 0) { \n //this.LeaveID = result.respdata.LeaveDetails; \n this.LeaveTypeMaster.controls.fcLeaveName.setValue(result.respdata.LeaveDetails[0].LeaveName); \n this.LeaveTypeMaster.controls.fcCarryForward.setValue(result.respdata.LeaveDetails[0].CarryForwardDays);\n this.LeaveTypeMaster.controls.fcDayType.setValue(result.respdata.LeaveDetails[0].LeaveDayType);\n this.LeaveTypeMaster.controls.fcLeaveType.setValue(result.respdata.LeaveDetails[0].LeaveType);\n this.LeaveTypeMaster.controls.fcDescription.setValue(result.respdata.LeaveDetails[0].LeaveDescription);\n this.LeaveTypeMaster.controls.fcLeaveCode.setValue(result.respdata.LeaveDetails[0].LeaveCode);\n \n this.LeaveTypeMaster.controls.fcCFNoOfDays.setValue(result.respdata.LeaveDetails[0].NoofDays);\n this.LeaveTypeMaster.controls.fcStatus.setValue(result.respdata.LeaveDetails[0].Status);\n //this.LeaveTypeMaster.controls.fcCFNoOfDays.setValue('Paid');\n this.setEncash=result.respdata.LeaveDetails[0].Encashment;\n this.setWeekEnd =result.respdata.LeaveDetails[0].SetWeekEnd;\n this.setHolidays=result.respdata.LeaveDetails[0].SetHolidays;\n this.dynamicArray=result.respdata.AccrualDat; \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n getddllist()\n {\n let params = {\n CID: this.cid,\n LeaveName:0,\n Flag: \"DDL_ADD\", \n };\n this.service.httpPost('/leavetypemaster/GetLeaveTypeMaster',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n // console.log('data ', data);\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.LeaveID = result.respdata.LeaveType;\n // this.Leave =result.respdata.LeaveType;\n this.carryForward = result.respdata.CarryForward; \n this.DayType= result.respdata.DayType; \n this.Status = result.respdata.Status;\n this.dataSource=result.respdata.CarryForward; \n this.LeaveDetails=result.respdata.GridData; \n this.rowcount=result.respdata.Count; \n this.getUserList(); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_5\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.viewbtnvisible = btnVisilityData.viewflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n\n Submit()\n {\n // console.log('Row',this.newDynamic);\n\n let params = {\n CID: this.cid, \n Flag: this.data.Flag,//\"ADD\", \n LeaveTypeID: this.SelectedValue,\n LeaveName: this.LeaveTypeMaster.get('fcLeaveName').value,\n LeaveType: this.LeaveTypeMaster.get('fcLeaveType').value,\n LeaveCode: this.LeaveTypeMaster.get('fcLeaveCode').value,\n LeaveDescription: this.LeaveTypeMaster.get('fcDescription').value,\n CarryForward: this.LeaveTypeMaster.get('fcCarryForward').value,\n CarryForwardDays: this.LeaveTypeMaster.get('fcCFNoOfDays').value,\n //CarryForwardExpiry: parseInt(this.LeaveTypeMaster.get('fcCFExpiry').value),\n Encashment:parseInt(this.LeaveTypeMaster.get('fcEncashment').value),\n LeaveDayType: this.LeaveTypeMaster.get('fcDayType').value,\n SetWeekEnd: parseInt(this.LeaveTypeMaster.get('fcWeekEnds').value),\n SetHoliday: parseInt(this.LeaveTypeMaster.get('fcHolidays').value),\n Status : this.LeaveTypeMaster.get('fcStatus').value, \n UserID :this.CurLedgerID,\n GroupID:\"\",\n DtAccrualLeaveData:this.dynamicArray\n };\n // console.log('param',params)\n this.service.httpPost('/leavetypemaster/SetLeaveTypeMaster',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n // console.log('data ', data);\n if (result.errno === 0) { \n this.NotificationService.success(result.errdesc); \n }\n else {\n this.NotificationService.warn(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n this.NotificationService.warn(error);\n else throw this.NotificationService.warn(error); \n });\n }\n\n \n\n\n addRow() { \n this.newDynamic = {accrual: \"\", days: \"\",NoOfMonthFromJoiningDate:\"\"}; \n this.dynamicArray.push(this.newDynamic); \n //this.toastr.success('New row added successfully', 'New Row'); \n //this.NotificationService.success('New row added successfully');\n //console.log(this.dynamicArray); \n return true; \n } \n\n deleteRow(index) { \n if(this.dynamicArray.length ==1) { \n this.NotificationService.warn(\"Can't delete the row when there is only one row\");\n // this.toastr.error(\"Can't delete the row when there is only one row\", 'Warning'); \n return false; \n } else { \n this.dynamicArray.splice(index, 1); \n this.NotificationService.warn(\"Row deleted successfully\");\n // this.toastr.warning('Row deleted successfully', 'Delete row'); \n return true; \n } \n }\n \n}\n\n\nexport interface AccrualColumn {\n AccrualType: string;\n Day: number;\n Month: number;\n NoofDays: number;\n AffectedYear:string;\n}\n\nexport class DynamicGrid{ \n accrual:string; \n days:number; \n NoOfMonthFromJoiningDate:number; \n}\n\nconst ELEMENT_DATA: AccrualColumn[] = [\n {AccrualType: 'Year', Day: 1, Month: 6, NoofDays: 15,AffectedYear:'Current'}, \n \n];\n\n","import { DatePipe } from '@angular/common';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { User } from 'src/app/Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { VoucherforHRComponent } from '../voucherfor-hr/voucherfor-hr.component';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { MatStepper } from '@angular/material/stepper';\nimport { StepperSelectionEvent } from '@angular/cdk/stepper';\nimport { DxDataGridComponent } from 'devextreme-angular';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { BehaviorSubject } from 'rxjs';\nimport { FormControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged, map, startWith } from 'rxjs/operators';\nimport { PayslippaymentfilterComponent } from '../EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component';\n\n@Component({\n selector: 'app-payslip',\n templateUrl: './payslip.component.html',\n styleUrls: ['./payslip.component.scss'],\n})\nexport class PayslipComponent implements OnInit {\n @ViewChild('gridContainer', { static: false }) gridContainer!: DxDataGridComponent;\n\n\n showSpinner:any;\n curUser: User= JSON.parse(sessionStorage.getItem('currentUser'));\n cid:any=101;\n flag:any=\"ADD\";\n LedgerID:any=0;\n fromdate:any=new Date() ;\n todate:any= new Date();\n dataSource:any;\n dataSource1:any;\n Prefix:any;\n columnNames:any;\n currentPage = 1;\n pageSize = 17;\n companies:any;\n Employeelist:any;\n Categorylist:any;\n Typelist:any;\n Prefixlist:any;\n payslipmonth:any=new Date() ;\n VouDate:any=new Date() ;\n \n Category:any=0;\n Type:any=0;\n payslipgrid:any;\n payslipobj:any;\n AccountSource: any;\n Ledgerlist:any;\n DaysInMonth:any;\n DT_PaySlipMain=[];\n DT_PaySlipSub=[];\n _PSRef:any=\"\";\n VouNo:any;\n isshowme:boolean=true;\n wages_:any;\n isDialogOpen: boolean = false;\n dynamicColumnNames: string[] = [];\n columns: Array = [];\n filteredEmployeelist: BehaviorSubject;\n employeeFilterCtrl = new FormControl();\n sumofearings:number=0;\n sumofdeduction:number=0;\n sumofnetamount:number=0;\n sumofpaidamount:number=0;\n DateTypeFlag:any='Today';\n selectedTabIndex = 0;\n\n // get rows(): any[] {\n // const startIndex = (this.currentPage - 1) * this.pageSize;\n // const endIndex = Math.min(startIndex + this.pageSize, this.dataSource.length);\n // return this.dataSource.slice(startIndex, endIndex);\n // }\n\n // getCurrentPageData(): any[] {\n // const startIndex = (this.currentPage - 1) * this.pageSize;\n // const endIndex = Math.min(startIndex + this.pageSize, this.dataSource.length);\n // return this.dataSource.slice(startIndex, endIndex);\n // }\n\n displayedColumns =['PSRef','PSMonth','Earnings','Deductions','NetAmount','PaidAmount','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n\n\n constructor(private service:HttpserviceService,private datePipe: DatePipe,public dialog: MatDialog,private NotificationService: NotificationService) \n { \n this.fromdate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n this.todate=this.datePipe.transform(new Date(),'yyyy-MM-dd') ;\n }\n\n\n ngOnInit() \n {\n this.LoadData()\n this.companies=this.curUser.dtsiteid;\n\n this.employeeFilterCtrl.valueChanges\n .pipe(\n startWith(''),\n debounceTime(300),\n distinctUntilChanged(),\n map(filterText => this.filterEmployees(filterText))\n )\n .subscribe(filteredEmployees => {\n this.filteredEmployeelist.next(filteredEmployees);\n });\n console.log(\"eventtst\")\n }\n onCompanySelect(event)\n {\n this.cid=event;\n this.LoadData();\n\n }\n selectionChange(event: StepperSelectionEvent) {\n console.log('action',event.selectedIndex);\n let stepLabel = event.selectedStep.label\n if (event.selectedIndex == 1) {\n this.flag=\"ADD\";\n this.LedgerID=0;\n this.Category=0;\n\n \n }\n this.payslipgrid=[];\n this.AccountSource=[];\n this.LoadData()\n }\n\n Populate()\n {\n\n //this.AccountSource.push({'Ledger':186,'TCDebit':0,'TCCredit':0,'Comment':''})\n this.selectedTabIndex=0;\n \n\n const year = this.payslipmonth.getFullYear(); // Get the current year\n const month = this.payslipmonth.getMonth() + 1; // Get the current month\n const daysInMonth = this.getDaysInMonth(year, month);\n\n this.showSpinner=true;\n const params = {\n cid: '101',\n payslipmonth:this.datePipe.transform( this.payslipmonth,\"MM-dd-yyyy\"),\n Category:this.Category==0 ? '--ALL--':this.Category,\n LedgerID:this.LedgerID,\n TemplateID:this.Type,\n objmain:{\n str_PSRef:\"\",\n int_BusinessPeriodID:105\n\n\n }\n\n \n }; \n\n \n this.service.httpPost('/Payslip/BuildPayslip?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n this.columns=[];\n console.log(\"payslip\",result.respdata)\n this.payslipgrid=result.respdata.PayslipTemplateGrid;\n this.payslipobj=result.respdata.Payslipobj;\n this.wages_=this.payslipobj.dt_Wages;\n // console.log(\"caption\",this.payslipgrid.PDAYS)\n\n if (this.payslipgrid.length > 0) {\n this.dynamicColumnNames = Object.keys(this.payslipgrid[0]);\n }\n\n for (var i: number = 0; i < this.payslipobj.DT_PayslipTemplate.length; i++) {\n const keydata = this.payslipobj.DT_PayslipTemplate[i];\n\n this.columns.push({\n dataField: keydata.Tag,\n caption:keydata.CustomText,\n // allowSearch:false,\n // width :keydata.Width,\n // allowEditing:keydata.allowEditing,\n // visible:keydata.Visibility,\n // precision:2,\n // FormatString:2 ,\n // editorOptions:\"{ onValueChanged:changeValueCodeCompteurCET, showClearButton:true}\"\n })\n \n }\n \n \n \n\n console.log(\"caption\", this.dynamicColumnNames)\n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n \n });\n\n }\n edit(item,stepper: MatStepper)\n {\n stepper.next();\n console.log(\"edit\",item)\n\n this.isDialogOpen=false\n\n this.flag=\"EDIT\";\n this._PSRef=item.PSRef;\n this.VouNo=item.PSRef;\n const params = {\n cid: '101',\n // objmain.str_PSRef:this.datePipe.transform( this.payslipmonth,\"MM-dd-yyyy\"),\n Category:this.Category==0 ? '--ALL--':this.Category,\n LedgerID:0,\n TemplateID:this.Type,\n objmain:{\n str_PSRef:item.PSRef,\n int_BusinessPeriodID:105\n\n\n }\n\n \n }; \n\n \n this.service.httpPost('/Payslip/GetPaySlipDetails?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"payslip\",result.respdata)\n this.payslipgrid=result.respdata.PayslipTemplateGrid;\n this.payslipobj=result.respdata.Payslipobj;\n this.wages_=result.respdata.Payslipobj.dt_Wages;\n\n\n // this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800) \n \n \n });\n }\n showme()\n {\n this.isshowme = !this.isshowme;\n }\n Save()\n {\n \n //debugger;\n this.Build_PaySlipMainDT();\n this.Build_PaySlipSubDT();\n let accot=this.AccountSource;\n\n console.log(\"DT_PaySlipMain\",this.DT_PaySlipMain)\n console.log(\"dt_Wages\", this.wages_)\n \n // Assuming _DTWages and ObjcsPaySlip.objPSMain.DT_PaySlipMain are arrays of objects\n\nlet both = this.wages_.filter(row1 =>\n this.DT_PaySlipMain.some(row2 =>\n row1.LedgerID === row2.LedgerID\n )\n);\nconsole.log(\"both\",both)\n\n\nconst params = {\n CID: this.cid,\n str_Flag:this.flag,\n str_FormPrefix:this.Prefix,\n str_MenuID:\"ERP_223\",\n str_Type:this.Type,\n int_BusinessPeriodID:105,\n str_PSRef:this._PSRef,\n int_RevNo:0,\n date_PostDate: this.datePipe.transform( this.VouDate,\"MM-dd-yyyy\"),\n date_PSMonth:this.datePipe.transform( this.payslipmonth,\"MM-dd-yyyy\"), \n dt_PaySlipMain:this.DT_PaySlipMain,\n dt_PaySlipSub:this.DT_PaySlipSub,\n dt_InvoiceAccounts:this.AccountSource,\n dt_Wages:both,\n TemplateID:this.Type,\n str_CurrencyCode:\"AED\"\n\n \n}; \n\n\nthis.service.httpPost('/Payslip/UpdateMultiPayroll?' ,params) \n.subscribe(data =>{\n var result = data as any;\n result = data; \n \n\n console.log('result',result)\n if (result.errno === 0)\n {\n this.NotificationService.success(result.errdesc);\n }\n else\n {\n this.NotificationService.warn(result.errdesc);\n }\n\n //console.log(\"payslip\",result.respdata)\n // this.payslipgrid=result.respdata.PayslipTemplateGrid;\n // this.payslipobj=result.respdata.Payslipobj;\n\n\n // this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800) \n \n \n});\n\n\n }\n // getColumnIndex(cellElement: HTMLElement): number {\n // let columnIndex = -1;\n // const cell = cellElement.closest('.dx-datagrid-cell');\n // if (cell) {\n // columnIndex = Array.from(cell.parentElement.children).indexOf(cell);\n // }\n // return columnIndex;\n // }\n\n // onCellClick(e: any) {\n // // this.rowIndex = e.rowIndex;\n // // this.columnIndex = e.columnIndex;\n\n // console.log(\"event.key\", e.rowIndex);\n // console.log(\"ledgerID\", e.columnIndex);\n // }\n\n // getColumnIndex(fieldName: string): number {\n // const columns = this.dataGrid.instance.getVisibleColumns();\n // for (let i = 0; i < columns.length; i++) {\n // if (columns[i].dataField === fieldName) {\n // return i;\n // }\n // }\n // return -1; // Column not found\n // }\n\n onEditorPreparing(e) {\n if (e.parentType === \"dataRow\" && (e.dataField === \"ADVDeduct\" || e.dataField === \"ADVGiven\" ) && !this.isDialogOpen) {\n // This is where you handle the beginning of editing for a cell\n console.log(\"Cell begin edit:\", e);\n\n this.isDialogOpen = true;\n\n let wages_ = this.wages_.filter(item => item.LedgerID==e.row.data.LedgerID)\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid:this.cid,\n WAGES:wages_,\n LedgerID:e.row.data.LedgerID,\n AdvType:e.dataField == \"ADVDeduct\" ? 'CR':'DR'\n };\n \n const dialogRef = this.dialog.open(VoucherforHRComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n\n console.log('dialog',result);\n\n\n const sumOfPayNow = result.Wageslist.reduce((sum, item) => sum + item.PayNow, 0);\n\n \n\n e.editorOptions.value =sumOfPayNow\n e.setValue =sumOfPayNow\n this.payslipgrid[e.row.rowIndex].ADVDeduct=sumOfPayNow\n\n this.wages_.forEach(item1 => {\n const match = result.Wageslist.find(item2 => item1.LedgerID === item2.LedgerID && item1.ReqID === item2.ReqID);\n if (match) {\n // Update PayNow and AmountType\n item1.PayNow = match.PayNow;\n item1.AmountType = match.AmountType;\n }\n });\n\n\n// const indexToUpdate = this.wages_.findIndex(item => item.LedgerID === result.Wageslist.LedgerID && item.ReqID === result.Wageslist.ReqID);\n// console.log('PayNow',indexToUpdate)\n\n\n// If the object is found, update it\n// if (indexToUpdate !== -1) {\n// console.log('PayNow1',result.Wageslist.PayNow)\n// this.wages_[indexToUpdate].PayNow = result.Wageslist.PayNow;\n\n \n \n// }\n\nconst params = {\n cid: this.cid,\n payslipmonth:this.datePipe.transform( this.payslipmonth,\"MM-dd-yyyy\"),\n Category:this.Category==0 ? '--ALL--':this.Category,\n LedgerID:e.row.data.LedgerID,\n TemplateID:this.Type,\n dt_Employees:this.payslipobj.dt_Employee,\n dt_Absent:this.payslipobj.dt_Absent,\n dt_SalPartWithGrossAmount:this.payslipobj.dt_SalPartWithGrossAmount,\n dt_OTHours:this.payslipobj.dt_OTHours,\n dt_WeekEnd:this.payslipobj.dt_WeekEnd,\n DT_PayslipTemplate:this.payslipobj.DT_PayslipTemplate,\n rowindex:e.row.rowIndex,\n colindex:3,\n _DaysInMonth:this.payslipobj._DaysInMonth,\n dt_PayslipTemplateGrid:this.payslipgrid,\n Columnname:e.dataField,\n editValue:sumOfPayNow\n \n}; \n\n\nthis.service.httpPost('/Payslip/Cellvaluechanged?' ,params) \n.subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"payslip\",result.respdata)\n //this.payslipgrid=result.respdata;\n this.payslipgrid=result.respdata.PayslipTemplateGrid;\n this.payslipobj=result.respdata.Payslipobj;\n\n\n \n \n \n});\n\n// Output the updated array\nconsole.log('wages_',this.wages_);\n\n this.isDialogOpen = false;\n });\n\n }\n }\n// onCellClick(e) {\n// // 'e' parameter contains information about the event\n// console.log('Cell clicked:', e);\n \n// // Example: Get data of clicked cell\n// const rowIndex = e.rowIndex;\n// const columnIndex = e.columnIndex;\n// const cellData = e.data[columnIndex]; // Assuming you want to access cell data based on column index\n\n// // Perform any actions you need based on the clicked cell\n// }\n\n\n onRowUpdating(event: any) {\n const ledgerID = event.key; // Assuming 'LedgerID' is the primary key field name\n\n console.log(\"event\", event);\n\n // Get the index of the row with the matching primary key value\n const rowIndex = this.payslipgrid.findIndex(row => row.LedgerID === ledgerID);\n\n if (rowIndex !== -1) {\n // Now you have the row index\n \n\n // Proceed with your logic\n } else {\n console.error(\"Row not found in the data source.\");\n }\n\n\n // Now you have the row index and column index\n //console.log(\"Row Index:\", rowIndex);\n //console.log(\"Column Index:\", columnIndex);\n const jsonData: string =JSON.stringify(event.newData) ;\n const data: { [key: string]: any } = JSON.parse(jsonData);\n const columnName: string = Object.keys(data)[0];\nconst value: any = data[columnName];\n\n if (columnName !=='Updated')\n {\n const params = {\n cid: this.cid,\n payslipmonth:this.datePipe.transform( this.payslipmonth,\"MM-dd-yyyy\"),\n Category:this.Category==0 ? '--ALL--':this.Category,\n LedgerID:ledgerID,\n TemplateID:this.Type,\n dt_Employees:this.payslipobj.dt_Employee,\n dt_Absent:this.payslipobj.dt_Absent,\n dt_SalPartWithGrossAmount:this.payslipobj.dt_SalPartWithGrossAmount,\n dt_OTHours:this.payslipobj.dt_OTHours,\n dt_WeekEnd:this.payslipobj.dt_WeekEnd,\n DT_PayslipTemplate:this.payslipobj.DT_PayslipTemplate,\n rowindex:rowIndex,\n colindex:3,\n _DaysInMonth:this.payslipobj._DaysInMonth,\n dt_PayslipTemplateGrid:this.payslipgrid,\n Columnname:columnName,\n editValue:value\n \n }; \n \n \n this.service.httpPost('/Payslip/Cellvaluechanged?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"payslip\",result.respdata)\n //this.payslipgrid=result.respdata;\n this.payslipgrid=result.respdata.PayslipTemplateGrid;\n this.payslipobj=result.respdata.Payslipobj;\n \n \n \n \n \n });\n\n }\n else if (columnName =='Updated' && value==true)\n {\n // debugger;\n // console.log(\"total\",this.payslipgrid)\n\n const t =this.payslipgrid[rowIndex].NSAL;\n \n\n // const sum = this.payslipgrid.reduce((total, currentItem) => {\n // // Assuming you want to sum NSAL values only for items where another property meets a condition\n // if (currentItem.Updated === true) {\n // // Replace someProperty and desiredValue with your actual property and condition\n // return total + currentItem.NSAL;\n // } else {\n // return total;\n // }\n // }, 0); // 0 is the initial value of the sum\n \n console.log('Sum of the column:', t);\n\n // this.AccountSource.map(item=> item.TCDebit=500);\n\n const sum = this.payslipgrid.reduce((total, currentItem) => {\n // Assuming you want to sum NSAL values only for items where another property meets a condition\n if (currentItem.Updated == true) {\n // Replace someProperty and desiredValue with your actual property and condition\n return total + currentItem.TOTEAR; ;\n } else {\n return total;\n }\n }, 0); // 0 is the initial value of the sum\n \n console.log('this.payslipgrid', this.payslipgrid);\n\n this.AccountSource.map(item=> item.TCDebit=item.TCDebit+t);\n }\n console.log('AccountSource', this.AccountSource);\n }\n \n onTabClick(event: any): void {\n // Extract information about the selected tab\n const index = event.index;\n const tab = event.tab;\n\n // Log the information to the console or perform any other actions\n //console.log('Tab clicked:', index, tab.textLabel);\n\n if(index==1)\n {\n const sum = this.payslipgrid.reduce((total, currentItem) => {\n // Assuming you want to sum NSAL values only for items where another property meets a condition\n if (currentItem.Updated === true) {\n // Replace someProperty and desiredValue with your actual property and condition\n return total + currentItem.TOTEAR; ;\n } else {\n return total;\n }\n }, 0); // 0 is the initial value of the sum\n \n console.log('Sum of the column:', sum);\n this.AccountSource.map(item=> item.TCDebit=sum);\n }\n }\n getDaysInMonth(year: number, month: number): number {\n // JavaScript months are 0-based, so we subtract 1 from the month\n // to get the correct index.\n return new Date(year, month, 0).getDate();\n}\n\nFilter()\n {\n const dialogRef = this.dialog.open(PayslippaymentfilterComponent, {\n width: '30%', // Set the width of the dialog\n height:'85%',\n position: { right: '0' }, // Set the position to right side\n data:{\n cid:this.cid,\n LedgerID:0,\n EmpName:'',\n Category:this.Category, \n Type:'',\n DateTypeFlag:this.DateTypeFlag,\n fromdate:this.fromdate,\n todate:this.todate\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log('The dialog was closed',result);\n if (result !== undefined)\n {\n // this.qtnstatus=result.Status\n this.cid=result.CID\n // this.EmpID=result.LedgerID\n // this.EmpName=result.Name\n this.Category=result.Category\n // this.PSType=result.Type\n this.DateTypeFlag=result.DateTypeFlag\n this.fromdate=result.FromDate\n // const dateObj= new Date(result.ToDate); \n this.todate = result.ToDate //this.datePipe.transform(dateObj, 'yyyy-MM-dd');\n this.LoadData()\n }\n \n });\n }\n \n LoadData()\n {\n\n this.showSpinner=true;\n const params = {\n cid: this.cid,\n MenuID:'ERP_223',\n Date1:'--ALL--',\n FromDate:this.datePipe.transform(this.fromdate,\"MM-dd-yyyy\") ,\n ToDate:this.datePipe.transform( this.todate,\"MM-dd-yyyy\")\n }; \n\n \n const query = `cid=${params.cid}&MenuID=${params.MenuID}&Date1=${params.Date1}&FromDate=${params.FromDate}&ToDate=${params.ToDate}`;\n\n\n this.service.httpGet('/Payslip/GetEmppaySlipmain?' ,query) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n\n console.log(\"mm\",result.respdata)\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n this.dataSource= new MatTableDataSource(result.respdata.PayLedger); \n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.Employeelist= result.respdata.Employee; \n this.Categorylist= result.respdata.Category; \n this.Typelist= result.respdata.Type; \n this.Prefixlist= result.respdata.Prefix; \n\n this.filteredEmployeelist = new BehaviorSubject(this.Employeelist);\n\n // this.dataSource1 = result.respdata.Table; \n // this.columnNames=result.respdata.columnNames;\n // console.log(\"columnNames\",this.columnNames)\n // this.dataSource1 = this.getCurrentPageData();\n this.Ledgerlist= result.respdata.Ledgerlist; \n this.AccountSource= result.respdata.AccountGrid; \n\n console.log(\"Prefixlist\",result.respdata.PayLedger)\n this.Type=this.Typelist[0].VouNo;\n this.Prefix=this.Prefixlist[0].Prefix;\n\n\n this.sumofearings = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.Earnings}, 0);\n this.sumofdeduction = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.Deductions}, 0);\n this.sumofnetamount = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.NetAmount}, 0);\n this.sumofpaidamount = result.respdata.PayLedger.reduce((total, currentItem) => {return total + currentItem.PaidAmount}, 0);\n \n this.sumofearings = +this.sumofearings.toFixed(2);\n this.sumofdeduction = +this.sumofdeduction.toFixed(2);\n this.sumofnetamount = +this.sumofnetamount.toFixed(2);\n this.sumofpaidamount = +this.sumofpaidamount.toFixed(2);\n \n });\n }\n\n// nextPage(): void {\n// if (this.currentPage * this.pageSize < this.dataSource.length) {\n// this.currentPage++;\n// }\n// }\n\n// prevPage(): void {\n// if (this.currentPage > 1) {\n// this.currentPage--;\n// }\n// }\n// }\nprivate filterEmployees(filterText: string): any[] {\n if (!filterText) {\n return this.Employeelist;\n }\n return this.Employeelist.filter(employee =>\n employee.AliasName1.toLowerCase().includes(filterText.toLowerCase())\n );\n}\n\n Build_PaySlipMainDT() {\n \n \n for (var i = 0; i < this.payslipgrid.length; i++) {\n if (this.payslipgrid[i].Updated == true) {\n \n let PTagName = this.payslipobj.DT_PayslipTemplate.filter(item => item.PSMainTag=='PresDays');\n let ATagName = this.payslipobj.DT_PayslipTemplate.filter(item => item.PSMainTag=='AbsDays');\n let HTagName = this.payslipobj.DT_PayslipTemplate.filter(item => item.PSMainTag=='OTHours');\n let ETagName = this.payslipobj.DT_PayslipTemplate.filter(item => item.PSMainTag=='Earnings');\n let DTagName = this.payslipobj.DT_PayslipTemplate.filter(item => item.PSMainTag=='Deductions');\n\n\n console.log('Comment',this.payslipgrid[i]['Comment']);\n let t1=PTagName[0].Tag\n console.log('PTagName',this.payslipgrid[i][t1]);\n\n this.DT_PaySlipMain.push({\"PSNO\":this.payslipgrid[i].PSNo,\"LedgerID\":this.payslipgrid[i].LedgerID,\"WorkDays\":this.payslipobj._DaysInMonth\n ,\"PresDays\":this.payslipgrid[i][PTagName[0].Tag],\"AbsDays\":this.payslipgrid[i][ATagName[0].Tag],\n \"OTHours\":this.payslipgrid[i][HTagName[0].Tag],\"Earnings\":ETagName.length>0 ? this.payslipgrid[i][ETagName[0].Tag]:0\n ,\"Deductions\":DTagName.length>0 ? this.payslipgrid[i][DTagName[0].Tag]:0 ,\"NetAmount\":this.payslipgrid[i]['NSAL']\n ,\"Comment\":this.payslipgrid[i]['Comment'] !==undefined? this.payslipgrid[i]['Comment'].length :'',\"PaymentStatus\":''});\n\n \n console.log('DT_PaySlipMain',this.DT_PaySlipMain);\n }\n }\n\n return this.DT_PaySlipMain;\n}\n\nBuild_PaySlipSubDT() {\n \n \n for (var i = 0; i < this.payslipgrid.length; i++) {\n if (this.payslipgrid[i].Updated == true) {\n \n for (var j = 0; j < this.payslipobj.DT_PayslipTemplate.length; j++)\n {\n this.DT_PaySlipSub.push({\"PSNO\":this.payslipgrid[i].PSNo,\"LedgerID\":this.payslipgrid[i].LedgerID\n ,\"Tag\":this.payslipobj.DT_PayslipTemplate[j].Tag,\"Value\":this.payslipgrid[i][this.payslipobj.DT_PayslipTemplate[j].Tag],\n });\n }\n\n\n console.log('DT_PaySlipMain',this.DT_PaySlipSub);\n }\n }\n\n return this.DT_PaySlipSub;\n}\n\n// prevPage(): void {\n// if (this.currentPage > 1) {\n// this.currentPage--;\n// this.dataSource1 = this.getCurrentPageData(); // Update current page data\n// }\n// }\n\n// // Method to navigate to the next page\n// nextPage(): void {\n// const lastPage = Math.ceil(this.dataSource.length / this.pageSize);\n// if (this.currentPage < lastPage) {\n// this.currentPage++;\n// this.dataSource1 = this.getCurrentPageData(); // Update current page data\n// }\n\n \n// }\n\nonRowInserted(event: any) {\n if (event.dataIndex === 0) return; // If it's the first row, do nothing\n\n // Assuming the TCDebit value of the first row is stored in a variable named firstRowTCDebit\n const firstRowTCDebit = this.AccountSource[0].TCDebit;\n\n // Subtract the TCDebit value of the newly added row from the TCDebit value of the first row\n if(firstRowTCDebit>=event.data.TCDebit)\n {\n this.AccountSource[0].TCDebit = firstRowTCDebit - event.data.TCDebit;\n }\n else \n {\n alert('Overmatching');\n\n this.AccountSource.pop();\n }\n \n}\n\n\n}\n\n","\nimport { TimepunchreportComponent } from './../timepunchreport/timepunchreport.component';\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { FormGroup, FormControl, Validators, FormBuilder,AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from './../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { CrmdatecontrolComponent } from './../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { DialogtimepunchleavepostingComponent } from './../../LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component';\nimport { EditotComponent } from './../editot/editot.component';\nimport { UpdatefingerprintComponent } from './../updatefingerprint/updatefingerprint.component';\n\nexport interface User {\n Name: string;\n}\n\n@Component({\n selector: 'app-consolidatetimepunchrptlist',\n templateUrl: './consolidatetimepunchrptlist.component.html',\n styleUrls: ['./consolidatetimepunchrptlist.component.scss'],\n})\nexport class ConsolidatetimepunchrptlistComponent implements OnInit {\n\n @ViewChild('stepper') stepper;\n employeelist: any;\n companies: any;\n category: any;\n AbsentGridData:any;\n datasource: MatTableDataSource;\n ledgerid= 0;\n Categoryid= 0;\n CID: any;\n searchKey: string;\n mobileQuery: MediaQueryList;\n navbarOpen = true;\n date= new Date();\n frmdate= new Date();\n todate1= new Date();\n DateType= 'CurrentDate';\n filterOption: any;\n frmtext= 'Current Date';\n totext: any;\n todatevisible= false;\n fromdatevisible= true;\n flag:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n isEditable = true; \n TimepunchGroup : FormGroup;\n TimepunchDataGroup: FormGroup;\n AbsentDataGroup: FormGroup;\n cid:any;\n showSpinner:any;\n toggle= 'filter_list';\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n isPunchOTvisible:boolean=true;\n isEffortOTvisible:boolean=true;\n isOTEditvisible:boolean=false;\n displayedColumns = ['EMPID', 'EmpName', 'Date', 'Hours','PunchOT', 'In1', 'Out1', 'In2', 'Out2', 'Category','Department','Leavetype', 'Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, private service: HttpserviceService, \n private generic: GenericService, private service1: UserService,\n private NotificationService: NotificationService, private dialog: MatDialog)\n {\n\n this.TimepunchGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDateType: [''], \n fcCategory: [''], \n //fcFromDate: [''], \n // fcToDate: ['']\n \n });\n this.TimepunchDataGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n \n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n // this.getemployeelist();\n this.flag=\"PAGELOAD\";\n this.gettimepunchreport(); \n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.TimepunchGroup.controls.fcToDate.setValue(this.frmdate);\n\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n \n }\n \n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n changesite(e) {\n this.cid=e.value;\n this.flag=\"PAGELOAD\"\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n this.DateTypeFlag=\"Today\";\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n Refresh()\n {\n this.flag=\"LOADGRID\";\n this.gettimepunchreport();\n }\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: 0,\n date: this.date,\n employeelist: this.employeelist,\n CID:this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n onEdit(data, _flag){\n \n if(data.Leavetype==null ){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date ,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID +' - '+ data.EmpName,\n CID:this.CID\n // Rolelist:this.Rolelist\n \n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n }\n\n onEditOT(data, _flag){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date ,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID +' - '+ data.EmpName,\n CID:this.CID,\n OT:data.OTHours\n // Rolelist:this.Rolelist\n \n };\n const dialogRef = this.dialog.open(EditotComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n\n UpdateFingerprintID()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.CID, \n };\n const dialogRef = this.dialog.open(UpdatefingerprintComponent, dialogConfig);\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_127\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Sync(){\n let params = {\n cid: this.cid \n }\n this.service.httpPost('/timepunchreport/TimepunchSync',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.NotificationService.success(result.errdesc); \n }\n else {\n this.NotificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n exportAsExcel()\n { \n this.generic.excelExport(this.datasource.data, 'Timepunch', 'Timepunchreport' );\n }\n \n AbsentList()\n {\n // console.log('HI')\n this.showSpinner=true;\n let params = { \n cid: this.cid,\n Flag: 'LOADABSENTGRID',\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n \n };\n this.service.httpPost('/timepunchreport/GetConsolidateTimepunch',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.stepper.selectedIndex = 2; \n this.AbsentGridData = result.respdata.Table;\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n gettimepunchreport(){\n\n let params\n this.showSpinner=true;\n if(this.flag==\"PAGELOAD\") \n {\n params= {\n \n cid: this.cid,\n Flag: this.flag,\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n }\n else\n {\n params=\n { \n cid: this.cid,\n Flag: this.flag,\n Date: this.fromdate,\n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n DateType: \"ByDate\",\n CurrentMonth:this.fromdate,\n CurrentYear: this.fromdate,\n Month: '',\n FromDate: this.fromdate,\n ToDate: this.todate, \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n\n };\n this.service.httpPost('/timepunchreport/GetConsolidateTimepunch',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0){\n if (this.flag==\"PAGELOAD\")\n {\n this.companies = result.respdata.Table;\n this.CID = this.cid;\n this.category = result.respdata.Table1;\n this.employeelist = result.respdata.Table2;\n this.empid= _.pluck(this.employeelist, 'Name');\n\n\n this.datasource = result.respdata.Table3;\n this.datasource = new MatTableDataSource(result.respdata.Table3);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n\n if(result.respdata.Table3[0].Visibility==\"False\") \n this.isPunchOTvisible=true; \n else\n this.isPunchOTvisible=false;\n\n if(result.respdata.Table4[0].Visibility==\"False\") \n { \n this.isEffortOTvisible=true; \n this.isOTEditvisible=false; \n } \n else\n {\n this.isEffortOTvisible=false;\n this.isOTEditvisible=true; \n }\n\n this.getUserList();\n }\n else\n {\n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1; \n this.getUserList();\n }\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear()\n {\n this.flag=\"PAGELOAD\";\n this.TimepunchGroup.reset(); \n this.myControl.setValue({Name: 'ALL'});\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.stepper.selectedIndex = 0; \n this.datasource = new MatTableDataSource([])\n }\n\n date1= new Date();\n onFocusedRowChanged(e)\n { \n //console.log('grid',e.data)\n if(e.data.LeaveType==\"\" ){\n // console.log('HI')\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"ADD\",\n ledgerid:e.data.LedgerID, \n cid: this.cid,\n //date:this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"MM/dd/yyyy\"), \n date:this.date1, \n type: 1,\n requestyear: new Date().getFullYear(),\n }\n const dialogRef = this.dialog.open(DialogtimepunchleavepostingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.AbsentList(); \n // this.stepper.selectedIndex = 2; \n }); \n \n } \n }\n\n}\n\nexport interface GroupALL {\n EMPID: string;\n EmpName: string;\n Category: string;\n\n\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DisableDataService {\n\n constructor() { }\n getFederalHolidays() : Date[] {\n return disabledate;\n }\n}\n\n\nconst disabledate: Date[] = [\n new Date(2023, 2, 1),\n new Date(2023, 2, 2),\n new Date(2023, 2, 3),\n new Date(2023, 2, 4),\n new Date(2023, 2, 5),\n new Date(2023, 2, 6),\n new Date(2023, 2, 7),\n new Date(2023, 2, 13),\n new Date(2023, 2, 14),\n new Date(2023, 2, 15),\n new Date(2023, 2, 16),\n new Date(2023, 2, 17),\n new Date(2023, 2, 18),\n new Date(2023, 2, 19),\n new Date(2023, 2, 20),\n new Date(2023, 2, 21),\n new Date(2023, 2, 22),\n new Date(2023, 2, 23),\n new Date(2023, 2, 24),\n new Date(2023, 2, 25),\n new Date(2023, 2, 26),\n new Date(2023, 2, 27),\n];\n\n","import { DialogService } from '../../../../Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { Inject } from '@angular/core';\nimport {FormControl, FormBuilder,AbstractControl, FormGroup } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { DxDataGridComponent,} from 'devextreme-angular';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport * as _moment from 'moment';\n import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n \nexport interface User {\n Name: string;\n}\n\n@Component({\n selector: 'app-editot',\n templateUrl: './editot.component.html',\n styleUrls: ['./editot.component.scss'],\n})\nexport class EditotComponent implements OnInit {\n employeelist: any;\n datasource: any;\n flag: any;\n LedgerID;\n cid:any;\n ledgerid1= 0;\n OTFormGroup:FormGroup;\n date= new Date();\n addflag= false;\n regex = '([01]?[0-9]|2[0-3]):[0-5][0-9]';\n temp:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n enabledate:boolean=true;\n myDateFilter:any;\n OT:any;\n dateRange = [new Date(new Date().getFullYear(), new Date(). getMonth(), new Date().getDate()-1),\n new Date(new Date().getFullYear(), new Date(). getMonth(), new Date().getDate()+1)]\n \n // myDateFilter= (d: Date): boolean => {\n // return (d >= this.dateRange[0] && d <= this.dateRange[1])\n // }\n\n Status = {\n store: {\n type: 'array',\n data: [\n { id: 1, name: 'In' },\n { id: 0, name: 'Out' },\n ],\n key: 'id'\n }};\n\n displayedColumns = ['sno', 'Name', 'status', 'Action'];\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe,\n public service: HttpserviceService,\n public notificationService: NotificationService,\n private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n\n this.OTFormGroup = this.formBuilder.group({ \n fcDate: [''], \n myControl: [''], \n fcOT:[''], \n });\n\n\n this.employeelist = this.data.employeelist;\n // this.empid= _.pluck(this.employeelist, 'Name');\n this.flag = this.data.flag;\n this.LedgerID = this.data.ledgerid;\n this.date = this.data.date;\n this.temp= this.data.Name;\n this.cid=this.data.CID;\n this.OT=this.data.OT;\n this.myControl.setValue({Name: this.temp});\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n }\n\n ngOnInit(): void {\n \n this.myControl.disable()\n \n //console.log('dialogdata',this.data)\n // if (this.flag == 'EDIT')\n // {\n // this.onvaluechanged();\n // }\n this.OTFormGroup.controls.fcDate.setValue(this.date);\n this.OTFormGroup.controls.fcOT.setValue(this.OT);\n }\n\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n \n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.LedgerID=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.LedgerID=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n \n }\n\n onCloseDialog()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n // .afterClosed().subscribe(res => {\n // if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n // }\n // });\n }\n onClose(model){\n this.dialogRef.close({event: this.flag, data: model});\n }\n \n Submit()\n {\n let params = {\n\n cid: this.cid,\n flag: 'ADD',\n Date: this.datePipe.transform(this.date, 'dd-MM-yyyy'),\n Time: this.OTFormGroup.get('fcOT').value, \n ledgerid: this.LedgerID\n \n };\n\n this.service.httpPost('/timepunchreport/SetEmployeeOT',params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n //console.log('HI',users)\n if (users.errno === 0){\n\n this.notificationService.success('Updated successfully');\n this.onCloseDialog();\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n}\n","\nimport { TimepunchreportComponent } from '../../timepunchreport/timepunchreport.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { FormGroup, FormControl, Validators, FormBuilder, AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { HttpserviceService } from '../../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from '../../../../../Services/OtherServices/generic.service';\nimport { UserService } from '../../../../Admin/Users/userValidate';\nimport { CrmdatecontrolComponent } from '../../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { DialogtimepunchleavepostingComponent } from '../../../LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component';\nimport { EditotComponent } from '../../editot/editot.component';\nimport { UpdatefingerprintComponent } from '../../updatefingerprint/updatefingerprint.component';\n\nexport interface User {\n Name: string;\n}\n\n@Component({\n selector: 'app-timepunchotreport',\n templateUrl: './timepunchotreport.component.html',\n styleUrls: ['./timepunchotreport.component.scss'],\n})\nexport class TimepunchotreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n employeelist: any;\n companies: any;\n category: any;\n SubCategory: any;\n AbsentGridData: any;\n datasource: MatTableDataSource;\n ledgerid = 0;\n Categoryid = 0;\n CID: any;\n searchKey: string;\n mobileQuery: MediaQueryList;\n navbarOpen = true;\n date = new Date();\n frmdate = new Date();\n todate1 = new Date();\n DateType = 'CurrentDate';\n filterOption: any;\n frmtext = 'Current Date';\n totext: any;\n todatevisible = false;\n fromdatevisible = true;\n flag: any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid: string[] = [];\n isEditable = true;\n TimepunchGroup: FormGroup;\n TimepunchDataGroup: FormGroup;\n AbsentDataGroup: FormGroup;\n cid: any;\n showSpinner: any;\n toggle = 'filter_list';\n fromdate: any;\n todate: any;\n DateTypeFlag: any = \"Today\"\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n isPunchOTvisible: boolean = true;\n isEffortOTvisible: boolean = true;\n isOTEditvisible: boolean = false;\n displayedColumns = ['EMPID', 'EmpName', 'Date', 'Hours', 'PunchOT', 'OTHours', 'In1', 'Out1', 'In2', 'Out2', 'Category', 'Department', 'Comment','Action'];\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n constructor(private formBuilder: FormBuilder, private datePipe: DatePipe, private service: HttpserviceService,\n private generic: GenericService, private service1: UserService,\n private NotificationService: NotificationService, private dialog: MatDialog) {\n\n this.TimepunchGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required],\n fcDateType: [''],\n fcCategory: [''],\n fcSubCategory: ['']\n //fcFromDate: [''], \n // fcToDate: ['']\n\n });\n this.TimepunchDataGroup = this.formBuilder.group({\n });\n }\n\n ngOnInit(): void {\n\n this.cid = JSON.parse(sessionStorage.getItem('cid'));\n // this.getemployeelist();\n this.flag = \"PAGELOAD\";\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid);\n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.TimepunchGroup.controls.fcToDate.setValue(this.frmdate);\n\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.myControl.setValue({ Name: 'ALL' });\n this.TimepunchGroup.controls.fcCategory.setValue(0);\n this.TimepunchGroup.controls.fcSubCategory.setValue(0);\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n\n }\n\n DatePicker() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n console.log('RESULT', result)\n this.fromdate = result.frmdate;\n this.todate = result.todate;\n this.DateTypeFlag = result.datetype\n });\n }\n\n changesite(e) {\n this.cid = e.value;\n this.flag = \"PAGELOAD\"\n this.employeelist = '';\n this.empid = [];\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid);\n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.myControl.setValue({ Name: 'ALL' });\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n this.DateTypeFlag = \"Today\";\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) {\n this.ledgerid = event.option.value;\n this.myControl.setValue({ Name: event.option.value });\n this.ledgerid = JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }), 'LedgerID'));\n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase();\n return this.empid.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n Refresh() {\n this.flag = \"LOADGRID\";\n this.gettimepunchreport();\n }\n addRow() {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: 0,\n date: this.date,\n employeelist: this.employeelist,\n CID: this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n this.gettimepunchreport();\n });\n }\n onEdit(data, _flag) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID + ' - ' + data.EmpName,\n CID: this.CID,\n comment:data.Comment\n // Rolelist:this.Rolelist\n\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n this.gettimepunchreport();\n });\n }\n\n onEditOT(data, _flag) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID + ' - ' + data.EmpName,\n CID: this.CID,\n OT: data.OTHours\n // Rolelist:this.Rolelist\n\n };\n const dialogRef = this.dialog.open(EditotComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n this.gettimepunchreport();\n });\n }\n\n UpdateFingerprintID() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n CID: this.CID,\n };\n const dialogRef = this.dialog.open(UpdatefingerprintComponent, dialogConfig);\n }\n\n getUserList() {\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_110\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result = data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.viewbtnvisible = btnVisilityData.viewflag;\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n\n }\n\n Sync() {\n let params = {\n cid: this.cid\n }\n this.service.httpPost('/timepunchreport/TimepunchSync', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n }\n else {\n this.NotificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n\n exportAsExcel() {\n this.generic.excelExport(this.datasource.data, 'Timepunch', 'Timepunchreport');\n }\n\n AbsentList() {\n // console.log('HI')\n this.showSpinner = true;\n let params = {\n cid: this.cid,\n Flag: 'LOADABSENTGRID',\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n SubCategory: this.TimepunchGroup.get('fcSubCategory').value,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n\n };\n this.service.httpPost('/timepunchreport/GetTimePuchReport', params)\n .subscribe(\n (data) => {\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.stepper.selectedIndex = 2;\n this.AbsentGridData = result.respdata.Table;\n\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n\n gettimepunchreport() {\n\n let params\n this.showSpinner = true;\n if (this.flag == \"PAGELOAD\") {\n params = {\n\n cid: this.cid,\n Flag: this.flag,\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n SubCategory: '',\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n }\n else {\n params =\n {\n cid: this.cid,\n Flag: this.flag,\n Date: this.fromdate,\n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n SubCategory: this.TimepunchGroup.get('fcSubCategory').value,\n DateType: \"ByDate\",\n CurrentMonth: this.fromdate,\n CurrentYear: this.fromdate,\n Month: '',\n FromDate: this.fromdate,\n ToDate: this.todate,\n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n\n };\n this.service.httpPost('/timepunchreport/GetTimePuchOTReport', params)\n .subscribe(data => {\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) {\n if (this.flag == \"PAGELOAD\") {\n console.log('respdata', result.respdata);\n this.companies = result.respdata.Table;\n this.CID = this.cid;\n this.category = result.respdata.Table1;\n this.employeelist = result.respdata.Table2;\n this.empid = _.pluck(this.employeelist, 'Name');\n\n\n // this.datasource = result.respdata.Table3;\n // this.datasource = new MatTableDataSource(result.respdata.Table3);\n // this.datasource.sort = this.sort;\n // this.datasource.paginator = this.paginator;\n\n\n if (result.respdata.Table3[0].Visibility == \"False\")\n this.isPunchOTvisible = true;\n else\n this.isPunchOTvisible = false;\n\n if (result.respdata.Table4[0].Visibility == \"False\") {\n this.isEffortOTvisible = true;\n this.isOTEditvisible = false;\n }\n else {\n this.isEffortOTvisible = false;\n this.isOTEditvisible = true;\n }\n\n this.SubCategory = result.respdata.Table5;\n\n this.getUserList();\n }\n else {\n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1;\n this.getUserList();\n }\n\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n\n onSearchClear() {\n this.flag = \"PAGELOAD\";\n this.TimepunchGroup.reset();\n this.myControl.setValue({ Name: 'ALL' });\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid);\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.DateTypeFlag = \"Today\";\n this.stepper.selectedIndex = 0;\n this.datasource = new MatTableDataSource([])\n this.TimepunchGroup.controls.fcCategory.setValue(0);\n this.TimepunchGroup.controls.fcSubCategory.setValue(0);\n this.ledgerid=0;\n }\n\n date1 = new Date();\n onFocusedRowChanged(e) {\n //console.log('grid',e.data)\n if (e.data.LeaveType == \"\") {\n // console.log('HI')\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"ADD\",\n ledgerid: e.data.LedgerID,\n cid: this.cid,\n //date:this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"MM/dd/yyyy\"), \n date: this.date1,\n type: 1,\n requestyear: new Date().getFullYear(),\n }\n const dialogRef = this.dialog.open(DialogtimepunchleavepostingComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n this.AbsentList();\n // this.stepper.selectedIndex = 2; \n });\n\n }\n }\n\n}\n\nexport interface GroupALL {\n EMPID: string;\n EmpName: string;\n Category: string;\n\n\n}","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { Inject } from '@angular/core';\nimport {FormControl, FormBuilder,AbstractControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { DxDataGridComponent,} from 'devextreme-angular';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport * as _moment from 'moment';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { User } from 'src/app/Modules/user';\nimport { DisableDataService } from '../disable-data.service';\n\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\nconst moment = _moment;\n\nexport interface User1 {\n Name: string;\n}\n\n@Component({\n selector: 'app-timepunchreport',\n templateUrl: './timepunchreport.component.html',\n styleUrls: ['./timepunchreport.component.css']\n})\nexport class TimepunchreportComponent implements OnInit {\n @ViewChild(DxDataGridComponent) dataGrid: DxDataGridComponent;\n disabledDates: Date[];\n employeelist: any;\n datasource: any;\n flag: any;\n LedgerID;\n cid:any;\n ledgerid1= 0;\n // isDateVisible: boolean;\n // Visiblelist:any;\n date= new Date();\n comments:any;\n addflag= false;\n regex = '([01]?[0-9]|2[0-3]):[0-5][0-9]';\n temp:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n enabledate:boolean=true;\n myDateFilter:any;\n CurLedgerID:any;\n UserID:any;\n dateRange = [new Date(new Date().getFullYear(), new Date(). getMonth(), new Date().getDate()-1),\n new Date(new Date().getFullYear(), new Date(). getMonth(), new Date().getDate()+1)]\n \n // myDateFilter= (d: Date): boolean => {\n // return (d >= this.dateRange[0] && d <= this.dateRange[1])\n // }\n\n Status = {\n store: {\n type: 'array',\n data: [\n { id: 1, name: 'In' },\n { id: 0, name: 'Out' },\n ],\n key: 'id'\n }};\n\n displayedColumns = ['sno', 'Name', 'status', 'Action'];\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe,\n public service: HttpserviceService,\n public notificationService: NotificationService,\n private dialogService: DialogService,\n public dateservice:DisableDataService,\n public dialogRef: MatDialogRef,\n \n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.employeelist = this.data.employeelist;\n this.empid= _.pluck(this.employeelist, 'Name');\n this.flag = this.data.flag;\n this.LedgerID = this.data.ledgerid;\n this.date = this.data.date;\n this.temp= this.data.Name;\n this.cid=this.data.CID;\n this.comments=this.data.comment;\n }\n\n ngOnInit() {\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n\n this.myControl.setValue({Name: this.temp});\n \n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n\n if (this.flag == 'EDIT')\n {\n this.onvaluechanged();\n }\n \n //this.disabledDates=this.dateservice.getFederalHolidays()\n }\n\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n \n }\n displayFn(empid?: User1): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.LedgerID=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.LedgerID=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n \n if (this.LedgerID != 0)\n {\n this.addflag = true;\n this.gettimepunch();\n }\n }\n\n onCloseDialog()\n {\n // this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n // .afterClosed().subscribe(res => {\n // if (res) {\n this.dialogRef.close({event: 'CLEAR'});\n // }\n // });\n }\n onClose(model){\n this.dialogRef.close({event: this.flag, data: model});\n }\n logEvent(_flag, e)\n {\n //console.log('changedevent',_flag,e)\n \n\n let slno = 0;\n let paramsExtra;\n slno = e.data.SlNo;\n \n\n if (_flag == 'RowInserting')\n {\n const time = (this.datePipe.transform( e.data.Date, 'dd-MM-yyyy') + ' ' + e.data.Time);\n //const time = (this.datePipe.transform(this.date, 'dd-MM-yyyy') + ' ' + e.data.Time);\n paramsExtra = {\n\n cid: this.cid,\n flag: 'ADD',\n Date: this.datePipe.transform(this.date, 'dd-MM-yyyy'),\n Time: time,\n TPid: '',\n Status: e.data.Status,\n ledgerid: this.LedgerID,\n Slno: 0,\n UserID: this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid'),\n Comment:this.comments\n\n };\n\n }\n else if (_flag == 'RowRemoved')\n {\n //console.log('Delete')\n // const time = (this.datePipe.transform( e.data.Date, 'dd-MM-yyyy') + ' ' + e.data.Time);\n paramsExtra = {\n cid: this.cid,\n flag: 'DELETE',\n // Date: this.datePipe.transform(this.date, 'dd-MM-yyyy'),\n Date: this.date,\n Time: '',\n TPid: '',\n Status: e.data.Status,\n ledgerid: this.LedgerID,\n Slno: slno,\n UserID: this.CurLedgerID,\n GroupID: sessionStorage.getItem('groupid')\n\n };\n }\n \n this.service.httpPost('/timepunchreport/SetTimePuch',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n onvaluechanged()\n { \n if (this.LedgerID != 0)\n {\n this.addflag = true;\n this.gettimepunch();\n }\n\n }\n\n gettimepunch()\n {\n this.comments='';\n const params = {\n cid: this.cid,\n flag: 'default',\n ledgerid: this.LedgerID,\n date: this.datePipe.transform(this.date, 'dd-MM-yyyy')\n\n };\n const groupid = JSON.parse(sessionStorage.getItem('groupid'));\n\n const query = `cid=${params.cid}&flag=${params.flag}&ledgerid=${params.ledgerid}&date=${params.date}&groupid=${groupid}`;\n this.service.httpGet('/timepunchreport/GetTimePunch?',query)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.datasource = result.respdata.Table;\n this.comments=result.respdata.Table[0].Comment;\n // console.log('RESULT',result.respdata)\n if(result.respdata.Table1.length==0)\n { \n this.myDateFilter= (d: Date): boolean => {\n return (d >= this.dateRange[0] && d <= this.dateRange[1]) \n }\n }\n\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n\n","\nimport { TimepunchreportComponent } from '../timepunchreport/timepunchreport.component';\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { FormGroup, FormControl, Validators, FormBuilder,AbstractControl } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { DialogtimepunchleavepostingComponent } from '../../LeaveApproval/dialogtimepunchleaveposting/dialogtimepunchleaveposting.component';\n\nexport interface User {\n Name: string;\n}\n\n@Component({\n selector: 'app-timepunchreportlist',\n templateUrl: './timepunchreportlist.component.html',\n styleUrls: ['./timepunchreportlist.component.css']\n})\n\nexport class TimepunchreportlistComponent implements OnInit {\n @ViewChild('stepper') stepper;\n employeelist: any;\n companies: any;\n category: any;\n AbsentGridData:any;\n datasource: MatTableDataSource;\n ledgerid= 0;\n Categoryid= 0;\n CID: any;\n searchKey: string;\n mobileQuery: MediaQueryList;\n navbarOpen = true;\n date= new Date();\n frmdate= new Date();\n todate1= new Date();\n DateType= 'CurrentDate';\n filterOption: any;\n frmtext= 'Current Date';\n totext: any;\n todatevisible= false;\n fromdatevisible= true;\n flag:any;\n filteredOptions: Observable;\n colorCtr: AbstractControl = new FormControl(null);\n myControl = new FormControl();\n empid:string[]=[];\n isEditable = true; \n TimepunchGroup : FormGroup;\n TimepunchDataGroup: FormGroup;\n AbsentDataGroup: FormGroup;\n cid:any;\n showSpinner:any;\n toggle= 'filter_list';\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n displayedColumns = ['EMPID', 'EmpName', 'Date', 'Hours', 'OTHours', 'In1', 'Out1', 'In2', 'Out2', 'Category','Department', 'Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private formBuilder: FormBuilder,private datePipe: DatePipe, private service: HttpserviceService, \n private generic: GenericService, private service1: UserService,\n private NotificationService: NotificationService, private dialog: MatDialog)\n {\n\n this.TimepunchGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcDateType: [''], \n fcCategory: [''], \n //fcFromDate: [''], \n // fcToDate: ['']\n \n });\n this.TimepunchDataGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n \n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n // this.getemployeelist();\n this.flag=\"PAGELOAD\";\n this.gettimepunchreport(); \n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.TimepunchGroup.controls.fcToDate.setValue(this.frmdate);\n\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n \n }\n \n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n \n changesite(e) {\n this.cid=e.value;\n this.flag=\"PAGELOAD\"\n this.gettimepunchreport();\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.TimepunchGroup.controls.fcDateType.setValue(\"CurrentDate\");\n // this.TimepunchGroup.controls.fcFromDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.myControl.setValue({Name: 'ALL'});\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.Name),\n map(name => name ? this._filter(name) : this.empid.slice())\n );\n this.DateTypeFlag=\"Today\"; \n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n displayFn(empid?: User): string | undefined {\n return empid ? empid.Name : undefined;\n }\n selectedproduct(event) { \n this.ledgerid=event.option.value; \n this.myControl.setValue({Name: event.option.value }); \n this.ledgerid=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n }\n private _filter(name: string): string[] {\n\n const filterValue = name.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n Refresh()\n {\n this.flag=\"LOADGRID\";\n this.gettimepunchreport();\n }\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n ledgerid: 0,\n date: this.date,\n employeelist: this.employeelist,\n CID:this.CID\n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n onEdit(data, _flag){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n ledgerid: data.LEDGERID,\n date: data.Date ,\n // pid:data.ID,\n employeelist: this.employeelist,\n Name: data.EMPID +' - '+ data.EmpName,\n CID:this.CID\n // Rolelist:this.Rolelist\n \n };\n const dialogRef = this.dialog.open(TimepunchreportComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n this.gettimepunchreport(); \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_54\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Sync(){\n let params = {\n cid: this.cid \n }\n this.service.httpPost('/timepunchreport/TimepunchSync',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.NotificationService.success(result.errdesc); \n }\n else {\n this.NotificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Timepunch', 'Timepunchreport' );\n }\n \n AbsentList()\n {\n // console.log('HI')\n this.showSpinner=true;\n let params = { \n cid: this.cid,\n Flag: 'LOADABSENTGRID',\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n \n };\n this.service.httpPost('/timepunchreport/GetTimePuchReport',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.stepper.selectedIndex = 2; \n this.AbsentGridData = result.respdata.Table;\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n gettimepunchreport(){\n\n let params\n this.showSpinner=true;\n if(this.flag==\"PAGELOAD\") \n {\n params= {\n \n cid: this.cid,\n Flag: this.flag,\n Date: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n LedgerID: this.ledgerid,\n Category: this.Categoryid,\n DateType: this.DateType,\n CurrentMonth: this.datePipe.transform(this.frmdate, 'MM'),\n CurrentYear: this.datePipe.transform(this.frmdate, 'yyyy'),\n Month: '',\n FromDate: this.datePipe.transform(this.frmdate, 'dd-MM-yyyy'),\n ToDate: this.datePipe.transform(this.todate1, 'dd-MM-yyyy'),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n }\n else\n {\n params=\n { \n cid: this.cid,\n Flag: this.flag,\n Date: this.fromdate,\n LedgerID: this.ledgerid,\n Category: this.TimepunchGroup.get('fcCategory').value,\n DateType: \"ByDate\",\n CurrentMonth:this.fromdate,\n CurrentYear: this.fromdate,\n Month: '',\n FromDate: this.fromdate,\n ToDate: this.todate, \n // this.datePipe.transform(this.TimepunchGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.TimepunchGroup.get('fcToDate').value,\"dd-MM-yyyy\"),\n MonthYear: '',\n JoinType: '',\n LeaveID: '0'\n }\n\n };\n this.service.httpPost('/timepunchreport/GetTimePuchReport',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0){\n if (this.flag==\"PAGELOAD\")\n {\n this.companies = result.respdata.Table;\n this.CID = this.cid;\n this.category = result.respdata.Table1;\n this.employeelist = result.respdata.Table2;\n this.empid= _.pluck(this.employeelist, 'Name');\n\n\n this.datasource = result.respdata.Table3;\n this.datasource = new MatTableDataSource(result.respdata.Table3);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n this.getUserList();\n }\n else\n {\n this.datasource = result.respdata.Table;\n this.datasource = new MatTableDataSource(result.respdata.Table);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.stepper.selectedIndex = 1; \n this.getUserList();\n }\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear()\n {\n this.flag=\"PAGELOAD\";\n this.TimepunchGroup.reset(); \n this.myControl.setValue({Name: 'ALL'});\n this.TimepunchGroup.controls.fcCompany.setValue(this.cid); \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.stepper.selectedIndex = 0; \n this.datasource = new MatTableDataSource([])\n }\n\n date1= new Date();\n onFocusedRowChanged(e)\n { \n // console.log('grid',e.data)\n if(e.data.LeaveType==\"\" ){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: \"ADD\",\n ledgerid:e.data.LedgerID, \n cid: this.cid,\n //date:this.datePipe.transform(this.TimepunchGroup.get('fcDate').value,\"MM/dd/yyyy\"), \n date:this.date1, \n type: 1,\n requestyear: new Date().getFullYear(),\n }\n const dialogRef = this.dialog.open(DialogtimepunchleavepostingComponent, dialogConfig); \n dialogRef.afterClosed().subscribe(result => { \n this.AbsentList(); \n // this.stepper.selectedIndex = 2; \n }); \n \n } \n }\n\n}\n\nexport interface GroupALL {\n EMPID: string;\n EmpName: string;\n Category: string;\n\n\n}","import { User } from './../../../../Modules/user';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-updatefingerprint',\n templateUrl: './updatefingerprint.component.html',\n styleUrls: ['./updatefingerprint.component.scss'],\n})\nexport class UpdatefingerprintComponent implements OnInit {\n CID:any;\n\n dataSource:any;\n \n CurLedgerID:any;\n date= new Date();\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private datePipe: DatePipe,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.CID=this.data.CID;\n \n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n\n \n this.getddllist(); \n }\n \n getddllist()\n {\n const params = {\n cid: this.data.CID,\n flag: 'LOADEMPLIST',\n ledgerid: this.CurLedgerID,\n date: this.datePipe.transform(this.date, 'dd-MM-yyyy')\n\n };\n const groupid = JSON.parse(sessionStorage.getItem('groupid'));\n\n const query = `cid=${params.cid}&flag=${params.flag}&ledgerid=${params.ledgerid}&date=${params.date}&groupid=${groupid}`;\n this.service.httpGet('/timepunchreport/GetTimePunch?',query)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.dataSource = result.respdata.Table; \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n onCloseDialog()\n {\n this.dialogRef.close();\n }\n logEvent(_flag, e)\n {\n console.log(\"logEvent\",e.data.FingerPrintID)\n \n let paramsExtra;\n \n if (_flag == 'RowUpdated')\n {\n paramsExtra = {\n CID: this.CID,\n Flag: 'UPDATEFINGERPRINT', \n Year:0, \n HalfDay: e.data.LedgerID,\n WorkingHrs: e.data.FingerPrintID,\n UserID: this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n };\n }\n else if (_flag == 'RowRemoved')\n {\n paramsExtra = {\n CID: this.CID,\n Flag: 'DELETE', \n HalfDay: e.data.LedgerID,\n WorkingHrs: e.data.Carryforward,\n UserID: this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n\n };\n }\n this.service.httpPost('/HRPolicies/SetCurrentYrCarryForward',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n if (users.errno === 0){\n this.NotificationService.success(users.errdesc);\n this.getddllist(); \n }\n else{\n this.NotificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-voucherfor-hr',\n templateUrl: './voucherfor-hr.component.html',\n styleUrls: ['./voucherfor-hr.component.scss'],\n})\nexport class VoucherforHRComponent implements OnInit {\n\n Wageslist:any;\n WAGES_:any;\n total:any=0;\n constructor(private service:HttpserviceService,public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any)\n { \n console.log('data',data)\n this.WAGES_= data.WAGES;\n\n \n\n const params = {\n cid: data.cid,\n LedgerID:data.LedgerID,\n _AdvType:data.AdvType,\n _FormType:data.FormType,\n objmain:{\n str_PSRef:'',\n int_BusinessPeriodID:105\n\n\n }\n }; \n \n \n this.service.httpPost('/Payslip/GetHRDetialsForVou?' ,params) \n .subscribe(data =>{\n var result = data as any;\n result = data; \n \n console.log(\"payslip\",result.respdata)\n \n\n this.Wageslist=result.respdata.Payslipobj.dt_Wages;\n \n \n console.log(' data.WAGES', this.WAGES_)\n console.log('this.Wageslist',this.Wageslist)\n\n this.WAGES_.forEach(item1 => {\n const match = this.Wageslist.find(item2 => item1.LedgerID === item2.LedgerID && item1.ReqID === item2.ReqID);\n if (match) {\n console.log('match',match)\n // Update PayNow and AmountType\n match.PayNow= item1.PayNow;\n //item1.AmountType = match.AmountType;\n }\n });\n \n \n \n });\n \n }\n\n ngOnInit() {}\n\n onEditorPreparing(e) {\n if (e.parentType === \"dataRow\" && e.dataField === \"PayNow\") {\n e.editorOptions.onValueChanged = (args) => {\n console.log(\"New cell value:\", args.value);\n console.log(\"Row data:\", e.row.data);\n // Here, you can access the particular column value via e.row.data.YourColumnName\n };\n }\n}\n\n\n onRowUpdating(event)\n {\n console.log(\"event\", event);\n console.log(\"FullPay\", event.oldData.FullPay);\n\n \n\n const jsonData: string =JSON.stringify(event.newData) ;\n const data: { [key: string]: any } = JSON.parse(jsonData);\n const columnName: string = Object.keys(data)[0];\n const value: any = data[columnName];\n\n \n if (value==true && columnName=='FullPay')\n {\n event.oldData.PayNow=event.oldData.BalAmt;\n console.log(\"this.Wageslist\", this.Wageslist);\n\n }\n else if(value!=0 && columnName=='PayNow')\n {\n\n const sumOfPayNow = this.Wageslist.reduce((sum, item) => sum + item.PayNow, 0);\n\n console.log(\"sumOfPayNow\", sumOfPayNow+value);\n \n\n this.total=this.total+value\n }\n else \n {\n event.oldData.PayNow=0;\n }\n\n \n\n }\n applyFilter() {\n // Implement filter logic here\n // You may use a service to communicate with the parent component or emit an event\n let param={'Wageslist':this.Wageslist}\n this.dialogRef.close(param);\n }\n\n closeDialog() {\n let param={'Wageslist':this.Wageslist}\n this.dialogRef.close(param);\n }\n\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from '../../../../Modules/user';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../../../ITS/Ticket/ticket/ticket.component';\nimport { TaskbyviewComponent } from '../taskbyview/taskbyview.component';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\n\n@Component({\n selector: 'app-aspentaskbyreport',\n templateUrl: './aspentaskbyreport.component.html',\n styleUrls: ['./aspentaskbyreport.component.scss'],\n})\nexport class AspentaskbyreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n dataSource: any;\n dataSource1: any;\n CustomsReportFormGroup: FormGroup;\n CustomDataFormGroup:FormGroup;\n Companies: any;\n Employees:any; \n employeeid:string[]=[];\n selectedEmpID: any;\n selectedEmpID1: any;\n frmdate= new Date();\n cid:any; \n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n myControl2 = new FormControl();\n filteredOptions2: Observable;\n showSpinner:any;\n myControl1 = new FormControl();\n filteredOptions1: Observable;\n selectedProjectID: number;\n projectid: string[] = [];\n selectedprojectid: any;\n Projectlist:any;\n isEditable = true; \n RequestType:any;\n Clients:any;\n Issues:any;\n Location:any;\n Priority:any;\n Status:any;\n Branch:any;\n Product:any;\n CurLedgerID:number;\n isColorCodeVisible: boolean;\n eventID:any;\n public filteredList5\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n TaskTemplate:any;\n Activityflag:any;\n TicketID:any='0';\n ActiviteID:any\n TemplateGroupID:any;\n TemplateID:any=0;\n UserID:any;\n FilterBy:any;\n Createddatevisible:boolean=true;\n Updateddatevisible:boolean=false;\n Categoryisvisible:boolean=false;\n Productisvisible:boolean=false;\n Branchisvisible:boolean=false;\n Locationisvisible:boolean=false;\n Issueisvisible:boolean=false;\n Clientisvisible:boolean=false;\n RequestTypeisvisible:boolean=false;\n \n TaskBy = [\n { name: 'Created Date' },\n { name: 'Updated Date' } \n ];\n TicketCategory = [\n { name: 'Internal' },\n { name: 'External' } \n ];\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog: MatDialog,\n private eventService: EmiteventserviceService,\n public notificationService: NotificationService, private datePipe: DatePipe) { \n this.CustomsReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n myControl: [''],\n myControl1: [''],\n myControl2: [''],\n fcRequestType:[''],\n fcClient:[''],\n fcIssue:[''],\n fcLocation:[''],\n fcPriority:[''],\n fcStatus:[''],\n fcBranch:[''],\n fcProduct:[''],\n fcSubject:[''],\n fcTaskBy:[''],\n fcTicketCatgory:['']\n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required]\n , fcSLA:['']\n });\n this.CustomDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n\n this.CustomsReportFormGroup.controls.fcTaskBy.setValue('Created Date');\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n this.UserID=curUser.userid;\n this.PageLoad();\n this.CustomsReportFormGroup.controls.fcCompany.setValue(this.cid);\n // this.CustomsReportFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.CustomsReportFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n \n this.filteredOptions1 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter1(value, 'myControl1'))\n ); \n \n this.filteredOptions2 = this.myControl2.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter2(value))\n ); \n\n\n \n }\n\n\n taskbyselect(e)\n {\n this.FilterBy = this.CustomsReportFormGroup.get('fcTaskBy').value;\n console.log('FilterBy',this.FilterBy)\n if(this.FilterBy==='Created Date' )\n {\n this.Createddatevisible=true;\n this.Updateddatevisible=false;\n }\n else \n {\n this.Createddatevisible=false;\n this.Updateddatevisible=true;\n } \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter2(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter1(value: string, control: string): string[] { \n const filterValue = value.toLowerCase();\n // console.log('controlID',filterValue);\n this.selectedprojectid=''\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl1') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n\n selectedemployee2(event) { \n this.selectedEmpID1 = event.option.value;\n const str: string = this.selectedEmpID1; \n this.selectedEmpID1 = this.selectedEmpID1.slice(0, str.indexOf('-')); \n }\n\n\n selectedEmployee1(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n if (control === 'myControl1') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID'));\n }\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n \n };\n this.service.httpPost('/ITSCustomsReport/GetAspenTicketData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employee; \n this.Projectlist=result.respdata.Project;\n this.RequestType=result.respdata.RequestType;\n this.Clients=result.respdata.Client;\n this.Issues=result.respdata.Issue;\n this.Location=result.respdata.Location;\n this.Priority=result.respdata.Priority;\n this.Status=result.respdata.Status;\n this.Branch=result.respdata.Branch;\n this.Product=result.respdata.Product;\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n this.employeeid= _.pluck(this.Employees, 'Name'); \n // console.log('employees',this.Employees) \n \n \n this.filteredList5= this.Clients.slice();\n\n // console.log('test',this.filteredList5)\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n\n Submit() { \n if (this.CustomsReportFormGroup.invalid) {\n this.notificationService.warn('Please select date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.CustomsReportFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n ReqType:this.CustomsReportFormGroup.get('fcRequestType').value, //this.EffortFormGroup.get('fcEmployee').value, \n Client:this.CustomsReportFormGroup.get('fcClient').value,\n Product:this.CustomsReportFormGroup.get('fcProduct').value, \n Priority:this.CustomsReportFormGroup.get('fcPriority').value,\n Project:this.selectedprojectid,\n Issues:this.CustomsReportFormGroup.get('fcIssue').value,\n Status:this.CustomsReportFormGroup.get('fcStatus').value,\n Location:this.CustomsReportFormGroup.get('fcLocation').value,\n Branch:this.CustomsReportFormGroup.get('fcBranch').value,\n AssignTo:this.selectedEmpID1,\n Reportby:this.selectedEmpID,\n DateType:'cs', \n Subject:this.CustomsReportFormGroup.get('fcSubject').value, \n UserID:this.CurLedgerID, \n FilterBy:this.CustomsReportFormGroup.get('fcTaskBy').value,\n TicketCategory:this.CustomsReportFormGroup.get('fcTicketCatgory').value, \n FromDate:this.fromdate,\n ToDate:this.todate\n \n };\n console.log('zfv',params)\n this.service.httpPost('/ITSCustomsReport/GetAspenTicketData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n this.stepper.selectedIndex = 1; \n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.dataSource = result.respdata.Taskdata;\n this.isColorCodeVisible=false;\n if(this.CustomsReportFormGroup.get('fcSLA').value==true)\n {\n // if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") {\n console.log('SLA');\n // this.dataSource=_.pluck(_.where(this.dataSource, { 'ColorCode': '1' })); \n this.dataSource = this.dataSource.filter(book => book.ColorCode == 1 && book.Status !='Closed' );\n console.log('filterdatasource',this.dataSource);\n // }\n }\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n CreatedbySearchClear()\n {\n this.myControl.setValue(''); \n this.selectedEmpID=''; \n }\n RequestonSearchClear()\n {\n this.myControl2.setValue('');\n this.selectedEmpID1='';\n }\n ProjectSearchClear()\n {\n this.myControl1.setValue('');\n this.selectedprojectid=null;\n this.selectedprojectid='';\n }\n\n onSearchClear(){\n this.CustomsReportFormGroup.reset(); \n this.myControl.setValue(''); \n this.myControl1.setValue('');\n this.myControl2.setValue('');\n this.selectedEmpID=undefined;\n this.selectedEmpID1=undefined;\n this.selectedEmpID='';\n this.selectedEmpID1='';\n this.dataSource='';\n this.selectedprojectid=null;\n this.CustomsReportFormGroup.controls.fcCompany.setValue(this.cid);\n this.stepper.selectedIndex = 0; \n // this.CustomsReportFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.CustomsReportFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.CustomsReportFormGroup.controls.fcTaskBy.setValue('Created Date');\n this.Createddatevisible=true;\n this.Updateddatevisible=false;\n }\n\n async onKey(value,event)\n {\n // console.log('fff',event)\n this.eventID=event.ID\n // await this.PageLoad();\n // event.options =this.Clients\n \n // console.log('fff',opt.options.slice())\n event.options=this.search(value,event) \n \n }\n\n search(value: string,opt) {\n let filter = value.toLowerCase();\n console.log('filter',filter)\n console.log('option',opt)\n console.log('option',opt.filter(option =>\n option.ClientName.toLowerCase().includes(filter)\n ))\n // return opt.filter(option =>option.ClientName.toLowerCase().includes(filter)\n // );\n\n return opt.filter(option =>\n option.ClientName.toLowerCase().includes(filter)\n );\n }\n\n changesite(e) {\n this.cid=e.value;\n this.PageLoad();\n }\n\n onRowPrepared(e) { \n if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") { \n e.rowElement.style.backgroundColor = '#FDE2DC'; \n e.rowElement.className = e.rowElement.className.replace(\"dx-row-alt\", \"\"); \n } \n } \n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n onFocusedRowChanged(e) { \n sessionStorage.setItem('activityTicketID',e.data.TicketNo);\n sessionStorage.setItem('TaskSubject', e.data.Subject);\n let item: any = { \"name\": e.data.TicketNo, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true; \n // dialogConfig.data = { \n // pid:0,\n // height: '350px',\n // width: '70%', \n // cid:this.CustomsReportFormGroup.get('fcCompany').value,\n // flag:\"View\",\n // TicketID:e.data.TicketNo,\n // TemplateID:1,\n // UserName:this.UserID,\n // LoginFlag:'INTERNAL',\n // ActiviteID:\"INT_VIEW\",\n // TemplateGroupID:1 ,\n // Subject:e.data.Subject \n // } \n // const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n // dialogRef.afterClosed().subscribe(result => { \n // this.Submit(); \n // }); \n }\n \n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from '../../../../Modules/user';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../../../ITS/Ticket/ticket/ticket.component';\nimport { TaskbyviewComponent } from '../taskbyview/taskbyview.component';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { DxDataGridComponent } from 'devextreme-angular';\nimport { DependencyrptComponent } from '../../dependencyrpt/dependencyrpt.component';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { exportDataGrid } from 'devextreme/pdf_exporter';\n// import jsPDF from 'jspdf';\n// import 'jspdf-autotable';\n\n@Component({\n selector: 'app-taskby',\n templateUrl: './taskby.component.html',\n styleUrls: ['./taskby.component.scss'],\n})\nexport class TaskbyComponent implements OnInit {\n // @ViewChild('gridContainer', { static: false }) gridContainer: DxDataGridComponent;\n @ViewChild('stepper') stepper;\n @ViewChild(DxDataGridComponent, { static: false }) dataGrid: DxDataGridComponent;\n \n\n dataSource: any;\n dataSource1: any;\n CustomsReportFormGroup: FormGroup;\n CustomDataFormGroup:FormGroup;\n Companies: any;\n Employees:any; \n employeeid:string[]=[];\n selectedEmpID: any;\n selectedEmpID1: any;\n frmdate= new Date();\n cid:any; \n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n myControl2 = new FormControl();\n filteredOptions2: Observable;\n showSpinner:any;\n myControl1 = new FormControl();\n filteredOptions1: Observable;\n selectedProjectID: number;\n projectid: string[] = [];\n selectedprojectid: any;\n Projectlist:any;\n isEditable = true; \n RequestType:any;\n Clients:any;\n Issues:any;\n Location:any;\n Priority:any;\n Status:any;\n Branch:any;\n Product:any;\n CurLedgerID:number;\n isColorCodeVisible: boolean;\n eventID:any;\n public filteredList5\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n TaskTemplate:any;\n Activityflag:any;\n TicketID:any='0';\n ActiviteID:any\n TemplateGroupID:any;\n TemplateID:any=0;\n UserID:any;\n Dependencybtnvisible: boolean = false;\n FilterBy:any;\n Createddatevisible:boolean=true;\n Updateddatevisible:boolean=false;\n TaskBy = [\n { name: 'Created Date' },\n { name: 'Updated Date' } \n ];\n TicketCategory = [\n { name: 'Internal' },\n { name: 'External' } \n ];\n\n SLATime = [\n { id: 0,name: 'Inline SLA Tickets' },\n { id: 1,name: 'Exceed SLA Tickets' }, \n ];\n \n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog: MatDialog,\n private eventService: EmiteventserviceService,\n public notificationService: NotificationService, private datePipe: DatePipe) { \n this.CustomsReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n myControl: [''],\n myControl1: [''],\n myControl2: [''],\n fcRequestType:[''],\n fcClient:[''],\n fcIssue:[''],\n fcLocation:[''],\n fcPriority:[''],\n fcStatus:[''],\n fcBranch:[''],\n fcProduct:[''],\n fcSubject:[''],\n fcTaskBy:[''],\n fcTicketCatgory:[''],\n fcInline:['']\n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required]\n , fcSLA:['']\n });\n this.CustomDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n\n // document.addEventListener('DOMNodeInserted', function () {\n // const elements = document.querySelectorAll('[aria-owns]');\n\n // elements.forEach(element => {\n // element.removeAttribute('aria-owns');\n // });\n // });\n\n this.CustomsReportFormGroup.controls.fcTaskBy.setValue('Created Date');\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n this.UserID=curUser.userid;\n this.PageLoad();\n\n this.CustomsReportFormGroup.controls.fcCompany.setValue(this.cid);\n // this.CustomsReportFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.CustomsReportFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n \n this.filteredOptions1 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter1(value, 'myControl1'))\n ); \n \n this.filteredOptions2 = this.myControl2.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter2(value))\n ); \n\n \n }\n // ngAfterViewInit() {\n // // The gridContainer is now initialized\n // console.log('hi',this.gridContainer);\n // }\n // exportGrid() {\n // if (this.gridContainer && this.gridContainer.instance) {\n // const doc = new jsPDF();\n // exportDataGrid({\n // jsPDFDocument: doc,\n // component: this.gridContainer.instance,\n // autoTableOptions: {\n // styles: { fontSize: 8 },\n // margin: { top: 15 },\n // // cellWidth: 'wrap',\n // // cellPadding: 1,\n // }\n // }).then(() => {\n // doc.save('grid-data.pdf');\n // });\n // } else {\n // console.error(\"Grid container is not available\");\n // }\n // }\n\n // exportGrid() {\n // const doc = new jsPDF({\n // orientation: 'landscape', // Switch to landscape mode if necessary\n // unit: 'pt', // Set unit to points (recommended for PDF layout)\n // format: 'a4' // Use A4 paper size (adjust if needed)\n // });\n \n // exportDataGrid({\n // jsPDFDocument: doc,\n // component: this.gridContainer.instance,\n // autoTableOptions: {\n // styles: {\n // fontSize: 8,\n // cellPadding: 2, // Adjust padding to prevent text overlap\n // },\n // columnStyles: {\n // 0: { cellWidth: 50 }, // Adjust these values based on your columns\n // 1: { cellWidth: 50 },\n // 2: { cellWidth: 50 },\n // // Repeat for other columns\n // },\n // margin: { top: 20, right: 10, bottom: 20, left: 10 },\n // theme: 'striped', // Optional: Choose a theme like 'striped', 'grid', or 'plain'\n // },\n // }).then(() => {\n // doc.save('grid-data.pdf');\n // });\n // }\n \n taskbyselect(e)\n {\n this.FilterBy = this.CustomsReportFormGroup.get('fcTaskBy').value;\n console.log('FilterBy',this.FilterBy)\n if(this.FilterBy==='Created Date' )\n {\n this.Createddatevisible=true;\n this.Updateddatevisible=false;\n }\n else \n {\n this.Createddatevisible=false;\n this.Updateddatevisible=true;\n } \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter2(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter1(value: string, control: string): string[] { \n const filterValue = value.toLowerCase();\n // console.log('controlID',filterValue);\n this.selectedprojectid=''\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl1') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n\n selectedemployee2(event) { \n this.selectedEmpID1 = event.option.value;\n const str: string = this.selectedEmpID1; \n this.selectedEmpID1 = this.selectedEmpID1.slice(0, str.indexOf('-')); \n }\n\n\n selectedEmployee1(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n if (control === 'myControl1') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID'));\n }\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n \n };\n this.service.httpPost('/ITSCustomsReport/GetTicketData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employee; \n this.Projectlist=result.respdata.Project;\n this.RequestType=result.respdata.RequestType;\n this.Clients=result.respdata.Client;\n this.Issues=result.respdata.Issue;\n this.Location=result.respdata.Location;\n this.Priority=result.respdata.Priority;\n this.Status=result.respdata.Status;\n this.Branch=result.respdata.Branch;\n this.Product=result.respdata.Product;\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n this.employeeid= _.pluck(this.Employees, 'Name'); \n // console.log('employees',this.Employees) \n \n \n this.filteredList5= this.Clients.slice();\n\n // console.log('test',this.filteredList5)\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n\n Submit() { \n if (this.CustomsReportFormGroup.invalid) {\n this.notificationService.warn('Please select date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.CustomsReportFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n ReqType:this.CustomsReportFormGroup.get('fcRequestType').value, //this.EffortFormGroup.get('fcEmployee').value, \n Client:this.CustomsReportFormGroup.get('fcClient').value,\n Product:this.CustomsReportFormGroup.get('fcProduct').value, \n Priority:this.CustomsReportFormGroup.get('fcPriority').value,\n Project:this.selectedprojectid,\n Issues:this.CustomsReportFormGroup.get('fcIssue').value,\n Status:this.CustomsReportFormGroup.get('fcStatus').value,\n Location:this.CustomsReportFormGroup.get('fcLocation').value,\n Branch:this.CustomsReportFormGroup.get('fcBranch').value,\n AssignTo:this.selectedEmpID1,\n Reportby:this.selectedEmpID,\n DateType:'cs', \n Subject:this.CustomsReportFormGroup.get('fcSubject').value, \n UserID:this.CurLedgerID, \n FilterBy:this.CustomsReportFormGroup.get('fcTaskBy').value,\n TicketCategory:this.CustomsReportFormGroup.get('fcTicketCatgory').value, \n SLA:this.CustomsReportFormGroup.get('fcInline').value, \n FromDate:this.fromdate,\n ToDate:this.todate\n //FromDate: this.datePipe.transform(this.CustomsReportFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.CustomsReportFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.CustomsReportFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.CustomsReportFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n \n };\n // console.log('zfv',params)\n this.service.httpPost('/ITSCustomsReport/GetTicketData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n this.stepper.selectedIndex = 1; \n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.dataSource = result.respdata.Taskdata;\n // console.log('datasource123',this.dataSource);\n this.isColorCodeVisible=false;\n this.Dependencybtnvisible=true;\n if(this.CustomsReportFormGroup.get('fcSLA').value==true)\n {\n // if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") {\n // console.log('SLA');\n // this.dataSource=_.pluck(_.where(this.dataSource, { 'ColorCode': '1' })); \n // this.dataSource =(_.where(this.dataSource, { 'ColorCode':\"1\" }));\n this.dataSource = this.dataSource.filter(book => book.SLAColorCode == 1 && book.Status !='Closed' );\n\n //console.log('dataSource',this.dataSource );\n \n // console.log('filterdatasource',this.dataSource);\n // }\n }\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear(){\n this.CustomsReportFormGroup.reset(); \n this.myControl.setValue(''); \n this.myControl1.setValue('');\n this.myControl2.setValue('');\n this.selectedEmpID=undefined;\n this.selectedEmpID1=undefined;\n this.selectedEmpID='';\n this.selectedEmpID1='';\n this.dataSource='';\n this.selectedprojectid=null;\n this.CustomsReportFormGroup.controls.fcCompany.setValue(this.cid);\n this.stepper.selectedIndex = 0; \n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.CustomsReportFormGroup.controls.fcTaskBy.setValue('Created Date');\n this.Createddatevisible=true;\n this.Updateddatevisible=false;\n this.Dependencybtnvisible=false;\n\n }\n\n changesite(e) {\n this.cid=e.value;\n this.Employees = ''; \n this.Projectlist= '';\n this.projectid = [];\n this.employeeid= []; \n this.PageLoad();\n this.myControl.setValue(''); \n this.myControl1.setValue('');\n this.myControl2.setValue('');\n }\n\n CreatedbySearchClear()\n {\n this.myControl.setValue(''); \n this.selectedEmpID=''; \n }\n RequestonSearchClear()\n {\n this.myControl2.setValue('');\n this.selectedEmpID1='';\n }\n ProjectSearchClear()\n {\n this.myControl1.setValue('');\n this.selectedprojectid=null;\n this.selectedprojectid='';\n }\n\n \n\n async onKey(value,event)\n {\n // console.log('fff',event)\n this.eventID=event.ID\n // await this.PageLoad();\n // event.options =this.Clients\n \n // console.log('fff',opt.options.slice())\n event.options=this.search(value,event) \n \n }\n\n search(value: string,opt) {\n let filter = value.toLowerCase();\n console.log('filter',filter)\n console.log('option',opt)\n console.log('option',opt.filter(option =>\n option.ClientName.toLowerCase().includes(filter)\n ))\n // return opt.filter(option =>option.ClientName.toLowerCase().includes(filter)\n // );\n\n return opt.filter(option =>\n option.ClientName.toLowerCase().includes(filter)\n );\n }\n\n \n\n onRowPrepared(e) {\n// console.log('hi',e.data.SLAColorCode,e.data.Status);\n if (e.rowType == 'data' && e.data.SLAColorCode == \"1\" && e.data.Status != \"Closed\") {\n // console.log('Colorchange');\n e.rowElement.style.backgroundColor = '#FDE2DC'; \n //e.rowElement.style.cssText = \"color: #000000; background-color: \"+ '#FDE2DC'+\"\"; \n // e.rowElement.style.backgroundColor = 'yellow'; \n //e.rowElement.className = e.rowElement.className.replace(\"dx-row-alt\", \"\"); \n }\n // if(this.CustomsReportFormGroup.get('fcSLA').value==true)\n // {\n // // if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") {\n // console.log('SLA');\n // this.dataSource1=_.pluck(_.where(this.dataSource, { 'ColorCode': '1' }));\n // this.dataSource1 = JSON.parse(_.pluck(_.where(this.dataSource, { 'ColorCode': \"1\"}), 'Date'));\n // console.log('filterdatasource',this.dataSource1);\n // // }\n // }\n \n } \n onCellPrepared (e) {\n \n if (e.rowType === \"data\") {\n if (e.column.dataField === \"Status\") { \n e.cellElement.style.cssText =\"color: #000000; background-color: \"+e.data.ColorCode+\"\"; \n // e.cellElement.style.backgroundColor = this.dataSource[e.rowIndex].ColorCode; \n // e.cellElement.style.backgroundColor = e.data.ColorCode;\n }\n if (e.column.dataField ===\"ParentStatus\") { \n e.cellElement.style.cssText =\"color: #000000; background-color: \"+e.data.ParentColorCode+\"\"; \n // e.cellElement.style.backgroundColor = this.dataSource[e.rowIndex].ColorCode; \n // e.cellElement.style.backgroundColor = e.data.ParentColorCode;\n }\n }\n}\n\n// onContentReady() {\n// // Reapply cell customization when the content is re-rendered\n// if (this.dataGrid) {\n// console.log('ahflkja')\n// this.dataGrid.instance.refresh();\n// }\n// }\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n // console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n\n onFocusedRowChanged(e) { \n\n sessionStorage.setItem('activityTicketID',e.data.TicketNo);\n sessionStorage.setItem('TaskSubject', e.data.Subject);\n\n sessionStorage.setItem('TemplateID', '1');\n sessionStorage.setItem('ActivityID', 'INT_VIEW');\n \n let item: any = { \"name\": e.data.TicketNo, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n\n // sessionStorage.setItem('TicketID', e.data.TicketNo);\n // let item: any = { \"name\": \"Ticket Manager\", \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_203\", \"parentid\": \"54\", \"visible\": true };\n // this.eventService.emitMenuSelect(item);\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true; \n // dialogConfig.data = { \n // pid:0,\n // height: '350px',\n // width: '70%', \n // cid:this.CustomsReportFormGroup.get('fcCompany').value,\n // flag:\"View\",\n // TicketID:e.data.TicketNo,\n // TemplateID:1,\n // UserName:this.UserID,\n // LoginFlag:'External',\n // ActiviteID:\"INT_VIEW\",\n // TemplateGroupID:1, \n // Subject:e.data.Subject\n // } \n // const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n // dialogRef.afterClosed().subscribe(result => { \n // this.Submit(); \n // });\n \n }\n\n \n Dependency(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n CID: this.CustomsReportFormGroup.get('fcCompany').value,\n Flag: \"LOADDEPENDENCY\", \n ReqType:this.CustomsReportFormGroup.get('fcRequestType').value, \n Client:this.CustomsReportFormGroup.get('fcClient').value,\n Product:this.CustomsReportFormGroup.get('fcProduct').value, \n Priority:this.CustomsReportFormGroup.get('fcPriority').value,\n Project:this.selectedprojectid,\n Issues:this.CustomsReportFormGroup.get('fcIssue').value,\n Status:this.CustomsReportFormGroup.get('fcStatus').value,\n Location:this.CustomsReportFormGroup.get('fcLocation').value,\n Branch:this.CustomsReportFormGroup.get('fcBranch').value,\n AssignTo:this.selectedEmpID1,\n Reportby:this.selectedEmpID,\n DateType:'cs', \n Subject:this.CustomsReportFormGroup.get('fcSubject').value, \n UserID:this.CurLedgerID, \n FilterBy:this.CustomsReportFormGroup.get('fcTaskBy').value,\n TicketCategory:this.CustomsReportFormGroup.get('fcTicketCatgory').value, \n SLA:this.CustomsReportFormGroup.get('fcInline').value, \n FromDate:this.fromdate,\n ToDate:this.todate\n } \n const dialogRef = this.dialog.open(DependencyrptComponent, dialogConfig)\n // dialogRef.afterClosed().subscribe(result => { \n // this.Submit(); \n // });\n }\n \n}\n","import { Component, OnInit,ViewChild,Inject,ChangeDetectorRef } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { MatDialog,MatDialogConfig,MatDialogRef,MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatStepper } from '@angular/material/stepper';\nimport * as _ from 'underscore/underscore-min.js';\nimport { Platform } from '@ionic/angular';\nimport { attachmentComponent } from '../../Ticket/attachment/attachment.component';\nimport { TicketComponent } from '../../Ticket/ticket/ticket.component';\nimport { CommentComponent } from '../../Ticket/comment/comment.component';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { QuickaddComponent } from '../../Ticket/quickadd/quickadd.component';\nimport { LinkticketaschildComponent } from '../../Ticket/linkticketaschild/linkticketaschild.component';\nimport { TicketactivityviewComponent } from '../../Ticket/ticketactivityview/ticketactivityview.component';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { DatePipe } from '@angular/common';\nimport { ReportRequest } from 'src/app/Modules/report';\nimport { DialogforreportsComponent } from 'src/app/components/dialogforreports/dialogforreports.component';\n\n@Component({\n selector: 'app-taskbyview',\n templateUrl: './taskbyview.component.html',\n styleUrls: ['./taskbyview.component.scss'],\n})\nexport class TaskbyviewComponent implements OnInit {\n\n id: number = 10;\n row: number = this.id / 2;\n row1 = Array(this.row).fill(1);\n row2 = Array(3).fill(1).map((_, index) => index + 1);\n matrix = []\n\n CID:any;\n flag:any;\n Activityflag:any;\n TicketID:any='0';\n datasource:any;\n TaskTemplate:any;\n TicketActivity:any;\n companies:any\n Templatelist:any\n CurLedgerID:any\n selectedValue:any\n isEditable = false;\n TicketActivitylist:any;\n ticketlist:any\n ticketlist1:any\n ticketlist2:any\n ticketlist3:any\n ticketlist4:any\n ticketlist5:any\n ActiviteID:any\n menus1:any;\n TemplateGroupID:any;\n UserType:any;\n TemplateID:any=0;\n AddTemplate:any;\n addbtnvisible:boolean=false\n firstFormGroup:FormGroup;\n steppercount:number=0\n devicevisble:boolean=false\n mobileplatform:boolean=false\n showSpinner:any;\n menuListItems : MatMenuListItem[];\n TicketLink:any;\n tabgroups:any\n homepage1:any\n homepage2:any\n homepage3:any\n homepage4:any\n homepage5:any\n UserID:any;\n ChildIssues:any;\n linkedcount:any=0;\n childcount:any=0;\n TicketIDSubject:any;\n ticketdetails:any;\n imagelist:any;\n commentlist:any;\n //menuListItems: MatMenuListItem[];\n WorkflowStatus:MatWorkFlowStatus[];\n StatusName:string;\n geovisible:boolean;\n\n SortBy = [\n { Sortbyid:'TicketID',Sortbyname:'TicketID' },\n { Sortbyid:'Tag',Sortbyname:'Status' }, \n { Sortbyid:'ReqType',Sortbyname:'Type' }, \n\n ];\n\n SortID: any = 'TicketID';\n LinkSortID: any = 'TicketID';\n\n \n\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private eventService: EmiteventserviceService,\n private dialogService: DialogService,public plt: Platform,private cdr: ChangeDetectorRef,private datepipe :DatePipe) \n { \n if (sessionStorage.getItem('activityTicketID') !== null && sessionStorage.getItem('activityTicketID') !== 'null')\n { \n this.TicketID=sessionStorage.getItem('activityTicketID');\n this.TicketIDSubject= this.TicketID+' : '+sessionStorage.getItem('TaskSubject') ; \n this.TemplateID=sessionStorage.getItem('TemplateID')\n this.ActiviteID=sessionStorage.getItem('ActivityID')\n }\n\n \n // console.log('Dialog data',this.data)\n // this.flag='INT_View';\n\n var chunk_size = 2;\n var arr = this.row2;\n var groups = arr.map(function (e, i) {\n return i % chunk_size === 0 ? arr.slice(i, i + chunk_size) : null;\n })\n .filter(function (e) { return e; });\n this.matrix = groups;\n \n this.firstFormGroup = new FormGroup({ \n \n Name: new FormControl('', [Validators.required]) \n }); \n }\n\n ngOnInit() {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n this.TemplateGroupID=curUser.TemplateGroupID;\n console.log(\"this.ActiviteID\",this.ActiviteID)\n this.flag='View'\n this.ActiviteID=this.ActiviteID\n this. Loaddetails();\n }\n\n Refresh()\n {\n this.ngOnInit();\n }\n\n convertNewLines(comment: string): string {\n return comment.replace(/(\\r\\n|\\n|\\r)/g, '');\n }\n\n onSortSelect(event) {\n //console.log('eventsort',event)\n this.SortID = event; \n this.Loaddetails();\n }\n\n onSortSelectLink(event) {\n //console.log('eventsort',event)\n this.LinkSortID = event; \n this.Loaddetails();\n }\n \n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n cid:101,\n flag:this.flag,\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.UserID,\n TagID:'External',\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID,\n SortBy:this.SortID,\n LinkIssueSortBy:this.LinkSortID\n }\n //console.log('VIEW CLICK',params)\n this.service.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (result.errno === 0){ \n //console.log('SUCCESS') \n if(this.flag=='View' )\n {\n // console.log('SUCCESS1') \n // console.log(\"count\",result.respdata.TicketListSub)\n var temp\n var panel2\n temp=_.countBy(result.respdata.TicketListSub, 'UIPanel');\n // console.log('temp',temp);\n panel2=_.where(temp,'2')\n console.log(\"result.respdata.TicketListSub\", result.respdata.TicketListSub);\n //console.log(\"panel2\", panel2[1]);\n\n // if (this.plt.is('ios') || this.plt.is('android')) \n // {\n // // console.log(\"plat\",1)\n // this.devicevisble= true;\n // this.mobileplatform=true;\n // }\n // else{\n // console.log(\"plat\",2)\n // this.devicevisble= panel2[1]>0 ? false : true;\n // this.mobileplatform=false;\n // }\n\n // this.devicevisble= panel2[1]>0 ? false : true;\n // console.log(\"count\", this.devicevisble);\n // console.log(\"TicketListSub\",result.respdata.TicketListSub);\n this.ticketlist1=_.where(result.respdata.TicketListSub, {UIPanel: '1'});\n this.ticketlist2=_.where(result.respdata.TicketListSub, {UIPanel: '2'});\n this.ticketlist3=_.where(result.respdata.TicketListSub, {UIPanel: '3'});\n this.ticketlist4=_.where(result.respdata.TicketListSub, {UIPanel: '4'});\n this.ticketlist5=_.where(result.respdata.TicketListSub, {UIPanel: '5'});\n \n // console.log('ticketlist1',this.ticketlist1);\n\n this.TicketActivitylist=result.respdata.TicketActivity;\n this.menuListItems=result.respdata.TaskTemplate\n this.WorkflowStatus = result.respdata.WorkFlowStatus\n if(result.respdata.WorkFlowStatus.length>0)\n this.StatusName=result.respdata.WorkFlowStatus[0].FromStatusName\n // console.log('TASKBYVIEW',this.TicketActivitylist);\n let grouplist= result.respdata.Group;\n let grouplist1= _.where(result.respdata.Group, {UIPanel: 1});\n let grouplist2= _.where(result.respdata.Group, {UIPanel: 2});\n let grouplist3= _.where(result.respdata.Group, {UIPanel: 3});\n let grouplist4= _.where(result.respdata.Group, {UIPanel: 4});\n let grouplist5= _.where(result.respdata.Group, {UIPanel: 5});\n\n console.log('TASKBYVIEW',grouplist1);\n console.log('TASKBYVIEW2',grouplist2);\n \n //----- panel1 ---//\n let newList1 = [];\n let temp1\n for (var i = 0; i < grouplist1.length; i++) \n {\n temp1={\"name\":grouplist1[i].UIGroup,\"submenu\": _.where( this.ticketlist1, {UIGroup: grouplist1[i].UIGroup})}\n newList1.push(temp1);\n }\n this.ticketlist1=newList1;\n\n //----- panel2 ---//\n let newList2 = [];\n let temp2\n for (var i = 0; i < grouplist2.length; i++) \n {\n temp2={\"name\":grouplist2[i].UIGroup,\"submenu\": _.where( this.ticketlist2, {UIGroup: grouplist2[i].UIGroup})}\n newList2.push(temp2);\n }\n this.ticketlist2=newList2;\n\n //----- panel3 ---//\n let newList3 = [];\n let temp3\n for (var i = 0; i < grouplist3.length; i++) \n {\n temp3={\"name\":grouplist3[i].UIGroup,\"submenu\": _.where( this.ticketlist3, {UIGroup: grouplist3[i].UIGroup})}\n newList3.push(temp3);\n }\n this.ticketlist3=newList3;\n\n //----- panel4 ---//\n let newList4 = [];\n let temp4\n for (var i = 0; i < grouplist4.length; i++) \n {\n temp4={\"name\":grouplist4[i].UIGroup,\"submenu\": _.where( this.ticketlist4, {UIGroup: grouplist4[i].UIGroup})}\n newList4.push(temp4);\n }\n this.ticketlist4=newList4;\n\n //----- panel5 ---//\n let newList5 = [];\n let temp5\n for (var i = 0; i < grouplist5.length; i++) \n {\n temp5={\"name\":grouplist5[i].UIGroup,\"submenu\": _.where( this.ticketlist5, {UIGroup: grouplist5[i].UIGroup})}\n newList5.push(temp5);\n }\n this.ticketlist5=newList5;\n \n this.TicketLink=result.respdata.TicketLink;\n this.ChildIssues=result.respdata.ChildIssues;\n\n this.linkedcount=result.respdata.TicketLink.length;\n this.childcount=result.respdata.ChildIssues.length;\n } \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n WorkFlowUpdate(menuItem: MatWorkFlowStatus, Value:any)\n {\n let assessmentvalue = [];\n var ColumnName:any='Status'; \n let Value2:any;\n this.ActiviteID=menuItem.ActivityID\n\n if(Value != null)\n {\n //console.log('hi',Value)\n Value2=menuItem.ToStatusID.toString();\n assessmentvalue.push({ColumnName,Value2});\n \n // Value=\"1,2,3\"\n //console.log(\"formValue\",Value2)\n \n // console.log(\"dt\",assessmentvalue)\n \n\n \n let paramsExtra;\n paramsExtra = {\n CID: this.CID,\n Flag: 'EDIT',\n TemplateID:1,\n CreatorFlag:0,\n TicketID:Value,\n UserName: this.UserID,\n dt:assessmentvalue,\n Activity: this.ActiviteID,\n Comment:'',\n ActiviteID: this.ActiviteID\n \n };\n console.log(\"paramsExtra\",paramsExtra);\n this.service.httpPost('/TicketCreator/SetTicketCreator',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (users.errno === 0){\n //this.notificationService.success('Submitted successfully'); \n this.ActiviteID=sessionStorage.getItem('ActivityID');\n this.Loaddetails();\n \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n // console.log(\"submit\",assessmentvalue)\n \n }\n}\n\n clickMenuItem(menuItem : MatMenuListItem,Value){\n \n this.TicketID=this.TicketID\n\n // this.ActiviteID=this.data.ActiviteID\n // let actvityflag=this.data.ActiviteID.split(\"_\",4)\n this.ActiviteID=menuItem.ActivityID\n let actvityflag=menuItem.ActivityID.split(\"_\",4)\n \n \n // console.log('Value',this.ActiviteID[1]);\n this.flag='ACTIVITY'\n if(actvityflag[1]=='VIEW')\n {\n //console.log('VIEwmode')\n this.flag='View'\n this.firstFormGroup.controls.Name.setValue('test'); \n this.isEditable=true\n //this.steppercount=1\n //stepper.next();\n }\n else if (actvityflag[1]=='ATTACHMENT')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0,\n \n template:this.TaskTemplate,\n TicketID:this.TicketID\n \n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.flag='View';\n this.ActiviteID=sessionStorage.getItem('ActivityID');\n this.Loaddetails(); \n }); \n }\n\n else if (actvityflag[1]=='COMMENT')\n {\n // console.log('comment')\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0,\n \n template:this.TaskTemplate,\n TicketID:this.TicketID,\n TemplateID:1\n \n }\n const dialogRef = this.dialog.open(CommentComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.flag='View';\n this.ActiviteID=sessionStorage.getItem('ActivityID');\n this.Loaddetails(); \n }); \n }\n else if (actvityflag[1]=='Report')\n {\n // console.log('report')\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'Report',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(DialogforreportsComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n \n if(result!==undefined)\n {\n this.printvalue(result); \n }\n \n });\n\n\n \n\n }\n // if (actvityflag[1] !=='ATTACHMENT')\n // {\n // this.Activityflag='EDIT'\n // this.Loaddetails1();\n // }\n \n if ( actvityflag[1] !='COMMENT' && actvityflag[1] !='ATTACHMENT' && actvityflag[1] !='Report')\n {\n // console.log('Comment');\n this.Activityflag='EDIT'\n this.Loaddetails1();\n }\n\n }\n\n async GetReportValue()\n {\n let params = {\n cid: this.CID,\n flag:'ReportDetails',\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: this.TemplateGroupID\n\n }\n // console.log('vigi',params)\n\n await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n this.imagelist=result.respdata.DynImage;\n this.commentlist=result.respdata.Comment;\n this.ticketdetails=result.respdata.Ticket;\n // console.log('TE',this.imagelist)\n\n // this.downloadFilesAsZip(this.datasource);\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n async printvalue(row)\n {\n await this. GetReportValue();\n console.log('row',row)\n const reportRequest: ReportRequest = {\n CID:this.CID,\n HeaderBanner:row.HeaderBanner,\n reportName: row.FileName,\n TableName:'DynImage',\n dataSet: {\n \"imagelist\":this.imagelist,\n \"TicketComment\":this.commentlist,\n \"test\":[\n {\"test1\":2},\n {\"test1\":3}\n ]\n },\n parameters: {\n 'pReportName': '12345',\n 'pSiteName': '12345',\n 'pContractRefNo': this.ticketdetails[0].Field5,\n 'pTicketNo':this.ticketdetails[0].Field11==null?\"\":this.ticketdetails[0].Field11,\n\t\t'pTicketDate':this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pContactonsite': \"\",\n\t\t'pContact1': \"\",\n\t\t'pVisitDate': this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pTel': \"\",\n\t\t'pComplaint': this.ticketdetails[0].Subject,\n\t\t'pComment1': 'Button box remove',\n\t\t'pComment2': 'COmment2',\n\t\t'pComment3': 'COmment3',\n\t\t'pComment4': 'COmment4',\n\t\t'pComment5': 'COmment5',\n\t\t'pComment6': 'COmment6',\n\t\t'pComment7': 'COmment7',\n\t\t'pComment8': 'COmment8',\n\t\t'pComment9': 'COmment9',\n\t\t'pComment10': 'COmment10',\n\t\t'pLocation': this.ticketdetails[0].Field4,\n\t\t'pEndUserStaffID':\"\",\n\t\t'pEndUserDate': \"\",\n\t\t'pEndUserContact':\"\",\n\t\t'pRTFEngineer': \"\",\n\t\t'pRTFEngineerDate': \"\",\n\t\t'pManagerApproval': \"\",\n\t\t'pManagerApprovalDate': \"\",\n },\n sendMailFlag: false,\n fromMail: 'example@example.com',\n toMail: 'example@example.com',\n flag: 'EMPLOYEE',\n attachFileName: 'Report.pdf'\n };\n console.log('reportRequest',reportRequest)\n this.service.httpPost3('/Report/GenerateReport',reportRequest).subscribe((blob: Blob) => {\n const url = window.URL.createObjectURL(blob);\n window.open(url); \n });\n }\n\n addLink()\n {\n //this.Activityflag='EDIT'\n //console.log('HI')\n this.flag='ACTIVITY'\n this.Activityflag='EDIT'\n this.ActiviteID='INT_LINK'\n this.Loaddetails1();\n }\n \nRemoveLink(event: MouseEvent, buttonText: string,ticketno: string)\n{\n this.dialogService.openConfirmDialog('Are you sure do you want remove this ticket link?'+\" \"+ ticketno)\n .afterClosed().subscribe(res => {\n if (res) {\n const query = `cid=${this.CID}&slno=${buttonText}&userID=${this.UserID}`;\n this.service.httpGet('/TicketCreator/SetRemoveLink?',query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.notificationService.success(result.errdesc); \n this.Loaddetails(); \n \n }\n else { \n this.notificationService.success(result.errdesc); //':: Problem details'); \n }\n },\n error => {\n console.log(error);\n \n });\n }\n });\n}\n\n ViewLink(event: MouseEvent, tikcetid: string,subject:string) {\n // sessionStorage.setItem('TicketID', buttonText);\n // let item: any = { \"name\": \"Ticket Manager\", \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_203\", \"parentid\": \"54\", \"visible\": true };\n // this.eventService.emitMenuSelect(item);\n sessionStorage.setItem('activityTicketID',tikcetid);\n sessionStorage.setItem('TaskSubject', subject);\n let item: any = { \"name\": tikcetid, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n }\n\n Viewchildticket(event: MouseEvent, tikcetid: string,subject:string) {\n sessionStorage.setItem('activityTicketID',tikcetid);\n sessionStorage.setItem('TaskSubject', subject);\n let item: any = { \"name\": tikcetid, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n }\n\n Loaddetails1()\n {\n this.showSpinner=true;\n let params = {\n cid:101,\n flag:'ACTIVITY',\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.UserID,\n TagID:'External',\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID \n }\n //console.log('VIEW CLICK',params)\n this.service.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (result.errno === 0){ \n //console.log('SUCCESS') \n if(this.flag=='View')\n {\n // console.log('bye')\n } \n else \n {\n //console.log('HI',result.respdata.TaskTemplate)\n this.TaskTemplate=result.respdata.TaskTemplate\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: this.Activityflag,\n pid:0,\n height: '350px',\n width: '60%',\n template:this.TaskTemplate,\n TicketID:this.TicketID,\n ActiviteID:this.ActiviteID,\n TagID: 'INTERNAL',\n TemplateGroupID:this.TemplateGroupID,\n TemplateID: this.TemplateID \n }\n // console.log('TASKBYVIEWAssignee',dialogConfig.data)\n const dialogRef = this.dialog.open(TicketComponent, dialogConfig) \n dialogRef.afterClosed().subscribe(result => { \n this.flag='View';\n this.ActiviteID=sessionStorage.getItem('ActivityID')\n this.Loaddetails(); \n }); \n }\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n\n ChildQuickAdd()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width = '500px'; // Set the width\n dialogConfig.height = '200px';\n dialogConfig.data = {\n flag: 'QuickAdd', \n cid:this.CID, \n TicketID:this.TicketID\n }\n const dialogRef = this.dialog.open(LinkticketaschildComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Loaddetails(); \n });\n }\n\n QuickAdd()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'QuickAdd',\n cid:this.CID, \n TicketID:this.TicketID,\n TicketIDSubject:this.TicketIDSubject\n }\n const dialogRef = this.dialog.open(QuickaddComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Loaddetails(); \n });\n \n }\n\n\nRemoveChildissues(event: MouseEvent,ticketno: string)\n{\n this.dialogService.openConfirmDialog('Are you sure do you want remove this ticket link?'+\" \"+ ticketno)\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.CID,\n Flag:\"REMOVELINK\", \n TicketID:ticketno \n };\n this.service.httpPost('/TicketCreator/SetQuickAdd',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 1) {\n this.notificationService.success(result.errdesc); \n this.Loaddetails(); \n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n\nactiveview(value: any) {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n\n dataview: value,\n\n\n }\n const dialogRef = this.dialog.open(TicketactivityviewComponent, dialogConfig)\n dialogRef.afterClosed()\n\n}\n\n}\n\nexport class MatMenuListItem {\n ActivityID: string;\n LabelName1: string;\n MenuIcon: string;\n\n}\nexport interface GroupALL {\n TicketID: string;\n Subject: string; \n}\nexport type Menu = {\n name: string, \n submenu: { name: string}[]\n}\n\nexport class MatWorkFlowStatus {\n ActivityID: string;\n WorkFlowID: string;\n ToStatusName: string; \n FromStatusName: string; \n ToStatusID: string; \n TransitionName: string;\n TransitionID: string;\n}","import { Injectable } from '@angular/core';\r\n\r\nconst tasks = [];\r\n\r\nfor (let i = 1; i <= 5000; i++) {\r\n tasks.push({\r\n Task_ID: i,\r\n Task_Assigned_Employee_ID: (i % 10) + 1, // Randomized between 1 and 10\r\n Task_Owner_ID: (i % 5) + 1, // Randomized between 1 and 5\r\n Task_Subject: `Task ${i}`,\r\n Task_Start_Date: `2015-${(Math.floor(Math.random() * 12) + 1).toString().padStart(2, '0')}-01T00:00:00`,\r\n Task_Due_Date: `2015-${(Math.floor(Math.random() * 12) + 1).toString().padStart(2, '0')}-30T00:00:00`,\r\n Task_Status: ['Not Started','Need Assistance', 'In Progress', 'Completed', 'Deferred'][i % 6], // Randomly assign a status\r\n Task_Priority: Math.floor(Math.random() * 5) + 1, // Randomized between 1 and 5\r\n Task_Completion: Math.floor(Math.random() * 101), // Randomized between 0 and 100\r\n Task_Parent_ID: 0, // Assuming all tasks are top-level for simplicity\r\n });\r\n}\r\n\r\n// const tasks = [\r\n// {\r\n// Task_ID: 1,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Plans 2015',\r\n// Task_Start_Date: '2015-01-01T00:00:00',\r\n// Task_Due_Date: '2015-04-01T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 2,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Health Insurance',\r\n// Task_Start_Date: '2015-02-12T00:00:00',\r\n// Task_Due_Date: '2015-05-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 3,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 4,\r\n// Task_Subject: 'New Brochures',\r\n// Task_Start_Date: '2015-02-17T00:00:00',\r\n// Task_Due_Date: '2015-03-01T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 4,\r\n// Task_Assigned_Employee_ID: 31,\r\n// Task_Owner_ID: 33,\r\n// Task_Subject: 'Training',\r\n// Task_Start_Date: '2015-03-02T00:00:00',\r\n// Task_Due_Date: '2015-06-29T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 5,\r\n// Task_Assigned_Employee_ID: 5,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'NDA',\r\n// Task_Start_Date: '2015-03-12T00:00:00',\r\n// Task_Due_Date: '2015-05-01T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 90,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 6,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Revenue Projections',\r\n// Task_Start_Date: '2015-03-24T00:00:00',\r\n// Task_Due_Date: '2015-04-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 7,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'TV Recall',\r\n// Task_Start_Date: '2015-04-18T00:00:00',\r\n// Task_Due_Date: '2016-02-04T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 90,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 8,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Overtime',\r\n// Task_Start_Date: '2015-06-10T00:00:00',\r\n// Task_Due_Date: '2015-06-20T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 9,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 12,\r\n// Task_Subject: 'Recall and Refund Forms',\r\n// Task_Start_Date: '2015-06-17T00:00:00',\r\n// Task_Due_Date: '2016-04-09T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 10,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Shippers',\r\n// Task_Start_Date: '2015-07-10T00:00:00',\r\n// Task_Due_Date: '2016-04-11T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 11,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 22,\r\n// Task_Subject: 'Hardware Upgrade',\r\n// Task_Start_Date: '2015-07-22T00:00:00',\r\n// Task_Due_Date: '2016-05-01T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 95,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 12,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 24,\r\n// Task_Subject: 'Touch-Enabled Apps',\r\n// Task_Start_Date: '2015-08-05T00:00:00',\r\n// Task_Due_Date: '2016-04-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 90,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 13,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Online Sales',\r\n// Task_Start_Date: '2015-08-20T00:00:00',\r\n// Task_Due_Date: '2015-09-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 14,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'New Website Design',\r\n// Task_Start_Date: '2015-09-17T00:00:00',\r\n// Task_Due_Date: '2015-11-01T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 15,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 22,\r\n// Task_Subject: 'Bandwidth Increase',\r\n// Task_Start_Date: '2015-11-01T00:00:00',\r\n// Task_Due_Date: '2015-11-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 16,\r\n// Task_Assigned_Employee_ID: 18,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Support',\r\n// Task_Start_Date: '2015-11-10T00:00:00',\r\n// Task_Due_Date: '2015-11-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 17,\r\n// Task_Assigned_Employee_ID: 31,\r\n// Task_Owner_ID: 31,\r\n// Task_Subject: 'Training Material',\r\n// Task_Start_Date: '2015-11-14T00:00:00',\r\n// Task_Due_Date: '2016-02-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 18,\r\n// Task_Assigned_Employee_ID: 22,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'New Database',\r\n// Task_Start_Date: '2015-12-24T00:00:00',\r\n// Task_Due_Date: '2015-12-29T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 95,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 19,\r\n// Task_Assigned_Employee_ID: 32,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'New HDMI Specification',\r\n// Task_Start_Date: '2016-01-02T00:00:00',\r\n// Task_Due_Date: '2016-01-31T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 20,\r\n// Task_Assigned_Employee_ID: 3,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Automation Server',\r\n// Task_Start_Date: '2016-01-15T00:00:00',\r\n// Task_Due_Date: '2016-04-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 85,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 21,\r\n// Task_Assigned_Employee_ID: 40,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Retail Sales',\r\n// Task_Start_Date: '2016-01-20T00:00:00',\r\n// Task_Due_Date: '2016-02-10T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 22,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Reports',\r\n// Task_Start_Date: '2016-03-13T00:00:00',\r\n// Task_Due_Date: '2016-05-07T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 23,\r\n// Task_Assigned_Employee_ID: 5,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Budget',\r\n// Task_Start_Date: '2016-03-20T00:00:00',\r\n// Task_Due_Date: '2016-04-01T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 30,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 24,\r\n// Task_Assigned_Employee_ID: 13,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Shipping Labels',\r\n// Task_Start_Date: '2016-04-01T00:00:00',\r\n// Task_Due_Date: '2016-04-15T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 25,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'New Warehouse',\r\n// Task_Start_Date: '2016-04-05T00:00:00',\r\n// Task_Due_Date: '2016-04-15T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 65,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 26,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Forklift',\r\n// Task_Start_Date: '2016-04-07T00:00:00',\r\n// Task_Due_Date: '2016-04-20T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 20,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 27,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 30,\r\n// Task_Subject: 'Customer Follow Up Plan',\r\n// Task_Start_Date: '2016-05-05T00:00:00',\r\n// Task_Due_Date: '2016-05-11T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 40,\r\n// Task_Parent_ID: 0,\r\n// }, {\r\n// Task_ID: 28,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Prepare 2015 Financial',\r\n// Task_Start_Date: '2015-01-15T00:00:00',\r\n// Task_Due_Date: '2015-01-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 1,\r\n// }, {\r\n// Task_ID: 29,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Prepare 2015 Marketing Plan',\r\n// Task_Start_Date: '2015-01-01T00:00:00',\r\n// Task_Due_Date: '2015-01-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 1,\r\n// }, {\r\n// Task_ID: 30,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Review Health Insurance Options Under the Affordable Care Act',\r\n// Task_Start_Date: '2015-02-12T00:00:00',\r\n// Task_Due_Date: '2015-04-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 31,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 2,\r\n// Task_Subject: 'Choose between PPO and HMO Health Plan',\r\n// Task_Start_Date: '2015-02-15T00:00:00',\r\n// Task_Due_Date: '2015-04-15T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 32,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 4,\r\n// Task_Subject: 'Google AdWords Strategy',\r\n// Task_Start_Date: '2015-02-16T00:00:00',\r\n// Task_Due_Date: '2015-02-28T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 29,\r\n// }, {\r\n// Task_ID: 34,\r\n// Task_Assigned_Employee_ID: 28,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: '2015 Brochure Designs',\r\n// Task_Start_Date: '2015-02-19T00:00:00',\r\n// Task_Due_Date: '2015-02-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 3,\r\n// }, {\r\n// Task_ID: 35,\r\n// Task_Assigned_Employee_ID: 29,\r\n// Task_Owner_ID: 28,\r\n// Task_Subject: 'Brochure Design Review',\r\n// Task_Start_Date: '2015-02-19T00:00:00',\r\n// Task_Due_Date: '2015-02-22T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 34,\r\n// }, {\r\n// Task_ID: 36,\r\n// Task_Assigned_Employee_ID: 29,\r\n// Task_Owner_ID: 28,\r\n// Task_Subject: 'Website Re-Design Plan',\r\n// Task_Start_Date: '2015-02-19T00:00:00',\r\n// Task_Due_Date: '2015-02-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 34,\r\n// }, {\r\n// Task_ID: 37,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Rollout of New Website and Marketing Brochures',\r\n// Task_Start_Date: '2015-02-20T00:00:00',\r\n// Task_Due_Date: '2015-02-28T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 3,\r\n// }, {\r\n// Task_ID: 38,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 4,\r\n// Task_Subject: 'Update Sales Strategy Documents',\r\n// Task_Start_Date: '2015-02-20T00:00:00',\r\n// Task_Due_Date: '2015-02-22T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 29,\r\n// }, {\r\n// Task_ID: 39,\r\n// Task_Assigned_Employee_ID: 41,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Create 2012 Sales Report',\r\n// Task_Start_Date: '2015-02-20T00:00:00',\r\n// Task_Due_Date: '2015-02-21T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 29,\r\n// }, {\r\n// Task_ID: 40,\r\n// Task_Assigned_Employee_ID: 42,\r\n// Task_Owner_ID: 41,\r\n// Task_Subject: 'Direct vs Online Sales Comparison Report',\r\n// Task_Start_Date: '2015-02-20T00:00:00',\r\n// Task_Due_Date: '2015-02-22T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 29,\r\n// }, {\r\n// Task_ID: 41,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 41,\r\n// Task_Subject: 'Review 2012 Sales Report and Approve 2015 Plans',\r\n// Task_Start_Date: '2015-02-23T00:00:00',\r\n// Task_Due_Date: '2015-02-28T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 29,\r\n// }, {\r\n// Task_ID: 42,\r\n// Task_Assigned_Employee_ID: 3,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Deliver R&D Plans for 2015',\r\n// Task_Start_Date: '2015-03-01T00:00:00',\r\n// Task_Due_Date: '2015-03-10T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 1,\r\n// }, {\r\n// Task_ID: 43,\r\n// Task_Assigned_Employee_ID: 32,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Create 2015 R&D Plans',\r\n// Task_Start_Date: '2015-03-01T00:00:00',\r\n// Task_Due_Date: '2015-03-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 42,\r\n// }, {\r\n// Task_ID: 44,\r\n// Task_Assigned_Employee_ID: 33,\r\n// Task_Owner_ID: 32,\r\n// Task_Subject: '2015 QA Strategy Report',\r\n// Task_Start_Date: '2015-03-02T00:00:00',\r\n// Task_Due_Date: '2015-03-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 42,\r\n// }, {\r\n// Task_ID: 45,\r\n// Task_Assigned_Employee_ID: 31,\r\n// Task_Owner_ID: 33,\r\n// Task_Subject: '2015 Training Events',\r\n// Task_Start_Date: '2015-03-02T00:00:00',\r\n// Task_Due_Date: '2015-03-04T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 4,\r\n// }, {\r\n// Task_ID: 46,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Non-Compete Agreements',\r\n// Task_Start_Date: '2015-03-12T00:00:00',\r\n// Task_Due_Date: '2015-03-14T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 1,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 47,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 2,\r\n// Task_Subject: 'Update NDA Agreement',\r\n// Task_Start_Date: '2015-03-14T00:00:00',\r\n// Task_Due_Date: '2015-03-16T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 48,\r\n// Task_Assigned_Employee_ID: 5,\r\n// Task_Owner_ID: 2,\r\n// Task_Subject: 'Update Employee Files with New NDA',\r\n// Task_Start_Date: '2015-03-16T00:00:00',\r\n// Task_Due_Date: '2015-03-26T00:00:00',\r\n// Task_Status: 'Need Assistance',\r\n// Task_Priority: 2,\r\n// Task_Completion: 90,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 49,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Sign Updated NDA',\r\n// Task_Start_Date: '2015-03-20T00:00:00',\r\n// Task_Due_Date: '2015-03-25T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 50,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Sign Updated NDA',\r\n// Task_Start_Date: '2015-03-20T00:00:00',\r\n// Task_Due_Date: '2015-03-25T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 51,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Sign Updated NDA',\r\n// Task_Start_Date: '2015-03-20T00:00:00',\r\n// Task_Due_Date: '2015-03-25T00:00:00',\r\n// Task_Status: 'Need Assistance',\r\n// Task_Priority: 3,\r\n// Task_Completion: 25,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 52,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Sign Updated NDA',\r\n// Task_Start_Date: '2015-03-20T00:00:00',\r\n// Task_Due_Date: '2015-03-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 53,\r\n// Task_Assigned_Employee_ID: 17,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Submit Questions Regarding New NDA',\r\n// Task_Start_Date: '2015-03-21T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 54,\r\n// Task_Assigned_Employee_ID: 18,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Submit Questions Regarding New NDA',\r\n// Task_Start_Date: '2015-03-21T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 55,\r\n// Task_Assigned_Employee_ID: 19,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Submit Questions Regarding New NDA',\r\n// Task_Start_Date: '2015-03-21T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Need Assistance',\r\n// Task_Priority: 4,\r\n// Task_Completion: 25,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 56,\r\n// Task_Assigned_Employee_ID: 14,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Submit Signed NDA',\r\n// Task_Start_Date: '2015-03-22T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 57,\r\n// Task_Assigned_Employee_ID: 13,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Submit Signed NDA',\r\n// Task_Start_Date: '2015-03-22T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 58,\r\n// Task_Assigned_Employee_ID: 15,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Submit Signed NDA',\r\n// Task_Start_Date: '2015-03-22T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 59,\r\n// Task_Assigned_Employee_ID: 16,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Submit Signed NDA',\r\n// Task_Start_Date: '2015-03-22T00:00:00',\r\n// Task_Due_Date: '2015-03-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 5,\r\n// }, {\r\n// Task_ID: 60,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Update Revenue Projections',\r\n// Task_Start_Date: '2015-03-24T00:00:00',\r\n// Task_Due_Date: '2015-04-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 6,\r\n// }, {\r\n// Task_ID: 61,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Review Revenue Projections',\r\n// Task_Start_Date: '2015-03-25T00:00:00',\r\n// Task_Due_Date: '2015-04-06T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 6,\r\n// }, {\r\n// Task_ID: 62,\r\n// Task_Assigned_Employee_ID: 41,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Comment on Revenue Projections',\r\n// Task_Start_Date: '2015-03-25T00:00:00',\r\n// Task_Due_Date: '2015-04-03T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 6,\r\n// }, {\r\n// Task_ID: 63,\r\n// Task_Assigned_Employee_ID: 42,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Comment on Revenue Projections',\r\n// Task_Start_Date: '2015-03-25T00:00:00',\r\n// Task_Due_Date: '2015-04-03T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 6,\r\n// }, {\r\n// Task_ID: 64,\r\n// Task_Assigned_Employee_ID: 45,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Comment on Revenue Projections',\r\n// Task_Start_Date: '2015-03-25T00:00:00',\r\n// Task_Due_Date: '2015-04-03T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 3,\r\n// Task_Completion: 25,\r\n// Task_Parent_ID: 6,\r\n// }, {\r\n// Task_ID: 65,\r\n// Task_Assigned_Employee_ID: 5,\r\n// Task_Owner_ID: 11,\r\n// Task_Subject: 'Provide New Health Insurance Docs',\r\n// Task_Start_Date: '2015-03-28T00:00:00',\r\n// Task_Due_Date: '2015-04-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 66,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 11,\r\n// Task_Subject: 'Review Changes to Health Insurance Coverage',\r\n// Task_Start_Date: '2015-04-07T00:00:00',\r\n// Task_Due_Date: '2015-04-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 67,\r\n// Task_Assigned_Employee_ID: 14,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Scan Health Insurance Forms',\r\n// Task_Start_Date: '2015-04-15T00:00:00',\r\n// Task_Due_Date: '2015-04-20T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 68,\r\n// Task_Assigned_Employee_ID: 15,\r\n// Task_Owner_ID: 14,\r\n// Task_Subject: 'Sign Health Insurance Forms',\r\n// Task_Start_Date: '2015-04-16T00:00:00',\r\n// Task_Due_Date: '2015-04-19T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 69,\r\n// Task_Assigned_Employee_ID: 13,\r\n// Task_Owner_ID: 14,\r\n// Task_Subject: 'Sign Health Insurance Forms',\r\n// Task_Start_Date: '2015-04-16T00:00:00',\r\n// Task_Due_Date: '2015-04-19T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 70,\r\n// Task_Assigned_Employee_ID: 16,\r\n// Task_Owner_ID: 14,\r\n// Task_Subject: 'Sign Health Insurance Forms',\r\n// Task_Start_Date: '2015-04-16T00:00:00',\r\n// Task_Due_Date: '2015-04-19T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 2,\r\n// }, {\r\n// Task_ID: 71,\r\n// Task_Assigned_Employee_ID: 18,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Follow up with West Coast Stores',\r\n// Task_Start_Date: '2015-04-18T00:00:00',\r\n// Task_Due_Date: '2016-02-04T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 95,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 72,\r\n// Task_Assigned_Employee_ID: 17,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Follow up with East Coast Stores',\r\n// Task_Start_Date: '2015-04-18T00:00:00',\r\n// Task_Due_Date: '2016-01-04T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 85,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 73,\r\n// Task_Assigned_Employee_ID: 19,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Send Email to Customers about Recall',\r\n// Task_Start_Date: '2015-04-18T00:00:00',\r\n// Task_Due_Date: '2015-04-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 74,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Submit Refund Report for 2015 Recall',\r\n// Task_Start_Date: '2015-04-25T00:00:00',\r\n// Task_Due_Date: '2015-05-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 75,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Give Final Approval for Refunds',\r\n// Task_Start_Date: '2015-05-05T00:00:00',\r\n// Task_Due_Date: '2015-05-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 76,\r\n// Task_Assigned_Employee_ID: 32,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Prepare Product Recall Report',\r\n// Task_Start_Date: '2015-05-10T00:00:00',\r\n// Task_Due_Date: '2015-05-16T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 77,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Review Product Recall Report by Engineering Team',\r\n// Task_Start_Date: '2015-05-17T00:00:00',\r\n// Task_Due_Date: '2015-05-20T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 7,\r\n// }, {\r\n// Task_ID: 78,\r\n// Task_Assigned_Employee_ID: 31,\r\n// Task_Owner_ID: 32,\r\n// Task_Subject: 'Create Training Course for New TVs',\r\n// Task_Start_Date: '2015-05-29T00:00:00',\r\n// Task_Due_Date: '2015-06-29T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 4,\r\n// }, {\r\n// Task_ID: 79,\r\n// Task_Assigned_Employee_ID: 33,\r\n// Task_Owner_ID: 31,\r\n// Task_Subject: 'Review Training Course for any Omissions',\r\n// Task_Start_Date: '2015-06-01T00:00:00',\r\n// Task_Due_Date: '2015-06-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 4,\r\n// }, {\r\n// Task_ID: 80,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Review Overtime Report',\r\n// Task_Start_Date: '2015-06-10T00:00:00',\r\n// Task_Due_Date: '2015-06-14T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 8,\r\n// }, {\r\n// Task_ID: 81,\r\n// Task_Assigned_Employee_ID: 21,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Submit Overtime Request Forms',\r\n// Task_Start_Date: '2015-06-11T00:00:00',\r\n// Task_Due_Date: '2015-06-12T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 8,\r\n// }, {\r\n// Task_ID: 82,\r\n// Task_Assigned_Employee_ID: 22,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Submit Overtime Request Forms',\r\n// Task_Start_Date: '2015-06-11T00:00:00',\r\n// Task_Due_Date: '2015-06-12T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 8,\r\n// }, {\r\n// Task_ID: 83,\r\n// Task_Assigned_Employee_ID: 23,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Submit Overtime Request Forms',\r\n// Task_Start_Date: '2015-06-11T00:00:00',\r\n// Task_Due_Date: '2015-06-12T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 8,\r\n// }, {\r\n// Task_ID: 84,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Overtime Approval Guidelines',\r\n// Task_Start_Date: '2015-06-15T00:00:00',\r\n// Task_Due_Date: '2015-06-20T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 8,\r\n// }, {\r\n// Task_ID: 85,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 12,\r\n// Task_Subject: 'Refund Request Template',\r\n// Task_Start_Date: '2015-06-17T00:00:00',\r\n// Task_Due_Date: '2016-04-01T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 9,\r\n// }, {\r\n// Task_ID: 86,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 12,\r\n// Task_Subject: 'Recall Rebate Form',\r\n// Task_Start_Date: '2015-06-17T00:00:00',\r\n// Task_Due_Date: '2016-04-01T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 9,\r\n// }, {\r\n// Task_ID: 87,\r\n// Task_Assigned_Employee_ID: 12,\r\n// Task_Owner_ID: 30,\r\n// Task_Subject: 'Create Report on Customer Feedback',\r\n// Task_Start_Date: '2015-06-20T00:00:00',\r\n// Task_Due_Date: '2015-06-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 9,\r\n// }, {\r\n// Task_ID: 88,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 30,\r\n// Task_Subject: 'Review Customer Feedback Report',\r\n// Task_Start_Date: '2015-06-30T00:00:00',\r\n// Task_Due_Date: '2015-07-03T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 9,\r\n// }, {\r\n// Task_ID: 89,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Customer Feedback Report Analysis',\r\n// Task_Start_Date: '2015-07-05T00:00:00',\r\n// Task_Due_Date: '2016-04-09T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 9,\r\n// }, {\r\n// Task_ID: 90,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Prepare Shipping Cost Analysis Report',\r\n// Task_Start_Date: '2015-07-10T00:00:00',\r\n// Task_Due_Date: '2015-07-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 91,\r\n// Task_Assigned_Employee_ID: 13,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Provide Feedback on Shippers',\r\n// Task_Start_Date: '2015-07-11T00:00:00',\r\n// Task_Due_Date: '2015-07-14T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 92,\r\n// Task_Assigned_Employee_ID: 15,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Provide Feedback on Shippers',\r\n// Task_Start_Date: '2015-07-11T00:00:00',\r\n// Task_Due_Date: '2015-07-14T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 93,\r\n// Task_Assigned_Employee_ID: 16,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Provide Feedback on Shippers',\r\n// Task_Start_Date: '2015-07-11T00:00:00',\r\n// Task_Due_Date: '2015-07-14T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 94,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Select Preferred Shipper',\r\n// Task_Start_Date: '2015-07-16T00:00:00',\r\n// Task_Due_Date: '2015-07-20T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 95,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 2,\r\n// Task_Subject: 'Complete Shipper Selection Form',\r\n// Task_Start_Date: '2015-07-21T00:00:00',\r\n// Task_Due_Date: '2016-04-11T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 4,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 96,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 22,\r\n// Task_Subject: 'Upgrade Server Hardware',\r\n// Task_Start_Date: '2015-07-22T00:00:00',\r\n// Task_Due_Date: '2015-07-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 11,\r\n// }, {\r\n// Task_ID: 97,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 21,\r\n// Task_Subject: 'Upgrade Personal Computers',\r\n// Task_Start_Date: '2015-07-24T00:00:00',\r\n// Task_Due_Date: '2016-04-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 85,\r\n// Task_Parent_ID: 11,\r\n// }, {\r\n// Task_ID: 98,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Approve Personal Computer Upgrade Plan',\r\n// Task_Start_Date: '2015-07-24T00:00:00',\r\n// Task_Due_Date: '2015-07-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 11,\r\n// }, {\r\n// Task_ID: 99,\r\n// Task_Assigned_Employee_ID: 3,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Decide on Mobile Devices to Use in the Field',\r\n// Task_Start_Date: '2015-07-30T00:00:00',\r\n// Task_Due_Date: '2015-08-02T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 11,\r\n// }, {\r\n// Task_ID: 100,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 24,\r\n// Task_Subject: 'Upgrade Apps to Windows RT or stay with WinForms',\r\n// Task_Start_Date: '2015-08-01T00:00:00',\r\n// Task_Due_Date: '2015-08-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 12,\r\n// }, {\r\n// Task_ID: 101,\r\n// Task_Assigned_Employee_ID: 25,\r\n// Task_Owner_ID: 24,\r\n// Task_Subject: 'Estimate Time Required to Touch-Enable Apps',\r\n// Task_Start_Date: '2015-08-05T00:00:00',\r\n// Task_Due_Date: '2015-08-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 12,\r\n// }, {\r\n// Task_ID: 102,\r\n// Task_Assigned_Employee_ID: 23,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Report on Tranistion to Touch-Based Apps',\r\n// Task_Start_Date: '2015-08-10T00:00:00',\r\n// Task_Due_Date: '2015-08-11T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 12,\r\n// }, {\r\n// Task_ID: 103,\r\n// Task_Assigned_Employee_ID: 3,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Try New Touch-Enabled WinForms Apps',\r\n// Task_Start_Date: '2015-08-11T00:00:00',\r\n// Task_Due_Date: '2015-08-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 12,\r\n// }, {\r\n// Task_ID: 104,\r\n// Task_Assigned_Employee_ID: 24,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Rollout New Touch-Enabled WinForms Apps',\r\n// Task_Start_Date: '2015-08-17T00:00:00',\r\n// Task_Due_Date: '2016-04-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 12,\r\n// }, {\r\n// Task_ID: 105,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Site Up-Time Report',\r\n// Task_Start_Date: '2015-08-20T00:00:00',\r\n// Task_Due_Date: '2015-08-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 13,\r\n// }, {\r\n// Task_ID: 106,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Review Site Up-Time Report',\r\n// Task_Start_Date: '2015-08-24T00:00:00',\r\n// Task_Due_Date: '2015-08-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 13,\r\n// }, {\r\n// Task_ID: 107,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 4,\r\n// Task_Subject: 'Review Online Sales Report',\r\n// Task_Start_Date: '2015-08-30T00:00:00',\r\n// Task_Due_Date: '2015-09-04T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 13,\r\n// }, {\r\n// Task_ID: 108,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 4,\r\n// Task_Subject: 'Determine New Online Marketing Strategy',\r\n// Task_Start_Date: '2015-09-03T00:00:00',\r\n// Task_Due_Date: '2015-09-10T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 13,\r\n// }, {\r\n// Task_ID: 109,\r\n// Task_Assigned_Employee_ID: 42,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'New Online Marketing Strategy',\r\n// Task_Start_Date: '2015-09-05T00:00:00',\r\n// Task_Due_Date: '2015-09-11T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 13,\r\n// }, {\r\n// Task_ID: 110,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Approve New Online Marketing Strategy',\r\n// Task_Start_Date: '2015-09-15T00:00:00',\r\n// Task_Due_Date: '2015-09-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 13,\r\n// }, {\r\n// Task_ID: 111,\r\n// Task_Assigned_Employee_ID: 28,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Submit New Website Design',\r\n// Task_Start_Date: '2015-09-17T00:00:00',\r\n// Task_Due_Date: '2015-09-22T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 14,\r\n// }, {\r\n// Task_ID: 112,\r\n// Task_Assigned_Employee_ID: 29,\r\n// Task_Owner_ID: 28,\r\n// Task_Subject: 'Create Icons for Website',\r\n// Task_Start_Date: '2015-09-17T00:00:00',\r\n// Task_Due_Date: '2015-09-21T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 111,\r\n// }, {\r\n// Task_ID: 113,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 28,\r\n// Task_Subject: 'Review PSDs for New Website',\r\n// Task_Start_Date: '2015-09-23T00:00:00',\r\n// Task_Due_Date: '2015-10-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 111,\r\n// }, {\r\n// Task_ID: 114,\r\n// Task_Assigned_Employee_ID: 24,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Create New Shopping Cart',\r\n// Task_Start_Date: '2015-09-24T00:00:00',\r\n// Task_Due_Date: '2015-10-01T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 113,\r\n// }, {\r\n// Task_ID: 115,\r\n// Task_Assigned_Employee_ID: 25,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Create New Product Pages',\r\n// Task_Start_Date: '2015-09-24T00:00:00',\r\n// Task_Due_Date: '2015-10-04T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 113,\r\n// }, {\r\n// Task_ID: 116,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Review New Product Pages',\r\n// Task_Start_Date: '2015-10-04T00:00:00',\r\n// Task_Due_Date: '2015-10-10T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 113,\r\n// }, {\r\n// Task_ID: 117,\r\n// Task_Assigned_Employee_ID: 4,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Approve Website Launch',\r\n// Task_Start_Date: '2015-10-10T00:00:00',\r\n// Task_Due_Date: '2015-10-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 113,\r\n// }, {\r\n// Task_ID: 118,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Launch New Website',\r\n// Task_Start_Date: '2015-10-15T00:00:00',\r\n// Task_Due_Date: '2015-10-16T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 111,\r\n// }, {\r\n// Task_ID: 119,\r\n// Task_Assigned_Employee_ID: 14,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Update Customer Shipping Profiles',\r\n// Task_Start_Date: '2015-10-20T00:00:00',\r\n// Task_Due_Date: '2015-10-22T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 14,\r\n// }, {\r\n// Task_ID: 120,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Create New Shipping Return Labels',\r\n// Task_Start_Date: '2015-10-21T00:00:00',\r\n// Task_Due_Date: '2015-10-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 119,\r\n// }, {\r\n// Task_ID: 121,\r\n// Task_Assigned_Employee_ID: 23,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Get Design for Shipping Return Labels',\r\n// Task_Start_Date: '2015-10-21T00:00:00',\r\n// Task_Due_Date: '2015-10-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 119,\r\n// }, {\r\n// Task_ID: 122,\r\n// Task_Assigned_Employee_ID: 29,\r\n// Task_Owner_ID: 23,\r\n// Task_Subject: 'PSD needed for Shipping Return Labels',\r\n// Task_Start_Date: '2015-10-22T00:00:00',\r\n// Task_Due_Date: '2015-10-27T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 119,\r\n// }, {\r\n// Task_ID: 123,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 22,\r\n// Task_Subject: 'Request Bandwidth Increase from ISP',\r\n// Task_Start_Date: '2015-11-01T00:00:00',\r\n// Task_Due_Date: '2015-11-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 15,\r\n// }, {\r\n// Task_ID: 124,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Submit D&B Number to ISP for Credit Approval',\r\n// Task_Start_Date: '2015-11-04T00:00:00',\r\n// Task_Due_Date: '2015-11-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 15,\r\n// }, {\r\n// Task_ID: 125,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Contact ISP and Discuss Payment Options',\r\n// Task_Start_Date: '2015-11-05T00:00:00',\r\n// Task_Due_Date: '2015-11-06T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 15,\r\n// }, {\r\n// Task_ID: 126,\r\n// Task_Assigned_Employee_ID: 18,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Prepare Year-End Support Summary Report',\r\n// Task_Start_Date: '2015-11-10T00:00:00',\r\n// Task_Due_Date: '2015-11-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 16,\r\n// }, {\r\n// Task_ID: 127,\r\n// Task_Assigned_Employee_ID: 19,\r\n// Task_Owner_ID: 18,\r\n// Task_Subject: 'Analyze Support Traffic for 2015',\r\n// Task_Start_Date: '2015-11-11T00:00:00',\r\n// Task_Due_Date: '2015-11-14T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 16,\r\n// }, {\r\n// Task_ID: 128,\r\n// Task_Assigned_Employee_ID: 33,\r\n// Task_Owner_ID: 31,\r\n// Task_Subject: 'Review New Training Material',\r\n// Task_Start_Date: '2015-11-14T00:00:00',\r\n// Task_Due_Date: '2015-11-18T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 129,\r\n// Task_Assigned_Employee_ID: 31,\r\n// Task_Owner_ID: 33,\r\n// Task_Subject: 'Distribute Training Material to Support Staff',\r\n// Task_Start_Date: '2015-11-18T00:00:00',\r\n// Task_Due_Date: '2015-11-30T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 130,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 31,\r\n// Task_Subject: 'Training Material Distribution Schedule',\r\n// Task_Start_Date: '2015-11-30T00:00:00',\r\n// Task_Due_Date: '2015-12-02T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 131,\r\n// Task_Assigned_Employee_ID: 28,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Provide New Artwork to Support Team',\r\n// Task_Start_Date: '2015-12-03T00:00:00',\r\n// Task_Due_Date: '2015-12-04T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 132,\r\n// Task_Assigned_Employee_ID: 29,\r\n// Task_Owner_ID: 28,\r\n// Task_Subject: 'Publish New Art on the Server',\r\n// Task_Start_Date: '2015-12-03T00:00:00',\r\n// Task_Due_Date: '2015-12-04T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 131,\r\n// }, {\r\n// Task_ID: 133,\r\n// Task_Assigned_Employee_ID: 12,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Replace Old Artwork with New Artwork',\r\n// Task_Start_Date: '2015-12-07T00:00:00',\r\n// Task_Due_Date: '2015-12-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 131,\r\n// }, {\r\n// Task_ID: 134,\r\n// Task_Assigned_Employee_ID: 20,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Replace Old Artwork with New Artwork',\r\n// Task_Start_Date: '2015-12-07T00:00:00',\r\n// Task_Due_Date: '2015-12-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 131,\r\n// }, {\r\n// Task_ID: 135,\r\n// Task_Assigned_Employee_ID: 40,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Replace Old Artwork with New Artwork',\r\n// Task_Start_Date: '2015-12-07T00:00:00',\r\n// Task_Due_Date: '2015-12-15T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 131,\r\n// }, {\r\n// Task_ID: 136,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 45,\r\n// Task_Subject: 'Ship New Brochures to Field',\r\n// Task_Start_Date: '2015-12-19T00:00:00',\r\n// Task_Due_Date: '2015-12-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 137,\r\n// Task_Assigned_Employee_ID: 14,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Ship Brochures to Todd Hoffman',\r\n// Task_Start_Date: '2015-12-23T00:00:00',\r\n// Task_Due_Date: '2015-12-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 138,\r\n// Task_Assigned_Employee_ID: 22,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Update Server with Service Packs',\r\n// Task_Start_Date: '2015-12-24T00:00:00',\r\n// Task_Due_Date: '2015-12-24T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 3,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 18,\r\n// }, {\r\n// Task_ID: 139,\r\n// Task_Assigned_Employee_ID: 22,\r\n// Task_Owner_ID: 6,\r\n// Task_Subject: 'Install New Database',\r\n// Task_Start_Date: '2015-12-27T00:00:00',\r\n// Task_Due_Date: '2015-12-28T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 18,\r\n// }, {\r\n// Task_ID: 140,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 22,\r\n// Task_Subject: 'Approve Overtime for HR',\r\n// Task_Start_Date: '2015-12-29T00:00:00',\r\n// Task_Due_Date: '2015-12-29T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 18,\r\n// }, {\r\n// Task_ID: 141,\r\n// Task_Assigned_Employee_ID: 32,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Review New HDMI Specification',\r\n// Task_Start_Date: '2016-01-02T00:00:00',\r\n// Task_Due_Date: '2016-01-31T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 19,\r\n// }, {\r\n// Task_ID: 142,\r\n// Task_Assigned_Employee_ID: 3,\r\n// Task_Owner_ID: 32,\r\n// Task_Subject: 'Approval on Converting to New HDMI Specification',\r\n// Task_Start_Date: '2016-01-11T00:00:00',\r\n// Task_Due_Date: '2016-01-31T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 19,\r\n// }, {\r\n// Task_ID: 143,\r\n// Task_Assigned_Employee_ID: 24,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Create New Spike for Automation Server',\r\n// Task_Start_Date: '2016-01-15T00:00:00',\r\n// Task_Due_Date: '2016-01-27T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 20,\r\n// }, {\r\n// Task_ID: 144,\r\n// Task_Assigned_Employee_ID: 41,\r\n// Task_Owner_ID: 8,\r\n// Task_Subject: 'Report on Retail Sales Strategy for 2016',\r\n// Task_Start_Date: '2016-01-20T00:00:00',\r\n// Task_Due_Date: '2016-01-31T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 21,\r\n// }, {\r\n// Task_ID: 145,\r\n// Task_Assigned_Employee_ID: 25,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Code Review - New Automation Server',\r\n// Task_Start_Date: '2016-01-27T00:00:00',\r\n// Task_Due_Date: '2016-02-15T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 20,\r\n// }, {\r\n// Task_ID: 146,\r\n// Task_Assigned_Employee_ID: 17,\r\n// Task_Owner_ID: 31,\r\n// Task_Subject: 'Feedback on New Training Course',\r\n// Task_Start_Date: '2016-01-28T00:00:00',\r\n// Task_Due_Date: '2016-02-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 17,\r\n// }, {\r\n// Task_ID: 147,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Send Monthly Invoices from Shippers',\r\n// Task_Start_Date: '2016-02-01T00:00:00',\r\n// Task_Due_Date: '2016-02-07T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 10,\r\n// }, {\r\n// Task_ID: 148,\r\n// Task_Assigned_Employee_ID: 40,\r\n// Task_Owner_ID: 39,\r\n// Task_Subject: 'Schedule Meeting with Sales Team',\r\n// Task_Start_Date: '2016-02-07T00:00:00',\r\n// Task_Due_Date: '2016-02-09T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 21,\r\n// }, {\r\n// Task_ID: 149,\r\n// Task_Assigned_Employee_ID: 42,\r\n// Task_Owner_ID: 40,\r\n// Task_Subject: 'Confirm Availability for Sales Meeting',\r\n// Task_Start_Date: '2016-02-09T00:00:00',\r\n// Task_Due_Date: '2016-02-09T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 21,\r\n// }, {\r\n// Task_ID: 150,\r\n// Task_Assigned_Employee_ID: 39,\r\n// Task_Owner_ID: 40,\r\n// Task_Subject: 'Reschedule Sales Team Meeting',\r\n// Task_Start_Date: '2016-02-10T00:00:00',\r\n// Task_Due_Date: '2016-02-10T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 21,\r\n// }, {\r\n// Task_ID: 151,\r\n// Task_Assigned_Employee_ID: 45,\r\n// Task_Owner_ID: 44,\r\n// Task_Subject: 'Update Database with New Leads',\r\n// Task_Start_Date: '2016-03-01T00:00:00',\r\n// Task_Due_Date: '2016-03-10T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 80,\r\n// Task_Parent_ID: 18,\r\n// }, {\r\n// Task_ID: 152,\r\n// Task_Assigned_Employee_ID: 12,\r\n// Task_Owner_ID: 41,\r\n// Task_Subject: 'Send Territory Sales Breakdown',\r\n// Task_Start_Date: '2016-03-13T00:00:00',\r\n// Task_Due_Date: '2016-03-16T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 153,\r\n// Task_Assigned_Employee_ID: 41,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Territory Sales Breakdown Report',\r\n// Task_Start_Date: '2016-03-17T00:00:00',\r\n// Task_Due_Date: '2016-03-17T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 3,\r\n// Task_Completion: 50,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 154,\r\n// Task_Assigned_Employee_ID: 3,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Return Merchandise Report',\r\n// Task_Start_Date: '2016-03-17T00:00:00',\r\n// Task_Due_Date: '2016-03-18T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 25,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 155,\r\n// Task_Assigned_Employee_ID: 32,\r\n// Task_Owner_ID: 3,\r\n// Task_Subject: 'Report on the State of Engineering Dept',\r\n// Task_Start_Date: '2016-03-18T00:00:00',\r\n// Task_Due_Date: '2016-03-19T00:00:00',\r\n// Task_Status: 'Not Started',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 156,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Staff Productivity Report',\r\n// Task_Start_Date: '2016-03-20T00:00:00',\r\n// Task_Due_Date: '2016-03-21T00:00:00',\r\n// Task_Status: 'Not Started',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 157,\r\n// Task_Assigned_Employee_ID: 5,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Review HR Budget Company Wide',\r\n// Task_Start_Date: '2016-03-20T00:00:00',\r\n// Task_Due_Date: '2016-03-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 40,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 158,\r\n// Task_Assigned_Employee_ID: 8,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Sales Dept Budget Request Report',\r\n// Task_Start_Date: '2016-03-23T00:00:00',\r\n// Task_Due_Date: '2016-03-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 159,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Support Dept Budget Report',\r\n// Task_Start_Date: '2016-03-23T00:00:00',\r\n// Task_Due_Date: '2016-03-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 60,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 160,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'IT Dept Budget Request Report',\r\n// Task_Start_Date: '2016-03-23T00:00:00',\r\n// Task_Due_Date: '2016-03-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 30,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 161,\r\n// Task_Assigned_Employee_ID: 32,\r\n// Task_Owner_ID: 5,\r\n// Task_Subject: 'Engineering Dept Budget Request Report',\r\n// Task_Start_Date: '2016-03-23T00:00:00',\r\n// Task_Due_Date: '2016-03-25T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 4,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 162,\r\n// Task_Assigned_Employee_ID: 26,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: '1Q Travel Spend Report',\r\n// Task_Start_Date: '2016-03-24T00:00:00',\r\n// Task_Due_Date: '2016-03-25T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 30,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 163,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 27,\r\n// Task_Subject: 'Approve Benefits Upgrade Package',\r\n// Task_Start_Date: '2016-03-26T00:00:00',\r\n// Task_Due_Date: '2016-03-27T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 164,\r\n// Task_Assigned_Employee_ID: 5,\r\n// Task_Owner_ID: 7,\r\n// Task_Subject: 'Final Budget Review',\r\n// Task_Start_Date: '2016-03-26T00:00:00',\r\n// Task_Due_Date: '2016-03-27T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 25,\r\n// Task_Parent_ID: 23,\r\n// }, {\r\n// Task_ID: 165,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'State of Operations Report',\r\n// Task_Start_Date: '2016-03-28T00:00:00',\r\n// Task_Due_Date: '2016-03-31T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 45,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 166,\r\n// Task_Assigned_Employee_ID: 42,\r\n// Task_Owner_ID: 2,\r\n// Task_Subject: 'Online Sales Report',\r\n// Task_Start_Date: '2016-03-29T00:00:00',\r\n// Task_Due_Date: '2016-03-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 55,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 167,\r\n// Task_Assigned_Employee_ID: 13,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Reprint All Shipping Labels',\r\n// Task_Start_Date: '2016-04-01T00:00:00',\r\n// Task_Due_Date: '2016-04-10T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 10,\r\n// Task_Parent_ID: 24,\r\n// }, {\r\n// Task_ID: 168,\r\n// Task_Assigned_Employee_ID: 28,\r\n// Task_Owner_ID: 13,\r\n// Task_Subject: 'Shipping Label Artwork',\r\n// Task_Start_Date: '2016-04-02T00:00:00',\r\n// Task_Due_Date: '2016-04-09T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 40,\r\n// Task_Parent_ID: 24,\r\n// }, {\r\n// Task_ID: 169,\r\n// Task_Assigned_Employee_ID: 13,\r\n// Task_Owner_ID: 29,\r\n// Task_Subject: 'Specs for New Shipping Label',\r\n// Task_Start_Date: '2016-04-04T00:00:00',\r\n// Task_Due_Date: '2016-04-05T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 2,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 24,\r\n// }, {\r\n// Task_ID: 170,\r\n// Task_Assigned_Employee_ID: 15,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Move Packaging Materials to New Warehouse',\r\n// Task_Start_Date: '2016-04-05T00:00:00',\r\n// Task_Due_Date: '2016-04-15T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 60,\r\n// Task_Parent_ID: 25,\r\n// }, {\r\n// Task_ID: 171,\r\n// Task_Assigned_Employee_ID: 16,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Move Inventory to New Warehouse',\r\n// Task_Start_Date: '2016-04-05T00:00:00',\r\n// Task_Due_Date: '2016-04-15T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 70,\r\n// Task_Parent_ID: 25,\r\n// }, {\r\n// Task_ID: 172,\r\n// Task_Assigned_Employee_ID: 14,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Take Forklift to Service Center',\r\n// Task_Start_Date: '2016-04-07T00:00:00',\r\n// Task_Due_Date: '2016-04-18T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 60,\r\n// Task_Parent_ID: 26,\r\n// }, {\r\n// Task_ID: 173,\r\n// Task_Assigned_Employee_ID: 10,\r\n// Task_Owner_ID: 14,\r\n// Task_Subject: 'Approve Rental of Forklift',\r\n// Task_Start_Date: '2016-04-08T00:00:00',\r\n// Task_Due_Date: '2016-04-09T00:00:00',\r\n// Task_Status: 'Need Assistance',\r\n// Task_Priority: 4,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 26,\r\n// }, {\r\n// Task_ID: 174,\r\n// Task_Assigned_Employee_ID: 7,\r\n// Task_Owner_ID: 10,\r\n// Task_Subject: 'Give Final Approval to Rent Forklift',\r\n// Task_Start_Date: '2016-04-08T00:00:00',\r\n// Task_Due_Date: '2016-04-08T00:00:00',\r\n// Task_Status: 'Need Assistance',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 26,\r\n// }, {\r\n// Task_ID: 175,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 30,\r\n// Task_Subject: 'Review Complaint Reports',\r\n// Task_Start_Date: '2016-04-17T00:00:00',\r\n// Task_Due_Date: '2016-04-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 4,\r\n// Task_Completion: 40,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 176,\r\n// Task_Assigned_Employee_ID: 6,\r\n// Task_Owner_ID: 9,\r\n// Task_Subject: 'Review Website Complaint Reports',\r\n// Task_Start_Date: '2016-04-18T00:00:00',\r\n// Task_Due_Date: '2016-04-24T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 65,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 177,\r\n// Task_Assigned_Employee_ID: 33,\r\n// Task_Owner_ID: 37,\r\n// Task_Subject: 'Test New Automation App',\r\n// Task_Start_Date: '2016-04-20T00:00:00',\r\n// Task_Due_Date: '2016-04-30T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 80,\r\n// Task_Parent_ID: 20,\r\n// }, {\r\n// Task_ID: 178,\r\n// Task_Assigned_Employee_ID: 38,\r\n// Task_Owner_ID: 33,\r\n// Task_Subject: 'Fix Synchronization Issues',\r\n// Task_Start_Date: '2016-04-21T00:00:00',\r\n// Task_Due_Date: '2016-04-21T00:00:00',\r\n// Task_Status: 'Completed',\r\n// Task_Priority: 4,\r\n// Task_Completion: 100,\r\n// Task_Parent_ID: 20,\r\n// }, {\r\n// Task_ID: 179,\r\n// Task_Assigned_Employee_ID: 22,\r\n// Task_Owner_ID: 24,\r\n// Task_Subject: 'Free Up Space for New Application Set',\r\n// Task_Start_Date: '2016-04-19T00:00:00',\r\n// Task_Due_Date: '2016-04-19T00:00:00',\r\n// Task_Status: 'Not Started',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 20,\r\n// }, {\r\n// Task_ID: 180,\r\n// Task_Assigned_Employee_ID: 9,\r\n// Task_Owner_ID: 30,\r\n// Task_Subject: 'Support Team Evaluation Report',\r\n// Task_Start_Date: '2016-05-01T00:00:00',\r\n// Task_Due_Date: '2016-05-07T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 22,\r\n// }, {\r\n// Task_ID: 181,\r\n// Task_Assigned_Employee_ID: 1,\r\n// Task_Owner_ID: 30,\r\n// Task_Subject: 'Review New Customer Follow Up Plan',\r\n// Task_Start_Date: '2016-05-05T00:00:00',\r\n// Task_Due_Date: '2016-05-11T00:00:00',\r\n// Task_Status: 'In Progress',\r\n// Task_Priority: 2,\r\n// Task_Completion: 75,\r\n// Task_Parent_ID: 27,\r\n// }, {\r\n// Task_ID: 182,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Submit Customer Follow Up Plan Feedback',\r\n// Task_Start_Date: '2016-05-06T00:00:00',\r\n// Task_Due_Date: '2016-05-10T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 27,\r\n// }, {\r\n// Task_ID: 183,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Submit Customer Follow Up Plan Feedback',\r\n// Task_Start_Date: '2016-05-06T00:00:00',\r\n// Task_Due_Date: '2016-05-10T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 27,\r\n// }, {\r\n// Task_ID: 184,\r\n// Task_Assigned_Employee_ID: 2,\r\n// Task_Owner_ID: 1,\r\n// Task_Subject: 'Submit Customer Follow Up Plan Feedback',\r\n// Task_Start_Date: '2016-05-06T00:00:00',\r\n// Task_Due_Date: '2016-05-10T00:00:00',\r\n// Task_Status: 'Deferred',\r\n// Task_Priority: 2,\r\n// Task_Completion: 0,\r\n// Task_Parent_ID: 27,\r\n// }];\r\n\r\nconst employees = [{\r\n ID: 1,\r\n Name: 'John Heart',\r\n}, {\r\n ID: 2,\r\n Name: 'Samantha Bright',\r\n}, {\r\n ID: 3,\r\n Name: 'Arthur Miller',\r\n}, {\r\n ID: 4,\r\n Name: 'Robert Reagan',\r\n}, {\r\n ID: 5,\r\n Name: 'Greta Sims',\r\n}, {\r\n ID: 6,\r\n Name: 'Brett Wade',\r\n}, {\r\n ID: 7,\r\n Name: 'Sandra Johnson',\r\n}, {\r\n ID: 8,\r\n Name: 'Ed Holmes',\r\n}, {\r\n ID: 9,\r\n Name: 'Barb Banks',\r\n}, {\r\n ID: 10,\r\n Name: 'Kevin Carter',\r\n}, {\r\n ID: 11,\r\n Name: 'Cindy Stanwick',\r\n}, {\r\n ID: 12,\r\n Name: 'Sammy Hill',\r\n}, {\r\n ID: 13,\r\n Name: 'Davey Jones',\r\n}, {\r\n ID: 14,\r\n Name: 'Victor Norris',\r\n}, {\r\n ID: 15,\r\n Name: 'Mary Stern',\r\n}, {\r\n ID: 16,\r\n Name: 'Robin Cosworth',\r\n}, {\r\n ID: 17,\r\n Name: 'Kelly Rodriguez',\r\n}, {\r\n ID: 18,\r\n Name: 'James Anderson',\r\n}, {\r\n ID: 19,\r\n Name: 'Antony Remmen',\r\n}, {\r\n ID: 20,\r\n Name: 'Olivia Peyton',\r\n}, {\r\n ID: 21,\r\n Name: 'Taylor Riley',\r\n}, {\r\n ID: 22,\r\n Name: 'Amelia Harper',\r\n}, {\r\n ID: 23,\r\n Name: 'Wally Hobbs',\r\n}, {\r\n ID: 24,\r\n Name: 'Brad Jameson',\r\n}, {\r\n ID: 25,\r\n Name: 'Karen Goodson',\r\n}, {\r\n ID: 26,\r\n Name: 'Marcus Orbison',\r\n}, {\r\n ID: 27,\r\n Name: 'Sandy Bright',\r\n}, {\r\n ID: 28,\r\n Name: 'Morgan Kennedy',\r\n}, {\r\n ID: 29,\r\n Name: 'Violet Bailey',\r\n}, {\r\n ID: 30,\r\n Name: 'Ken Samuelson',\r\n}, {\r\n ID: 31,\r\n Name: 'Nat Maguiree',\r\n}, {\r\n ID: 32,\r\n Name: 'Bart Arnaz',\r\n}, {\r\n ID: 33,\r\n Name: 'Leah Simpson',\r\n}, {\r\n ID: 34,\r\n Name: 'Arnie Schwartz',\r\n}, {\r\n ID: 35,\r\n Name: 'Billy Zimmer',\r\n}, {\r\n ID: 36,\r\n Name: 'Samantha Piper',\r\n}, {\r\n ID: 37,\r\n Name: 'Maggie Boxter',\r\n}, {\r\n ID: 38,\r\n Name: 'Terry Bradley',\r\n}, {\r\n ID: 39,\r\n Name: 'Gabe Jones',\r\n}, {\r\n ID: 40,\r\n Name: 'Lucy Ball',\r\n}, {\r\n ID: 41,\r\n Name: 'Jim Packard',\r\n}, {\r\n ID: 42,\r\n Name: 'Hannah Brookly',\r\n}, {\r\n ID: 43,\r\n Name: 'Harv Mudd',\r\n}, {\r\n ID: 44,\r\n Name: 'Clark Morgan',\r\n}, {\r\n ID: 45,\r\n Name: 'Todd Hoffman',\r\n}, {\r\n ID: 46,\r\n Name: 'Jackie Garmin',\r\n}, {\r\n ID: 47,\r\n Name: 'Lincoln Bartlett',\r\n}, {\r\n ID: 48,\r\n Name: 'Brad Farkus',\r\n}, {\r\n ID: 49,\r\n Name: 'Jenny Hobbs',\r\n}, {\r\n ID: 50,\r\n Name: 'Dallas Lou',\r\n}, {\r\n ID: 51,\r\n Name: 'Stu Pizaro',\r\n}];\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Service {\r\n getTasks() {\r\n return tasks;\r\n }\r\n\r\n getEmployees() {\r\n return employees;\r\n }\r\n}\r\n\r\nexport type Employee = typeof employees[0];\r\n\r\nexport type Task = typeof tasks[0];","import { FormBuilder, FormGroup } from '@angular/forms';\nimport { Employee, Task, Service } from '../app.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { User } from 'src/app/Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { Router } from '@angular/router';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n//import { DxScrollViewModule, DxSortableModule,DxTemplateModule } from 'devextreme-angular';\nimport * as _ from 'underscore';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { KanbanuserinitialComponent } from '../../kanbanuserinitial/kanbanuserinitial.component';\nimport { KanbanboardsearchComponent } from '../../kanbanboardsearch/kanbanboardsearch.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { CommentComponent } from '../../Ticket/comment/comment.component';\nimport { attachmentComponent } from '../../Ticket/attachment/attachment.component';\nimport { TaskbyviewComponent } from '../../CustomsReport/taskbyview/taskbyview.component';\nimport { TicketComponent } from '../../Ticket/ticket/ticket.component';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { DialogforreportsComponent } from 'src/app/components/dialogforreports/dialogforreports.component';\nimport { DatePipe } from '@angular/common';\nimport { ReportRequest } from 'src/app/Modules/report';\n\n@Component({\n selector: 'app-devxkanbanboard',\n templateUrl: './devxkanbanboard.component.html',\n styleUrls: ['./devxkanbanboard.component.css']\n})\nexport class DevxkanbanboardComponent implements OnInit {\n KanbanFormGroup:any =FormGroup;\n\n lists: any[] = [];\n LedgerID:any;\n UserID:any;\n TemplateGroupID:any;\n CID:any;\n showSpinner:any;\n //statuses: string[] = ['Open', 'Scheduled', 'In-Progress', 'Waitting', 'Completed'];//['Not Started', 'Need Assistance', 'In Progress', 'Deferred', 'Completed'];//\n statuses: string[] ;//= ['Not Started', 'Need Assistance', 'In Progress', 'Deferred', 'Completed'];\n employees: Object = {};\n\n KeyColumn:any;\n ticketassigneedata:any;\n menuListItems:any; \n statusid:any ;\n UserBoardData:any ; \n BoardKeyColumn:any;\n TaskData:any ;\n columnID:any ;\n boardID:any;\n templateFilter:any ;\n templateCoulmns:any ; \n TicketID:any;\n initials: string = '';\n backgroundColor: string = '';\n\n isdefaultfilter:boolean=true\n beforeKeyColumnValue:any;\n afterKeyColumnValue:any;\n ActiviteID:any;\n TemplateID:any;\n flag:any;\n ticketdetails:any;\n imagelist:any;\n commentlist:any;\n\n //@ViewChild(KanbanuserinitialComponent) kanbanuserinitial: KanbanuserinitialComponent;\n\n constructor(\n service: Service,\n private Httpservice: HttpserviceService,\n //private formBuilder: FormBuilder,\n public notificationService: NotificationService, \n private formBuilder: FormBuilder, \n private router: Router, \n private dialog: MatDialog, \n private eventService: EmiteventserviceService\n ,private datepipe :DatePipe\n ) {\n\n this.KanbanFormGroup = this.formBuilder.group({ \n fcBoard: [''],\n fcFilterDetails:[''],\n // fcCustomer:[''] \n });\n // const tasks = service.getTasks();\n // console.log('tasks',tasks)\n // service.getEmployees().forEach((employee) => {\n // this.employees[employee.ID] = employee.Name;\n // });\n\n // this.statuses.forEach((status) => {\n // this.lists.push(tasks.filter((task) => task.Task_Status === status));\n // });\n }\n\n async ngOnInit() {\n let vCID=sessionStorage.getItem('cid');\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n this.TemplateGroupID=curUser.TemplateGroupID;\n this.CID=parseInt(vCID); \n this.Pageload('','','1','');\n // console.log('TaskData',this.statuses)\n // console.log('TaskData',this.TaskData)\n // this.setInitialsAndColor('Powsul S');\n \n }\n\n Pageload(Customer: any, Employee: any, Flag: any, BoardId: any) {\n this.showSpinner = true;\n let params = {\n CID: this.CID,\n Flag: Flag,\n UserID: this.UserID,\n BoardID: BoardId\n };\n //console.log('params',params)\n this.Httpservice.httpPost('/Kanbanboard/GetKanbanBoardData', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n if (result.errno === 0) {\n if (Flag == '1') {\n this.lists=[]\n //console.log('result',result)\n sessionStorage.removeItem(\"FilterData\");\n sessionStorage.removeItem(\"multiselectinputvalue\");\n this.KeyColumn = result.respdata.KeyColumn;\n //this.ticketassigneedata = result.respdata.TicketAssigneeData;\n\n this.menuListItems = result.respdata.Action;\n //console.log('menuListItems',this.menuListItems)\n this.statuses = _.pluck(result.respdata.BoardData, 'ColumnName');\n this.statusid = _.pluck(result.respdata.BoardData, 'ColumnID');\n this.BoardKeyColumn=result.respdata.BoardData;\n this.UserBoardData = result.respdata.UserBoard;\n this.TaskData = result.respdata.Task;\n this.columnID = this.statusid;\n this.boardID = this.KeyColumn[0].BoardID;\n this.KanbanFormGroup.controls.fcBoard.setValue(JSON.parse(this.boardID));\n this.templateFilter = result.respdata.TemplateFilter;\n sessionStorage.setItem(\"templateFilter\",JSON.stringify(this.templateFilter))\n this.templateCoulmns = result.respdata.TemplateSubData;\n sessionStorage.setItem(\"FilterData\", result.respdata.Filter[0].FilterDetails2); \n this.TemplateID=this.KeyColumn[0].TemplateID;\n // if(this.boardID==result.respdata.DefaultView) \n // this.setDefault=true; \n // console.log('this.FilterDetails',result.respdata.Filter[0].FilterDetails2);\n // console.log('this.data',result.respdata.Filter[0].data);\n this.KanbanFormGroup.controls['fcFilterDetails'].setValue(result.respdata.Filter[0].data);\n // let ticketID=_.pluck(result.respdata.Task, 'TicketID'); \n // this.LoadKanbanBoard(result.respdata.Task ,this.statusid); \n \n \n const updatedTasks = this.TaskData.map(task => {\n const assigneeObj = JSON.parse(task.sys_assignee);\n return {\n ...task,\n sys_assignee: assigneeObj\n };\n });\n \n //console.log('updatedTasks',updatedTasks)\n \n this.statuses.forEach((status) => {\n this.lists.push(updatedTasks.filter((task) => task.KeyColumn === status));\n });\n\n }\n else if (Flag == 'Refresh')\n //this.LoadKanbanBoard(result.respdata.Task ,this.statusid);\n console.log('taskpageload', result.respdata.Task, this.statusid)\n }\n else {\n this.notificationService.success(result.errdesc);\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n } \n\n onListReorder(e) {\n //console.log('before status',this.statuses);\n const list = this.lists.splice(e.fromIndex, 1)[0];\n this.lists.splice(e.toIndex, 0, list);\n\n const status = this.statuses.splice(e.fromIndex, 1)[0];\n this.statuses.splice(e.toIndex, 0, status);\n // console.log('after status',this.statuses);\n }\n\n onTaskDragStart(e) {\n e.itemData = e.fromData[e.fromIndex];\n const beforeresult = this.BoardKeyColumn.find(item => item.ColumnName === e.itemData.KeyColumn);\n this.beforeKeyColumnValue=beforeresult.ColumnID\n //this.beforeKeyColumnValue=e.itemData.KeyColumn;\n //console.log('e.onTaskDragStart',e.itemData.KeyColumn);\n }\n\n onTaskDrop(e) { \n e.itemData.KeyColumn =this.statuses[e.element.columnIndex] \n e.fromData.splice(e.fromIndex, 1);\n e.toData.splice(e.toIndex, 0, e.itemData); \n //this.afterKeyColumnValue=e.itemData.KeyColumn; \n this.TicketID=e.itemData.TicketID;\n //console.log('tikcet',e.itemData.TicketID);\n const afterresult = this.BoardKeyColumn.find(item => item.ColumnName === e.itemData.KeyColumn);\n this.afterKeyColumnValue=afterresult.ColumnID\n //console.log('e.itemdata',e.itemData);\n // const getAssigneeData=e.itemData.sys_assignee.split(',').map(Assignee => Assignee.trim());\n // console.log('result',afterresult.ColumnID);\n //console.log('this.KeyColumn[0].Column3',this.KeyColumn[0].Column3)\n //console.log('this.KeyColumn[0].KeyColumn',this.KeyColumn[0].KeyColumn)\n this.save();\n }\n\n\n /*To create an initial circle with a different color code in Angular, \n you can use a combination of HTML, CSS, and Angular*/\n\n // setInitialsAndColor(name: string): void {\n // this.initials = this.getInitials(name);\n // this.backgroundColor = this.getRandomColor();\n // }\n\n getInitials(firstName: string, lastName: string): string { \n if(firstName!=''){\n const firstInitial = firstName[0];\n const secondInitial = lastName ? lastName[0] : '';\n return `${firstInitial}${secondInitial}`.toUpperCase();\n }\n }\n\n // getRandomColor(): string {\n // const letters = '0123456789ABCDEF';\n // let color = '#';\n // for (let i = 0; i < 6; i++) {\n // color += letters[Math.floor(Math.random() * 16)];\n // }\n // return color;\n // }\n\n\n\n setDefaultView()\n {\n this.showSpinner=true; \n let params = { \n CID:this.CID, \n Flag:'ADD',\n UserID\t:this.UserID ,\n KeyColumn:'Kanban',\n BoardID: this.KanbanFormGroup.get('fcBoard').value\n }\n this.Httpservice.httpPost('/Kanbanboard/SetDefaultView',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (result.errno === 0) { \n this.notificationService.success(result.errdesc); \n }\n else {\n this.notificationService.warn(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n BoardRefresh(){ \n this.KanbanFormGroup.controls.fcFilterDetails.setValue('');\n this.Pageload('','',\"1\",this.KanbanFormGroup.get('fcBoard').value);\n }\n\n\n Filter()\n {\n //this.Pageload('','',\"Refresh\"); \n // this.service.initializeFormGroup();\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width= '30%';\n dialogConfig.height='85%',\n dialogConfig.position= { right: '0' }, \n // dialogConfig.width = \"60%\";\n dialogConfig.data = {\n flag: 'Filter',\n userid: this.UserID,\n ledgerid: this.LedgerID,\n cid:this.CID,\n keycolumn:this.KeyColumn[0].KeyColumn,\n //textdataFlag:this.KanbanFormGroup.get('fcFilterDetails').value==''?'0':'1'\n textdataFlag:this.isdefaultfilter==true?'0':'1',\n BoardID: this.KanbanFormGroup.get('fcBoard').value,\n template: JSON.parse(sessionStorage.getItem(\"templateFilter\")||\"[]\"),//this.templateFilter,\n TemplateID:1,\n dtSelectedFilterData:sessionStorage.getItem(\"FilterData\"),\n \n multiselectinputData:sessionStorage.getItem(\"multiselectinputvalue\"),\n templateColumns:this.templateCoulmns\n }\n\n console.log('dialogConfig',dialogConfig)\n\n const dialogRef = this.dialog.open(KanbanboardsearchComponent, \n dialogConfig)\n dialogRef.afterClosed()\n .subscribe(res => {\n //console.log('res',res,this.KeyColumn[0].KeyColumn);\n if(res.event!='CLEAR'){\n //console.log('JSON.stringify(res.sessionDt)',JSON.stringify(res.sessionDt))\n sessionStorage.setItem(\"FilterData\", JSON.stringify(res.sessionDt)); \n sessionStorage.setItem(\"SearchData\", JSON.stringify(res.dt)); \n sessionStorage.setItem(\"multiselectinputvalue\", JSON.stringify(res.sessionmultiselectinputvalue)); \n //let selectdData=res.dt;\n this.KanbanFormGroup.controls['fcFilterDetails'].setValue(res.dtdispalyvalue.map(item => item.DisplayValue).join(', '))\n \n this.statusid=res.statusid;\n \n\n let params = {\n CID:this.CID, \n Flag: 'Filter' , \n UserID\t:this.UserID ,\n BoardID: this.boardID , \n dtRequestOn: res.dt\n };\n //console.log('params',params)\n \n this.Httpservice.httpPost('/Kanbanboard/GetKanbanBoardData',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n if (result.errno === 0) { \n this.lists=[]\n this.KeyColumn=result.respdata.KeyColumn ; \n //this.ticketassigneedata=result.respdata.TicketAssigneeData ; \n this.menuListItems=result.respdata.Action ; \n this.statuses=_.pluck(result.respdata.BoardData, 'ColumnName');\n this.statusid=_.pluck(result.respdata.BoardData, 'ColumnID');\n this.UserBoardData=result.respdata.UserBoard ; \n this.TaskData=result.respdata.Task; \n this.columnID=this.statusid;\n this.boardID=this.KeyColumn[0].BoardID;\n this.KanbanFormGroup.controls.fcBoard.setValue(JSON.parse(this.boardID)); \n\n\n const updatedTasks = this.TaskData.map(task => {\n const assigneeObj = JSON.parse(task.sys_assignee);\n return {\n ...task,\n sys_assignee: assigneeObj\n };\n });\n \n //console.log('updatedTasks',updatedTasks)\n \n this.statuses.forEach((status) => {\n this.lists.push(updatedTasks.filter((task) => task.KeyColumn === status));\n });\n //this.templateFilter=result.respdata.TemplateFilter; \n //this.LoadKanbanBoard(result.respdata.Task ,this.statusid); \n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n \n \n }\n });\n }\n\n async save(){ \n this.showSpinner=true; \n const filteredcolumn:any[]= [];\n // this.myArray.map(item => { return {\n // TicketID: item.ticketID,\n // statusname: item.ID ,\n // IndexValue:item.indexorder\n // }}); \n const assigneesForTicket ='';\n //this.getAssigneesForTicket(filteredcolumn[0].TicketID);\n let assessmentvalue = [];\n var ColumnName=this.KeyColumn[0].KeyColumn=='Assignee'?'Assignee':this.KeyColumn[0].KeyColumn \n let Value2;//=filteredcolumn[0].statusname\n \n // console.log('filteredcolumn',filteredcolumn)\n // console.log('filtassigneesForTicketeredcolumn',assigneesForTicket)\n \n // if(this.KeyColumn[0].Column3=='multiselect'){ \n // const UserID = filteredcolumn.find(item => item.IndexValue === 1); \n // const newArray: string[] = assigneesForTicket.filter(value => value !== UserID.statusname); \n // const NewUserID:any=filteredcolumn.find(item => item.IndexValue === 0);\n // newArray.push(NewUserID.statusname); \n // const resultString: string = newArray.join(\",\"); \n // assessmentvalue.push({ColumnName,resultString}); \n // } \n // else{\n // Value2=filteredcolumn[0].statusname\n // assessmentvalue.push({ColumnName,Value2});\n // } \n\n let params={\n CID: this.CID,\n Flag: 'EDIT',\n TicketID:this.TicketID,\n ControlType:this.KeyColumn[0].Column3,\n KeyColumn:this.KeyColumn[0].KeyColumn,\n UserID: this.UserID,\n TemplateID:this.KeyColumn[0].TemplateID,\n //Activity:this.KeyColumn[0].ActivityID,\n CreatorFlag:0,\n BeforeDragData:this.beforeKeyColumnValue,\n AfterDragData:this.afterKeyColumnValue,\n //dt:assessmentvalue,\n Comment:'KanbanBoard board drag and drop data',\n ActiviteID:this.KeyColumn[0].ActivityID \n };\n\n let data=await this.Httpservice.httpPost('/Kanbanboard/SetKanbanBoardData',params)\n .toPromise ().then(data=> { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n //console.log('result.errno',result.errno)\n if (result.errno === 0) { \n this.KanbanFormGroup.controls.fcFilterDetails.setValue('');\n this.Pageload('','',\"1\",this.KanbanFormGroup.get('fcBoard').value); \n }\n // else {\n // this.notificationService.success(result.errdesc); \n //}\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n \n }\n\n\n\n clickMenuItem(menuItem ,Value, stepper: MatStepper){ \n // console.log('menuitem',menuItem)\n // console.log('Value',Value)\n\n this.TicketID = Value.TicketID;\n this.ActiviteID = menuItem.ActivityID;\n this.TemplateID = menuItem.TemplateID;\n let actvityflag = menuItem.ActivityID.split(\"_\", 4)\n this.flag = 'ACTIVITY'\n if (actvityflag[1] == 'COMMENT') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n template: '',\n TicketID: this.TicketID,\n TemplateID: this.TemplateID\n\n }\n const dialogRef = this.dialog.open(CommentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1] == 'ATTACHMENT') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n template: '',\n TicketID: this.TicketID\n\n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1] == 'VIEW') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n pid: 0,\n height: '350px',\n width: '70%',\n cid: this.CID,\n flag: \"View\",\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: 1,\n Subject: Value.Subject\n }\n // const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n // dialogRef.afterClosed().subscribe(result => { \n // //this.Submit(); \n // });\n\n sessionStorage.setItem('activityTicketID', this.TicketID);\n sessionStorage.setItem('TaskSubject', Value.Subject);\n sessionStorage.setItem('TemplateID', this.TemplateID);\n sessionStorage.setItem('ActivityID', this.ActiviteID);\n //sessionStorage.setItem('TemplateIDGroupID', this.TemplateGroupID);\n //console.log('result',result)\n // let item: any = { \"name\": 'this.TicketID', \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n //this.eventService.emitMenuSelect(result);\n\n const result = { \"name\": this.TicketID, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(result);\n\n\n }\n else if (actvityflag[1] == 'Report') {\n // console.log('report')\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'Report',\n pid: 0,\n\n template: this.TemplateID,\n TicketID: this.TicketID,\n // geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(DialogforreportsComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n\n if (result !== undefined) {\n this.printvalue(result);\n }\n\n });\n\n }\n else if (actvityflag[1] !== 'ATTACHMENT' && actvityflag[1] != 'Report') {\n //console.log('Other') ;\n //this.Activityflag='EDIT'\n this.flag = 'EDIT'\n this.Loaddetails();\n }\n }\n\n async printvalue(row)\n {\n await this. GetReportValue();\n console.log('row',row)\n const reportRequest: ReportRequest = {\n CID:this.CID,\n HeaderBanner:row.HeaderBanner,\n reportName: row.FileName,\n TableName:'DynImage',\n dataSet: {\n \"imagelist\":this.imagelist,\n \"TicketComment\":this.commentlist,\n \"test\":[\n {\"test1\":2},\n {\"test1\":3}\n ]\n },\n parameters: {\n 'pReportName': '12345',\n 'pSiteName': '12345',\n 'pContractRefNo': this.ticketdetails[0].Field5,\n 'pTicketNo':this.ticketdetails[0].Field11==null?\"\":this.ticketdetails[0].Field11,\n\t\t'pTicketDate':this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pContactonsite': \"\",\n\t\t'pContact1': \"\",\n\t\t'pVisitDate': this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pTel': \"\",\n\t\t'pComplaint': this.ticketdetails[0].Subject,\n\t\t'pComment1': 'Button box remove',\n\t\t'pComment2': 'COmment2',\n\t\t'pComment3': 'COmment3',\n\t\t'pComment4': 'COmment4',\n\t\t'pComment5': 'COmment5',\n\t\t'pComment6': 'COmment6',\n\t\t'pComment7': 'COmment7',\n\t\t'pComment8': 'COmment8',\n\t\t'pComment9': 'COmment9',\n\t\t'pComment10': 'COmment10',\n\t\t'pLocation': this.ticketdetails[0].Field4,\n\t\t'pEndUserStaffID':\"\",\n\t\t'pEndUserDate': \"\",\n\t\t'pEndUserContact':\"\",\n\t\t'pRTFEngineer': \"\",\n\t\t'pRTFEngineerDate': \"\",\n\t\t'pManagerApproval': \"\",\n\t\t'pManagerApprovalDate': \"\",\n },\n sendMailFlag: false,\n fromMail: 'example@example.com',\n toMail: 'example@example.com',\n flag: 'EMPLOYEE',\n attachFileName: 'Report.pdf'\n };\n console.log('reportRequest',reportRequest)\n this.Httpservice.httpPost3('/Report/GenerateReport',reportRequest).subscribe((blob: Blob) => {\n const url = window.URL.createObjectURL(blob);\n window.open(url); \n });\n }\n async GetReportValue()\n {\n let params = {\n cid: this.CID,\n flag:'ReportDetails',\n TicketID: this.TicketID,\n TemplateID: 1,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: 1\n\n }\n // console.log('vigi',params)\n\n await this.Httpservice.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n this.imagelist=result.respdata.DynImage;\n this.commentlist=result.respdata.Comment;\n this.ticketdetails=result.respdata.Ticket;\n // console.log('TE',this.imagelist)\n\n // this.downloadFilesAsZip(this.datasource);\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n cid:this.CID,\n flag:\"ACTIVITY\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.LedgerID,\n TagID:'INTERNAL',\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID \n }\n console.log('params',params)\n\n this.Httpservice.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n this.showSpinner=true;\n setTimeout(() =>{this.showSpinner=false;},800)\n if (result.errno === 0){ \n //this.TaskTemplate=result.respdata.TaskTemplate\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: this.flag,\n pid:0,\n height: '350px',\n width: '60%',\n template:result.respdata.TaskTemplate,\n TicketID:this.TicketID,\n ActiviteID:this.ActiviteID,\n TagID:'INTERNAL',\n TemplateGroupID:this.TemplateGroupID,\n TemplateID:this.TemplateID \n }\n \n const dialogRef = this.dialog.open(TicketComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.flag='HomePage' \n });\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n\n Add() {\n // console.log(\"TaskTemplate\",this.AddTemplate[0].ActivityID)\n this.ActiviteID = 'INT_EDIT';//this.AddTemplate[0].ActivityID\n this.flag = 'ADD'\n //this.Activityflag = 'ADD'\n this.TicketID = '0'\n this.Loaddetails();\n }\n \n\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from '../../../../Modules/user';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../../../ITS/Ticket/ticket/ticket.component';\nimport { CrmdatecontrolComponent } from '../../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\n\n\n@Component({\n selector: 'app-helpdesktaskby',\n templateUrl: './helpdesktaskby.component.html',\n styleUrls: ['./helpdesktaskby.component.scss'],\n})\nexport class HelpdesktaskbyComponent implements OnInit {\n\n @ViewChild('stepper') stepper;\n dataSource: any;\n dataSource1: any;\n CustomsReportFormGroup: FormGroup;\n CustomDataFormGroup:FormGroup;\n Companies: any;\n Employees:any; \n employeeid:string[]=[];\n selectedEmpID: any;\n selectedEmpID1: any;\n frmdate= new Date();\n cid:any; \n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n myControl2 = new FormControl();\n filteredOptions2: Observable;\n showSpinner:any;\n myControl1 = new FormControl();\n filteredOptions1: Observable;\n selectedProjectID: number;\n projectid: string[] = [];\n selectedprojectid: any;\n Projectlist:any;\n isEditable = true; \n RequestType:any;\n Clients:any;\n Issues:any;\n Location:any;\n Priority:any;\n Status:any;\n Branch:any;\n Product:any;\n CurLedgerID:number;\n isColorCodeVisible: boolean;\n eventID:any;\n public filteredList5\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n TaskTemplate:any;\n Activityflag:any;\n TicketID:any='0';\n ActiviteID:any\n TemplateGroupID:any;\n TemplateID:any=0;\n UserID:any;\n FilterBy:any;\n Createddatevisible:boolean=true;\n Updateddatevisible:boolean=false;\n CIDisvisible:boolean=false;\n Subisvisible:boolean=false;\n Createbyisvisible:boolean=false;\n Requestonisvisible:boolean=false;\n Projectisvisible:boolean=false;\n RequestTypeisvisible:boolean=false;\n Typeofissueisvisible:boolean=false;\n Locationisvisible:boolean=false;\n Branchisvisible:boolean=false;\n Statusisvisible:boolean=false;\n Priorityisvisible:boolean=false;\n Productisvisible:boolean=false;\n TicketCategoryisvisible:boolean=false;\n FilterByisvisible:boolean=false;\n Visiblelist:any;\n TaskBy = [\n { name: 'Created Date' },\n { name: 'Updated Date' } \n ];\n TicketCategory = [\n { name: 'Internal' },\n { name: 'External' } \n ];\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog: MatDialog,\n public notificationService: NotificationService, private datePipe: DatePipe) { \n this.CustomsReportFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n myControl: [''],\n myControl1: [''],\n myControl2: [''],\n fcRequestType:[''],\n //fcClient:[''],\n fcIssue:[''],\n fcLocation:[''],\n fcPriority:[''],\n fcStatus:[''],\n fcBranch:[''],\n fcProduct:[''],\n fcSubject:[''],\n fcTaskBy:[''],\n fcTicketCatgory:['']\n \n });\n this.CustomDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit(): void {\n\n this.CustomsReportFormGroup.controls.fcTaskBy.setValue('Created Date');\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n this.UserID=curUser.userid;\n console.log('ledgerid',curUser.UserType)\n this.PageLoad();\n this.CustomsReportFormGroup.controls.fcCompany.setValue(this.cid);\n // this.CustomsReportFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.CustomsReportFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n \n this.filteredOptions1 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter1(value, 'myControl1'))\n ); \n \n this.filteredOptions2 = this.myControl2.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter2(value))\n ); \n\n\n \n }\n\n \n taskbyselect(e)\n {\n this.FilterBy = this.CustomsReportFormGroup.get('fcTaskBy').value;\n console.log('FilterBy',this.FilterBy)\n if(this.FilterBy==='Created Date' )\n {\n this.Createddatevisible=true;\n this.Updateddatevisible=false;\n }\n else \n {\n this.Createddatevisible=false;\n this.Updateddatevisible=true;\n } \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter2(value: string): string[] {\n const filterValue = value.toLowerCase(); \n // console.log('Filter employeeid',this.employeeid);\n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n\n private _filter1(value: string, control: string): string[] { \n const filterValue = value.toLowerCase();\n // console.log('controlID',filterValue);\n this.selectedprojectid=''\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl1') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n }\n\n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID; \n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n\n selectedemployee2(event) { \n this.selectedEmpID1 = event.option.value;\n const str: string = this.selectedEmpID1; \n this.selectedEmpID1 = this.selectedEmpID1.slice(0, str.indexOf('-')); \n }\n\n\n selectedEmployee1(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n if (control === 'myControl1') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID'));\n }\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n \n };\n this.service.httpPost('/HelpdeskCustomsReport/GetHelpdeskTicketData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employee; \n this.Projectlist=result.respdata.Project;\n this.RequestType=result.respdata.RequestType;\n this.Clients=result.respdata.Client;\n this.Issues=result.respdata.Issue;\n this.Location=result.respdata.Location;\n this.Priority=result.respdata.Priority;\n this.Status=result.respdata.Status;\n this.Branch=result.respdata.Branch;\n this.Product=result.respdata.Product;\n\n this.Visiblelist = result.respdata.FormFields; \n this.Branchisvisible=this.Visiblelist[0].Tagvalue;\n this.Createbyisvisible=this.Visiblelist[1].Tagvalue;\n this.FilterByisvisible=this.Visiblelist[2].Tagvalue;\n this.Locationisvisible=this.Visiblelist[3].Tagvalue;\n this.Priorityisvisible=this.Visiblelist[4].Tagvalue;\n this.Productisvisible=this.Visiblelist[5].Tagvalue;\n this.Projectisvisible=this.Visiblelist[6].Tagvalue;\n this.Requestonisvisible=this.Visiblelist[7].Tagvalue;\n this.RequestTypeisvisible=this.Visiblelist[8].Tagvalue;\n this.CIDisvisible=this.Visiblelist[9].Tagvalue;\n this.Statusisvisible=this.Visiblelist[10].Tagvalue;\n this.Subisvisible=this.Visiblelist[11].Tagvalue;\n this.TicketCategoryisvisible=this.Visiblelist[12].Tagvalue;\n this.Typeofissueisvisible=this.Visiblelist[13].Tagvalue;\n\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n this.employeeid= _.pluck(this.Employees, 'Name'); \n // console.log('employees',this.Employees) \n this.filteredList5= this.Clients.slice();\n\n // console.log('test',this.filteredList5)\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n\n Submit() { \n if (this.CustomsReportFormGroup.invalid) {\n this.notificationService.warn('Please select date range'); \n return;\n } \n this.showSpinner=true;\n let params = { \n CID: this.CustomsReportFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\", \n ReqType:this.CustomsReportFormGroup.get('fcRequestType').value, //this.EffortFormGroup.get('fcEmployee').value, \n Client:this.CurLedgerID,\n Product:this.CustomsReportFormGroup.get('fcProduct').value, \n Priority:this.CustomsReportFormGroup.get('fcPriority').value,\n Project:this.selectedprojectid,\n Issues:this.CustomsReportFormGroup.get('fcIssue').value,\n Status:this.CustomsReportFormGroup.get('fcStatus').value,\n Location:this.CustomsReportFormGroup.get('fcLocation').value,\n Branch:this.CustomsReportFormGroup.get('fcBranch').value,\n AssignTo:this.selectedEmpID1,\n Reportby:this.selectedEmpID,\n DateType:'cs', \n Subject:this.CustomsReportFormGroup.get('fcSubject').value, \n UserID:this.CurLedgerID, \n FilterBy:this.CustomsReportFormGroup.get('fcTaskBy').value,\n TicketCategory:this.CustomsReportFormGroup.get('fcTicketCatgory').value, \n FromDate:this.fromdate,\n ToDate:this.todate\n //FromDate: this.datePipe.transform(this.CustomsReportFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.CustomsReportFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n // this.datePipe.transform(this.CustomsReportFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.CustomsReportFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n \n };\n console.log('zfv',params)\n this.service.httpPost('/HelpdeskCustomsReport/GetHelpdeskTicketData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n this.stepper.selectedIndex = 1; \n result = data; \n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.dataSource = result.respdata.Taskdata;\n this.isColorCodeVisible=false;\n if(this.CustomsReportFormGroup.get('fcSLA').value==true)\n {\n // if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") {\n console.log('SLA');\n // this.dataSource=_.pluck(_.where(this.dataSource, { 'ColorCode': '1' })); \n this.dataSource = JSON.parse(_.pluck(_.where(this.dataSource, { 'ColorCode':\"1\" }), 'Date'));\n console.log('filterdatasource',this.dataSource);\n // }\n }\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear(){\n this.CustomsReportFormGroup.reset(); \n this.myControl.setValue(''); \n this.myControl1.setValue('');\n this.myControl2.setValue('');\n this.selectedEmpID=undefined;\n this.selectedEmpID1=undefined;\n this.dataSource='';\n this.selectedprojectid=null;\n this.CustomsReportFormGroup.controls.fcCompany.setValue(this.cid);\n this.stepper.selectedIndex = 0; \n // this.CustomsReportFormGroup.controls.fcFromDate.setValue(this.frmdate);\n // this.CustomsReportFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.CustomsReportFormGroup.controls.fcTaskBy.setValue('Created Date');\n this.Createddatevisible=true;\n this.Updateddatevisible=false;\n }\n\n async onKey(value,event)\n {\n // console.log('fff',event)\n this.eventID=event.ID\n // await this.PageLoad();\n // event.options =this.Clients\n \n // console.log('fff',opt.options.slice())\n event.options=this.search(value,event) \n \n }\n\n search(value: string,opt) {\n let filter = value.toLowerCase();\n console.log('filter',filter)\n console.log('option',opt)\n console.log('option',opt.filter(option =>\n option.ClientName.toLowerCase().includes(filter)\n ))\n // return opt.filter(option =>option.ClientName.toLowerCase().includes(filter)\n // );\n\n return opt.filter(option =>\n option.ClientName.toLowerCase().includes(filter)\n );\n }\n\n changesite(e) {\n this.cid=e.value;\n this.PageLoad();\n }\n\n onRowPrepared(e) {\n // console.log('hi',e.data.ColorCode,e.data.Status);\n if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") {\n // console.log('Colorchange');\n e.rowElement.style.backgroundColor = '#FCD1C7'; \n }\n // if(this.CustomsReportFormGroup.get('fcSLA').value==true)\n // {\n // // if (e.rowType == 'data' && e.data.ColorCode == \"1\" && e.data.Status != \"Closed\") {\n // console.log('SLA');\n // this.dataSource1=_.pluck(_.where(this.dataSource, { 'ColorCode': '1' }));\n // this.dataSource1 = JSON.parse(_.pluck(_.where(this.dataSource, { 'ColorCode': \"1\"}), 'Date'));\n // console.log('filterdatasource',this.dataSource1);\n // // }\n // }\n \n } \n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter, Inject, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, FormArray } from '@angular/forms';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { User } from 'src/app/Modules/user';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { DocumentcontrolValidate } from 'src/app/components/Employee/Documents/documentcontrolvalidate';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { PhotoService } from 'src/app/Services/OtherServices/photo.service';\n//import { GeocodingService } from '../geocoding.service';\nimport { Camera,CameraResultType, CameraSource } from '@capacitor/camera';\nimport { saveAs } from 'file-saver';\nimport { FileDownloadServiceService } from 'src/app/Services/OtherServices/file-download-service.service';\nimport { param } from 'jquery';\nimport { DatePipe } from '@angular/common';\n\n\n@Component({\n selector: 'app-attachment',\n templateUrl: './attachment.component.html',\n styleUrls: ['./attachment.component.scss'],\n})\nexport class attachmentComponent implements OnInit {\n\n // @Input() \n // @ViewChild('fileUpload', { static: false }) fileUpload;\n isLinear = false;\n imageVisible=false;\n PhotoVisible=false;\n parentForm: FormGroup;\n fileUploadId: any=\"uploadpath\";\n public files: File[] = [];\n CID:any;\n flag:any;\n TicketID:any=0;\n CurLedgerID:any;\n formData = new FormData();\n Comment:any\n TemplateID:any=1\n FileList:any;\n imageUrl:any;\n photoUrl: string=\"\" ;\n location: string='';\n datetime: string='';\n\n currentLatitude: number;\n currentLongitude: number;\n currentLocationDetails: string;\n fileToUpload: File[] = [];\n geodetailsvisible:boolean=false;\n UploadImageMaxSize:number=0;\n curdate= new Date();\n UploadFileMaxSize:number=0;\ndataSource:any;\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n fileuploadcount:any;\nfinalfilecount:any;\n displayedColumns =['ActivityDate','Comment','AttachmentsRef','Action']\n @Output() afterSelectionMethod: EventEmitter = new EventEmitter();\n\n constructor(private fileDownloadService: FileDownloadServiceService, public service: HttpserviceService,public notificationService: NotificationService,private _snackBar: MatSnackBar, private modalRef: MatDialogRef\n ,public DcValidate: DocumentcontrolValidate,private dialogService: DialogService,private datePipe: DatePipe,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any,public photoService: PhotoService,private http: HttpClient) \n \n {\n //console.log('ddd',this.curUser.CustomerSettings.UploadImageMaxSize)\n\n this.flag = this.data.flag;\n this.TicketID=this.data.TicketID\n this.geodetailsvisible=this.data.geovisible \n this.UploadImageMaxSize= this.curUser.CustomerSettings.UploadImageMaxSize;\n this.UploadFileMaxSize= this.curUser.CustomerSettings.UploadFileMaxSize;\n\n }\n\n ngOnInit() {\n this.fileuploadcount =this.curUser.CustomerSettings.FileUploadCount;\n // console.log('count',this.fileuploadcount)\n\n this.getLocation();\n // this.dialogRef.updateSize('40%');\n // this.fileUploadId = Object.keys(this.parentForm.controls)[0];\n // this.parentForm.addControl(this.fileUploadId, new FormControl(''));\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.parentForm = new FormGroup({\n fileUploadId: new FormControl('')\n });\n\n this. GetFile();\n }\n getLocation() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n (position) => {\n this.currentLatitude = position.coords.latitude;\n this.currentLongitude = position.coords.longitude;\n this.getLocationDetails(this.currentLatitude, this.currentLongitude);\n },\n (error) => {\n console.error('Error getting location:', error);\n }\n );\n } else {\n console.error('Geolocation is not supported by this browser.');\n }\n }\n getLocationDetails(latitude: number, longitude: number) {\n // You can use reverse geocoding APIs like Google Maps API to get location details from latitude and longitude.\n // Here, we are just showing latitude and longitude.\n // this.currentLocationDetails = `Latitude: ${latitude}, Longitude: ${longitude}`;\n const YOUR_API_KEY = \"AIzaSyAAINDRi9q2jr84DcwdX3ayB_DjPbAMZno\";\n const apiUrl = `https://maps.googleapis.com/maps/api/geocode/json?latlng=${latitude},${longitude}&key=${YOUR_API_KEY}`;\n \n \n this.http.get(apiUrl).subscribe(\n (response: any) => {\n if (response && response.results && response.results.length > 0) {\n this.currentLocationDetails = response.results[0].formatted_address;\n // console.log(\"response\",response.results)\n } else {\n console.error('No address found for the given latitude and longitude.');\n }\n },\n (error) => {\n console.error('Error getting address:', error);\n }\n );\n \n //clocationonsole.log(\"apiUrl\",apiUrl)\n \n // console.log(\"address\",this.currentLocationDetails)\n }\n\n // async takePhoto() {\n\n \n // console.log('geodetailsvisible',this.geodetailsvisible)\n // const date = new Date();\n // const formattedDate = this.formatDate(date);\n // const fileName = `photo_${formattedDate}.jpg`;\n\n // const coordinates =`${this.currentLatitude},${this.currentLongitude}`\n // this.location=`${this.currentLocationDetails}`\n // const image = await Camera.getPhoto({\n // quality: 50,\n // allowEditing: false,\n // resultType: CameraResultType.Uri,\n // source: CameraSource.Camera,\n // width:150,\n // height:150,\n // });\n\n // // Draw watermark on the image\n // const canvas = document.createElement('canvas');\n // const context = canvas.getContext('2d');\n // const img = new Image();\n // img.onload = () => {\n // canvas.width = img.width;\n // canvas.height = img.height;\n // context.drawImage(img, 0, 0);\n // if(this.geodetailsvisible==true)\n // {\n // context.font = '20px Arial';\n // context.fillStyle = 'white';\n // context.fillText(formattedDate, 10, canvas.height - 50);\n // context.fillText(this.location, 10, canvas.height - 30);\n // context.fillText(coordinates, 10, canvas.height - 10);\n // }\n \n \n // this.photoUrl = canvas.toDataURL('image/jpeg');\n // };\n // img.src = image.webPath;\n // this.PhotoVisible=true;\n // }\n\n async takePhoto() {\n // console.log('geodetailsvisible', this.geodetailsvisible);\n const date = new Date();\n const formattedDate = this.formatDate(date);\n const fileName = `photo_${formattedDate}.jpg`;\n\n const coordinates = `${this.currentLatitude},${this.currentLongitude}`;\n this.location = `${this.currentLocationDetails}`;\n\n // Capture the image\n const image = await Camera.getPhoto({\n quality: 100, // Adjust quality if needed\n allowEditing: false,\n resultType: CameraResultType.Uri,\n source: CameraSource.Camera\n });\n\n const img = new Image();\n img.src = image.webPath;\n\n img.onload = () => {\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n\n // Set canvas size to match the image dimensions\n canvas.width = img.width;\n canvas.height = img.height;\n\n // Draw the image onto the canvas\n context.drawImage(img, 0, 0, canvas.width, canvas.height);\n\n // Add watermark if geodetailsvisible is true\n if (this.geodetailsvisible) {\n context.font = '20px Arial';\n context.fillStyle = 'white';\n context.fillText(formattedDate, 10, canvas.height - 50);\n context.fillText(this.location, 10, canvas.height - 30);\n context.fillText(coordinates, 10, canvas.height - 10);\n }\n\n // Compress the image to approximately 1 MB\n let quality = 0.9; // Start with high quality\n let photoUrl = canvas.toDataURL('image/jpeg', quality);\n let fileSize = this.getBase64FileSize(photoUrl);\n\n //console.log('fileSize',fileSize)\n\n // Adjust quality to get the desired file size (around 1 MB)\n while (fileSize > 1 * 1024 * 1024 && quality > 0.1) {\n quality -= 0.05;\n photoUrl = canvas.toDataURL('image/jpeg', quality);\n fileSize = this.getBase64FileSize(photoUrl);\n }\n\n // Set the final photo URL\n this.photoUrl = photoUrl;\n this.PhotoVisible = true;\n };\n\n img.onerror = (error) => {\n console.error('Image load error:', error);\n };\n}\n\n// Helper function to calculate the size of a base64 string in bytes\ngetBase64FileSize(base64String: string): number {\n const padding = (base64String.endsWith('==') ? 2 : (base64String.endsWith('=') ? 1 : 0));\n return (base64String.length * 3 / 4) - padding;\n}\n\n\n\n private formatDate(date: Date): string {\n const year = date.getFullYear();\n const month = this.padZero(date.getMonth() + 1);\n const day = this.padZero(date.getDate());\n const hours = this.padZero(date.getHours());\n const minutes = this.padZero(date.getMinutes());\n const seconds = this.padZero(date.getSeconds());\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\n }\n private padZero(value: number): string {\n return value < 10 ? `0${value}` : `${value}`;\n }\n\n viewDocFile(data)\n {\n\n var DocFile = data.AttachmentsRef.split(\".\",4)\n if(DocFile[1]=='jpg' || DocFile[1]=='jpeg' || DocFile[1]=='png' || DocFile[1]=='PNG')\n {\n const slno = data.slno; \n const docname=data.AttachmentsRef \n var DocFile = docname.slice(0, -5);\n \n let params = {\n cid:this.CID,\n flag:\"DownloadFile\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n LoginFlag:docname,\n ActiviteID:1,\n TemplateGroupID:1\n\n \n }\n const query = `cid=${params.cid}&flag=${params.flag}&TaskID=${params.TicketID}&TemplateID=${params.TemplateID}&UserID=${params.UserName}&LoginFlag=${params.LoginFlag}`;\n const dt = this.service.httpGet('/TicketCreator/GetFileDetails?', query)\n .subscribe((data) => { \n this.imageUrl='data:image/jpeg;base64,'+data\n this.imageVisible=true\n }); \n }\n else\n {\n this.imageUrl=\"\";\n this.imageVisible=false;\n }\n }\n \n \n onDelete(data){\n const docname=data.AttachmentsRef \n // console.log('TicketID',this.TicketID);\n // console.log('DocName',docname);\n \n let assessmentvalue = [];\n this.dialogService.openConfirmDialog('Are you sure to delete this file?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.CID,\n TemplateID:this.TemplateID,\n CreatorFlag:0,\n TicketID:this.TicketID,\n UserName:this.CurLedgerID,\n dt:assessmentvalue,\n Activity:1,\n Comment:docname,\n ActiviteID:1,\n Flag: 'DELETE',\n \n };\n this.service.httpPost('/TicketCreator/SetTicketCreator',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.notificationService.success('Deleted successfully'); \n // this.dialogRef.close(); \n this. GetFile(); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details'); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n async GetFile()\n {\n let params = {\n cid:this.CID,\n flag:\"GetFile\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n TagID:0,\n ActiviteID:1,\n TemplateGroupID:1\n \n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&TaskID=${params.TicketID}&TemplateID=${params.TemplateID}&UserID=${params.UserID}&LoginFlag=${params.LoginFlag}&ActiviteID=${params.ActiviteID}`;\n const dt = await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n // event.options= this.ticketlistM1\n this.FileList = result.respdata.FileList;\n console.log('existcount',this.FileList.length)\n }\n // else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n // }\n },\n (_error: Error) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n });\n }\n downloadDocFile(data) { \n const slno = data.slno; \n const docname=data.AttachmentsRef \n var DocFile = docname.slice(0, -5);\n \n let params = {\n cid:this.CID,\n flag:\"DownloadFile\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n LoginFlag:docname,\n ActiviteID:1,\n TemplateGroupID:1\n \n \n }\n\n const query = `cid=${params.cid}&flag=${params.flag}&TaskID=${params.TicketID}&TemplateID=${params.TemplateID}&UserID=${params.UserName}&LoginFlag=${params.LoginFlag}`;\n // console.log('query',query)\n \n const dt = this.service.httpGet2('/TicketCreator/GetDownload?', query)\n .subscribe((data) => { \n saveAs(data, DocFile) ;\n }); \n} \n\ndownloadall(data)\n{\n // console.log('yyy',data)\n // const slno = data.Slno; \n // const docname=data.Tag \n // const FileName=data.FileName \n // console.log('FileName',FileName)\n // var DocFile = FileName.slice(0, -5);\n \n let params = {\n cid:this.CID,\n flag:'DownloadAllFile',\n TemplateID:this.TemplateID,\n TicketID:this.TicketID, \n \n }\n const query = `cid=${params.cid}&flag=${params.flag}&TemplateID=${'1'}&TaskID=${params.TicketID}`;\n this.service.httpGet2('/TicketCreator/GetDownloadall?',query)\n .subscribe((data) => { \n saveAs(data, params.TicketID+'-'+this.datePipe.transform(this.curdate,\"dd-MM-yyyy\")) ;\n\n // this.downloadFilesAsZip(data);\n \n }); \n}\n\n\n // onFilesChange(f){\n // // debugger;\n // // this.files = Object.keys(f).map(key => f[key]);\n // let totalSizeInBytes = 0;\n // this._snackBar.open(f.length + \" File(s) selected!\", null, {\n // duration: 2000,\n // });\n // //console.log(\"dd\",f[0].size)\n\n // // totalSizeInBytes += f[0].size;\n\n // // const totalSizeInKB = totalSizeInBytes / 1024;\n // // const totalSizeInMB = totalSizeInKB / 1024;\n // // console.log(\"Total size:\", totalSizeInMB, \"bytes\");\n\n // for (var i = 0; i < f.length; i++) {\n // this.files.push(f[i]);\n // }\n\n \n // console.log('amjath',this.files);\n \n \n // }\n \n onFilesChange(f,event: Event) {\n const input = event.target as HTMLInputElement;\n //console.log('S:', this.files);\n const maxImageSize = this.UploadImageMaxSize * 1024 * 1024 ; // 5MB for images\n const maxOtherFileSize = this.UploadFileMaxSize * 1024 * 1024; // 8MB for other files\n let Maxfilesize;\n\n const allowedImageTypes = ['image/jpeg', 'image/png', 'image/gif']; // Allowed image types\n\n let validFiles = [];\n let invalidFiles = [];\n\n for (let i = 0; i < f.length; i++) {\n const file = f[i];\n const fileType = file.type;\n\n // Determine the size limit based on file type\n let maxSize = 0;\n\n if (allowedImageTypes.includes(fileType)) {\n maxSize = maxImageSize;\n } else {\n maxSize = maxOtherFileSize;\n \n }\n Maxfilesize=maxSize;\n // Check if the file size exceeds the allowed limit\n if (file.size > maxSize) {\n invalidFiles.push(file);\n } else {\n validFiles.push(file);\n }\n }\n\n if (invalidFiles.length > 0) {\n\n this._snackBar.open(`File size exceeds ${Maxfilesize / (1024 * 1024)} MB. Please select a smaller file.`,\n null,\n {\n duration: 4000, // You can adjust the duration as needed\n }\n);\n }\n\n if (validFiles.length > 0) {\n this._snackBar.open(validFiles.length + \" File(s) selected!\", null, {\n duration: 2000,\n });\n }\n\n // Add valid files to the files array\n this.files.push(...validFiles);\n\n input.value = '';\n\n //console.log('Selected valid files:', this.files);\n}\n\n\n\n // check(){\n // return this.parentForm.get(\"uploadFormId\").value;\n // }\n\n Submit()\n {\n //for (let i = 0; i < this.photoService.photos.length; i++) {\n\n // const byteCharacters = atob(this.photoService.photos[0].data);\n // const base64Data = this.photoUrl.split(',')[1];\n // const byteCharacters = atob(base64Data);\n // const byteNumbers = new Array(byteCharacters.length);\n // for (let i = 0; i < byteCharacters.length; i++) {\n // byteNumbers[i] = byteCharacters.charCodeAt(i);\n // }\n // const byteArray = new Uint8Array(byteNumbers);\n // const blob = new Blob([byteArray], {type: 'image/jpeg'});\n\n // this.fileToUpload.push(new File([blob], new Date().getTime() + '.jpeg', { type: 'image/jpeg' }));\n // // }\n // const formData: FormData = new FormData();\n // let index: number = 1;\n // this.fileToUpload.forEach(function (value) {\n // formData.append('Image' + index.toString(), value, value.name);\n // // console.log(value);\n // index = index + 1;\n // });\n\n // // let params = { \n \n // // location: this.location, \n // // datetime: this.datetime \n // // };\n\n // formData.append(\"CID\", this.CID);\n // formData.append(\"Flag\", 'Attachment');\n // formData.append(\"TemplateID\", '1');\n // formData.append(\"CreatorFlag\",'0');\n // formData.append(\"TicketID\", this.TicketID);\n // formData.append(\"UserName\", this.CurLedgerID);\n // formData.append(\"Activity\", 'Attachment');\n // formData.append(\"Comment\", this.Comment);\n\n \n // let body = JSON.stringify({ image:this.photoUrl, params })\n // console.log(\"tttt\",body)\n // const query = `photo=${body}`;\n // this.service.httpPost('/Projectphotocontroller/SetProjectphoto' ,formData) \n // .subscribe(res =>{\n // let result: any;\n // result = res; \n // // this.showSpinner=true;\n // // setTimeout(() =>{\n // // this.showSpinner=false;\n // // },\n // // 800)\n // // this.buttonvisible = true;\n // //alert('Neworder created');\n // if (result.errno === 0) {\n // //this.NotificationService.success('Neworder created');\n // // this.customername='';\n // // this.onCloseDialog();\n // }\n \n // //this.imageUrl = \"/assets/images/default-image.png\";\n // // this.imageUrl = \"assets/image/default-image.png\";\n \n // });\n }\n\nonSubmit()\n{\n \n// console.log('FileListlength',this.FileList.length)\n// console.log('fileslength',this.files.length)\n \nthis.finalfilecount=this.files.length+this.FileList.length;\n\n// console.log('finalfilecount',this.finalfilecount)\n \n\n if(this.finalfilecount<= this.fileuploadcount)\n {\n const formData = new FormData();\n if(this.files.length > 0 )\n {\n // console.log('this.files.length',this.files.length)\n\n for (var i = 0; i < this.files.length; i++) { \n formData.append(\"file\"+i, this.files[i]);\n }\n } \n else\n {\n const base64Data = this.photoUrl.split(',')[1];\n const byteCharacters = atob(base64Data);\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n const blob = new Blob([byteArray], {type: 'image/jpeg'});\n\n this.fileToUpload.push(new File([blob], new Date().getTime() + '.jpeg', { type: 'image/jpeg' }));\n // }\n // const formData: FormData = new FormData();\n let index: number = 0;\n this.fileToUpload.forEach(function (value) {\n formData.append('file' + index.toString(), value, value.name);\n // console.log(value);\n index = index + 1;\n });\n } \n formData.append(\"CID\", this.CID);\n formData.append(\"Flag\", 'Attachment');\n formData.append(\"TemplateID\", '1');\n formData.append(\"CreatorFlag\",'0');\n formData.append(\"TicketID\", this.TicketID);\n formData.append(\"UserName\", this.CurLedgerID);\n formData.append(\"Activity\", 'Attachment');\n formData.append(\"Comment\", this.Comment);\n\n this.AddFileDetails(formData).subscribe(result => {\n let users: any\n users=result;\n if (users.errno === 0){\n this.notificationService.success('Upload successfully');\n\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n else\n this.notificationService.success('you can upload maximum of '+this.fileuploadcount+' files');\n }\n\n AddFileDetails(data: FormData): Observable < string > { \n let headers = new HttpHeaders(); \n headers.append('Content-Type', 'application/json'); \n const httpOptions = { \n headers: headers \n }; \n // return this.http.httpPost( '/Documentcontrol/AddFileDetails/', data)\n return this.service.httpPost('/TicketCreator/AddFileDetails',data)\n // .catch(this.handleError); \n}\n \n onClear()\n {\n this.parentForm.reset(); \n this.parentForm.disable(); \n // this.visible=false;\n this.TicketID=0;\n this.Comment='';\n }\n onCloseDialog()\n {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n\n\n // onSelect(event) {\n // console.log(event);\n // this.files.push(...event.addedFiles);\n\n // const formData = new FormData();\n\n // for (var i = 0; i < this.files.length; i++) { \n // formData.append(\"file[]\", this.files[i]);\n // }\n\n // this.http.post('http://localhost:8001/upload.php', formData)\n // .subscribe(res => {\n // console.log(res);\n // alert('Uploaded Successfully.');\n // })\n// }\n\nonRemove(event) {\n\n // console.log(event);\n // console.log('this.files',this.files);\n this.files.splice(event, 1);\n // this.files.splice(this.files.indexOf(event), 1);\n}\n\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, NumberValueAccessor } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { User } from 'src/app/Modules/user';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n@Component({\n selector: 'app-comment',\n templateUrl: './comment.component.html',\n styleUrls: ['./comment.component.scss'],\n})\nexport class CommentComponent implements OnInit {\n myFormGroup:FormGroup;\n companies:any;\n CurLedgerID:any\n myControl = new FormControl();\n Comment:any\n datasource:any;\n CID:Number;\n TicketID:any=0;\n TemplateID:any=1;\n TemplateGroupID:any=1;\n UserID:any;\n\n config = {\n uiColor: '#ffffff',\n toolbarGroups: [\n { name: 'basicstyles', groups: ['basicstyles'] },\n { name: 'paragraph', groups: ['list', 'indent', 'align'] },\n { name: 'styles' },\n { name: 'colors' }\n ],\n removePlugins: 'elementspath,save,magicline',\n removeButtons: 'Subscript,Superscript,Anchor,Source,Table',\n \n }\n \n\n constructor(\n\n public service: HttpserviceService,\n public notificationService: NotificationService,\n private httpClient: HttpClient,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) \n public data: any\n ) \n {\n this.TicketID=this.data.TicketID;\n this.TemplateID=this.data.TemplateID;\n this.TemplateGroupID=this.data.TemplateGroupID;\n }\n\n ngOnInit() {\n \n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n\n this.loadData();\n }\n\n onSubmit()\n {\n \n let params = {\n cid:this.CID,\n flag:\"COMMENT\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n LoginFlag:'',\n ActiviteID:'INT_Comment',\n TemplateGroupID:this.TemplateGroupID ,\n Comment:this.Comment \n }\n\n console.log('param',params);\n this.service.httpPost('/TicketCreator/SetTicketComment?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n \n if (result.errno === 0){\n console.log('result',result);\n this.datasource=result.respdata.Comment ;\n this.onCloseDialog(); \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n convertNewLines(comment: string): string {\n return comment.replace(/(\\r\\n|\\n|\\r)/g,'');\n }\n\n\n onCloseDialog()\n {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClear()\n {\n this.myFormGroup.reset(); \n this.myFormGroup.disable(); \n this.myControl.reset();\n }\n\n loadData()\n {\n let params = {\n cid:this.CID,\n flag:\"COMMENT\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.UserID,\n TagID:'',\n ActiviteID:'INT_Comment',\n TemplateGroupID:this.TemplateGroupID \n }\n this.service.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n \n if (result.errno === 0){\n console.log('result',result);\n this.datasource=result.respdata.Comment;\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n}\n}\n","import { TicketactivityviewComponent } from './../ticketactivityview/ticketactivityview.component';\nimport { json } from '@angular-devkit/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../ticket/ticket.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport * as _ from 'underscore/underscore-min.js';\nimport { attachmentComponent } from '../attachment/attachment.component';\nimport { Platform } from '@ionic/angular';\nimport { CommentComponent } from '../comment/comment.component';\nimport { AppSidebarComponent } from './../../../../LandingPageComponents/sidebar/sidebar.component'\nimport { environment } from 'src/environments/environment';\nimport { TaskbyviewComponent } from '../../CustomsReport/taskbyview/taskbyview.component';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { QuickaddComponent } from '../quickadd/quickadd.component';\nimport { LinkticketaschildComponent } from '../linkticketaschild/linkticketaschild.component';\nimport { ReportRequest } from 'src/app/Modules/report';\nimport { DialogforreportsComponent } from 'src/app/components/dialogforreports/dialogforreports.component';\nimport { DatePipe } from '@angular/common';\n\n\n@Component({\n selector: 'app-itsuserhomepage',\n templateUrl: './itsuserhomepage.component.html',\n styleUrls: ['./itsuserhomepage.component.scss'],\n})\nexport class ItsuserhomepageComponent implements OnInit {\n\n @ViewChild(AppSidebarComponent) AppSidebarComponent;\n\n id: number = 10;\n row: number = this.id / 2;\n row1 = Array(this.row).fill(1);\n row2 = Array(3).fill(1).map((_, index) => index + 1);\n matrix = []\n CIDisvisible: boolean = false;\n CID: any;\n flag: any;\n Activityflag: any;\n TicketID: any = '0';\n datasource: any;\n TaskTemplate: any;\n TicketActivity: any;\n companies: any\n Templatelist: any\n CurLedgerID: any\n selectedValue: any\n isEditable = false;\n TicketActivitylist: any;\n ticketlist: any\n ticketlist1: any\n ticketlist2: any\n ticketlist3: any\n ticketlist4: any\n ticketlist5: any\n ActiviteID: any\n menus1: any;\n TemplateGroupID: any;\n UserType: any;\n TemplateID: any = 0;\n AddTemplate: any;\n addbtnvisible: boolean = false\n firstFormGroup: FormGroup;\n steppercount: number = 0\n devicevisble: boolean = false\n mobileplatform: boolean = false\n showSpinner: any;\n menuListItems: MatMenuListItem[];\n\n tabgroups: any\n homepage1: any\n homepage2: any\n homepage3: any\n homepage4: any\n homepage5: any\n UserID: any;\n linkscount: any = 0;\n childcount: any = 0;\n data1: any;\n count:any;\n TicketLink: any;\n ChildIssues: any;\n geovisible:boolean;\n emitData:any='';\n imagelist:any;\n commentlist:any;\n ticketdetails:any;\n @ViewChild('stepper') stepper;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n displayedColumns = ['CreatedDate', 'TicketID', 'Subject','Type', 'Priority', 'Status', 'Action'];\n constructor(private dialog: MatDialog, public service: HttpserviceService, private dialogService: DialogService, private eventService: EmiteventserviceService,\n public notificationService: NotificationService, public plt: Platform,private cdr: ChangeDetectorRef,private datepipe :DatePipe) {\n\n var chunk_size = 2;\n var arr = this.row2;\n var groups = arr.map(function (e, i) {\n return i % chunk_size === 0 ? arr.slice(i, i + chunk_size) : null;\n })\n .filter(function (e) { return e; });\n this.matrix = groups;\n\n this.firstFormGroup = new FormGroup({\n\n Name: new FormControl('', [Validators.required])\n });\n\n }\n\n ngAfterViewInit() {\n \n // Now you can use this.stepper safely\n if (this.stepper) {\n this.stepper.next();\n console.error('done');\n this.cdr.detectChanges();\n } else {\n console.error('MatStepper is not initialized.');\n }\n }\n\n ngOnInit() {\n\n\n if (sessionStorage.getItem('ManinformrowData')!=='' && sessionStorage.getItem('ManinformrowData')!==null)\n {\n this.emitData=JSON.parse(sessionStorage.getItem('ManinformrowData'))\n }\n \n\n this.CID = JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID = curUser.ledgerid;\n this.UserID = curUser.userid;\n this.TemplateGroupID = curUser.TemplateGroupID;\n if (curUser.UserType === 'External') {\n this.CIDisvisible = false;\n }\n else {\n this.CIDisvisible = true;\n }\n \n // console.log(\"TicketID\", sessionStorage.getItem('TicketID'))\n\n //if (JSON.parse(sessionStorage.getItem('TicketID')) !== null){\n if (sessionStorage.getItem('TicketID') !== null && sessionStorage.getItem('TicketID') !== 'null')\n { \n // console.log('hi')\n \n // this.count=JSON.parse(sessionStorage.getItem('tabcount'))\n \n // sessionStorage.setItem('tabcount',this.count)\n\n this.CID = 101\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID = curUser.ledgerid;\n this.flag = 'View'\n this.ActiviteID = 'INT_VIEW'\n this.Activityflag = 'EDIT'\n this.TemplateGroupID = 1;\n this.TemplateID = 1;\n this.TicketID = sessionStorage.getItem('TicketID')\n\n this.firstFormGroup.controls.Name.setValue('test');\n this.isEditable = true\n this.Loaddetails(); \n }\n else if (this.emitData.otherForm !==null && this.emitData.otherForm==true && this.emitData.flag=='View')\n {\n\n this.CID = 101\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID = curUser.ledgerid;\n this.flag = this.emitData.flag\n this.ActiviteID ='INT_VIEW'\n this.Activityflag = 'EDIT'\n this.TemplateGroupID = 1;\n this.TemplateID = 1;\n this.TicketID = this.emitData.rowValue.TicketID\n\n this.firstFormGroup.controls.Name.setValue('test');\n this.isEditable = true\n this.Loaddetails(); \n \n sessionStorage.setItem('ManinformrowData','')\n\n }\n else if (this.emitData.otherForm !==null && this.emitData.otherForm==true && this.emitData.flag=='Edit')\n {\n \n this.CID = 101\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID = curUser.ledgerid;\n this.flag = 'ACTIVITY'\n this.ActiviteID ='INT_EDIT'\n this.Activityflag = 'EDIT'\n this.TemplateGroupID = 1;\n this.TemplateID = 1;\n this.TicketID = this.emitData.rowValue.TicketID\n \n this.firstFormGroup.controls.Name.setValue('test');\n this.isEditable = false\n this.Loaddetails(); \n \n sessionStorage.setItem('ManinformrowData','')\n \n }\n else \n { \n this.flag = 'PAGELOAD'\n this.ActiviteID = 'EDIT'\n this.Loaddetails(); \n \n }\n sessionStorage.setItem('TicketID', null)\n \n\n }\n activeview(value: any) {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n\n dataview: value,\n\n\n }\n const dialogRef = this.dialog.open(TicketactivityviewComponent, dialogConfig)\n dialogRef.afterClosed()\n\n }\n onCompanySelect(event) {\n this.CID = event;\n this.Loaddetails();\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n onTemplateSelect(event) {\n this.TemplateID = event;\n this.flag = 'HomePage'\n this.Loaddetails();\n }\n\n convertNewLines(comment: string): string {\n return comment.replace(/(\\r\\n|\\n|\\r)/g, '
');\n }\n\n \n \n clickMenuItem(menuItem: MatMenuListItem, Value, stepper: MatStepper) {\n\n this.TicketID = Value\n\n this.ActiviteID = menuItem.ActivityID\n const actvityflag = menuItem.ActivityID.split(\"_\", 4)\n\n this.flag = 'ACTIVITY'\n if (actvityflag[1] == 'VIEW') { \n this.flag = 'View'\n this.firstFormGroup.controls.Name.setValue('test');\n this.isEditable = true\n this.steppercount = 1\n stepper.next();\n }\n else if (actvityflag[1] == 'ATTACHMENT') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1] == 'COMMENT') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n TemplateID: this.TemplateID\n\n }\n const dialogRef = this.dialog.open(CommentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1]=='Report')\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'Report',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(DialogforreportsComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n console.log('result',result)\n if(result!==undefined)\n {\n this.printvalue(result); \n }\n \n });\n\n\n \n\n }\n //var temp=actvityflag[1] ;\n //console.log('actvityflag[1].toString()',actvityflag[1].toString())\n // if (actvityflag[1].toString() !=='ATTACHMENT' || actvityflag[1].toString()!=='COMMENT')\n // {\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // }\n\n // if (actvityflag[1] !=='COMMENT')\n // {\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // }\n\n // console.log('amjath', actvityflag);\n\n if (actvityflag[1] != 'COMMENT' && actvityflag[1] != 'ATTACHMENT' && actvityflag[1] != 'Report') {\n // console.log('Comment');\n this.Activityflag = 'EDIT'\n this.Loaddetails();\n }\n // else if (actvityflag[1] !='ATTACHMENT')\n // {\n // console.log('ATTACHMENT');\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // } \n }\n\n async GetReportValue()\n {\n let params = {\n cid: this.CID,\n flag:'ReportDetails',\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: this.TemplateGroupID\n\n }\n //console.log('vigi',params)\n\n await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n this.imagelist=result.respdata.DynImage;\n this.commentlist=result.respdata.Comment;\n this.ticketdetails=result.respdata.Ticket;\n console.log('TE',this.imagelist)\n\n // this.downloadFilesAsZip(this.datasource);\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n async printvalue(row)\n {\n await this. GetReportValue();\n console.log('row',row)\n const reportRequest: ReportRequest = {\n CID:this.CID,\n HeaderBanner:row.HeaderBanner,\n reportName: row.FileName,\n TableName:'DynImage',\n dataSet: {\n \"imagelist\":this.imagelist,\n \"TicketComment\":this.commentlist,\n \"test\":[\n {\"test1\":2},\n {\"test1\":3}\n ]\n },\n parameters: {\n 'pReportName': '12345',\n 'pSiteName': '12345',\n 'pContractRefNo': this.ticketdetails[0].Field5,\n 'pTicketNo':this.ticketdetails[0].Field11==null?\"\":this.ticketdetails[0].Field11,\n\t\t'pTicketDate':this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pContactonsite': \"\",\n\t\t'pContact1': \"\",\n\t\t'pVisitDate': this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pTel': \"\",\n\t\t'pComplaint': this.ticketdetails[0].Subject,\n\t\t'pComment1': 'Button box remove',\n\t\t'pComment2': 'COmment2',\n\t\t'pComment3': 'COmment3',\n\t\t'pComment4': 'COmment4',\n\t\t'pComment5': 'COmment5',\n\t\t'pComment6': 'COmment6',\n\t\t'pComment7': 'COmment7',\n\t\t'pComment8': 'COmment8',\n\t\t'pComment9': 'COmment9',\n\t\t'pComment10': 'COmment10',\n\t\t'pLocation': this.ticketdetails[0].Field4,\n\t\t'pEndUserStaffID':\"\",\n\t\t'pEndUserDate': \"\",\n\t\t'pEndUserContact':\"\",\n\t\t'pRTFEngineer': \"\",\n\t\t'pRTFEngineerDate': \"\",\n\t\t'pManagerApproval': \"\",\n\t\t'pManagerApprovalDate': \"\",\n },\n sendMailFlag: false,\n fromMail: 'example@example.com',\n toMail: 'example@example.com',\n flag: 'EMPLOYEE',\n attachFileName: 'Report.pdf'\n };\n console.log('reportRequest',reportRequest)\n this.service.httpPost3('/Report/GenerateReport',reportRequest).subscribe((blob: Blob) => {\n const url = window.URL.createObjectURL(blob);\n window.open(url); \n });\n }\n addLink() {\n //this.Activityflag='EDIT'\n this.flag = 'ACTIVITY'\n this.ActiviteID = 'INT_LINK'\n this.Loaddetails();\n\n }\n\n baseURL: any;\n viewissue() {\n this.baseURL = environment.TicketapiUrl;\n // console.log('baseurl',this.baseURL)\n //window.open(\"http://localhost:55121/Controllers/Admin/WebForm1.aspx?issueid=\" + 1001 );\n window.open(this.baseURL + \"/Controllers/Admin/WebForm1.aspx?issueid=\" + 1001);\n }\n\n RemoveLink(event: MouseEvent, buttonText: string, ticketno: string) {\n this.dialogService.openConfirmDialog('Are you sure do you want remove this ticket link?' + \" \" + ticketno)\n .afterClosed().subscribe(res => {\n if (res) {\n const query = `cid=${this.CID}&slno=${buttonText}&userID=${this.UserID}`;\n this.service.httpGet('/TicketCreator/SetRemoveLink?', query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.notificationService.success(result.errdesc);\n this.Loaddetails();\n this.stepper.selectedIndex = 1;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details'); \n }\n },\n error => {\n console.log(error);\n\n });\n }\n });\n }\n\n ViewLink(event: MouseEvent, buttonText: string) {\n sessionStorage.setItem('TicketID', buttonText);\n let item: any = { \"name\": \"Ticket Manager\", \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_203\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true; \n // dialogConfig.data = { \n // pid:0,\n // height: '350px',\n // width: '70%', \n // cid:this.CID,\n // flag:\"View\",\n // TicketID:buttonText,\n // TemplateID:1,\n // UserName:this.UserID,\n // LoginFlag:'External',\n // ActiviteID:\"INT_VIEW\",\n // TemplateGroupID:1 \n // } \n // const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n // // dialogRef.afterClosed().subscribe(result => { \n // // this.Submit(); \n // // });\n // // Your logic here\n }\n\n Viewchildticket(event: MouseEvent, buttonText: string) {\n sessionStorage.setItem('TicketID', buttonText);\n let item: any = { \"name\": \"Ticket Manager\", \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_203\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n \n }\n\n Loaddetails() {\n this.showSpinner = true;\n let params = {\n cid: this.CID,\n flag: this.flag,\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: this.TemplateGroupID\n\n }\n //console.log('vigi',params)\n\n this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .subscribe(data => {\n let result: any;\n result = data;\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n if (result.errno === 0) {\n\n if (this.flag == 'PAGELOAD') {\n this.companies = result.respdata.Companylist\n this.Templatelist = result.respdata.TaskTemplate\n\n // console.log('temp',this.Templatelist)\n this.TemplateID = this.Templatelist[0].TemplateID;\n this.onTemplateSelect(this.TemplateID);\n\n this.geovisible=result.respdata.FormPropertySettings==undefined? false: JSON.parse( result.respdata.FormPropertySettings[0].TagValue)\n // console.log('temp', result.respdata.FormPropertySettings)\n\n }\n else if (this.flag == 'LOADGRID') {\n \n this.menuListItems = result.respdata.TaskTemplate\n this.datasource = new MatTableDataSource(result.respdata.TicketList);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.AddTemplate = result.respdata.AddTemplate\n\n this.addbtnvisible = this.AddTemplate.length > 0 ? true : false\n\n }\n else if (this.flag == 'HomePage') {\n\n // console.log('this.stepper.selectedIndex',this.stepper.selectedIndex)\n if(this.stepper.selectedIndex == 0)\n {\n // console.log('hi')\n this.menuListItems = result.respdata.TaskTemplate\n }\n // this.datasource = new MatTableDataSource(result.respdata.TicketList);\n // this.datasource.sort = this.sort;\n // this.datasource.paginator = this.paginator;\n this.AddTemplate = result.respdata.AddTemplate\n this.tabgroups = result.respdata.HomePage\n // console.log('HomePage',result.respdata.HomePage )\n for (var i = 0; i < result.respdata.HomePage.length; i++) {\n if (i == 0) {\n this.homepage1 = result.respdata.Table4\n // this.homepage1 = new MatTableDataSource(result.respdata.Table4);\n // this.homepage1.sort = this.sort;\n // this.homepage1.paginator = this.paginator;\n }\n else if (i == 1) {\n this.homepage2 = result.respdata.Table5\n // this.homepage2 = new MatTableDataSource(result.respdata.Table5);\n // this.homepage2.sort = this.sort;\n // this.homepage2.paginator = this.paginator;\n }\n else if (i == 2) {\n this.homepage3 = result.respdata.Table6\n }\n else if (i == 3) {\n this.homepage4 = result.respdata.Table7\n }\n else if (i == 3) {\n this.homepage5 = result.respdata.Table8\n }\n\n\n }\n // _.where(result.respdata.TicketListSub, {UIPanel: 1});\n this.addbtnvisible = this.AddTemplate.length > 0 ? true : false\n\n }\n else if (this.flag == 'View') {\n //console.log(\"count\",result.respdata.TicketListSub)\n var temp\n var panel2\n temp = _.countBy(result.respdata.TicketListSub, 'UIPanel');\n // console.log('temp',temp);\n panel2 = _.where(temp, '2')\n // console.log(\"panel2\", panel2);\n\n // if (this.plt.is('ios') || this.plt.is('android')) {\n // // console.log(\"plat\",1)\n // this.devicevisble = true;\n // this.mobileplatform = true;\n // }\n // else {\n // console.log(\"plat\",2)\n this.devicevisble = panel2[1] > 0 ? false : true;\n //this.mobileplatform = false;\n //}\n\n // this.devicevisble= panel2[1]>0 ? false : true;\n // console.log(\"TicketListSub\",result.respdata.TicketListSub);\n this.ticketlist1 = _.where(result.respdata.TicketListSub, { UIPanel: '1' });\n this.ticketlist2 = _.where(result.respdata.TicketListSub, { UIPanel: '2' });\n this.ticketlist3 = _.where(result.respdata.TicketListSub, { UIPanel: '3' });\n this.ticketlist4 = _.where(result.respdata.TicketListSub, { UIPanel: '4' });\n this.ticketlist5 = _.where(result.respdata.TicketListSub, { UIPanel: '5' });\n\n // console.log('ticketlist1',this.ticketlist1);\n\n this.TicketActivitylist = result.respdata.TicketActivity;\n this.menuListItems = result.respdata.TaskTemplate\n\n let grouplist = result.respdata.Group;\n let grouplist1 = _.where(result.respdata.Group, { UIPanel: 1 });\n let grouplist2 = _.where(result.respdata.Group, { UIPanel: 2 });\n let grouplist3 = _.where(result.respdata.Group, { UIPanel: 3 });\n let grouplist4 = _.where(result.respdata.Group, { UIPanel: 4 });\n let grouplist5 = _.where(result.respdata.Group, { UIPanel: 5 });\n\n //----- panel1 ---//\n let newList1 = [];\n let temp1\n for (var i = 0; i < grouplist1.length; i++) {\n temp1 = { \"name\": grouplist1[i].UIGroup, \"submenu\": _.where(this.ticketlist1, { UIGroup: grouplist1[i].UIGroup }) }\n newList1.push(temp1);\n }\n this.ticketlist1 = newList1;\n // console.log(\"grouplist1\", newList1);\n //----- panel2 ---//\n let newList2 = [];\n let temp2\n for (var i = 0; i < grouplist2.length; i++) {\n temp2 = { \"name\": grouplist2[i].UIGroup, \"submenu\": _.where(this.ticketlist2, { UIGroup: grouplist2[i].UIGroup }) }\n newList2.push(temp2);\n }\n this.ticketlist2 = newList2;\n\n //----- panel3 ---//\n let newList3 = [];\n let temp3\n for (var i = 0; i < grouplist3.length; i++) {\n temp3 = { \"name\": grouplist3[i].UIGroup, \"submenu\": _.where(this.ticketlist3, { UIGroup: grouplist3[i].UIGroup }) }\n newList3.push(temp3);\n }\n this.ticketlist3 = newList3;\n\n //----- panel4 ---//\n let newList4 = [];\n let temp4\n for (var i = 0; i < grouplist4.length; i++) {\n temp4 = { \"name\": grouplist4[i].UIGroup, \"submenu\": _.where(this.ticketlist4, { UIGroup: grouplist4[i].UIGroup }) }\n newList4.push(temp4);\n }\n this.ticketlist4 = newList4;\n\n //----- panel5 ---//\n let newList5 = [];\n let temp5\n for (var i = 0; i < grouplist5.length; i++) {\n temp5 = { \"name\": grouplist5[i].UIGroup, \"submenu\": _.where(this.ticketlist5, { UIGroup: grouplist5[i].UIGroup }) }\n newList5.push(temp5);\n }\n this.ticketlist5 = newList5;\n\n this.TicketLink = result.respdata.TicketLink;\n this.ChildIssues = result.respdata.ChildIssues;\n\n this.linkscount = result.respdata.TicketLink.length;\n this.childcount = result.respdata.ChildIssues.length;\n\n }\n else {\n this.TaskTemplate = result.respdata.TaskTemplate\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: this.Activityflag,\n pid: 0,\n height: '350px',\n width: '60%',\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n ActiviteID: this.ActiviteID,\n TagID: 'INTERNAL',\n TemplateGroupID: this.TemplateGroupID,\n TemplateID: this.TemplateID\n\n }\n\n const dialogRef = this.dialog.open(TicketComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.flag = 'HomePage'\n if (this.steppercount == 0 || this.steppercount == 1) {\n if (this.steppercount == 0) {\n this.Loaddetails();\n //console.log('hi')\n this.stepper.selectedIndex = 1;\n }\n else if (this.steppercount == 1) {\n this.flag = 'View';\n this.ActiviteID = \"INT_VIEW\"\n this.Loaddetails();\n // console.log('bye')\n\n this.stepper.selectedIndex = 1;\n }\n\n }\n\n\n });\n\n }\n\n\n\n\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n\n addRow() {\n // console.log(\"TaskTemplate\",this.AddTemplate[0].ActivityID)\n this.ActiviteID = this.AddTemplate[0].ActivityID\n this.flag = 'ADD'\n this.Activityflag = 'ADD'\n this.TicketID = '0'\n this.Loaddetails();\n\n\n }\n createView() {\n this.isEditable = false\n // console.log(\"reset\")\n this.flag = 'HomePage'\n this.ActiviteID = 'EDIT'\n this.Loaddetails();\n this.steppercount = 0\n this.firstFormGroup.controls.Name.setValue('');\n }\n onAttachment(menuItem: MatMenuListItem, Value) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n height: '350px',\n width: '60%',\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n Refresh() {\n this.TemplateID = this.TemplateID;\n // console.log('fdsgds',this.TemplateID);\n this.flag = 'HomePage'\n this.Loaddetails();\n }\n\n ChildQuickAdd()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width = '500px'; // Set the width\n dialogConfig.height = '200px';\n dialogConfig.data = {\n flag: 'QuickAdd', \n cid:this.CID, \n TicketID:this.TicketID\n }\n const dialogRef = this.dialog.open(LinkticketaschildComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Loaddetails(); \n });\n }\n \n QuickAdd() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'QuickAdd',\n cid: this.CID,\n TicketID: this.TicketID\n }\n const dialogRef = this.dialog.open(QuickaddComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.Loaddetails();\n });\n\n }\n\n RemoveChildissues(event: MouseEvent, ticketno: string) {\n this.dialogService.openConfirmDialog('Are you sure do you want remove this ticket from parent?' + \" \" + ticketno)\n .afterClosed().subscribe(res => {\n if (res) {\n let params = {\n CID: this.CID,\n Flag: \"REMOVELINK\",\n TicketID: ticketno\n };\n this.service.httpPost('/TicketCreator/SetQuickAdd', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 1) {\n this.notificationService.success(result.errdesc);\n this.Loaddetails();\n this.stepper.selectedIndex = 1;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n });\n }\n\n ArrowBack() {\n this.createView();\n this.stepper.selectedIndex = 0;\n }\n\n}\nexport class MatMenuListItem {\n ActivityID: string;\n LabelName1: string;\n MenuIcon: string;\n\n}\nexport interface GroupALL {\n TicketID: string;\n Subject: string;\n}\nexport type Menu = {\n name: string,\n submenu: { name: string }[]\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ElementRef, Inject, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from 'src/app/Modules/user';\n\n\n@Component({\n selector: 'app-linkticketaschild',\n templateUrl: './linkticketaschild.component.html',\n styleUrls: ['./linkticketaschild.component.scss'],\n})\nexport class LinkticketaschildComponent implements OnInit {\n\n ChildTicketAddFormGroup:FormGroup;\n\n TicketID:any;\n cid:any;\n TicketList:any;\n public filteredList5;\n showSpinner:any;\n CurLedgerID:any;\n\n constructor(private service:HttpserviceService,private dialogService: DialogService, \n private formBuilder: FormBuilder,private NotificationService:NotificationService,\n public dialogRef: MatDialogRef, \n @Inject(MAT_DIALOG_DATA) public data: any) { \n console.log('data',this.data);\n\n this.cid=this.data.cid;\n\n this.ChildTicketAddFormGroup = this.formBuilder.group\n ({ \n fcTicket: ['', Validators.required], \n }); \n }\n\n ngOnInit() {\n this.TicketID=this.data.TicketID;\n this.pageLoad();\n }\n\n\n Submit()\n {\n if (this.ChildTicketAddFormGroup.invalid) {\n this.NotificationService.warn('Please select the ticket'); \n return;\n } \n this.showSpinner=true; \n let params; \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.userid;\n\n params = { \n CID:this.cid,\n Flag: \"ADDCHILD\", \n UserName:this.CurLedgerID,\n TicketID:this.data.TicketID,\n Type:this.ChildTicketAddFormGroup.get('fcTicket').value,\n }\n this.service.httpPost('/TicketCreator/SetQuickAdd',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (result.errno === 1) {\n this.NotificationService.success(result.errdesc);\n this.onCloseDialog();\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onClear()\n {\n\n }\n\n pageLoad()\n {\n let params = {\n CID: this.cid,\n Flag: \"LOADCHILD\",\n TicketID:this.data.TicketID \n };\n this.service.httpPost('/TicketCreator/GetQuickAdd',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.TicketList = result.respdata.Tickets; \n this.filteredList5= this.TicketList.slice();\n \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'});\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ElementRef, Inject, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { MatTableDataSource } from '@angular/material/table';\nimport { User } from 'src/app/Modules/user';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\n\n@Component({\n selector: 'app-quickadd',\n templateUrl: './quickadd.component.html',\n styleUrls: ['./quickadd.component.scss'],\n})\nexport class QuickaddComponent implements OnInit {\n QuickAddFormGroup :FormGroup;\n cid:any;\n Types:any;\n Projects:any;\n datasource: MatTableDataSource;\n CurLedgerID:any;\n showSpinner:any;\n TaskPrefix:any;\n TicketID:any;\n isDisabled: boolean = false;\n\n TicketIDSubject:any;\n displayedColumns =['TicketID','Type','Subject','Project','Action'];\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n splittedString: string[];\n constructor(private service:HttpserviceService,private dialogService: DialogService, \n private formBuilder: FormBuilder,private NotificationService:NotificationService,\n public dialogRef: MatDialogRef, \n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n\n \n this.cid=this.data.cid;\n\n this.QuickAddFormGroup = this.formBuilder.group\n ({ \n fcType: ['', Validators.required],\n fcDescription: ['', Validators.required],\n fcProject:['',Validators.required],\n fcPrefix:['',Validators.required] \n }); \n }\n\n ngOnInit() {\n this.pageLoad();\n this.splittedString = this.data.TicketID.split('-'); \n this.TicketID=this.data.TicketID ; \n this.TicketIDSubject=this.data.TicketIDSubject ;\n }\n\n pageLoad()\n {\n let params = {\n CID: this.cid,\n Flag: \"PageLoad\",\n TicketID:this.data.TicketID \n };\n this.service.httpPost('/TicketCreator/GetQuickAdd',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.Types = result.respdata.Type; \n this.Projects = result.respdata.Project;\n\n this.datasource=result.respdata.Tickets;\n this.datasource = new MatTableDataSource(result.respdata.Tickets);\n this.datasource.sort = this.sort;\n\n this.TaskPrefix=result.respdata.TaskPrefix;\n let rtnprefix = this.TaskPrefix.filter(book => book.PrefixText == this.splittedString[0]+'-' ); \n this.QuickAddFormGroup.controls.fcPrefix.setValue(rtnprefix[0].PrefixID);\n\n }\n else {\n this.NotificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n Submit()\n {\n if (this.QuickAddFormGroup.invalid) {\n this.NotificationService.warn('Please fill the mandatory fields'); \n return;\n } \n this.isDisabled = true;\n this.showSpinner=true; \n let params; \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.userid;\n params = { \n CID:this.cid,\n Flag: \"QUICKADD\", \n Type: this.QuickAddFormGroup.get('fcType').value, \n Project: this.QuickAddFormGroup.get('fcProject').value, \n Subject: this.QuickAddFormGroup.get('fcDescription').value, \n UserName:this.CurLedgerID,\n TicketID:this.data.TicketID,\n Prefix: this.QuickAddFormGroup.get('fcPrefix').value, \n\n }\n this.service.httpPost('/TicketCreator/SetQuickAdd',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (result.errno === 1) {\n this.NotificationService.success(result.errdesc);\n // this.onCloseDialog();\n this.pageLoad()\n this.onClear();\n this.QuickAddFormGroup.controls.fcPrefix.setValue(1);\n\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n // this.onCloseDialog();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'});\n }\n onClear()\n {\n this.QuickAddFormGroup.reset(); \n // this.QuickAddFormGroup.controls.fcPrefix.setValue(1);\n this.isDisabled = false;\n let rtnprefix = this.TaskPrefix.filter(book => book.PrefixText == this.splittedString[0]+'-' ); \n this.QuickAddFormGroup.controls.fcPrefix.setValue(rtnprefix[0].PrefixID);\n }\n\n Delete(event){\n \n this.dialogService.openConfirmDialog('Are you sure do you want to remove this ticket from parent?'+' '+ event.TicketID )\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.cid,\n Flag:\"REMOVELINK\", \n TicketID:event.TicketID \n };\n this.service.httpPost('/TicketCreator/SetQuickAdd',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 1) {\n this.NotificationService.success(result.errdesc); \n this.pageLoad()\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n}\n\nexport interface GroupALL {\n TicketID: string;\n Type: string;\n Subject: string;\n}","import { HttpClient } from '@angular/common/http';\nimport { MatStepper } from '@angular/material/stepper';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { User } from 'src/app/Modules/user';\nimport { FormGroup,FormControl,Validators, RequiredValidator } from '@angular/forms';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck, filter } from 'rxjs/operators';\nimport { NgModule, ViewChild, enableProdMode } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { DatePipe } from '@angular/common';\nimport * as moment from \"moment\"; \nimport { MultiselectwithsearchComponent } from 'src/app/components/Control/multiselectwithsearch/multiselectwithsearch.component';\n//import { parse, format } from 'date-fns';\ninterface ComboDS {\n Displaymember: string;\n Valuemember: string;\n}\n@Component({\n selector: 'app-ticket',\n templateUrl: './ticket.component.html',\n styleUrls: ['./ticket.component.scss'],\n})\n\nexport class TicketComponent implements OnInit {\n\n CID:any;\n flag:any;\n checked = false;\n TicketID:any=0;\n form_template:any;\n myFormGroup:FormGroup;\n companies:any;\n CurLedgerID:any\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n employeelist: any;\n Tasklistsub:any;\n visible:boolean=false\n template:any;\n ActiviteID:any;\n TagID:any;\n Comment:any='';\n Commentvisible:boolean=true;\n isEditable = false;\n temp4:any;\n temp =[];\n TemplateGroupID:any\n TemplateID:any\n LoadCombo:any;\n ticketlistM1:any;\n eventID:any;\n public filteredList=\"\";\n ComboDS: ComboDS[];\n showSpinner:any;\n UserID:any;\n valueContent: string;\n editorValueType: string;\n\n isDisabled: boolean = false;\n\n originalDate: string = \"Oct 17 2023 12:00AM\";\n convertedDate: string;\n \n\n multiselectinputvalue:any;\n \n name1 = 'Angular 4';\n config = {\n uiColor: '#ffffff',\n toolbarGroups: [\n { name: 'basicstyles', groups: ['basicstyles'] },\n { name: 'paragraph', groups: ['list', 'indent', 'align'] },\n { name: 'styles' },\n { name: 'colors' }\n ],\n removePlugins: 'elementspath,save,magicline',\n removeButtons: 'Subscript,Superscript,Anchor,Source,Table',\n \n }\n \n constructor(private datePipe: DatePipe,\n public service: HttpserviceService,public notificationService: NotificationService,private httpClient: HttpClient,\n public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any,\n private dialog: MatDialog,\n ) \n {\n \n this.flag = this.data.flag;\n this.template=this.data.template;\n this.TicketID=this.data.TicketID\n this.ActiviteID=this.data.ActiviteID\n this.TagID=this.data.TagID\n this.TemplateGroupID=this.data.TemplateGroupID,\n this.TemplateID=this.data.TemplateID\n \n let actvityflag=this.ActiviteID.split(\"_\",4)\n\n if (this.flag=='ADD' || actvityflag[1]=='EDIT' )\n {\n this.Commentvisible=false;\n }\n\n let newList1 = [];\n let temp\n \n for (var i = 0; i < this.template.length; i++) \n {\n temp={\"type\":this.template[i].ControlType,\"ID\":this.template[i].ID,\"label\":this.template[i].LabelName,\"mandatory\":this.template[i].Mandatory,\"MandatorySymbol\":this.template[i].MandatorySymbol,\"Visibility\":this.template[i].parent==\"0\" ? true: false,\"parent\":this.template[i].parent,\"DefaultValue\":this.template[i].DefaultValue,\"options\":(JSON.parse(this.template[i].Value))}\n newList1.push(temp);\n }\n // console.log('options',newList1)\n this.form_template=newList1\n let group={} \n this.form_template.forEach(input_template=>{\n if (input_template.mandatory===\"required\")\n {\n group[input_template.ID]=new FormControl(input_template.DefaultValue,Validators.required); \n if(input_template.type==='multiselect')\n group[input_template.ID+'ID']=new FormControl('',Validators.required); \n }\n else\n {\n group[input_template.ID]=new FormControl(input_template.DefaultValue); \n if(input_template.type==='multiselect')\n group[input_template.ID+'ID']=new FormControl(''); \n }\n \n })\n this.myFormGroup = new FormGroup(group); \n } \n\n onValueTypeChanged({ addedItems }) {\n this.editorValueType = addedItems[0].text.toLowerCase();\n }\n\n valueChange(value) {\n this.valueContent = value;\n }\n\n ngOnInit() \n {\n this.isDisabled = false;\n this.dialogRef.updateSize('60%');\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n\n if (this.flag=='ADD')\n {\n //to do\n // //console.log('ass',this.form_template)\n // this.myFormGroup.controls.Status.setValue('5')\n // // console.log('JSON.stringify(curUser.userid',JSON.stringify(curUser.userid))\n // this.myFormGroup.controls.Created.setValue(JSON.stringify(curUser.userid))\n // this.myFormGroup.controls.Prefix.setValue('1')\n\n }\n\n if (this.flag=='EDIT')\n {\n this.Loaddetails();\n }\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n // this.myFormGroup.controls['DESC'].setValue('
  1. dfdfdfd
')\n }\n private _filter(_value: string): string[] {\n return this.empid.filter(option => option); \n }\n\n Loaddetails()\n {\n let params = {\n cid:this.CID,\n flag:this.flag,\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserID:this.UserID,\n TagID:this.TagID,\n UserName:this.CurLedgerID,\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID\n\n }\n this.service.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n let TaskListSub=_.filter(result.respdata.TaskListSub)\n\n //console.log('TaskListSub',TaskListSub);\n\n for (var i = 0; i < TaskListSub.length; i++) \n {\n let ColumnName=TaskListSub[i].Tag \n if(TaskListSub[i].ControlType=='multiselect' && TaskListSub[i].Answer!=null)\n { \n //console.log('TaskListSub[i].Answer',TaskListSub[i].Answer)\n const validJsonString = TaskListSub[i].Answer.replace(/([{,])\\s*([a-zA-Z0-9_]+)\\s*:/g, '$1\"$2\":'); \n this.multiselectinputvalue=JSON.parse(validJsonString);\n const displayMembers = this.multiselectinputvalue.map(item => item.Displaymember); \n const result2 = displayMembers.join(','); \n this.myFormGroup.controls[ColumnName].setValue(result2);\n const displayMembers2 = this.multiselectinputvalue.map(item => item.Valuemember); \n const result3 = displayMembers2.join(',');\n //console.log('result2',result3) \n this.myFormGroup.controls[ColumnName+'ID'].setValue(result3);\n } \n else if(TaskListSub[i].ControlType=='checkbox')\n {\n //console.log('checkbox');\n if(TaskListSub[i].Answer==1)\n this.myFormGroup.controls[ColumnName].setValue(true);\n else\n this.myFormGroup.controls[ColumnName].setValue(false);\n } \n else if(TaskListSub[i].ControlType=='Date')\n { \n this.myFormGroup.controls[ColumnName].setValue(TaskListSub[i].Answer); \n } \n else \n {\n // console.log('TaskListSub[i].Answer',TaskListSub[i].Answer);\n // console.log('ColumnName',ColumnName)\n this.myFormGroup.controls[ColumnName].setValue(TaskListSub[i].Answer)\n } \n this.form_template[i].Visibility=true \n }\n // console.log(\"c\",result.respdata.TicketActivity)\n if(result.respdata.TicketActivity.length>0)\n {\n this.Comment=result.respdata.TicketActivity[0].Comment\n }\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n convertToDate(dateString: string): Date {\n const formattedDate = this.datePipe.transform(dateString, 'MMM dd yyyy hh:mm a', 'en-US');\n return new Date(formattedDate);\n }\n \n \n onSubmit()\n {\n if (this.myFormGroup.invalid) {\n this.notificationService.warn('Please fill all mandatory fields'); \n return;\n } \n this.isDisabled = true;\n this.showSpinner=true;\n const paramvalue=this.myFormGroup.value;\n // console.log(\"form\",paramvalue)\n let assessmentvalue = [];\n var ColumnName\n let Value\n let Value2\n\n // for (var i = 0; i < this.form_template.length; i++) {\n // ColumnName= this.form_template[i].ID;\n // // Value=paramvalue[ColumnName]\n // // Value=\"1,2,3\"\n \n // console.log(\"formValue\",paramvalue[ColumnName].length)\n // assessmentvalue.push({ColumnName,Value});\n // }\n //console.log('this.form_template[i].ControlType',this.form_template)\n for (var i = 0; i < this.form_template.length; i++) {\n \n if(this.form_template[i].type=='multiselect') { \n ColumnName= this.form_template[i].ID;\n Value=paramvalue[this.form_template[i].ID+'ID']\n }\n else{\n if(this.form_template[i].ID=='Private')\n {\n ColumnName= this.form_template[i].ID;\n // console.log(\"checkbox value 1\", paramvalue[ColumnName])\n Value=paramvalue[ColumnName];\n if(paramvalue[ColumnName]==true)\n Value=1;\n else\n Value=0 ;\n // console.log(\"checkbox value 2\",Value)\n }\n else if(this.form_template[i].type=='Date')\n {\n ColumnName= this.form_template[i].ID;\n Value=this.datePipe.transform(paramvalue[ColumnName], 'MM-dd-yyyy');\n // console.log(\"Date value\",Value)\n }\n else\n {\n ColumnName= this.form_template[i].ID;\n Value=paramvalue[ColumnName]\n // console.log(\"Value\",Value)\n // console.log(\"length\",Value.length)\n }\n }\n // let Value1\n // if (Value.length>0 )\n // {\n \n // // for (var i = 0; i < paramvalue[ColumnName].length; i++)\n // // {\n \n // // Value1=Value1 + paramvalue[ColumnName][i]\n // // }\n\n // }\n // else\n // {\n // Value1=Value\n // }\n\n if(Value != null)\n {\n //console.log('hi',Value)\n Value2=Value.toString();\n assessmentvalue.push({ColumnName,Value2});\n }\n // Value=\"1,2,3\"\n //console.log(\"formValue\",Value2)\n \n // console.log(\"dt\",assessmentvalue)\n }\n\n {\n let paramsExtra;\n paramsExtra = {\n CID: this.CID,\n Flag: this.flag,\n TemplateID:this.TemplateID,\n CreatorFlag:0,\n TicketID:this.TicketID,\n UserName: this.UserID,\n dt:assessmentvalue,\n Activity:this.ActiviteID,\n Comment:this.Comment,\n ActiviteID:this.ActiviteID\n \n };\n //console.log(\"paramsExtra\",paramsExtra);\n this.service.httpPost('/TicketCreator/SetTicketCreator',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (users.errno === 0){\n this.notificationService.success(users.errdesc+ ' Ticket No: ' +users.respdata); \n // this.onClear() ;\n this.onCloseDialog()\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n // console.log(\"submit\",assessmentvalue)\n }\n }\n\n getCurrentDateFormatted(): string {\n const currentDate = new Date();\n // return '15-03-2024'\n return this.datePipe.transform(currentDate, 'yyyy-MM-dd');\n}\n\nasync datasource()\n{\n let parent ;\n let parentData ;\n let parentID;\n parent =_.where(this.template, {ID: this.eventID})\n // console.log('parent',parent)\n \n // console.log('myFormGroup',this.myFormGroup)\n // console.log('this.temp',this.myFormGroup.get(parent[0].parent))\n // parentData=_.where(this.temp, {name: parent[0].parent})\n parentData=this.myFormGroup.get(parent[0].parent)\n //console.log('parentData',parentData.length)\n if(parentData !==null)\n {\n parentID=parentData.value\n //console.log('parentID',parentID);\n }\n let params = {\n cid:this.CID,\n flag:\"SelectedLoadCombo\",\n //TicketID:parentID,\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n TagID:this.eventID,\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID,\n ParentID:parentID,\n //FilterID\n \n }\n //console.log('params',params);\n // const query = `cid=${params.cid}&flag=${params.flag}&TaskID=${params.TicketID}&TemplateID=${params.TemplateID}&UserID=${params.UserID}&LoginFlag=${params.LoginFlag}&ActiviteID=${params.ActiviteID}`;\n const dt = await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n // event.options= this.ticketlistM1\n this.LoadCombo = result.respdata.LoadCombo;\n // console.log('this.LoadCombo',this.LoadCombo);\n }\n // else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n // }\n },\n (_error: Error) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n });\n \n}\n\n async onClick(event)\n {\n //console.log('onClick') \n event.options =[{Valuemember: 1, Displaymember: ''}]\n \n this.eventID=event.ID\n //console.log('event.ID',event.ID)\n await this.datasource();\n //console.log('this.LoadCombo',this.LoadCombo)\n event.options =this.LoadCombo\n }\n\n async onParentClick(value,event)\n {\n //console.log('onParentClick') \n if(value!='')\n {\n event.options =[{Valuemember: 1, Displaymember: ''}]\n this.eventID=event.ID\n let params = {\n cid:this.CID,\n flag:\"LoadClosedTicket\",\n //TicketID:parentID,\n TicketID:value,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n TagID:this.eventID,\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID,\n ParentID:'',\n //FilterID\n \n }\n //'LoadClosedTicket',params);\n // const query = `cid=${params.cid}&flag=${params.flag}&TaskID=${params.TicketID}&TemplateID=${params.TemplateID}&UserID=${params.UserID}&LoginFlag=${params.LoginFlag}&ActiviteID=${params.ActiviteID}`;\n const dt = await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n // event.options= this.ticketlistM1\n this.LoadCombo = result.respdata.LoadCombo;\n }\n // else{\n // this.notificationService.success(result.errdesc); //':: Problem details');\n // }\n },\n (_error: Error) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n });\n event.options =this.LoadCombo\n } \n }\n\n async onKey(value,event)\n {\n this.eventID=event.ID\n await this.datasource();\n event.options =this.LoadCombo\n\n // console.log('fff',opt.options.slice())\n event.options=this.search(value,event.options) \n\n \n }\n search(value: string,opt) {\n let filter = value.toLowerCase();\n //console.log('filter',filter)\n return opt.filter(option =>\n option.Displaymember.toLowerCase().includes(filter)\n );\n}\n \nchangeEvents(event)\n {\n \n let parent ;\n \n let index1 = this.form_template.findIndex(d => d.parent === event.source.ngControl.name);\n if (index1 > -1)\n {\n this.form_template[index1].Visibility=true\n }\n \n let index = this.temp.findIndex(d => d.name === event.source.ngControl.name); //find index in your array\n if (index > -1) {\n this.temp.splice(index, 1);//remove element from array\n\n parent =_.where(this.template, {parent: event.source.ngControl.name})\n \n\n if(parent.length>0)\n {\n this.myFormGroup.get(parent[0].ID).setValue('');\n }\n }\n\n let temp1={\"name\":event.source.ngControl.name,\"value\":event.value};\n this.temp.push(temp1)\n\n }\n onClear()\n {\n this.isDisabled = false;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.myFormGroup.reset(); \n // this.myFormGroup.disable(); \n this.visible=false;\n this.TicketID=0;\n this.myControl.reset();\n this.myFormGroup.controls.Status.setValue('5') \n this.myFormGroup.controls.Created.setValue(JSON.stringify(curUser.userid))\n }\n onCloseDialog()\n {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n\n //=======================================\n // Multi select relavent functionality //\n //=======================================\n\n async onKeyPress(event) {\n\n console.log('event',event)\n console.log('this.myFormGroup.',this.myFormGroup)\n let TagID ;\n let TagIdData ;\n TagID =this.myFormGroup.get(event.ID)\n TagIdData =this.myFormGroup.get(event.ID+'ID') \n // console.log('this.myFormGroup',this.myFormGroup)\n // console.log('event.ID',event.ID,TagID.value)\n if(TagID.value!=null)\n {\n const displayMembers = TagID.value.split(',');\n const valueMembers = TagIdData.value.split(',').map(Number); // Convert string numbers to actual numbers\n // Combine displayMembers and valueMembers into an array of objects\n this.multiselectinputvalue= displayMembers.map((displayMember, index) => ({\n Displaymember: displayMember,\n Valuemember: valueMembers[index]\n }));\n }\n //console.log('myFormGroup',this.myFormGroup)\n event.options =[{Displaymember:'',Valuemember: 1}]\n this.eventID=event.ID\n await this.datasource();\n event.options =this.LoadCombo\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n TicketID: this.TicketID,\n ActiviteID: this.ActiviteID,\n TagID: 'INTERNAL',\n TemplateGroupID: this.TemplateGroupID,\n TemplateID: this.TemplateID,\n loadCombo:event.options,\n inputcomboValue:this.multiselectinputvalue,\n FormName:'Ticket'\n } \n //console.log('dialogConfig',dialogConfig)\n const dialogRef = this.dialog.open(MultiselectwithsearchComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n //this.flag = 'HomePage'\n //console.log('result.data',result.data);\n if(result.event=='LOAD'){\n this.multiselectinputvalue=result.data;\n // Step 3: Extract the Displaymember values\n const displayMembers = result.data.map(item => item.Displaymember);\n \n // Step 4: Join the values into a comma-separated string\n const result2 = displayMembers.join(',');\n\n // Step 3: Extract the Displaymember values\n const displayMembers2 = result.data.map(item => item.Valuemember);\n \n // Step 4: Join the values into a comma-separated string\n const result3 = displayMembers2.join(',');\n this.myFormGroup.controls[this.eventID].setValue(result2);\n this.myFormGroup.controls[this.eventID+'ID'].setValue(result3);\n }\n \n }); \n\n }\n\n}\n","import { MatTableDataSource } from '@angular/material/table';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, Inject, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ticketactivityview',\n templateUrl: './ticketactivityview.component.html',\n styleUrls: ['./ticketactivityview.component.scss'],\n})\nexport class TicketactivityviewComponent implements OnInit {\n \n dataview:any\n public list: any[] = [];\n constructor( private modalRef: MatDialogRef\n ,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) \n \n {\n\n \n this.dataview=this.data.dataview\n var data=JSON.parse(this.dataview)\n for (let key of Object.keys(data)) {\n let keydata = data[key]; \n for (let Tag of Object.keys(keydata)) {\n let Value=keydata[Tag]\n this.list.push({Tag,Value}); \n \n }\n \n } \n }\n\n ngOnInit() \n {\n console.log(\"amjath\", this.list)\n }\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'});\n }\n\n\n}\nexport interface GroupALL {\n Tag: string;\n Value:string;\n}\n","import { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../ticket/ticket.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport * as _ from 'underscore/underscore-min.js';\nimport { attachmentComponent } from '../attachment/attachment.component';\nimport { Platform } from '@ionic/angular';\nimport { CommentComponent } from '../comment/comment.component';\n\ninterface Level {\n id: number;\n Name: string;\n}\n\n@Component({\n selector: 'app-ticketlist',\n templateUrl: './ticketlist.component.html',\n styleUrls: ['./ticketlist.component.scss'],\n\n})\n\nexport class TicketlistComponent implements OnInit {\n\n id: number = 10;\n row: number = this.id / 2;\n row1 = Array(this.row).fill(1);\n row2 = Array(3).fill(1).map((_, index) => index + 1);\n matrix = []\n\n CID:any;\n flag:any;\n Activityflag:any;\n TicketID:any='0';\n datasource:any;\n TaskTemplate:any;\n TicketActivity:any;\n companies:any\n Templatelist:any\n CurLedgerID:any\n selectedValue:any\n isEditable = false;\n TicketActivitylist:any;\n ticketlist:any\n ticketlist1:any\n ticketlist2:any\n ticketlist3:any\n ticketlist4:any\n ticketlist5:any\n ActiviteID:any\n menus1:any;\n TemplateGroupID:any;\n UserType:any;\n TemplateID:any=0;\n AddTemplate:any;\n addbtnvisible:boolean=false\n firstFormGroup:FormGroup;\n steppercount:number=0\n devicevisble:boolean=false\n mobileplatform:boolean=false\n showSpinner:any;\n menuListItems : MatMenuListItem[];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n displayedColumns =['CreatedDate','TicketID','Subject','Priority','Status','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,public plt: Platform)\n { \n\n var chunk_size = 2;\n var arr = this.row2;\n var groups = arr.map(function (e, i) {\n return i % chunk_size === 0 ? arr.slice(i, i + chunk_size) : null;\n })\n .filter(function (e) { return e; });\n this.matrix = groups;\n \n this.firstFormGroup = new FormGroup({ \n \n Name: new FormControl('', [Validators.required]) \n }); \n\n }\n \n ngOnInit()\n {\n console.log(\"amjath\")\n \n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.TemplateGroupID=curUser.TemplateGroupID;\n console.log(\"TemplateGroupID\",this.TemplateGroupID)\n this.flag='PAGELOAD'\n this.ActiviteID='EDIT'\n this. Loaddetails();\n\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.Loaddetails();\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n onTemplateSelect(event)\n {\n this.TemplateID=event;\n this.flag='LOADGRID'\n this.Loaddetails();\n }\n clickMenuItem(menuItem : MatMenuListItem,Value, stepper: MatStepper){\n console.log('amjath');\n this.TicketID=Value\n\n this.ActiviteID=menuItem.ActivityID\n let actvityflag=menuItem.ActivityID.split(\"_\",4)\n \n console.log('amjath',actvityflag[1]);\n this.flag='ACTIVITY'\n if(actvityflag[1]=='VIEW')\n {\n this.flag='View'\n this.firstFormGroup.controls.Name.setValue('test'); \n this.isEditable=true\n this.steppercount=1\n stepper.next();\n }\n else if (actvityflag[1]=='Report')\n {\n alert('report')\n }\n else if (actvityflag[1]=='ATTACHMENT')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0,\n \n template:this.TaskTemplate,\n TicketID:this.TicketID\n \n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n \n\n\n if (actvityflag[1] !=='ATTACHMENT')\n { \n console.log('Other') ;\n this.Activityflag='EDIT'\n this.Loaddetails();\n }\n // if (actvityflag[1] !=='COMMENT')\n // {\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // } \n}\nLoaddetails()\n {\n this.showSpinner=true;\n let params = {\n cid:this.CID,\n flag:this.flag,\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n LoginFlag:'INTERNAL',\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID\n \n }\n \n this.service.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist\n this.Templatelist=result.respdata.TaskTemplate\n \n \n }\n else if(this.flag=='LOADGRID')\n {\n this.menuListItems=result.respdata.TaskTemplate \n this.datasource = new MatTableDataSource(result.respdata.TicketList);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.AddTemplate=result.respdata.AddTemplate\n \n this.addbtnvisible=this.AddTemplate.length>0 ? true :false\n \n }\n else if(this.flag=='View')\n {\n // console.log(\"count\",result.respdata.TicketListSub)\n var temp\n var panel2\n temp=_.countBy(result.respdata.TicketListSub, 'UIPanel');\n panel2=_.where(temp,'2')\n console.log(\"panel2\", panel2[1]);\n\n if (this.plt.is('ios') || this.plt.is('android')) \n {\n console.log(\"plat\",1)\n this.devicevisble= true;\n this.mobileplatform=true;\n }\n else{\n console.log(\"plat\",2)\n this.devicevisble= panel2[1]>0 ? false : true;\n this.mobileplatform=false;\n }\n\n // this.devicevisble= panel2[1]>0 ? false : true;\n console.log(\"count\", this.devicevisble);\n this.ticketlist1=_.where(result.respdata.TicketListSub, {UIPanel: 1});\n this.ticketlist2=_.where(result.respdata.TicketListSub, {UIPanel: 2});\n this.ticketlist3=_.where(result.respdata.TicketListSub, {UIPanel: 3});\n this.ticketlist4=_.where(result.respdata.TicketListSub, {UIPanel: 4});\n this.ticketlist5=_.where(result.respdata.TicketListSub, {UIPanel: 5});\n \n this.TicketActivitylist=result.respdata.TicketActivity;\n this.menuListItems=result.respdata.TaskTemplate\n\n let grouplist= result.respdata.Group;\n let grouplist1= _.where(result.respdata.Group, {UIPanel: 1});\n let grouplist2= _.where(result.respdata.Group, {UIPanel: 2});\n let grouplist3= _.where(result.respdata.Group, {UIPanel: 3});\n let grouplist4= _.where(result.respdata.Group, {UIPanel: 4});\n let grouplist5= _.where(result.respdata.Group, {UIPanel: 5});\n \n //----- panel1 ---//\n let newList1 = [];\n let temp1\n for (var i = 0; i < grouplist1.length; i++) \n {\n temp1={\"name\":grouplist1[i].UIGroup,\"submenu\": _.where( this.ticketlist1, {UIGroup: grouplist1[i].UIGroup})}\n newList1.push(temp1);\n }\n this.ticketlist1=newList1;\n\n //----- panel2 ---//\n let newList2 = [];\n let temp2\n for (var i = 0; i < grouplist2.length; i++) \n {\n temp2={\"name\":grouplist2[i].UIGroup,\"submenu\": _.where( this.ticketlist2, {UIGroup: grouplist2[i].UIGroup})}\n newList2.push(temp2);\n }\n this.ticketlist2=newList2;\n\n //----- panel3 ---//\n let newList3 = [];\n let temp3\n for (var i = 0; i < grouplist3.length; i++) \n {\n temp3={\"name\":grouplist3[i].UIGroup,\"submenu\": _.where( this.ticketlist3, {UIGroup: grouplist3[i].UIGroup})}\n newList3.push(temp3);\n }\n this.ticketlist3=newList3;\n\n //----- panel4 ---//\n let newList4 = [];\n let temp4\n for (var i = 0; i < grouplist4.length; i++) \n {\n temp4={\"name\":grouplist4[i].UIGroup,\"submenu\": _.where( this.ticketlist4, {UIGroup: grouplist4[i].UIGroup})}\n newList4.push(temp4);\n }\n this.ticketlist4=newList4;\n\n //----- panel5 ---//\n let newList5 = [];\n let temp5\n for (var i = 0; i < grouplist5.length; i++) \n {\n temp5={\"name\":grouplist5[i].UIGroup,\"submenu\": _.where( this.ticketlist5, {UIGroup: grouplist5[i].UIGroup})}\n newList5.push(temp5);\n }\n this.ticketlist5=newList5;\n \n }\n else \n {\n this.TaskTemplate=result.respdata.TaskTemplate\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: this.Activityflag,\n pid:0,\n height: '350px',\n width: '60%',\n template:this.TaskTemplate,\n TicketID:this.TicketID,\n ActiviteID:this.ActiviteID,\n LoginFlag:'INTERNAL',\n TemplateGroupID:this.TemplateGroupID,\n TemplateID:this.TemplateID\n \n }\n \n const dialogRef = this.dialog.open(TicketComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.flag='LOADGRID'\n if(this.steppercount==0)\n {\n this.Loaddetails();\n }\n \n \n });\n \n }\n\n \n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n addRow()\n {\n // console.log(\"TaskTemplate\",this.AddTemplate[0].ActivityID)\n this.ActiviteID=this.AddTemplate[0].ActivityID\n this.flag='ADD'\n this.Activityflag='ADD'\n this.TicketID='0'\n this. Loaddetails();\n \n \n}\ncreateView()\n{\n this.isEditable=false\n console.log(\"reset\")\n this.flag='LOADGRID'\n this.ActiviteID='EDIT'\n this. Loaddetails();\n this.steppercount=0\n this.firstFormGroup.controls.Name.setValue(''); \n}\nonAttachment(menuItem : MatMenuListItem,Value)\n{\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0,\n height: '350px',\n width: '60%',\n template:this.TaskTemplate,\n TicketID:this.TicketID\n \n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n}\n\n Refresh(){\n this.TemplateID=this.TemplateID;\n console.log('fdsgds',this.TemplateID);\n this.flag='LOADGRID'\n this.Loaddetails();\n }\n\n}\nexport class MatMenuListItem {\n ActivityID: string;\n LabelName1: string;\n MenuIcon: string;\n\n}\nexport interface GroupALL {\n TicketID: string;\n Subject: string; \n}\nexport type Menu = {\n name: string, \n submenu: { name: string}[]\n}\n","import { TicketactivityviewComponent } from './../ticketactivityview/ticketactivityview.component';\nimport { json } from '@angular-devkit/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { TicketComponent } from '../ticket/ticket.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport * as _ from 'underscore/underscore-min.js';\nimport { attachmentComponent } from '../attachment/attachment.component';\nimport { Platform } from '@ionic/angular';\nimport { CommentComponent } from '../comment/comment.component';\nimport { AppSidebarComponent } from './../../../../LandingPageComponents/sidebar/sidebar.component'\nimport { environment } from 'src/environments/environment';\nimport { TaskbyviewComponent } from '../../CustomsReport/taskbyview/taskbyview.component';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { EmiteventserviceService } from 'src/app/Services/OtherServices/emiteventservice.service';\nimport { QuickaddComponent } from '../quickadd/quickadd.component';\nimport { LinkticketaschildComponent } from '../linkticketaschild/linkticketaschild.component';\nimport { ReportRequest } from 'src/app/Modules/report';\nimport { DialogforreportsComponent } from 'src/app/components/dialogforreports/dialogforreports.component';\nimport { DatePipe } from '@angular/common';\nimport { MatMenuTrigger } from '@angular/material/menu';\n\n@Component({\n selector: 'app-ticketmanager',\n templateUrl: './ticketmanager.component.html',\n styleUrls: ['./ticketmanager.component.css']\n})\nexport class TicketmanagerComponent {\n\n @ViewChild(AppSidebarComponent) AppSidebarComponent;\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger;\n @ViewChild('contextMenu1', { static: false }) contextMenu1: any;\n\n id: number = 10;\n row: number = this.id / 2;\n row1 = Array(this.row).fill(1);\n row2 = Array(3).fill(1).map((_, index) => index + 1);\n matrix = []\n CIDisvisible: boolean = false;\n CID: any;\n flag: any;\n Activityflag: any;\n TicketID: any = '0';\n datasource: any;\n TaskTemplate: any;\n TicketActivity: any;\n companies: any\n Templatelist: any\n CurLedgerID: any\n selectedValue: any\n isEditable = false;\n TicketActivitylist: any;\n ticketlist: any\n ticketlist1: any\n ticketlist2: any\n ticketlist3: any\n ticketlist4: any\n ticketlist5: any\n ActiviteID: any\n menus1: any;\n TemplateGroupID: any;\n UserType: any;\n TemplateID: any = 0;\n AddTemplate: any;\n addbtnvisible: boolean = false\n firstFormGroup: FormGroup;\n steppercount: number = 0\n devicevisble: boolean = false\n mobileplatform: boolean = false\n showSpinner: any;\n menuListItems: MatMenuListItem[];\n\n tabgroups: any\n homepage1: any\n homepage2: any\n homepage3: any\n homepage4: any\n homepage5: any\n UserID: any;\n linkscount: any = 0;\n childcount: any = 0;\n data1: any;\n count:any;\n TicketLink: any;\n ChildIssues: any;\n geovisible:boolean;\n emitData:any='';\n imagelist:any;\n commentlist:any;\n ticketdetails:any;\n selectedRowData: any;\n actioncolumnvisible:boolean=false;\n isContextMenuVisible = false;\n menuVisible = false;\n contextMenuPosition = {\n my:\"center\",\n at:\"center\",\n of:\"#someElement\"\n };\n contextMenuPosition1 = {\n my:\"left\",\n at:\"left\",\n of:\"#target\"\n };\n target: any; \n someElement: any; \n eventPosition: any;\n menuItems = [\n { text: 'Edit',icon: 'edit' },\n { text: 'View',icon: 'visibility' },\n // Add more menu items here\n ];\n\n @ViewChild('stepper') stepper;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n displayedColumns = ['CreatedDate', 'TicketID', 'Subject','Type', 'Priority', 'Status', 'Action'];\n constructor(private dialog: MatDialog, public service: HttpserviceService, private dialogService: DialogService, private eventService: EmiteventserviceService,\n public notificationService: NotificationService, public plt: Platform,private cdr: ChangeDetectorRef,private datepipe :DatePipe) {\n\n var chunk_size = 2;\n var arr = this.row2;\n var groups = arr.map(function (e, i) {\n return i % chunk_size === 0 ? arr.slice(i, i + chunk_size) : null;\n })\n .filter(function (e) { return e; });\n this.matrix = groups;\n\n this.firstFormGroup = new FormGroup({\n\n Name: new FormControl('', [Validators.required])\n });\n\n }\n\n ngAfterViewInit() {\n \n // Now you can use this.stepper safely\n // if (this.stepper) {\n // this.stepper.next();\n // console.error('done');\n // this.cdr.detectChanges();\n // } else {\n // console.error('MatStepper is not initialized.');\n // }\n }\n\n ngOnInit() {\n\n this.CID = JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID = curUser.ledgerid;\n this.UserID = curUser.userid;\n this.TemplateGroupID = curUser.TemplateGroupID;\n if (curUser.UserType === 'External') {\n this.CIDisvisible = false;\n }\n else {\n this.CIDisvisible = true;\n }\n // console.log(\"TicketID\", sessionStorage.getItem('TicketID'))\n\n //if (JSON.parse(sessionStorage.getItem('TicketID')) !== null){\n if (sessionStorage.getItem('TicketID') !== null && sessionStorage.getItem('TicketID') !== 'null'){ \n this.CID = 101\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID = curUser.ledgerid;\n this.flag = 'View'\n this.ActiviteID = 'INT_VIEW'\n this.Activityflag = 'EDIT'\n this.TemplateGroupID = 1;\n this.TemplateID = 1;\n this.TicketID = sessionStorage.getItem('TicketID')\n\n this.firstFormGroup.controls.Name.setValue('test');\n this.isEditable = true\n this.Loaddetails(); \n }\n else { \n this.flag = 'PAGELOAD'\n this.ActiviteID = 'EDIT'\n this.Loaddetails(); \n\n }\n sessionStorage.setItem('TicketID', null)\n \n\n // if (sessionStorage.getItem('ManinformrowData')!=='' && sessionStorage.getItem('ManinformrowData')!==null)\n // {\n // this.emitData=JSON.parse(sessionStorage.getItem('ManinformrowData'))\n // }\n \n\n // this.CID = JSON.parse(sessionStorage.getItem('cid'));\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID = curUser.ledgerid;\n // this.UserID = curUser.userid;\n // this.TemplateGroupID = curUser.TemplateGroupID;\n // if (curUser.UserType === 'External') {\n // this.CIDisvisible = false;\n // }\n // else {\n // this.CIDisvisible = true;\n // }\n \n // // console.log(\"TicketID\", sessionStorage.getItem('TicketID'))\n\n // //if (JSON.parse(sessionStorage.getItem('TicketID')) !== null){\n // if (sessionStorage.getItem('TicketID') !== null && sessionStorage.getItem('TicketID') !== 'null')\n // { \n // // console.log('hi')\n \n // // this.count=JSON.parse(sessionStorage.getItem('tabcount'))\n \n // // sessionStorage.setItem('tabcount',this.count)\n\n // this.CID = 101\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID = curUser.ledgerid;\n // this.flag = 'View'\n // this.ActiviteID = 'INT_VIEW'\n // this.Activityflag = 'EDIT'\n // this.TemplateGroupID = 1;\n // this.TemplateID = 1;\n // this.TicketID = sessionStorage.getItem('TicketID')\n\n // this.firstFormGroup.controls.Name.setValue('test');\n // this.isEditable = true\n // this.Loaddetails(); \n // }\n // else if (this.emitData.otherForm !==null && this.emitData.otherForm==true && this.emitData.flag=='View')\n // {\n\n // this.CID = 101\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID = curUser.ledgerid;\n // this.flag = this.emitData.flag\n // this.ActiviteID ='INT_VIEW'\n // this.Activityflag = 'EDIT'\n // this.TemplateGroupID = 1;\n // this.TemplateID = 1;\n // this.TicketID = this.emitData.rowValue.TicketID\n\n // this.firstFormGroup.controls.Name.setValue('test');\n // this.isEditable = true\n // this.Loaddetails(); \n \n // sessionStorage.setItem('ManinformrowData','')\n\n // }\n // else if (this.emitData.otherForm !==null && this.emitData.otherForm==true && this.emitData.flag=='Edit')\n // {\n \n // this.CID = 101\n // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID = curUser.ledgerid;\n // this.flag = 'ACTIVITY'\n // this.ActiviteID ='INT_EDIT'\n // this.Activityflag = 'EDIT'\n // this.TemplateGroupID = 1;\n // this.TemplateID = 1;\n // this.TicketID = this.emitData.rowValue.TicketID\n \n // this.firstFormGroup.controls.Name.setValue('test');\n // this.isEditable = false\n // this.Loaddetails(); \n \n // sessionStorage.setItem('ManinformrowData','')\n \n // }\n // else \n // { \n // this.flag = 'PAGELOAD'\n // this.ActiviteID = 'EDIT'\n // this.Loaddetails(); \n \n // }\n // sessionStorage.setItem('TicketID', null)\n \n\n }\n activeview(value: any) {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n\n dataview: value,\n\n\n }\n const dialogRef = this.dialog.open(TicketactivityviewComponent, dialogConfig)\n dialogRef.afterClosed()\n\n }\n onCompanySelect(event) {\n this.CID = event;\n this.Loaddetails();\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n onTemplateSelect(event) {\n this.TemplateID = event;\n this.flag = 'HomePage'\n this.Loaddetails();\n }\n\n convertNewLines(comment: string): string {\n return comment.replace(/(\\r\\n|\\n|\\r)/g, '
');\n }\n\n \n \n clickMenuItem(menuItem: MatMenuListItem, Value,subject,stepper: MatStepper) {\n\n //console.log('item',menuItem)\n this.TicketID = Value\n //var Subject:any=subject;\n this.ActiviteID = menuItem.ActivityID\n const actvityflag = menuItem.ActivityID.split(\"_\", 4)\n console.log('this.ActiviteID ',this.ActiviteID )\n this.flag = 'ACTIVITY'\n if (actvityflag[1] == 'VIEW') { \n // this.flag = 'View'\n // this.firstFormGroup.controls.Name.setValue('test');\n // this.isEditable = true\n // this.steppercount = 1\n // stepper.next();\n //console.log('hi')\n sessionStorage.setItem('activityTicketID', this.TicketID);\n sessionStorage.setItem('TaskSubject', subject);\n sessionStorage.setItem('TemplateID', this.TemplateID);\n sessionStorage.setItem('ActivityID', this.ActiviteID);\n //sessionStorage.setItem('TemplateIDGroupID', this.TemplateGroupID);\n let item: any = { \"name\": this.TicketID, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n this.eventService.emitMenuSelect(item);\n }\n else if (actvityflag[1] == 'ATTACHMENT') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1] == 'COMMENT') {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n TemplateID: this.TemplateID\n\n }\n const dialogRef = this.dialog.open(CommentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1]=='Report')\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'Report',\n pid: 0,\n\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(DialogforreportsComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n console.log('result',result)\n if(result!==undefined)\n {\n this.printvalue(result); \n }\n \n });\n\n\n \n\n }\n else{\n this.Activityflag = 'EDIT'\n this.Loaddetails();\n }\n //var temp=actvityflag[1] ;\n //console.log('actvityflag[1].toString()',actvityflag[1].toString())\n // if (actvityflag[1].toString() !=='ATTACHMENT' || actvityflag[1].toString()!=='COMMENT')\n // {\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // }\n\n // if (actvityflag[1] !=='COMMENT')\n // {\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // }\n\n // console.log('amjath', actvityflag);\n\n // if (actvityflag[1] != 'COMMENT' && actvityflag[1] != 'ATTACHMENT' && actvityflag[1] != 'Report') {\n // // console.log('Comment');\n // this.Activityflag = 'EDIT'\n // this.Loaddetails();\n // }\n // else if (actvityflag[1] !='ATTACHMENT')\n // {\n // console.log('ATTACHMENT');\n // this.Activityflag='EDIT'\n // this.Loaddetails();\n // } \n }\n\n async GetReportValue()\n {\n let params = {\n cid: this.CID,\n flag:'ReportDetails',\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: this.TemplateGroupID\n\n }\n //console.log('vigi',params)\n\n await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n \n this.imagelist=result.respdata.DynImage;\n this.commentlist=result.respdata.Comment;\n this.ticketdetails=result.respdata.Ticket;\n //console.log('TE',this.imagelist)\n\n // this.downloadFilesAsZip(this.datasource);\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n async printvalue(row)\n {\n await this. GetReportValue();\n // console.log('row',row)\n const reportRequest: ReportRequest = {\n CID:this.CID,\n HeaderBanner:row.HeaderBanner,\n reportName: row.FileName,\n TableName:'DynImage',\n dataSet: {\n \"imagelist\":this.imagelist,\n \"TicketComment\":this.commentlist,\n \"test\":[\n {\"test1\":2},\n {\"test1\":3}\n ]\n },\n parameters: {\n 'pReportName': '12345',\n 'pSiteName': '12345',\n 'pContractRefNo': this.ticketdetails[0].Field5,\n 'pTicketNo':this.ticketdetails[0].Field11==null?\"\":this.ticketdetails[0].Field11,\n\t\t'pTicketDate':this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pContactonsite': \"\",\n\t\t'pContact1': \"\",\n\t\t'pVisitDate': this.datepipe.transform(this.ticketdetails[0].CreatedDate,\"dd/MM/yyy hh:mm\"),\n\t\t'pTel': \"\",\n\t\t'pComplaint': this.ticketdetails[0].Subject,\n\t\t'pComment1': 'Button box remove',\n\t\t'pComment2': 'COmment2',\n\t\t'pComment3': 'COmment3',\n\t\t'pComment4': 'COmment4',\n\t\t'pComment5': 'COmment5',\n\t\t'pComment6': 'COmment6',\n\t\t'pComment7': 'COmment7',\n\t\t'pComment8': 'COmment8',\n\t\t'pComment9': 'COmment9',\n\t\t'pComment10': 'COmment10',\n\t\t'pLocation': this.ticketdetails[0].Field4,\n\t\t'pEndUserStaffID':\"\",\n\t\t'pEndUserDate': \"\",\n\t\t'pEndUserContact':\"\",\n\t\t'pRTFEngineer': \"\",\n\t\t'pRTFEngineerDate': \"\",\n\t\t'pManagerApproval': \"\",\n\t\t'pManagerApprovalDate': \"\",\n },\n sendMailFlag: false,\n fromMail: 'example@example.com',\n toMail: 'example@example.com',\n flag: 'EMPLOYEE',\n attachFileName: 'Report.pdf'\n };\n console.log('reportRequest',reportRequest)\n this.service.httpPost3('/Report/GenerateReport',reportRequest).subscribe((blob: Blob) => {\n const url = window.URL.createObjectURL(blob);\n window.open(url); \n });\n }\n addLink() {\n //this.Activityflag='EDIT'\n this.flag = 'ACTIVITY'\n this.ActiviteID = 'INT_LINK'\n this.Loaddetails();\n\n }\n\n baseURL: any;\n viewissue() {\n this.baseURL = environment.TicketapiUrl;\n // console.log('baseurl',this.baseURL)\n //window.open(\"http://localhost:55121/Controllers/Admin/WebForm1.aspx?issueid=\" + 1001 );\n window.open(this.baseURL + \"/Controllers/Admin/WebForm1.aspx?issueid=\" + 1001);\n }\n\n RemoveLink(event: MouseEvent, buttonText: string, ticketno: string) {\n this.dialogService.openConfirmDialog('Are you sure do you want remove this ticket link?' + \" \" + ticketno)\n .afterClosed().subscribe(res => {\n if (res) {\n const query = `cid=${this.CID}&slno=${buttonText}&userID=${this.UserID}`;\n this.service.httpGet('/TicketCreator/SetRemoveLink?', query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.notificationService.success(result.errdesc);\n this.Loaddetails();\n //this.stepper.selectedIndex = 1;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details'); \n }\n },\n error => {\n console.log(error);\n\n });\n }\n });\n }\n\n \n Loaddetails() {\n this.showSpinner = true;\n let params = {\n cid: this.CID,\n flag: this.flag,\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.UserID,\n TagID: 'External',\n ActiviteID: this.ActiviteID,\n TemplateGroupID: this.TemplateGroupID\n\n }\n //console.log('vigi',params)\n\n this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .subscribe(data => {\n let result: any;\n result = data;\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n if (result.errno === 0) {\n\n if (this.flag == 'PAGELOAD') {\n this.companies = result.respdata.Companylist\n this.Templatelist = result.respdata.TaskTemplate\n\n // console.log('temp',this.Templatelist)\n this.TemplateID = this.Templatelist[0].TemplateID;\n this.onTemplateSelect(this.TemplateID);\n\n this.geovisible=result.respdata.FormPropertySettings==undefined? false: JSON.parse( result.respdata.FormPropertySettings[0].TagValue)\n // console.log('temp', result.respdata.FormPropertySettings)\n\n }\n else if (this.flag == 'LOADGRID') {\n \n this.menuListItems = result.respdata.TaskTemplate\n this.datasource = new MatTableDataSource(result.respdata.TicketList);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n this.AddTemplate = result.respdata.AddTemplate\n\n this.addbtnvisible = this.AddTemplate.length > 0 ? true : false\n\n }\n else if (this.flag == 'HomePage') {\n\n \n this.menuListItems = result.respdata.TaskTemplate\n \n this.AddTemplate = result.respdata.AddTemplate\n this.tabgroups = result.respdata.HomePage\n \n for (var i = 0; i < result.respdata.HomePage.length; i++) {\n if (i == 0) {\n this.homepage1 = result.respdata.Table4\n //console.log('homepage1',this.homepage1)\n \n }\n else if (i == 1) {\n this.homepage2 = result.respdata.Table5\n \n }\n else if (i == 2) {\n this.homepage3 = result.respdata.Table6\n }\n else if (i == 3) {\n this.homepage4 = result.respdata.Table7\n }\n else if (i == 3) {\n this.homepage5 = result.respdata.Table8\n }\n\n\n }\n \n this.addbtnvisible = this.AddTemplate.length > 0 ? true : false\n\n }\n \n else {\n this.TaskTemplate = result.respdata.TaskTemplate\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: this.Activityflag,\n pid: 0,\n height: '350px',\n width: '60%',\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n ActiviteID: this.ActiviteID,\n TagID: 'INTERNAL',\n TemplateGroupID: this.TemplateGroupID,\n TemplateID: this.TemplateID\n\n }\n\n const dialogRef = this.dialog.open(TicketComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.flag = 'HomePage'\n if (this.steppercount == 0 || this.steppercount == 1) {\n if (this.steppercount == 0) {\n this.Loaddetails();\n \n }\n else if (this.steppercount == 1) {\n this.flag = 'View';\n this.ActiviteID = \"INT_VIEW\"\n this.Loaddetails();\n \n }\n\n }\n\n\n });\n\n }\n\n\n\n\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n\n addRow() {\n // console.log(\"TaskTemplate\",this.AddTemplate[0].ActivityID)\n this.ActiviteID = this.AddTemplate[0].ActivityID\n this.flag = 'ADD'\n this.Activityflag = 'ADD'\n this.TicketID = '0'\n this.Loaddetails();\n\n\n }\n createView() {\n this.isEditable = false\n // console.log(\"reset\")\n this.flag = 'HomePage'\n this.ActiviteID = 'EDIT'\n this.Loaddetails();\n this.steppercount = 0\n this.firstFormGroup.controls.Name.setValue('');\n }\n onAttachment(menuItem: MatMenuListItem, Value) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid: 0,\n height: '350px',\n width: '60%',\n template: this.TaskTemplate,\n TicketID: this.TicketID,\n geovisible:this.geovisible\n\n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n Refresh() {\n this.TemplateID = this.TemplateID;\n // console.log('fdsgds',this.TemplateID);\n this.flag = 'HomePage'\n this.Loaddetails();\n }\n\n ChildQuickAdd()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width = '500px'; // Set the width\n dialogConfig.height = '200px';\n dialogConfig.data = {\n flag: 'QuickAdd', \n cid:this.CID, \n TicketID:this.TicketID\n }\n const dialogRef = this.dialog.open(LinkticketaschildComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Loaddetails(); \n });\n }\n \n QuickAdd() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'QuickAdd',\n cid: this.CID,\n TicketID: this.TicketID\n }\n const dialogRef = this.dialog.open(QuickaddComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.Loaddetails();\n });\n\n }\n\n RemoveChildissues(event: MouseEvent, ticketno: string) {\n this.dialogService.openConfirmDialog('Are you sure do you want remove this ticket from parent?' + \" \" + ticketno)\n .afterClosed().subscribe(res => {\n if (res) {\n let params = {\n CID: this.CID,\n Flag: \"REMOVELINK\",\n TicketID: ticketno\n };\n this.service.httpPost('/TicketCreator/SetQuickAdd', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 1) {\n this.notificationService.success(result.errdesc);\n this.Loaddetails();\n // this.stepper.selectedIndex = 1;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n });\n }\n\n ArrowBack() {\n this.createView();\n //this.stepper.selectedIndex = 0;\n }\n\n onRowPrepared(e) {\n\n if (e.rowType === 'data' && e.data.Status) {\n // Find the Status cell within the row element\n const statusCellIndex = e.component.columnOption(\"Status\", \"index\");\n const statusCell = e.rowElement.querySelectorAll(\"td\")[statusCellIndex];\n \n // Apply background color to the Status cell\n if (statusCell) {\n statusCell.style.backgroundColor = e.data.Colorcode;\n }\n }\n }\n // onActionClick(event: Event, data: any) {\n // console.log('Action clicked', event, data);\n // // this.selectedRowData=data;\n\n // // You can control the menu programmatically if needed\n // this.menuTrigger.openMenu();\n // this.cdr.detectChanges(); \n // }\n onActionClick(event: any, cellData: any) {\n this.target = event.currentTarget;\n // console.log('yyy',cellData)\n this.eventPosition = event.element;\n this.menuVisible = true;\n this.selectedRowData=cellData;\n }\n onFocusedRowChanged(e) { \n\n // sessionStorage.setItem('activityTicketID',e.data.TicketID);\n // sessionStorage.setItem('TaskSubject', e.data.Subject);\n // sessionStorage.setItem('TemplateID', this.TemplateID);\n // sessionStorage.setItem('ActivityID', this.ActiviteID);\n // let item: any = { \"name\": e.data.TicketID, \"type\": \"FORM\", \"icon\": \"arrow_right\", \"menuid\": \"STS_134\", \"parentid\": \"54\", \"visible\": true };\n // this.eventService.emitMenuSelect(item); \n }\n\n\n}\nexport class MatMenuListItem {\n ActivityID: string;\n LabelName1: string;\n MenuIcon: string;\n\n}\nexport interface GroupALL {\n TicketID: string;\n Subject: string;\n}\nexport type Menu = {\n name: string,\n submenu: { name: string }[]\n}\n\n","import { Component, Inject, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from './../../../Modules/user';\nimport { MAT_DIALOG_DATA, MatDialog,MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-dependencyrpt',\n templateUrl: './dependencyrpt.component.html',\n styleUrls: ['./dependencyrpt.component.scss'],\n})\nexport class DependencyrptComponent implements OnInit {\n\n DependencyReportFormGroup: FormGroup;\n cid:any;\n dataSource:any;\n \n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog: MatDialog,\n public notificationService: NotificationService, private datePipe: DatePipe,\n public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) {\n \n //console.log('Dialog data',this.data)\n\n this.DependencyReportFormGroup = this.formBuilder.group({ \n });\n \n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n }\n\n PageLoad() {\n \n let params = {\n CID: this.data.CID,\n Flag: \"PageLoad\", \n ReqType:this.data.ReqType,\n Client:this.data.Client,\n Product:this.data.Product, \n Priority:this.data.Priority,\n Project:this.data.Project,\n Issues:this.data.Issues,\n Status:this.data.Status,\n Location:this.data.Location,\n Branch:this.data.Branch,\n AssignTo:this.data.AssignTo,\n Reportby:this.data.Reportby,\n DateType:'cs', \n Subject:this.data.Subject, \n UserID:this.data.UserID, \n FilterBy:this.data.FilterBy,\n TicketCategory:this.data.TicketCategory, \n SLA:this.data.SLA, \n FromDate:this.data.FromDate,\n ToDate:this.data.ToDate\n };\n this.service.httpPost('/DependencyReport/GetDependency',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.dataSource=result.respdata.Dependency;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onCloseDialog()\n {\n this.dialogRef.close({event: 'CLEAR'}); \n }\n\n onCellPrepared (e) { \n if (e.rowType === \"data\") {\n if (e.column.dataField === \"SrcStatus\") { \n e.cellElement.style.backgroundColor = e.data.SrcColorCode;\n }\n if (e.column.dataField ===\"DstStatus\") { \n e.cellElement.style.backgroundColor = e.data.DstColorCode;\n }\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { User } from 'src/app/Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n@Component({\n selector: 'app-itshomepage',\n templateUrl: './itshomepage.component.html',\n styleUrls: ['./itshomepage.component.scss'],\n})\nexport class ITSHomepageComponent implements OnInit {\n cid:any;\n LedgerID:any;\n All:any;\n Pending:any;\n Ongoing:any;\n Completed:any;\n showSpinner:any;\n constructor(private service: HttpserviceService,public notificationService: NotificationService,) \n { }\n\n ngOnInit() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID=curUser.userid;\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n }\n \n Submit()\n {\n this.PageLoad();\n }\n\n PageLoad() {\n let params = {\n CID: this.cid, \n Flag: \"LOADTASK\",\n UserID: this.LedgerID\n };\n //this.service.getddllist(params)\n this.showSpinner=true;\n this.service.httpPost('/ITSHomePage/GetTicketData',params)\n .subscribe(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.All = result.respdata.All; \n this.Pending = result.respdata.Pending;\n this.Ongoing = result.respdata.Ongoing; \n this.Completed = result.respdata.Completed; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n}\n","import { Column } from \"./column.models\";\r\n\r\n\r\nexport class Board {\r\n constructor(public name: string, public columns: Column[]) {}\r\n}","export class Column {\r\n constructor(public name: string, public id: string,public rCount:number, public tasks: Tasks[]) {}\r\n }\r\n\r\n export class Tasks {\r\n constructor(public subject: string, public ticketid: string,public Assignee:Assignee[]) {}\r\n }\r\n\r\n export class Assignee{\r\n constructor(public Assignee: string,public FirstName:string,public LastName:string) {}\r\n }","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { Board } from './board.model';\nimport { Column, Tasks ,Assignee} from './column.models';\nimport * as _ from 'underscore';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\nimport { MatStepper } from '@angular/material/stepper';\nimport { TicketComponent } from '../Ticket/ticket/ticket.component';\nimport { CommentComponent } from '../Ticket/comment/comment.component';\nimport { KanbanboardfilterComponent } from '../kanbanboardfilter/kanbanboardfilter.component';\nimport { reduce } from 'rxjs/operators';\nimport { attachmentComponent } from '../Ticket/attachment/attachment.component';\nimport { KanbanboardsearchComponent } from '../kanbanboardsearch/kanbanboardsearch.component';\nimport { TaskbyviewComponent } from '../CustomsReport/taskbyview/taskbyview.component';\n\n\n@Component({\n selector: 'app-kanbanboard',\n templateUrl: './kanbanboard.component.html',\n styleUrls: ['./kanbanboard.component.scss'],\n})\nexport class KanbanboardComponent implements OnInit {\n \n public board: Board = new Board('Test Board', [\n\n // new Column('Open', '31', ,[\n // 'Some random idea',\n // 'This is another random idea',\n // 'This is some data not display'\n // ]),\n // new Column('Schedule', '32', [\n // 'Lorem ipsum',\n // 'foo'\n // ]),\n // new Column('Tested', '33', [\n // 'testing erp purchase module',\n \n // ]),\n // new Column('Closed', '34', [\n // 'ma ios released',\n // 'ma google play store console released',\n // 'crm site checking funger print data',\n // 'leave mgt mail checking ',\n // 'ticket creator form changed status '\n // ])\n \n \n ]);\n \n \n //columnID:any[]=['1', '5', '8','9']\n columnID:any[]=['3010','3011','3012','3049']\n Assignee:any[]=['Syed Rilwan Al Ameen','Ahmed M Y']\n sessiondata:any;\n KeyColumn:any;\n selectedEmployee: any;\n selectedCompany:Number;\n selectedCustomer: any;\n selectedProject: any;\n selectedStatus: any;\n selectedPriority: any;\n Fromdate:any;\n Todate:any;\n DateType:any;\n setDefault:boolean=false;\n\n UserBoardData:any;\n \n dEmployee:any;\n dCompany:any;\n dCustomer:any;\n dTicket:any;\n \n vCID:any;\n cid:number=0;\n statuses: any;\n lists: any[] = [];\n \n item:any[];\n \n datastatus :any;\n finaldata :any;\n myArray:any []=[];\n containerData:any;\n previousContData:any;\n previousContUserID:any;\n CurrentContUserID:any;\n \n KanbanFormGroup:any =FormGroup;\n \n \n flag:any;\n TicketID:any;\n ActiviteID:any;\n TaskTemplate:any;\n menuListItems:any;\n showSpinner:any;\n TemplateID:any;\n CurLedgerID:any;\n TemplateGroupID:any;\n Activityflag:any;\n UserID:any;\n statusid:any;\n boardID:any;\n TaskData:any;\n \n ticketassigneedata:any;\n\n tempStatus = [];\n tempPriority = [];\n tempProject = [];\n tempClient = [];\n tempAssignee= [];\n templateFilter:any;\n \n templateCoulmns:any;\n\n isdefaultfilter:boolean=true\n \n constructor(\n private service: HttpserviceService,\n //private formBuilder: FormBuilder,\n public notificationService: NotificationService, \n private formBuilder: FormBuilder, \n private router: Router, \n private dialog: MatDialog, \n ){\n \n this.KanbanFormGroup = this.formBuilder.group({ \n fcBoard: [''],\n fcFilterDetails:[''],\n // fcCustomer:[''] \n });\n \n }\n \n async ngOnInit() {\n this.vCID=sessionStorage.getItem('cid');\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n this.TemplateGroupID=curUser.TemplateGroupID;\n this.cid=parseInt(this.vCID); \n sessionStorage.setItem(\"FilterSelection\", \"0\"); \n this.Pageload('','','1','');\n //this.setDefault=true;\n \n }\n \n public dropGrid(event: CdkDragDrop): void {\n //console.log('Error')\n moveItemInArray(this.board.columns, event.previousIndex, event.currentIndex);\n }\n \n public drop(event: CdkDragDrop): void {\n \n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex); \n }\n \n let previousContainerData=event.previousContainer.data;\n this.previousContData=previousContainerData[event.previousIndex]\n let currentData=event.container.data;\n this.containerData=currentData[event.currentIndex]\n this.previousContUserID=event.previousContainer.id;\n this.CurrentContUserID=event.container.id\n\n\n // console.log(' this.previousContUserID', this.previousContUserID);\n // console.log(' this.CurrentContUserID', this.CurrentContUserID);\n \n if(event.previousContainer.id!=event.container.id){\n this.bindData();\n this.save();\n } \n }\n \n // async Pageload(customer:any,employee:any,flag:any){\n Pageload(customer:any,employee:any,flag:any,boardid:any){\n \n this.sessiondata=sessionStorage.getItem('currentUser');\n this.showSpinner=true;\n let params = {\n CID:this.cid, \n Flag: flag , \n UserID\t:this.UserID ,\n BoardID: boardid \n };\n \n this.service.httpPost('/Kanbanboard/GetKanbanBoardData',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (result.errno === 0) { \n if(flag=='1'){ \n sessionStorage.removeItem(\"FilterData\"); \n sessionStorage.removeItem(\"multiselectinputvalue\"); \n this.KeyColumn=result.respdata.KeyColumn ; \n this.ticketassigneedata=result.respdata.TicketAssigneeData ; \n this.menuListItems=result.respdata.Action ; \n this.statuses=_.pluck(result.respdata.BoardData, 'ColumnName');\n this.statusid=_.pluck(result.respdata.BoardData, 'ColumnID');\n this.UserBoardData=result.respdata.UserBoard ; \n this.TaskData=result.respdata.Task; \n this.columnID=this.statusid;\n this.boardID=this.KeyColumn[0].BoardID;\n this.KanbanFormGroup.controls.fcBoard.setValue(JSON.parse(this.boardID)); \n this.templateFilter=result.respdata.TemplateFilter;\n this.templateCoulmns=result.respdata.TemplateSubData;\n // if(this.boardID==result.respdata.DefaultView) \n // this.setDefault=true; \n // console.log('this.BoardData', this.templateFilter);\n \n let ticketID=_.pluck(result.respdata.Task, 'TicketID'); \n this.LoadKanbanBoard(result.respdata.Task ,this.statusid); \n \n } \n else if (flag=='Refresh') \n this.LoadKanbanBoard(result.respdata.Task ,this.statusid);\n //console.log('taskpageload',result.respdata.Task ,this.statusid)\n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n } \n \n \n LoadKanbanBoard(data:any,statusid:any)\n {\n this.board=new Board('Test Board', []);\n let Ticket=data; \n var innerArrayLength = Ticket.length; \n let subj:Tasks[] = []; \n let assign:Assignee[]=[];\n //console.log('kanban load',this.statuses)\n for (let i = 0; i < this.statuses.length; i++) { \n // loop the inner array \n let k = 0; \n subj=[];\n for (let j = 0; j < innerArrayLength; j++) {\n //if(this.statuses[i]===data[j].Status) \n var keyColumnData;\n \n keyColumnData=data[j].KeyColumn;\n // console.log('data[j].Sys_Assignee', data[j].Sys_Assignee)\n if(this.statuses[i]===keyColumnData)\n {\n if(data[j].Sys_Assignee!=null && data[j].Sys_Assignee.length!=0)\n {\n let assData=JSON.parse(data[j].Sys_Assignee);\n let fnData=JSON.parse(data[j].Sys_FirstName);\n let lsData=JSON.parse(data[j].Sys_LastName);\n //console.log('assData',assData.length)\n for(let l=0;l {\n //console.log('res',res,this.KeyColumn[0].KeyColumn);\n if(res.event!='CLEAR'){\n \n sessionStorage.setItem(\"FilterData\", JSON.stringify(res.sessionDt)); \n sessionStorage.setItem(\"SearchData\", JSON.stringify(res.dt)); \n sessionStorage.setItem(\"multiselectinputvalue\", JSON.stringify(res.sessionmultiselectinputvalue)); \n //let selectdData=res.dt;\n this.KanbanFormGroup.controls['fcFilterDetails'].setValue(res.dtdispalyvalue.map(item => item.DisplayValue).join(', '))\n \n this.statusid=res.statusid;\n \n\n let params = {\n CID:this.cid, \n Flag: 'Filter' , \n UserID\t:this.UserID ,\n BoardID: this.boardID , \n dtRequestOn: res.dt\n };\n //console.log('params',params)\n \n this.service.httpPost('/Kanbanboard/GetKanbanBoardData',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n \n if (result.errno === 0) { \n this.KeyColumn=result.respdata.KeyColumn ; \n this.ticketassigneedata=result.respdata.TicketAssigneeData ; \n this.menuListItems=result.respdata.Action ; \n this.statuses=_.pluck(result.respdata.BoardData, 'ColumnName');\n this.statusid=_.pluck(result.respdata.BoardData, 'ColumnID');\n this.UserBoardData=result.respdata.UserBoard ; \n this.TaskData=result.respdata.Task; \n this.columnID=this.statusid;\n this.boardID=this.KeyColumn[0].BoardID;\n this.KanbanFormGroup.controls.fcBoard.setValue(JSON.parse(this.boardID)); \n //this.templateFilter=result.respdata.TemplateFilter; \n this.LoadKanbanBoard(result.respdata.Task ,this.statusid); \n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n // Remove all saved data from sessionStorage \n let assigneedata=\"\",prioritydata=\"\",statusdata=\"\",customerdata=\"\",projectdata=\"\";\n let tempSta,temppri,tempproj,tempcli,tempassign \n this.tempProject = [];this.tempStatus = [];this.tempPriority = [];this.tempAssignee = [];this.tempClient = [];\n }\n });\n }\n\n \n Refresh(){\n this.showSpinner=true;\n // Get saved data from sessionStorage\n let tempAssignee = sessionStorage.getItem(\"tempAssignee\");\n let tempProject = sessionStorage.getItem(\"tempProject\");\n let tempClient = sessionStorage.getItem(\"tempClient\");\n let tempStatus = sessionStorage.getItem(\"tempStatus\");\n let tempPriority = sessionStorage.getItem(\"tempPriority\");\n let Fromdate = sessionStorage.getItem(\"Fromdate\");\n let Todate = sessionStorage.getItem(\"Todate\");\n\n let params = { \n Flag:\"LoadFilterData\",\n CID:this.cid,\n dtRequestOn:JSON.parse(tempAssignee), \n dtProject:JSON.parse(tempProject),\n dtClient:JSON.parse(tempClient), \n dtStatus:JSON.parse(tempStatus),\n dtPriority:JSON.parse(tempPriority),\n FromDate:Fromdate,\n ToDate:Todate,\n DateType:\"cs\",\n UserID\t:this.UserID ,\n BoardID: this.KanbanFormGroup.get('fcBoard').value\n }\n\n\n //console.log('param',params);\n this.service.httpPost('/kanbanboard/GetKanbanBoardData',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (result.errno === 0) { \n this.statuses=_.pluck(result.respdata.BoardData, 'ColumnName');\n this.statusid=_.pluck(result.respdata.BoardData, 'ColumnID');\n this.TaskData=result.respdata.Task; \n this.LoadKanbanBoard(result.respdata.Task ,this.statusid); \n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n } \n \n \n filterBoardData(){\n let params = {\n CID:this.cid, \n Flag: \"FilterData\" , \n UserID\t:this.UserID, \n dtRequestOn:this.selectedEmployee,\n dtClient:this.selectedCustomer,\n dtProject:this.selectedProject,\n Status:this.selectedStatus,\n Priority:this.selectedPriority,\n FromDate:this.Fromdate,\n Todate:this.Todate,\n DateType:this.DateType \n }; \n this.service.httpPost('/ITSCustomsReport/GetKanbanBoardData',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n if (result.errno === 0) { \n let filterData;\n filterData=_.where(this.TaskData,'')\n this.LoadKanbanBoard(result.respdata.Task ,this.statusid); \n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n clickMenuItem(menuItem ,Value, stepper: MatStepper){ \n this.TicketID=Value.ticketid;\n this.ActiviteID=menuItem.ActivityID;\n this.TemplateID=menuItem.TemplateID;\n let actvityflag=menuItem.ActivityID.split(\"_\",4)\n this.flag='ACTIVITY'\n if (actvityflag[1]=='COMMENT')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0, \n template:this.TaskTemplate,\n TicketID:this.TicketID,\n TemplateID:this.TemplateID\n \n }\n const dialogRef = this.dialog.open(CommentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1]=='ATTACHMENT')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0, \n template:this.TaskTemplate,\n TicketID:this.TicketID\n \n }\n const dialogRef = this.dialog.open(attachmentComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n else if (actvityflag[1]=='VIEW')\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n pid:0,\n height: '350px',\n width: '70%', \n cid:this.cid,\n flag:\"View\",\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.UserID,\n TagID:'External',\n ActiviteID:\"INT_VIEW\",\n TemplateGroupID:1, \n Subject:Value.subject\n } \n const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n //this.Submit(); \n });\n } \n else if (actvityflag[1] !=='ATTACHMENT')\n { \n //console.log('Other') ;\n this.Activityflag='EDIT'\n this.Loaddetails();\n } \n }\n \n \n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n cid:this.cid,\n flag:this.flag,\n TicketID:this.TicketID,\n TemplateID:this.TemplateID,\n UserName:this.CurLedgerID,\n TagID:'INTERNAL',\n ActiviteID:this.ActiviteID,\n TemplateGroupID:this.TemplateGroupID \n }\n this.service.httpPost('/TicketCreator/GetTicketCreator?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n this.showSpinner=true;\n setTimeout(() =>{this.showSpinner=false;},800)\n if (result.errno === 0){ \n this.TaskTemplate=result.respdata.TaskTemplate\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: this.Activityflag,\n pid:0,\n height: '350px',\n width: '60%',\n template:this.TaskTemplate,\n TicketID:this.TicketID,\n ActiviteID:this.ActiviteID,\n TagID:'INTERNAL',\n TemplateGroupID:this.TemplateGroupID,\n TemplateID:this.TemplateID \n }\n const dialogRef = this.dialog.open(TicketComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.flag='HomePage' \n });\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n setDefaultView()\n {\n this.showSpinner=true; \n let params = { \n CID:this.cid, \n Flag:'ADD',\n UserID\t:this.UserID ,\n KeyColumn:'Kanban',\n BoardID: this.KanbanFormGroup.get('fcBoard').value\n }\n this.service.httpPost('/Kanbanboard/SetDefaultView',params)\n .subscribe(\n (data) => { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n\n if (result.errno === 0) { \n this.notificationService.success(result.errdesc); \n }\n else {\n this.notificationService.warn(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n async bindData(){ \n for (var j = 0; j < this.board.columns.length; j++)\n { \n for (var k = 0; k < this.board.columns[j].tasks.length; k++)\n {\n \n if(this.containerData==this.board.columns[j].tasks[k]){ \n let finaldata = {'Name':this.board.columns[j].name,'ID':this.board.columns[j].id,'ticketID':this.containerData.ticketid,'indexorder':0} \n this.myArray.push(finaldata) ;\n k=this.board.columns[j].tasks.length; \n } \n if(this.KeyColumn[0].Column3=='multiselect'){ \n if(this.previousContData==this.board.columns[j].tasks[k]){ \n let finaldata = {'Name':this.board.columns[j].name,'ID':this.previousContUserID,'ticketID':this.containerData.ticketid,'indexorder':1} \n this.myArray.push(finaldata) ;\n k=this.board.columns[j].tasks.length; \n }\n } \n }\n } \n }\n\n\n getAssigneesForTicket(ticketId: string): string[] { \n const ticketData = this.ticketassigneedata.find(entry => entry.TicketID === ticketId); \n if (ticketData) {\n // Split the comma-separated assignee values into an array\n return ticketData.Assignee.split(',').map(assignee => assignee.trim());\n } \n return [];\n }\n \n async save(){ \n this.showSpinner=true; \n const filteredcolumn:any[]= this.myArray.map(item => { return {\n TicketID: item.ticketID,\n statusname: item.ID ,\n IndexValue:item.indexorder\n }}); \n const assigneesForTicket = this.getAssigneesForTicket(filteredcolumn[0].TicketID);\n let assessmentvalue = [];\n var ColumnName=this.KeyColumn[0].KeyColumn=='Assignee'?'Assignee':this.KeyColumn[0].KeyColumn \n let Value2;//=filteredcolumn[0].statusname\n console.log('filteredcolumn',filteredcolumn)\n console.log('filtassigneesForTicketeredcolumn',assigneesForTicket)\n if(this.KeyColumn[0].Column3=='multiselect'){ \n const UserID = filteredcolumn.find(item => item.IndexValue === 1); \n const newArray: string[] = assigneesForTicket.filter(value => value !== UserID.statusname); \n const NewUserID:any=filteredcolumn.find(item => item.IndexValue === 0);\n newArray.push(NewUserID.statusname); \n const resultString: string = newArray.join(\",\"); \n assessmentvalue.push({ColumnName,resultString}); \n } \n else{\n Value2=filteredcolumn[0].statusname\n assessmentvalue.push({ColumnName,Value2});\n } \n let params={\n CID: this.cid,\n Flag: 'EDIT',\n TemplateID:this.KeyColumn[0].TemplateID,\n CreatorFlag:0,\n TicketID:filteredcolumn[0].TicketID,\n UserName: this.UserID,\n dt:assessmentvalue,\n Activity:this.KeyColumn[0].ActivityID,\n Comment:'KanbanBoard',\n ActiviteID:this.KeyColumn[0].ActivityID \n };\n\n let data=await this.service.httpPost('/TicketCreator/SetTicketCreator',params)\n .toPromise ().then(data=> { \n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n\n if (result.errno === 0) { \n this.myArray=[]; \n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n }); \n \n }\n\n BoardRefresh(){ \n this.KanbanFormGroup.controls.fcFilterDetails.setValue('');\n this.Pageload('','',\"1\",this.KanbanFormGroup.get('fcBoard').value);\n }\n \n }\n \n \nexport class User {\n // auth: boolean;\n //cid: number;\n userid: number;\n ledgerid: number;\n groupid: number;\n username: string;\n token?: string;\n configparam: any;\n salesmanid: number;\n TemplateGroupID:number;\n UserType:string;\n dtsiteid:any;\n ds_dashboard:any;\n // elapsedtime?: number;\n}\n\nexport interface assignee{\n ledgerID:any; \n}","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { KanbanboardconfigpopupComponent } from '../kanbanboardconfigpopup/kanbanboardconfigpopup.component';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { KanbankeyvaluejsondataviewComponent } from '../kanbankeyvaluejsondataview/kanbankeyvaluejsondataview.component';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\n\n\n@Component({\n selector: 'app-kanbanboardconfig',\n templateUrl: './kanbanboardconfig.component.html',\n styleUrls: ['./kanbanboardconfig.component.scss'],\n})\nexport class KanbanboardconfigComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n KanbanBoardConfig:any =FormGroup;\n Companies:any;\n KeyColumn:any;\n Status:any;\n Priority:any;\n Employee:any;\n pCID:any;\n CID:any;\n CurLedgerID:any;\n UserID:any;\n TemplateGroupID:any;\n kanbanboarddatasource:any;\n pageSize: number = 7;\n IsFalse:boolean=false;\n displayedColumns = ['BoardName','KeyColumn','UserDetails','Action'];\n CardViewData:any;\n InticativeRelease:any;\n InticativeSprint:any;\n TemplateID:number;\n constructor(private service: HttpserviceService,\n //private formBuilder: FormBuilder,\n public notificationService: NotificationService, \n private formBuilder: FormBuilder, \n private router: Router, \n private dialog: MatDialog) {\n\n\n this.KanbanBoardConfig= this.formBuilder.group({ \n fcCompany: [''] ,\n fcTemplateID: [''] \n });\n\n }\n\n ngOnInit() {\n this.pCID=sessionStorage.getItem('cid');\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n this.TemplateGroupID=curUser.TemplateGroupID;\n this.CID=parseInt(this.pCID);\n this.KanbanBoardConfig.controls.fcCompany.setValue(this.CID);\n this.KanbanBoardConfig.controls.fcTemplateID.setValue(1);\n this.loadData();\n }\n\n\n loadData()\n {\n let params = {\n cid:this.CID,\n flag:\"LoadDDL\", \n UserID:this.UserID ,\n TemplateID:this.KanbanBoardConfig.get('fcTemplateID').value\n }\n console.log('params',params)\n this.service.httpPost('/Kanbanboard/GetKanbanBoardConfig?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n \n if (result.errno === 0){\n console.log('result',result.respdata);\n this.kanbanboarddatasource=result.respdata.Kanbanboard;\n this.kanbanboarddatasource = new MatTableDataSource(result.respdata.Kanbanboard);\n this.kanbanboarddatasource.paginator = this.paginator;\n\n this.Companies=result.respdata.CompanyID;\n this.TemplateID=result.respdata.TemplateID;\n this.Employee=result.respdata.Employee;\n this.Status=result.respdata.Status;\n this.Priority=result.respdata.Priority ;\n this.KeyColumn=result.respdata.KeyColumn ;\n this.CardViewData=result.respdata.CardViewData ;\n this.InticativeRelease=result.respdata.InticativeRelease;\n this.InticativeSprint=result.respdata.InticativeSprint;\n }\n else{\n this.notificationService.warn(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n this.notificationService.warn(error);\n else throw error; \n });\n}\n\n\n onClear(){\n\n }\n\n onCloseDialog(){\n\n }\n\n jsondataView(element:any){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n \n dialogConfig.data = {\n jsonValue:element.KeyValuesJSON\n }\n const dialogRef = this.dialog.open(KanbankeyvaluejsondataviewComponent, dialogConfig)\n dialogRef.afterClosed()\n .subscribe(res => {\n });\n \n }\n \n PopUp(Flag: string,element:any)\n { \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n \n dialogConfig.data = {\n flag: Flag,\n userid: this.UserID,\n ledgerid: this.CurLedgerID,\n cid:this.CID,\n employee:this.Employee,\n priority:this.Priority,\n status:this.Status,\n keycolumn:this.KeyColumn,\n companydata:this.Companies,\n boardNmae:element.BoardName,\n CardViewData:this.CardViewData,\n InticativeRelease:this.InticativeRelease,\n InticativeSprint:this.InticativeRelease,\n templateid:this.KanbanBoardConfig.get('fcTemplateID').value\n }\n\n\n \n\n const dialogRef = this.dialog.open(KanbanboardconfigpopupComponent, dialogConfig)\n dialogRef.afterClosed()\n .subscribe(res => {this.loadData();\n //console.log('res',res,this.KeyColumn[0].KeyColumn);\n // if(res.event!='CLEAR'){\n // this.selectedCompany=this.CID\n // this.selectedEmployee=res.LedgerID;\n // this.selectedCustomer=res.Client;\n // this.selectedProject=res.Project;\n // this.selectedStatus=res.Status;\n // this.selectedPriority=res.Priority; \n // }\n });\n }\n\n}\n\nexport class User {\n userid: number;\n ledgerid: number;\n groupid: number;\n username: string;\n token?: string;\n configparam: any;\n salesmanid: number;\n TemplateGroupID:number;\n UserType:string;\n dtsiteid:any;\n ds_dashboard:any;\n // elapsedtime?: number;\n}\n","import { CdkDragDrop, moveItemInArray, transferArrayItem,DragDropModule } from '@angular/cdk/drag-drop';\nimport { ElementRef, Inject, ViewChild } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\n\n@Component({\n selector: 'app-kanbanboardconfigpopup',\n templateUrl: './kanbanboardconfigpopup.component.html',\n styleUrls: ['./kanbanboardconfigpopup.component.scss'],\n})\nexport class KanbanboardconfigpopupComponent implements OnInit {\n\n KanbanBoardConfigPopup:any =FormGroup;\n Companies:any;\n pCID:any;\n CID:any;\n CurLedgerID:any;\n UserID:any;\n TemplateGroupID:any;\n \n KeyColumn:any;\n Status:any;\n Priority:any;\n Employee:any;\n CardViewData:any;\n filterCardViewData:any;\n boardType:any;\n flag:any;\n BoardName:any;\n userData:any;\n InticativeRelease:any;\n InticativeSprint:any;\n\n isChecked:boolean = false;\n\n ActiveData = [];\n\n InActiveData = [];\n dataSource:any;\n myArray:any []=[];\n TemplateID:number;\n\n\n constructor(private service: HttpserviceService,\n //private formBuilder: FormBuilder,\n public notificationService: NotificationService, \n private formBuilder: FormBuilder, \n private router: Router, \n private dialog: MatDialog, \n private dialogService: DialogService,\n public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any \n \n ) {\n console.log('data',this.data);\n this.Companies=this.data.companydata ;\n this.KeyColumn=this.data.keycolumn;\n this.Status=this.data.status;\n this.Priority=this.data.priority;\n this.InActiveData=this.data.employee;\n this.dataSource=this.data.employee;\n this.Employee=this.data.employee;\n this.userData=this.data.employee.slice();\n this.CardViewData=this.data.CardViewData;\n this.InticativeRelease=this.data.InticativeRelease;\n this.InticativeSprint=this.data.InticativeSprint\n this.filterCardViewData=this.data.CardViewData;\n this.flag=this.data.flag;\n this.BoardName=this.data.boardNmae;\n this.TemplateID=this.data.templateid;\n\n this.KanbanBoardConfigPopup= this.formBuilder.group({ \n fcCompany: [''] ,\n fcBoardType: [''] ,\n fcBoardName: [''] ,\n fcEmployee : [''] , \n fcAllowUser:[''],\n fcCardView:['']\n });\n\n\n\n }\n\n ngOnInit() {\n this.pCID=sessionStorage.getItem('cid');\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.UserID=curUser.userid;\n this.TemplateGroupID=curUser.TemplateGroupID;\n this.CID=parseInt(this.pCID);\n this.KanbanBoardConfigPopup.controls.fcCompany.setValue(this.CID);\n this.KanbanBoardConfigPopup.controls.fcBoardType.setValue(104);\n this.KanbanBoardConfigPopup.controls.fcEmployee.setValue(this.UserID);\n\n \n\n //console.log('flag',this.flag)\n if(this.flag==='EDIT')\n this.getBoardData()\n else if(this.flag==='DELETE'){ \n this.getBoardData();\n this.DeleteRecord();\n } \n }\n\n\n onClear(){\n\n }\n\n getBoardData(){\n let params = {\n CID:this.CID,\n Flag:\"getBoardData\", \n UserID:this.UserID ,\n BoardID:this.BoardName,\n TemplateID: this.TemplateID\n }\n\n console.log('getboard',params)\n\n this.service.httpPost('/Kanbanboard/GetKanbanBoardConfig?',params)\n .subscribe(data => {\n let result: any;\n result=data;\n \n if (result.errno === 0){\n //console.log('result',result.respdata); \n \n if(result.respdata.BoardData[0].KeyColumnID===101){\n this.dataSource=this.Status;\n this.InActiveData=this.Status;\n } \n else if(result.respdata.BoardData[0].KeyColumnID===102){\n this.dataSource=this.Priority;\n this.InActiveData=this.Priority;\n } \n \n this.KanbanBoardConfigPopup.controls.fcCompany.setValue(this.CID);\n this.KanbanBoardConfigPopup.controls.fcBoardType.setValue(result.respdata.BoardData[0].KeyColumnID);\n this.KanbanBoardConfigPopup.controls.fcBoardName.setValue(result.respdata.BoardData[0].BoardName);\n this.KanbanBoardConfigPopup.controls.fcEmployee.setValue(result.respdata.BoardData[0].CreatedBy); \n console.log('JSON.parse(result.respdata.BoardData[0].AllowUsers)',JSON.parse(result.respdata.BoardData[0].AllowUsers))\n this.KanbanBoardConfigPopup.controls.fcAllowUser.setValue(JSON.parse(result.respdata.BoardData[0].AllowUsers)); \n this.KanbanBoardConfigPopup.controls.fcCardView.setValue(JSON.parse(result.respdata.BoardData[0].CardViewData)); \n \n this.ActiveData=JSON.parse(result.respdata.BoardData[0].KeyValuesJSON)\n this.InActiveData= this.removeDuplicateData(this.InActiveData, this.ActiveData);\n //console.log('filtedata',this.InActiveData)\n if(result.respdata.BoardData[0].DefaultValue===0)\n this.isChecked=false;\n else\n this.isChecked=true;\n\n }\n else{\n this.notificationService.warn(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n this.notificationService.warn(error);\n else throw error; \n });\n }\n\n onCloseDialog(){ \n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) { \n \n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n\n\n DeleteRecord(){ \n this.dialogService.openConfirmDialog('Are you sure do you want to delete this data?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.Save(); \n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n\n onCheckboxChange(event: any) {\n // You can use the 'isChecked' property to get the current state of the checkbox \n this.isChecked=event.checked;\n\n }\n\n// async Save(){\n// // const filteredcolumn = this.myArray.map(item => { return {\n// // TicketID: item.ticketID,\n// // statusname: item.ID \n// // }});\n// var def;\n \n// if(this.isChecked===true)\n// def=1;\n// else\n// def=0;\n\n// let params = {\n// CID:this.CID, \n// Flag:this.flag,\t\n// Default:def,\n// BoardName:this.KanbanBoardConfigPopup.get('fcBoardName').value,\n// KeyColumn:this.KanbanBoardConfigPopup.get('fcBoardType').value,\n// KeyJSONValue:JSON.stringify(this.ActiveData),\n// UserID\t:this.KanbanBoardConfigPopup.get('fcEmployee').value,\n// JsonAllowUser:JSON.stringify(this.KanbanBoardConfigPopup.get('fcAllowUser').value),\n// //KeyColumn :this.KeyColumn[0].KeyColumn\n// };\n \n// //console.log('params',params)\n// let data=await this.service.httpPost('/Kanbanboard/SetKanbanBoardConfig',params)\n// .toPromise ().then(data=> { \n// let result: any;\n// result = data;\n// if (result.errno === 0) { \n// if(this.flag!='DELETE') \n// this.notificationService.success('Successfully Updated') \n// }\n// else {\n// this.notificationService.success(result.errdesc); \n// }\n// },\n// (error: AppError) => {\n// if (error instanceof BadInput) \n// console.log(error);\n// else throw error; \n// });\n// }\n\n\n Save(){\n // const filteredcolumn = this.myArray.map(item => { return {\n // TicketID: item.ticketID,\n // statusname: item.ID \n // }});\n var def;\n \n if(this.isChecked===true)\n def=1;\n else\n def=0;\n\n let params = {\n CID:this.CID, \n Flag:this.flag,\t\n Default:def,\n BoardName:this.KanbanBoardConfigPopup.get('fcBoardName').value,\n KeyColumn:this.KanbanBoardConfigPopup.get('fcBoardType').value,\n KeyJSONValue:JSON.stringify(this.ActiveData),\n UserID\t:this.KanbanBoardConfigPopup.get('fcEmployee').value,\n JsonAllowUser:JSON.stringify(this.KanbanBoardConfigPopup.get('fcAllowUser').value),\n CardViewData:JSON.stringify(this.KanbanBoardConfigPopup.get('fcCardView').value)\n //KeyColumn :this.KeyColumn[0].KeyColumn\n };\n\n \n \n console.log('params',params)\n this.service.httpPost('/Kanbanboard/SetKanbanBoardConfig',params)\n .subscribe(data => { \n let result: any;\n result = data;\n if (result.errno === 0) { \n if(this.flag!='DELETE') \n this.notificationService.success('Successfully Updated') \n }\n else {\n this.notificationService.success(result.errdesc); \n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n selected(event) {\n let target = event.source.selected._element.nativeElement;\n this.boardType = target.innerText.trim();\n if(this.boardType==='Status'){\n this.dataSource=this.Status;\n this.InActiveData=this.Status;\n this.ActiveData=[];\n } \n else if(this.boardType==='Priority'){\n this.dataSource=this.Priority;\n this.InActiveData=this.Priority;\n this.ActiveData=[];\n } \n else if(this.boardType==='Assignee'){\n this.dataSource=this.Employee;\n this.InActiveData=this.Employee;\n this.ActiveData=[];\n }\n else if(this.boardType==='InticativeRelease'){\n this.dataSource=this.InticativeRelease;\n this.InActiveData=this.InticativeRelease;\n this.ActiveData=[];\n }\n else if(this.boardType==='InticativeSprint'){\n this.dataSource=this.InticativeSprint;\n this.InActiveData=this.InticativeSprint;\n this.ActiveData=[];\n }\n \n \n }\n \n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n console.log('dropped Event', `> dropped '${event.item.data}' into '${event.container.id}'`);\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n console.log('dropped Event', `> dropped '${event.item.data}' into '${event.container.id}'`);\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n\n // this.pre = `\n // activeCustomers:\n // ${JSON.stringify(this.activeCustomers, null, ' ')}\n\n // inactiveCustomers:\n // ${JSON.stringify(this.inactiveCustomers, null, ' ')}`;\n }\n\n doFilter(filterValue: string) {\n \n const result = this.dataSource.filter(option => option.ColumnName.toLowerCase().includes(filterValue)); \n \n this.InActiveData=result;\n //console.log('search',result)\n }\n\n removeDuplicateData(array1: Column[], array2: Column[]): Column[] {\n const array2Ids = new Set(array2.map(item => item.ColumnID));\n \n // console.log('uniqueArray',array2Ids)\n // console.log('array1',array1)\n // console.log('array1',array2)\n const uniqueArray = array1.filter(item => !array2Ids.has(item.ColumnID)); \n \n // console.log('uniqueArray',uniqueArray)\n return uniqueArray;\n }\n\n \n\n}\n\nexport class User {\n userid: number;\n ledgerid: number;\n groupid: number;\n username: string;\n token?: string;\n configparam: any;\n salesmanid: number;\n TemplateGroupID:number;\n UserType:string;\n dtsiteid:any;\n ds_dashboard:any;\n // elapsedtime?: number;\n}\n\ninterface Column {\n ColumnID: number;\n ColumnName: string;\n}\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { Inject } from '@angular/core';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Observable, of } from 'rxjs';\nimport { User } from 'src/app/Modules/user';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { MatAutocompleteActivatedEvent, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { DatecontrolComponent } from '../../HR/DateControl/datecontrol/datecontrol.component';\nimport { DatePipe } from '@angular/common';\nimport { Session } from 'protractor';\n@Component({\n selector: 'app-kanbanboardfilter',\n templateUrl: './kanbanboardfilter.component.html',\n styleUrls: ['./kanbanboardfilter.component.scss'],\n})\nexport class KanbanboardfilterComponent implements OnInit {\n\n KanbanBoardFilterFormGroup:any=FormGroup;\n Flag:any;\n Companies:any;\n Assignee:any;\n Clients:any;\n Projects:any;\n Status:any;\n Priority:any;\n UserID:any;\n LedgerID:any;\n CID:any;\n allEmployees:any\n\n DateTypeFlag:any=\"Today\"\n fromdate:any;\n todate:any;\n keycolumn:any;\n AssigneeVisible:boolean=true;\n StatusVisible:boolean=true;\n PiriorityVisible:boolean=true; \n selectable = true;\n removable = true;\n TextDataFlag:any;\n\n projects: string[] = [];\n allProjects: any;\n selectable1 = true;\n removable1 = true;\n\n selectedValue: any ;\n\n showSpinner:any;\n public filteredList5;\n \n fcEmployee = new FormControl();\n fcProject = new FormControl();\n filteredProjects: Observable;\n filteredEmployees: Observable;\n autocompleteTagsOptionActivated = false;\n employeelistselected: any = [];\n employees: string[] = [];\n SelectData:any;\n \n @ViewChild('prjInput') prjInput: ElementRef;\n @ViewChild('empInput') empInput: ElementRef;\n \n tempp:any;\n BoardID:any;\n\n constructor(\n private service: HttpserviceService,\n private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n public notificationService: NotificationService, \n private formBuilder: FormBuilder, \n private dialog:MatDialog,\n private datePipe: DatePipe, \n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.Flag = this.data.flag;\n this.UserID = this.data.userid;\n this.LedgerID = this.data.ledgerid;\n this.CID = this.data.cid;\n this.keycolumn=this.data.keycolumn;\n this.TextDataFlag=this.data.textdataFlag\n this.BoardID=this.data.BoardID\n //console.log('dailog',)\n \n//console.log('checkprio',JSON.parse(localStorage.getItem('Prioritydata')));\n this.KanbanBoardFilterFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcEmployee: [''], \n fcProject: [''],\n fcClient: [''], \n fcStatus: [''], \n fcPriority: [''], \n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required] \n });\n\n // this.fcProject.valueChanges.subscribe(search => {\n // this.filteredProjects = of(this.allProjects.filter(item =>\n // item.toLowerCase().includes(search)\n // ));\n // });\n\n\n }\n\n async ngOnInit() {\n \n //console.log('keycolumn',this.keycolumn)\n if(this.keycolumn=='Status')\n this.StatusVisible=false;\n else if(this.keycolumn=='Priority')\n this.PiriorityVisible=false;\n else if(this.keycolumn=='Assignee')\n this.AssigneeVisible=false;\n\n this.CID=JSON.parse(sessionStorage.getItem('cid')); \n await this.PageLoad();\n // console.log('this.CID',this.CID)\n this.KanbanBoardFilterFormGroup.controls.fcCompany.setValue(this.CID);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n if(this.TextDataFlag==1)\n this.FilterSessionDataLoad();\n else \n this.GetDefault()\n \n }\n\n FilterSessionDataLoad(){\n console.log('Prioritydata',localStorage.getItem('FilterEmployee'))\n if(this.keycolumn!='Status' && localStorage.getItem('Status')!=null){\n console.log('stat',localStorage.getItem('Status'))\n const tempStatus:any =JSON.parse(localStorage.getItem('Status'));\n this.KanbanBoardFilterFormGroup.controls.fcStatus.setValue(tempStatus);\n }\n\n if(this.keycolumn!='Priority' && localStorage.getItem('Prioritydata')!=''){\n const tempPriority:any =JSON.parse(localStorage.getItem('Prioritydata'));\n this.KanbanBoardFilterFormGroup.controls.fcPriority.setValue(tempPriority);\n //console.log('tempPriority',tempPriority)\n }\n\n \n const tempProject:any = JSON.parse(localStorage.getItem('Projectdata')) \n const tempClient:any =JSON.parse(localStorage.getItem('Client'));\n const tempEmployee:any =JSON.parse(localStorage.getItem('FilterEmployee'));\n\n this.employees=tempEmployee; \n this.projects=tempProject; \n\n if(tempClient!='')\n this.KanbanBoardFilterFormGroup.controls.fcClient.setValue(tempClient); \n\n }\n\n\n async PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.CID, \n Flag: \"FilterDDLData\",\n UserID:curUser.ledgerid , \n };\n this.showSpinner=true;\n let result= await this.service.httpPost('/Kanbanboard/GetKanbanBoardData',params)\n .toPromise().then(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Companies = curUser.dtsiteid; \n this.Assignee = result.respdata.Assignee;\n this.allEmployees = result.respdata.Assignee; \n this.Projects=result.respdata.Project;\n this.Clients=result.respdata.Client; \n this.Status=result.respdata.Status; \n this.Priority=result.respdata.Priority; \n // this.allProjects= _.pluck(this.Projects, 'ProjectName'); \n this.allProjects=this.Projects;\n\n //console.log('Priority',this.Priority)\n\n//const tempPriority:any [] =JSON.parse(localStorage.getItem('FilterPriority'));\n //let Fromdate = sessionStorage.getItem(\"Fromdate\");\n //let Todate = sessionStorage.getItem(\"Todate\");\n // console.log('tempAssignee',JSON.parse(tempAssignee));\n // console.log('tempAssignee',JSON.parse(tempProject));\n // console.log('tempAssignee',JSON.parse(tempClient));\n // const tempPriority1:any = [\n // { EntityID: \"3010\", Tag:\"P1\" }\n // ];\n \n // this.KanbanBoardFilterFormGroup.controls.fcClient.setValue(JSON.parse(tempClient))\n // this.KanbanBoardFilterFormGroup.controls.fcEmployee.setValue(JSON.parse(tempAssignee))\n \n // this.SelectData=[tempPriority1];\n // console.log('this.SelectData',this.SelectData)\n //this.KanbanBoardFilterFormGroup.controls.fcPriority.setValue('');\n //console.log('tempAssignee',this.KanbanBoardFilterFormGroup.controls.fcPriority.getItem);\n\n this.fcEmployee.valueChanges.subscribe(search => {\n this.filteredEmployees = of(this.allEmployees.filter(item =>\n item.Name.toLowerCase().includes(search)\n ));\n }); \n\n this.fcProject.valueChanges.subscribe(search => {\n this.filteredProjects = of(this.allProjects.filter(item =>\n item.ProjectName.toLowerCase().includes(search)\n ));\n });\n\n this.filteredList5= this.Clients.slice();\n\n console.log('this.employees',this.employees);\n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n\n getDefaultValues() {\n\n const tempPriority1:any = [\n { EntityID: 3010, Tag:\"P1\" },\n { EntityID: 3011, Tag:\"P1\" }\n ];\n // In this example, we're setting default values for objects with id 1 and 2\n return [tempPriority1[0], tempPriority1[1]];\n }\n\n add(event: MatChipInputEvent): void {\n // debugger\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) {\n this.employeelistselected.push({\n id:Math.random(),\n Name:value.trim()\n });\n }\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n this.fcEmployee.setValue(null);\n }\n\n addprojects(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.projects.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcProject.setValue(null);\n }\n\n\n removeprojects(prj: string): void {\n const index = this.projects.indexOf(prj);\n if (index >= 0) {\n this.projects.splice(index, 1);\n }\n }\n\n\n selectedprojects(event1: MatAutocompleteSelectedEvent): void {\n this.projects.push(event1.option.value);\n //console.log('projects',this.projects)\n this.prjInput.nativeElement.value = '';\n this.fcProject.setValue(null);\n }\n\n\n // private _filterprojects(value1: string): string[] {\n // const filterprojectValue = value1.toLowerCase();\n\n // return this.allProjects.filter(value1 => value1.toLowerCase().indexOf(filterprojectValue) === 0);\n // }\n\n\n addemployees(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.employees.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcEmployee.setValue(null);\n }\n\n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n optionActivated($event: MatAutocompleteActivatedEvent) {\n if ($event.option) {\n this.autocompleteTagsOptionActivated = true;\n }\n }\n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n //console.log('employees',this.employees)\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n\n }\n \n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n height:'43%',\n width:'20%'\n }\n const dialogRef = this.dialog.open(DatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n //console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n\n onCloseDialog(){ \n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n }\n\n async setDefault()\n {\n let ClientID=this.KanbanBoardFilterFormGroup.get('fcClient').value;\n let statusEntity=this.KanbanBoardFilterFormGroup.get('fcStatus').value;\n let pirorityEntity=this.KanbanBoardFilterFormGroup.get('fcPriority').value;\n\n let setdefault=[{\"Status\":statusEntity,\"Priority\":pirorityEntity,\"Client\":ClientID,\"Employee\":this.employees,\"Project\":this.projects,\"fromDate\":this.fromdate,\"ToDate\":this.todate}]\n let resultPriority\n let resultStatus\n let resultClient\n\n if(statusEntity!='' ){\n \n resultStatus = this.Status.filter(data => {\n return statusEntity.some(filter => filter === data.StatusID);\n });\n //localStorage.setItem('Status',JSON.stringify(statusEntity)); \n }\n else{\n // localStorage.setItem('Status',JSON.stringify([''])); \n resultStatus=[{'EntityID':'','Tag':''}]\n }\n \n if(pirorityEntity!=''){\n \n resultPriority = this.Priority.filter(data => {\n return pirorityEntity.some(filter => filter === data.EntityID);\n });\n //localStorage.setItem('Prioritydata',JSON.stringify(pirorityEntity)); \n }\n else{\n resultPriority=[{'EntityID':'','Tag':''}]\n //localStorage.setItem('Prioritydata',JSON.stringify(['']));\n }\n \n \n if(ClientID!=''){ \n resultClient = this.Clients.filter(data => {\n return ClientID.some(filter => filter === data.ClientID);\n });\n //localStorage.setItem('Client',JSON.stringify(ClientID)); \n }\n else{\n resultClient=[{'ClientID':'','ClientName':''}]\n // localStorage.setItem('Client',JSON.stringify(['']));\n }\n\n let setdefault1=[{\"Status\":resultStatus,\"Priority\":resultPriority,\"Client\":resultClient,\"LedgerID\":this.employees,\"Project\":this.projects,\"FromDate\":this.fromdate,\"ToDate\":this.todate}]\n\n\n console.log('setdefault',setdefault)\n\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.CID, \n UserID:curUser.userid, \n FilterDetails:JSON.stringify(setdefault),\n FilterDetails1:JSON.stringify(setdefault1),\n BoardID:this.BoardID \n };\n\n console.log('params',params)\n\n\n this.showSpinner=true;\n let result= await this.service.httpPost('/Kanbanboard/SetKanbanBoardFilter',params)\n .toPromise().then(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) { \n \n this.notificationService.success(\"success\");\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n async GetDefault()\n {\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.CID, \n UserID:curUser.userid,\n BoardID:this.BoardID \n };\n\n console.log('params',params)\n\n\n this.showSpinner=true;\n let result= await this.service.httpPost('/Kanbanboard/GetKanbanBoardFilter',params)\n .toPromise().then(\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n\n console.log(\"result\",result)\n if (result.errno === 0) { \n \n let FilterDetails\n this.tempp =result.respdata.FilterDetails;\n const filterDetailsArray = JSON.parse(result.respdata.FilterDetails[0].FilterDetails);\n\n\n console.log('Priority',filterDetailsArray[0].Priority); // Access Status\n this.KanbanBoardFilterFormGroup.controls.fcStatus.setValue(filterDetailsArray[0].Status);\n this.KanbanBoardFilterFormGroup.controls.fcPriority.setValue(filterDetailsArray[0].Priority);\n\n this.employees=filterDetailsArray[0].Employee; \n this.projects=filterDetailsArray[0].Project; \n\n\n this.KanbanBoardFilterFormGroup.controls.fcClient.setValue(filterDetailsArray[0].Client); \n\n this.fromdate=filterDetailsArray[0].fromDate\n this.todate=filterDetailsArray[0].ToDate\n\n // this.ApplyFilter()\n\n }\n else {\n //this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n\n\n ApplyFilter(){ \n\n\nlet resultPriority\nlet resultStatus\nlet resultClient\n\nlet ClientID=this.KanbanBoardFilterFormGroup.get('fcClient').value;\nlet statusEntity=this.KanbanBoardFilterFormGroup.get('fcStatus').value;\nlet pirorityEntity=this.KanbanBoardFilterFormGroup.get('fcPriority').value;\n\nconsole.log('temp',ClientID,statusEntity,pirorityEntity)\n\nif(statusEntity!='' ){\n \n resultStatus = this.Status.filter(data => {\n return statusEntity.some(filter => filter === data.StatusID);\n });\n localStorage.setItem('Status',JSON.stringify(statusEntity)); \n}\nelse{\n localStorage.setItem('Status',JSON.stringify([''])); \n resultStatus=[{'EntityID':'','Tag':''}]\n}\n\nif(pirorityEntity!=''){\n \n resultPriority = this.Priority.filter(data => {\n return pirorityEntity.some(filter => filter === data.EntityID);\n});\nlocalStorage.setItem('Prioritydata',JSON.stringify(pirorityEntity)); \n}\nelse{\n resultPriority=[{'EntityID':'','Tag':''}]\n localStorage.setItem('Prioritydata',JSON.stringify(['']));\n}\n\n\nif(ClientID!=''){ \n resultClient = this.Clients.filter(data => {\n return ClientID.some(filter => filter === data.ClientID);\n });\n localStorage.setItem('Client',JSON.stringify(ClientID)); \n }\n else{\n resultClient=[{'ClientID':'','ClientName':''}]\n localStorage.setItem('Client',JSON.stringify(['']));\n }\n\n\n\n\n let params = { \n LedgerID:this.employees, \n Project:this.projects,\n Client:resultClient,//this.KanbanBoardFilterFormGroup.get('fcClient').value, \n Status:resultStatus,//this.KanbanBoardFilterFormGroup.get('fcStatus').value,\n Priority:resultPriority,\n FromDate:this.fromdate,\n ToDate:this.todate,\n DateType:\"cs\",\n } \n \n if(this.employees.length>0)\n localStorage.setItem('FilterEmployee',JSON.stringify(this.employees)); \n else\n localStorage.setItem('FilterEmployee',JSON.stringify([])); \n\n\n if(this.projects.length>0)\n localStorage.setItem('Projectdata',JSON.stringify(this.projects)); \n else \n localStorage.setItem('Projectdata',JSON.stringify([])); \n \n \n console.log('FilterParam',params)\n this.dialogRef.close(params);\n }\n\n onClear(){\n this.employees = []; // making the chipList empty\n this.fcEmployee.reset(); // resets the control\n this.fcEmployee.markAsPristine();\n this.fcEmployee.markAsUntouched();\n this.projects = []; // making the chipList empty\n this.fcProject.reset(); // resets the control\n this.fcProject.markAsPristine();\n this.fcProject.markAsUntouched();\n this.KanbanBoardFilterFormGroup.controls.fcClient.setValue('');\n this.KanbanBoardFilterFormGroup.controls.fcPriority.setValue('');\n this.KanbanBoardFilterFormGroup.controls.fcStatus.setValue('');\n \n localStorage.setItem('Projectdata',JSON.stringify([])); \n localStorage.setItem('FilterEmployee',JSON.stringify([])); \n localStorage.setItem('Client',JSON.stringify(['']));\n localStorage.setItem('Prioritydata',JSON.stringify(['']));\n localStorage.setItem('Status',JSON.stringify([''])); \n\n }\n\n}\n","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { User } from 'src/app/Modules/user';\nimport { FormGroup,FormControl,Validators, RequiredValidator, FormBuilder } from '@angular/forms';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck, filter } from 'rxjs/operators';\nimport { DatePipe, JsonPipe } from '@angular/common';\nimport * as moment from \"moment\"; \nimport { MultiselectwithsearchComponent } from 'src/app/components/Control/multiselectwithsearch/multiselectwithsearch.component';\nimport { HttpClient } from '@angular/common/http';\n\n\n@Component({\n selector: 'app-kanbanboardsearch',\n templateUrl: './kanbanboardsearch.component.html',\n styleUrls: ['./kanbanboardsearch.component.css']\n})\nexport class KanbanboardsearchComponent {\n CID: any;\n flag: any;\n checked = false;\n TicketID: any = 0;\n form_template: any;\n myFormGroup: FormGroup;\n\n companies: any;\n CurLedgerID: any\n myControl = new FormControl();\n filteredOptions: Observable;\n empid: string[] = [];\n employeelist: any;\n Tasklistsub: any;\n visible: boolean = false\n template: any;\n ActiviteID: any;\n LoginFlag: any;\n Comment: any = '';\n Commentvisible: boolean = true;\n isEditable = false;\n temp4: any;\n temp = [];\n TemplateGroupID: any\n TemplateID: any\n LoadCombo: any;\n ticketlistM1: any;\n eventID: any;\n public filteredList = \"\";\n\n showSpinner: any;\n UserID: any;\n valueContent: string;\n editorValueType: string;\n\n isDisabled: boolean = true;\n\n originalDate: string = \"Oct 17 2023 12:00AM\";\n convertedDate: string;\n sessionFilterData: any;\n\n multiselectinputvalue: any;\n\n LedgerID: any;\n keycolumn: any;\n TextDataFlag: any;\n BoardID: any;\n AddFilterColumnFromGroup: FormGroup;\n TemplateColumnDt: any;\n filteredList2: { tag: string, LabelName1: string }[] = [];\n\n constructor(private datePipe: DatePipe,\n public service: HttpserviceService, public notificationService: NotificationService, private httpClient: HttpClient,\n public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any,\n private dialog: MatDialog,\n private formBuilder: FormBuilder\n ) {\n //console.log('kanbansearchdata',this.data)\n this.template = this.data.template;\n console.log('this.template',this.template)\n this.TemplateID = this.data.TemplateID\n this.flag = this.data.flag;\n this.UserID = this.data.userid;\n this.LedgerID = this.data.ledgerid;\n this.CID = this.data.cid;\n this.keycolumn = this.data.keycolumn;\n this.TextDataFlag = this.data.textdataFlag;\n this.BoardID = this.data.BoardID;\n this.sessionFilterData = this.data.dtSelectedFilterData;\n const idSet = new Set(this.template.map(item => item.ID));\n this.TemplateColumnDt = this.data.templateColumns;\n this.filteredList2 = this.TemplateColumnDt.filter(item => !idSet.has(item.tag));\n this.LoadKanbanBoardFilterSelection();\n this.AddFilterColumnFromGroup = this.formBuilder.group({\n AddFilterColumnCtrl: [''], \n }); \n } \n\n\n LoadKanbanBoardFilterSelection() {\n let newList1 = [];\n let temp\n\n for (var i = 0; i < this.template.length; i++) {\n temp = { \"type\": this.template[i].ControlType, \"ID\": this.template[i].ID, \"label\": this.template[i].LabelName, \n \"Visibility\": this.template[i].parent == \"0\" ? true : false, \"parent\": this.template[i].parent,\n \"options\": (JSON.parse(this.template[i].Value)) }\n newList1.push(temp);\n }\n \n this.form_template = newList1\n let group = {}\n this.form_template.forEach(input_template => {\n group[input_template.ID] = new FormControl('');\n if (input_template.type === 'multiselect')\n group[input_template.ID + 'ID'] = new FormControl('');\n })\n this.myFormGroup = new FormGroup(group);\n }\n\n ngOnInit() {\n this.sessoinfilterData();\n } \n\n sessoinfilterData() {\n\n // console.log('this.sessionFilterData ',JSON.parse(this.sessionFilterData) )\n // console.log('this.myFormGroup ',this.myFormGroup )\n if (this.sessionFilterData != null ) {\n let TaskListSub = JSON.parse(this.sessionFilterData);\n for (var i = 0; i < TaskListSub.length; i++) {\n let ColumnName = TaskListSub[i].ColumnName\n\n let temp = this.form_template.findIndex(d => d.ID === ColumnName);\n if (TaskListSub[i].ControlType == 'multiselect') {\n // console.log('i:',i )\n // console.log('TaskListSub[i].ddlData[i].Displaymember',TaskListSub[i].ddlData[0].Displaymember)\n // console.log('TaskListSub[i].ddlData[i].Valuemember',TaskListSub[i].ddlData[0].Valuemember)\n this.myFormGroup.controls[ColumnName].setValue(TaskListSub[i].ddlData[0].Displaymember);\n this.myFormGroup.controls[ColumnName + 'ID'].setValue(TaskListSub[i].ddlData[0].Valuemember);\n\n // const result = TaskListSub[i]\n // .filter(item => item.ColumnName === ColumnName)\n // .flatMap(item => item.ddlData.DisplayValue);\n // const result2 = TaskListSub[i]\n // .filter(item => item.ColumnName === ColumnName)\n // .flatMap(item => item.ddlData.Value2);\n // this.myFormGroup.controls[ColumnName].setValue(TaskListSub[i].DisplayValue);\n // this.myFormGroup.controls[ColumnName + 'ID'].setValue(TaskListSub[i].Value2);\n\n \n }\n else if (TaskListSub[i].ControlType == 'checkbox') {\n if (TaskListSub[i].Value2 == 1)\n this.myFormGroup.controls[ColumnName].setValue(true);\n else\n this.myFormGroup.controls[ColumnName].setValue(false);\n\n }\n else if (TaskListSub[i].ControlType == 'Date') {\n this.myFormGroup.controls[ColumnName].setValue(TaskListSub[i].Value2);\n }\n else {\n const defaultOption = this.form_template[temp].options.find(opt => opt.Displaymember === TaskListSub[i].DisplayValue);\n this.myFormGroup.controls[ColumnName].setValue(defaultOption)\n }\n }\n }\n }\n\n convertToDate(dateString: string): Date {\n const formattedDate = this.datePipe.transform(dateString, 'MMM dd yyyy hh:mm a', 'en-US');\n return new Date(formattedDate);\n } \n \n onSubmit(flag: string) {\n if (this.myFormGroup.invalid) {\n this.notificationService.warn('Please fill all mandatory fields');\n return;\n }\n this.showSpinner = true;\n const paramvalue = this.myFormGroup.value;\n let assessmentvalue = [];\n let assessmentdisplay = [];\n let sessionassessment = [];\n var ColumnName\n var DisplayValue\n var ControlType\n let Value;\n let Value2\n for (var i = 0; i < this.form_template.length; i++) {\n\n if (this.form_template[i].type == 'multiselect') {\n\n ColumnName = this.form_template[i].ID;\n DisplayValue = this.myFormGroup.controls[ColumnName].value;\n Value = paramvalue[this.form_template[i].ID + 'ID']\n }\n else if (this.form_template[i].type == 'select') {\n ColumnName = this.form_template[i].ID;\n Value = paramvalue[ColumnName].Valuemember;\n DisplayValue = paramvalue[ColumnName].Displaymember;\n }\n else {\n if (this.form_template[i].ID == 'Private') {\n ColumnName = this.form_template[i].ID;\n Value = paramvalue[ColumnName];\n if (paramvalue[ColumnName] == true)\n Value = 1;\n else\n Value = 0;\n }\n else if (this.form_template[i].type == 'Date') {\n ColumnName = this.form_template[i].ID;\n Value = this.datePipe.transform(paramvalue[ColumnName], 'MM-dd-yyyy');\n }\n else {\n ColumnName = this.form_template[i].ID;\n Value = paramvalue[ColumnName]\n DisplayValue = this.myFormGroup.controls[ColumnName].value;\n }\n }\n\n if (Value != undefined) {\n ControlType = this.form_template[i].type.toString();\n Value2 = Value.toString();\n if (Value2 != '') {\n assessmentvalue.push({ ColumnName, Value2 });\n assessmentdisplay.push({ DisplayValue });\n if (this.form_template[i].type !== 'multiselect') {\n //ColumnName+=;\n sessionassessment.push({ ColumnName, Value2, DisplayValue, ControlType });\n }\n else {\n let ddlData = [{ 'Displaymember': DisplayValue, 'Valuemember': Value2 }]\n sessionassessment.push({ ColumnName, ddlData, DisplayValue, ControlType });\n }\n \n }\n }\n }\n\n //if (flag == 'Filter') {\n let paramsExtra;\n paramsExtra = {\n CID: this.CID,\n Flag: this.flag,\n TemplateID: this.TemplateID,\n CreatorFlag: 0,\n TicketID: this.TicketID,\n UserName: this.UserID,\n dt: assessmentvalue,\n dtdispalyvalue: assessmentdisplay,\n Activity: this.ActiviteID,\n Comment: this.Comment,\n ActiviteID: this.ActiviteID,\n sessionDt: sessionassessment,\n sessionmultiselectinputvalue: this.multiselectinputvalue\n };\n \n //}\n //else \n if (flag === 'favourite' && JSON.stringify(assessmentvalue) != '') {\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.CID,\n UserID: curUser.userid,\n FilterDetails: JSON.stringify(assessmentvalue),\n FilterDetails1: JSON.stringify(assessmentdisplay),\n FilterDetails2: JSON.stringify(sessionassessment),\n BoardID: this.BoardID\n };\n //console.log('params',params)\n this.service.httpPost('/Kanbanboard/SetKanbanBoardFilter', params)\n .subscribe(data => {\n let result: any;\n result = data; \n //this.LoadKanbanBoardFilterSelection(); \n //this.notificationService.success('Successfully Updated') \n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n this.dialogRef.close(paramsExtra);\n }\n\n getCurrentDateFormatted(): string {\n const currentDate = new Date();\n // return '15-03-2024'\n return this.datePipe.transform(currentDate, 'yyyy-MM-dd');\n}\n\n async datasource() {\n let parent;\n let parentData;\n let parentID = this.CurLedgerID;\n parent = _.where(this.template, { ID: this.eventID })\n parentData = _.where(this.temp, { name: parent[0].parent })\n if (parentData.length > 0) {\n parentID = parentData[0].value\n }\n\n let params = {\n cid: this.CID,\n flag: \"SelectedLoadCombo\",\n //TicketID:parentID,\n TicketID: this.TicketID,\n TemplateID: this.TemplateID,\n UserName: this.CurLedgerID,\n TagID: this.eventID,\n ActiviteID: 'INT_EDIT',\n TemplateGroupID: 1\n\n }\n // const query = `cid=${params.cid}&flag=${params.flag}&TaskID=${params.TicketID}&TemplateID=${params.TemplateID}&UserID=${params.UserID}&LoginFlag=${params.LoginFlag}&ActiviteID=${params.ActiviteID}`;\n const dt = await this.service.httpPost('/TicketCreator/GetTicketCreator?', params)\n .toPromise().then(data => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.LoadCombo = result.respdata.LoadCombo;\n }\n },\n (_error: Error) => {\n // if (error instanceof BadInput) \n // console.log(error);\n // else throw error; \n });\n\n }\n\n async onClick(event) {\n //console.log('onClick',event);\n event.options = [{ Valuemember: 1, Displaymember: '' }]\n this.eventID = event.ID\n await this.datasource();\n event.options = this.LoadCombo\n }\n\n async onKey(value, event) {\n this.eventID = event.ID\n await this.datasource();\n event.options = this.LoadCombo\n event.options = this.search(value, event.options)\n }\n\n\n AddFilterColumn() {\n let params = {\n CID: this.CID,\n Flag: 'ADD',\n UserID: this.UserID,\n TemplateID: this.TemplateID,\n Tag: this.AddFilterColumnFromGroup.get('AddFilterColumnCtrl').value,\n FilterString: '',\n ActvityStatus: '',\n MenuuID: ''\n };\n this.service.httpPost('/Kanbanboard/SetKanbanBoardFilterColumns', params)\n .subscribe(data => {\n let result: any;\n result = data;\n this.template = result.respdata;\n sessionStorage.setItem(\"templateFilter\",JSON.stringify(result.respdata))\n const idSet = new Set(this.template.map(item => item.ID));\n \n //this.TemplateColumnDt = this.data.templateColumns;\n this.filteredList2 = this.TemplateColumnDt.filter(item => !idSet.has(item.tag));\n this.LoadKanbanBoardFilterSelection();\n this.AddFilterColumnFromGroup.controls.AddFilterColumnCtrl.setValue('');\n this.isDisabled = true\n this.notificationService.success('Successfully Updated')\n },\n error => {\n console.log('Error : ', error);\n });\n\n }\n\n\n async setFavourite() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.CID,\n UserID: curUser.userid,\n FilterDetails: '',\n FilterDetails1: '',\n //dt:assessmentvalue,\n BoardID: this.BoardID\n };\n this.showSpinner = true;\n let result = await this.service.httpPost('/Kanbanboard/SetKanbanBoardFilter', params)\n .toPromise().then(\n (data) => {\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.notificationService.success(\"success\");\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n \n\n async onKeyfilterColumn(value)\n {\n this.filteredList2 = this.filteredList2.filter(item => item.LabelName1.toLowerCase().includes(value)); \n }\n\n changesite(){\n this.isDisabled=false\n }\n\n search(value: string, opt) {\n let filter = value.toLowerCase();\n return opt.filter(option =>\n option.Displaymember.toLowerCase().includes(filter)\n );\n }\n changeEvents(event) {\n let parent;\n let index1 = this.form_template.findIndex(d => d.parent === event.source.ngControl.name);\n if (index1 > -1) {\n this.form_template[index1].Visibility = true\n }\n let index = this.temp.findIndex(d => d.name === event.source.ngControl.name); //find index in your array\n if (index > -1) {\n this.temp.splice(index, 1);//remove element from array\n parent = _.where(this.template, { parent: event.source.ngControl.name })\n if (parent.length > 0) {\n this.myFormGroup.get(parent[0].ID).setValue('');\n }\n }\n let temp1 = { \"name\": event.source.ngControl.name, \"value\": event.value };\n this.temp.push(temp1)\n }\n\n onClear() {\n this.isDisabled = false;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.myFormGroup.reset();\n this.visible = false;\n this.TicketID = 0;\n this.myControl.reset();\n // this.myFormGroup.controls.Status.setValue('5')\n // this.myFormGroup.controls.Created.setValue(JSON.stringify(curUser.userid))\n }\n\n onCloseDialog() {\n this.dialogRef.close({ event: 'CLEAR' });\n }\n\n //=======================================\n // Multi select relavent functionality //\n //=======================================\n\n async onKeyPress(event) {\n\n console.log('event',event)\n\n \n let TagID ;\n let TagIdData ;\n TagID =this.myFormGroup.get(event.ID)\n TagIdData =this.myFormGroup.get(event.ID+'ID') \n // console.log('this.myFormGroup',this.myFormGroup)\n // console.log('event.ID',event.ID,TagID.value)\n if(TagID.value!=null)\n {\n const displayMembers = TagID.value.split(',');\n const valueMembers = TagIdData.value.split(',').map(Number); // Convert string numbers to actual numbers\n // Combine displayMembers and valueMembers into an array of objects\n this.multiselectinputvalue= displayMembers.map((displayMember, index) => ({\n Displaymember: displayMember,\n Valuemember: valueMembers[index]\n }));\n }\n\n\n event.options = [{ Valuemember: 1, Displaymember: '' }]\n this.eventID = event.ID\n await this.datasource();\n event.options = this.LoadCombo\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n TicketID: this.TicketID,\n ActiviteID: this.ActiviteID,\n LoginFlag: 'INTERNAL',\n TemplateGroupID: this.TemplateGroupID,\n TemplateID: this.TemplateID,\n loadCombo: event.options,\n inputcomboValue: this.multiselectinputvalue,\n FormName:'Kanban'\n } \n const dialogRef = this.dialog.open(MultiselectwithsearchComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n if (result.event == 'LOAD') {\n this.multiselectinputvalue = result.data;\n // Step 3: Extract the Displaymember values \n const displayMembers = result.data.map(item => item.Displaymember);\n\n // Step 4: Join the values into a comma-separated string\n const result2 = displayMembers.join(',');\n\n // Step 3: Extract the Displaymember values\n const displayMembers2 = result.data.map(item => item.Valuemember);\n\n // Step 4: Join the values into a comma-separated string\n const result3 = displayMembers2.join(',');\n this.myFormGroup.controls[this.eventID].setValue(result2);\n this.myFormGroup.controls[this.eventID + 'ID'].setValue(result3);\n }\n\n });\n\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-kanbankeyvaluejsondataview',\n templateUrl: './kanbankeyvaluejsondataview.component.html',\n styleUrls: ['./kanbankeyvaluejsondataview.component.scss'],\n})\nexport class KanbankeyvaluejsondataviewComponent implements OnInit {\n\n keyJSONvalue:any;\n constructor(@Inject(MAT_DIALOG_DATA) public data: any ,private dialogService: DialogService,public dialogRef: MatDialogRef ) {\n this.keyJSONvalue=JSON.parse(this.data.jsonValue) ;\n }\n\n ngOnInit() {\n\n\n }\n\n onCloseDialog(){ \n \n this.dialogRef.close({event: 'CLEAR'});\n \n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-kanbanuserinitial',\n templateUrl: './kanbanuserinitial.component.html',\n styleUrls: ['./kanbanuserinitial.component.scss'],\n})\nexport class KanbanuserinitialComponent implements OnInit {\n @Input() firstName: string = \"John\";\n @Input() lastName: string = \"Doe\";\n\n bgColor: string;\n\n yiq_contrasted_threshold = 150;\n\n constructor() { }\n\n ngOnInit() {}\n\n ngAfterViewInit(): void {\n this.bgColor = this.getInitialsBgColor();\n }\n\n\n getInitialsBgColor(): string {\n var s = 47;\n var l = 30;\n\n if (this.firstName) {\n s = this.getSaturationByName(this.firstName, this.lastName);\n l = this.getLightnessByName(this.firstName, this.lastName);\n }\n\n var color = this.stringToHslColor(\n this.firstName + \" \" + this.lastName,\n s,\n l\n );\n return color;\n }\n getInitialsTextColor(): string {\n // var s = this.getSaturationByName(firstName, lastName);\n // var l = this.getLightnessByName(firstName, lastName);\n // if (l >= 40) return \"black\";\n // else return \"white\";\n\n let color = this.getInitialsBgColor();\n\n var h = this.convertStringToHue(this.firstName + this.lastName);\n var s = this.getSaturationByName(this.firstName, this.lastName);\n var l = this.getLightnessByName(this.firstName, this.lastName);\n\n var rgb = this.hslToRgb(h, s, l);\n\n let r = rgb[0];\n let g = rgb[1];\n let b = rgb[2];\n\n let yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\n if (yiq >= this.yiq_contrasted_threshold) {\n return \"black\";\n } else {\n return \"white\";\n }\n }\n private getLightnessByName(firstName: string, lastName: string): number {\n var num =\n firstName.toUpperCase().charCodeAt(0) +\n lastName.toUpperCase().charCodeAt(0);\n // return this.scaleBetween(num, 0, 100, 65 * 2, 97 * 2);\n return this.scaleBetween(num, 0, 100, 10 * 2, 97 * 2);\n }\n private getSaturationByName(firstName: string, lastName: string): number {\n var num =\n firstName.toUpperCase().charCodeAt(0) +\n lastName.toUpperCase().charCodeAt(0);\n return this.scaleBetween(num, 0, 100, 10 * 2, 97 * 2);\n //return this.scaleBetween(num, 0, 100, 65 * 2, 97 * 2);\n }\n private scaleBetween(unscaledNum, minAllowed, maxAllowed, min, max): number {\n var res =\n ((maxAllowed - minAllowed) * (unscaledNum - min)) / (max - min) +\n minAllowed;\n return parseInt(res);\n }\n private stringToHslColor(\n str: string,\n saturation: number,\n lightness: number\n ): string {\n var h = this.convertStringToHue(str);\n return \"hsl(\" + h + \", \" + saturation + \"%, \" + lightness + \"%)\";\n }\n\n private convertStringToHue(str: string): number {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return hash % 360;\n }\n\n private hslToRgb(h, s, l) {\n var r, g, b;\n\n if (s == 0) {\n r = g = b = l; // achromatic\n } else {\n var hue2rgb = function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n };\n\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n }\n\n}\n\n\n\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Employee, Service, TickettreeviewService } from './tickettreeview.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { User } from '../kanbanboard/kanbanboard.component';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { CrmdatecontrolComponent } from '../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\nimport { TaskbyviewComponent } from '../CustomsReport/taskbyview/taskbyview.component';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-tickettreeview',\n templateUrl: './tickettreeview.component.html',\n styleUrls: ['./tickettreeview.component.scss'],\n})\nexport class TickettreeviewComponent implements OnInit {\n @ViewChild('stepper') stepper;\n tasksData: task[] = [];\n\n \n statusesData: string[];\n\n Company:any;\n ReqType:any;\n employeesData: any[];\n isEditable = true; \n cid:any; \n CurLedgerID:any;\n fromdate:any;\n todate:any;\n DateTypeFlag:any=\"Today\"\n TicketTreeViewFormGroup: FormGroup; \n UserID:any;\n showSpinner:any;\n\n \n constructor(private service: HttpserviceService, private datePipe: DatePipe,private dialog: MatDialog,\n private generic: GenericService,public notificationService: NotificationService , private formBuilder: FormBuilder) {\n //this.tasksData = service.getTasksData();\n // this.employeesData = service.getEmployeesData();\n // this.statusesData = [\n // 'Not Started',\n // 'Need Assistance',\n // 'In Progress',\n // 'Deferred',\n // 'Completed',\n // ];\n\n this.TicketTreeViewFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcFromData: [''] , \n fcToData: [''] , \n });\n \n }\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid; \n this.UserID=curUser.userid;\n this.PageLoad();\n this.TicketTreeViewFormGroup.controls.fcCompany.setValue(this.cid);\n this.TicketTreeViewFormGroup.controls.fcFromData.setValue(0);\n this.TicketTreeViewFormGroup.controls.fcToData.setValue(0);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n let params = {\n CID: this.cid,\n Flag: \"TreeViewData_PageLoad\",\n UserID:this.CurLedgerID\n \n };\n //console.log('params',params)\n this.service.httpPost('/ITSCustomsReport/GetTicketData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.Company=result.respdata.Company;\n this.ReqType=result.respdata.ReqType;\n //this.tasksData=result.respdata.Taskdata;\n console.log('result.respdata.Taskdata', this.ReqType)\n // console.log('this.tasksData',this.tasksData)\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n DatePicker()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n console.log('RESULT',result) \n this.fromdate=result.frmdate;\n this.todate=result.todate;\n this.DateTypeFlag=result.datetype\n });\n }\n\n Submit(){\n this.showSpinner=true;\n let params = {\n CID: this.cid,\n Flag: \"TreeViewData\",\n UserID:this.CurLedgerID,\n RequestType:this.TicketTreeViewFormGroup.get('fcFromData').value,\n Issues:this.TicketTreeViewFormGroup.get('fcToData').value,\n FilterBy:'Created Date',\n DateType:'CS', \n FromDate:this.fromdate,\n ToDate:this.todate\n \n };\n //console.log('params',params)\n this.service.httpPost('/ITSCustomsReport/GetPlanData',params)\n .subscribe (\n (data) => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) { \n //this.Company=result.respdata.Company;\n //this.ReqType=result.respdata.ReqType;\n this.stepper.selectedIndex = 1; \n this.tasksData=result.respdata.Taskdata;\n //console.log('result.respdata.Taskdata', this.ReqType)\n // console.log('this.tasksData',this.tasksData)\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n exportAsExcel()\n {\n // , {header:['name', 'surname']}\n // this.generic.excelExport(this.EffortDataGrids, 'Effort','EffortList From ' + this.datePipe.transform(this.EffortFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\")+' to '+this.datePipe.transform(this.EffortFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"));\n this.generic.excelExport(this.tasksData, 'Task','TaskList From ' + this.fromdate +' to '+ this.todate);\n }\n\n\n onSearchClear(){\n // this.TicketTreeViewFormGroup.reset(); \n // this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n // this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n //\n // this.cid=JSON.parse(sessionStorage.getItem('cid')); \n \n this.TicketTreeViewFormGroup.controls.fcCompany.setValue(this.cid);\n this.TicketTreeViewFormGroup.controls.fcFromData.setValue(0);\n this.TicketTreeViewFormGroup.controls.fcToData.setValue(0);\n this.fromdate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.todate=this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\n this.DateTypeFlag=\"Today\";\n this.stepper.selectedIndex = 0; \n this.tasksData=[];\n }\n\n onFocusedRowChanged(e) { \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n pid:0,\n height: '350px',\n width: '70%', \n cid:this.cid,\n flag:\"View\",\n TicketID:e.data.Task_ID,\n TemplateID:1,\n UserName:this.UserID,\n LoginFlag:'External',\n ActiviteID:\"INT_VIEW\",\n TemplateGroupID:1, \n Subject:e.data.Task_Subject\n } \n const dialogRef = this.dialog.open(TaskbyviewComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Submit(); \n });\n \n}\n\nonCellPrepared (e) {\n \n if (e.rowType === \"data\") {\n if (e.column.dataField === \"Task_Status\") { \n e.cellElement.style.cssText =\"color: #000000; background-color: \"+e.data.ColorCode+\"\"; \n // e.cellElement.style.backgroundColor = this.dataSource[e.rowIndex].ColorCode; \n // e.cellElement.style.backgroundColor = e.data.ColorCode;\n // e.cellElement.style.cssText =\"color: #000000;\"; \n\n }\n // if (e.column.dataField ===\"ParentStatus\") { \n // //e.cellElement.style.cssText =\"color: block; background-color: \"+this.dataSource[e.rowIndex].ColorCode+\"\"; \n // // e.cellElement.style.backgroundColor = this.dataSource[e.rowIndex].ColorCode; \n // e.cellElement.style.backgroundColor = e.data.ParentColorCode;\n // }\n }\n\n}\n\n}\nexport class task {\n\n Task_ID: string;\n Task_Parent_ID: number;\n Task_Owner_ID: string;\n Task_Assigned_Employee_ID: string;\n Task_Subject: string;\n Task_Status: string;\n //Task_Completion: number;\n Task_Priority: string;\n Task_ReqType: string;\n Task_Start_Date: string;\n Task_Due_Date: string;\n}\n","import { Component, OnInit, ViewChild, Pipe, PipeTransform } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { DxDataGridModule, DxDataGridComponent, DxButtonModule } from 'devextreme-angular';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { User } from 'src/app/Modules/user';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../Admin/Users/userValidate';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { CrmdatecontrolComponent } from '../../HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component';\n\n@Component({\n selector: 'app-effortapproval',\n templateUrl: './effortapproval.component.html',\n styleUrls: ['./effortapproval.component.css']\n})\nexport class EffortapprovalComponent implements OnInit {\n @ViewChild(DxDataGridComponent, { static: false }) dataGrid: DxDataGridComponent;\n @ViewChild('stepper') stepper;\n\n dataSource: EffortApprovalDataGrid[];\n EffortApprovalDataGrids: any;\n SelectedCompanyID: number;\n projectdata: any;\n companies: any;\n Employees: any;\n projectlist: any;\n viewbtnvisible: boolean = false;\n selectedCID: number;\n selectedprojectid: any;\n selectedemployees: number;\n projectid: string[] = [];\n employeeidname: string[] = [];\n frmdate = new Date();\n ApprovalFormGroup: FormGroup;\n EffortDataFormGroup: FormGroup;\n isEditable = true;\n myControl1 = new FormControl();\n myControl = new FormControl('', [Validators.required]);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n filteredOptions2: Observable;\n cid: any;\n selectedProjectID: number;\n selectedEmpID: string = 'All';\n fromdate: any;\n todate: any;\n DateTypeFlag: any = \"Today\"\n date: Date; //= new FormControl(new Date());\n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n // mySimpleFormat = this.datePipe.transform(this.now, 'dd-MM-yyyy');\n LedgerID: number;\n // allMode: string;\n // checkBoxesMode: string;\n startEditAction: string = \"click\";\n selectTextOnEditStart: boolean = true;\n selectedRowsData = [];\n selectedEffortSlno: any;\n onSelectionChange: boolean;\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder, private dialog: MatDialog, private generic: GenericService,\n private service1: UserService, public notificationService: NotificationService, private datePipe: DatePipe) {\n\n // this.allMode = 'allPages';\n // this.checkBoxesMode = 'onClick'\n\n this.ApprovalFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required],\n //fcEmployee: [''] , \n // myControl: ['', Validators.required], \n // fcFromDate: ['', Validators.required],\n // fcToDate: ['', Validators.required]\n });\n this.EffortDataFormGroup = this.formBuilder.group({\n });\n }\n\n\n ngOnInit(): void {\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID = curUser.ledgerid;\n this.cid = JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n this.ApprovalFormGroup.controls.fcCompany.setValue(this.cid);\n //this.ApprovalFormGroup.controls.fcFromDate.setValue(this.frmdate);\n //this.ApprovalFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl'))\n );\n\n this.filteredOptions2 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl1'))\n );\n // this.getprojectlist(); \n }\n\n getUserList() {\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_91\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result = data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.viewbtnvisible = btnVisilityData.viewflag;\n\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n\n }\n \n changesite(e) {\n this.cid = e.value;\n this.Employees ='';\n this.projectdata ='';\n this.projectid =[];\n this.employeeidname = [];\n this.PageLoad();\n this.myControl1.setValue('');\n this.myControl.setValue('');\n }\n\n onSearchClear() {\n this.ApprovalFormGroup.reset();\n this.EffortApprovalDataGrids = '';\n this.myControl1.setValue('');\n this.myControl.setValue('');\n this.stepper.selectedIndex = 0;\n this.ApprovalFormGroup.controls.fcCompany.setValue(this.cid);\n // this.ApprovalFormGroup.controls.fcFromDate.setValue(this.frmdate);\n //this.ApprovalFormGroup.controls.fcToDate.setValue(this.frmdate);\n this.fromdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.todate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n this.DateTypeFlag = \"Today\";\n this.selectedprojectid =undefined;\n }\n SearchClear() {\n this.myControl.setValue('');\n this.selectedprojectid=undefined;\n }\n private _filter(value: string, control: string): string[] {\n\n const filterValue = value.toLowerCase();\n //console.log('controlID',control);\n // console.log('FilterProjectID',this.employeeidname);\n // console.log('FilterProjectID',this.projectid);\n if (control === 'myControl') {\n //console.log('FilterProjectID',this.projectid);\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n else if (control === 'myControl1') {\n //console.log('FilterProjectID',this.employeeidname);\n return this.employeeidname.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n }\n\n\n selectedEmployee(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n // console.log('control', control);\n if (control === 'myControl') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID'));\n //console.log('selectedprojectid', this.selectedprojectid);\n }\n else {\n this.selectedEmpID = event.option.value;\n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n //console.log('selectedEmpID', this.selectedEmpID);\n }\n\n }\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: this.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: \"LOADDDL\",\n EmployeeID: \"0\",\n DateType: \"0\",\n FromDate: \"0\",\n ToDate: \"0\",\n UserID: this.LedgerID,\n ProjectID: \"0\"\n\n };\n //this.service.getddllist(params)\n this.service.httpPost('/ProjectEffortApproval/Getdropdownvalues', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.companies = curUser.dtsiteid;\n //this.SelectedCompanyID = 101; \n this.Employees = result.respdata.Employee;\n this.projectdata = result.respdata.Projectlist;\n this.projectid = _.pluck(this.projectdata, 'ProjectID');\n this.employeeidname = _.pluck(this.Employees, 'Name');\n this.onSelectionChange = false;\n this.getUserList();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n Submit() {\n\n //console.log('hi',this.selectedprojectid)\n \n // if (this.ApprovalFormGroup.invalid) {\n\n // this.notificationService.warn('Please select project');\n // return;\n // }\n\n if (this.selectedprojectid != undefined) {\n let params = {\n CID: this.ApprovalFormGroup.get('fcCompany').value,\n Flag: \"LOADGRID\",\n ProjectID: this.selectedprojectid,\n EmployeeID: this.selectedEmpID,\n DateType: \"ByDate\",\n FromDate: this.fromdate,\n ToDate: this.todate,\n // FromDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcFromDate').value, \"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcToDate').value, \"dd-MM-yyyy\"),\n UserID: this.LedgerID\n };\n // console.log('params :', params);\n //this.service.geteffortlist(params)\n this.service.httpPost('/ProjectEffortApproval/GetProjectEffortApproval', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n //result=JSON.parse(data); \n //result=new Map(JSON.parse(data))\n\n //result=orderedJson.parse(data);\n\n if (result.errno === 0) {\n //console.log('result.respdata.table', JSON.stringify(result));\n this.EffortApprovalDataGrids = result.respdata.Table;\n this.dataSource = result.respdata.Table;\n // console.log('_.where(this.EffortApprovalDataGrids',_.where(this.EffortApprovalDataGrids, { 'ChkStatus': '1' }));\n // console.log('_.pluck',_.pluck(_.where(this.EffortApprovalDataGrids, { 'ChkStatus': '1' }), 'SlNo'));\n this.selectedEffortSlno = _.pluck(_.where(this.EffortApprovalDataGrids, { 'ChkStatus': '1' }), 'SlNo');\n this.stepper.selectedIndex = 1;\n // console.log('selectedEffortSlno: ', this.selectedEffortSlno);\n //console.log('effort list: ', result.respdata);\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n else\n this.notificationService.warn('Please select project');\n }\n\n\n Save() {\n\n if (this.ApprovalFormGroup.invalid) {\n // console.log('invalid project form group')\n return;\n }\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // console.log('curuser',curUser);\n let removeApproved = this.EffortApprovalDataGrids.map(({ Approved, ...item }) => item);\n let removeIsHalfDay = removeApproved.map(({ IsHalfDay, ...item }) => item);\n let removeName = removeIsHalfDay.map(({ Name, ...item }) => item);\n\n let removecat1 = removeName.map(({ EffortCat1, ...item }) => item);\n let removecat2 = removecat1.map(({ EffortCat2, ...item }) => item);\n let removeDesc = removecat2.map(({ Description, ...item }) => item);\n\n let FinalData = removeDesc.map(({ Project, ...item }) => item);\n //this.EffortApprovalDataGrids=FinalData;\n let params = {\n CID: this.ApprovalFormGroup.get('fcCompany').value,\n Flag: \"APPROVED\",\n ProjectID: this.selectedprojectid,\n EmployeeID: this.selectedEmpID,\n DateType: \"ByDate\",\n Comment: \"\",\n FromDate: this.fromdate,\n ToDate: this.todate,\n // FromDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcFromDate').value, \"dd-MM-yyyy\"), \n // ToDate: this.datePipe.transform(this.ApprovalFormGroup.get('fcToDate').value, \"dd-MM-yyyy\"),\n UserID: this.LedgerID,\n jsondt: FinalData\n };\n // console.log('EffortApprovalDataGrids', FinalData);\n //this.service.updateProjectEffortApproval(params)\n this.service.httpPost('/ProjectEffortApproval/ApproveEfforts', params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n var users: any;\n users = data;\n\n if (users.errno === 0) {\n this.notificationService.success('Submitted successfully');\n }\n else {\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n\n }\n\n DatePicker() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n DateTypeFlag: this.DateTypeFlag,\n width: '500px',\n height: '500px',\n panelClass: 'my-panel-class'\n }\n const dialogRef = this.dialog.open(CrmdatecontrolComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(result => {\n console.log('RESULT', result)\n this.fromdate = result.frmdate;\n this.todate = result.todate;\n this.DateTypeFlag = result.datetype\n });\n }\n\n validateTime(e) {\n // console.log('inside validate time: ', e.value.length);\n return e.value.length === 5 ? true : false;\n }\n\n //Calculate Effort based on Starttime changed\n calculateEffortStartTime(newData, value, currentRowData) {\n let startTime = new Date(value);\n let endTime = new Date(currentRowData.EndTime);\n\n let stringDate = value.getFullYear() +\n \"-\" +\n (1 + value.getMonth()).toString().padStart(2, \"0\") +\n \"-\" +\n value.getDate().toString().padStart(2, \"0\") +\n \"T\" +\n value.getHours().toString().padStart(2, \"0\") +\n \":\" +\n value.getMinutes().toString().padStart(2, \"0\") +\n \":\" +\n value.getSeconds().toString().padStart(2, \"0\");\n\n // console.log('stringDate', stringDate);\n newData.StartTime = stringDate;\n\n newData.EffortHours = currentRowData.EffortHours;\n\n if (startTime.getTime() < endTime.getTime()) {\n\n let difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.EffortHours =\n difference.getHours().toString().padStart(2, \"0\") +\n \":\" +\n difference.getMinutes().toString().padStart(2, \"0\");\n }\n\n\n }\n\n //Calculate Effort based on Endtime changed\n calculateEffortEndTime(newData, value, currentRowData) {\n var startTime = new Date(currentRowData.StartTime);\n var endTime = new Date(value);\n\n var stringDate = value.getFullYear() +\n \"-\" +\n (1 + value.getMonth()).toString().padStart(2, \"0\") +\n \"-\" +\n value.getDate().toString().padStart(2, \"0\") +\n \"T\" +\n value.getHours().toString().padStart(2, \"0\") +\n \":\" +\n value.getMinutes().toString().padStart(2, \"0\") +\n \":\" +\n value.getSeconds().toString().padStart(2, \"0\");\n\n newData.EndTime = stringDate;\n\n var difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.EffortHours =\n difference.getHours().toString().padStart(2, \"0\") +\n \":\" +\n difference.getMinutes().toString().padStart(2, \"0\");\n }\n\n\n\n onSelectionChanged(e) { // Handler of the \"selectionChanged\" event\n // if(this.onSelectionChange===true){\n const currentSelectedRowKeys = e.currentSelectedRowKeys;\n const currentDeselectedRowKeys = e.currentDeselectedRowKeys;\n const allSelectedRowKeys = e.allSelectedRowKeys;\n const allSelectedRowsData = e.allSelectedRowsData;\n\n // console.log('currentSelectedRowKeys',currentSelectedRowKeys[0]);\n // console.log('currentSelectedRowKeys',currentSelectedRowKeys.length);\n // console.log('currentDeselectedRowKeys',currentDeselectedRowKeys);\n // console.log('AllselectedRowKeys',allSelectedRowKeys);\n // console.log('AllselectedRowsData',allSelectedRowsData);\n // console.log('selectedRowKeys',e.selectedRowKeys);\n\n // console.log('deselectedRowKeys',e.deselectedRowKeys);\n //console.log('deselectedRowsData',e.deselectedRowsData);\n\n\n if (currentSelectedRowKeys.length > 0) {\n var i = 0;\n for (let key of Object.keys(this.EffortApprovalDataGrids)) {\n let keydata = this.EffortApprovalDataGrids[key];\n //if (JSON.parse(currentSelectedRowKeys)=== keydata['SlNo']) \n //console.log('keydata',keydata['SlNo']);\n if (currentSelectedRowKeys[i] === keydata['SlNo']) {\n //keydata['AuthStatus'] = \"A\";\n keydata['ChkStatus'] = \"1\";\n //keydata['Approved'] =101;\n i = i + 1;\n }\n }\n }\n else if (currentDeselectedRowKeys.length > 0) {\n //console.log('deselect');\n var j = 0;\n for (let key of Object.keys(this.EffortApprovalDataGrids)) {\n let keydata = this.EffortApprovalDataGrids[key];\n if (currentDeselectedRowKeys[j] === keydata['SlNo']) {\n //keydata['AuthStatus'] = \"P\";\n keydata['ChkStatus'] = \"0\";\n //keydata['Approved'] =101;\n j = j + 1;\n }\n }\n }\n\n // console.log('selectedRowsData',e.selectedRowsData);\n\n\n\n\n // if(currentSelectedRowKeys.length>0){\n // for (let key of Object.keys(this.EffortApprovalDataGrids)) {\n // let keydata = this.EffortApprovalDataGrids[key]; \n // //if (JSON.parse(currentSelectedRowKeys)=== keydata['SlNo']) \n // //console.log('keydata',keydata['SlNo']);\n // if (JSON.parse(currentSelectedRowKeys)=== keydata['SlNo']){\n // keydata['AuthStatus'] = \"A\";\n // keydata['ChkStatus'] =\"1\"; \n // keydata['Approved'] =101; \n // } \n // }\n // }\n // else if(currentDeselectedRowKeys.length>0){\n // //console.log('deselect');\n // for (let key of Object.keys(this.EffortApprovalDataGrids)) {\n // let keydata = this.EffortApprovalDataGrids[key]; \n // if (JSON.parse(currentDeselectedRowKeys)=== keydata['SlNo'] && keydata['AuthStatus']==='A') {\n // keydata['AuthStatus'] = \"P\";\n // keydata['ChkStatus'] =\"0\"; \n // keydata['Approved'] =101; \n // } \n // else if (JSON.parse(currentDeselectedRowKeys)=== keydata['SlNo'] && keydata['AuthStatus']==='P' && keydata['ChkStatus']===0) {\n // keydata['AuthStatus'] = \"P\";\n // keydata['ChkStatus'] =\"0\"; \n // keydata['Approved'] =101; \n // } \n // else if (JSON.parse(currentDeselectedRowKeys)=== keydata['SlNo'] && keydata['AuthStatus']==='O') {\n // keydata['AuthStatus'] = \"O\";\n // keydata['ChkStatus'] =\"0\"; \n // keydata['Approved'] =101; \n // } \n // else if (JSON.parse(currentDeselectedRowKeys)=== keydata['SlNo'] && keydata['AuthStatus']==='P' && keydata['ChkStatus']==='1') {\n // keydata['AuthStatus'] = \"P\";\n // keydata['ChkStatus'] =\"0\"; \n // keydata['Approved'] =101; \n // } \n\n // }\n // }\n\n\n // console.log('EffortApprovalDataGrids', this.EffortApprovalDataGrids);\n }\n\n\n\n\n // else{\n // this.onSelectionChange=true;\n // }\n\n // }\n\n // selectAllRows () {\n // this.dataGrid.instance.selectAll();\n // }\n\n onRowPrepared(e) {\n\n if (e.rowType == 'data' && e.data.AuthStatus == \"O\") {\n e.rowElement.style.backgroundColor = '#FCD1C7';\n }\n else if (e.rowType == 'data' && e.data.AuthStatus == \"P\") {\n e.rowElement.style.backgroundColor = '#F7FC7F';\n //e.rowElement.className = e.rowElement.className.replace(\"dx-row-alt\", \"\"); \n }\n else if (e.rowType == 'data' && e.data.AuthStatus == \"A\") {\n e.rowElement.style.backgroundColor = '#D8D8D3';\n //e.rowElement.className = e.rowElement.className.replace(\"dx-row-alt\", \"\"); \n }\n }\n\n}\n\n\n\n\nexport class EffortApprovalDataGrid {\n LedgerID: number\n UserID: number\n EmployeeID: number\n ProjectID: string\n FromDate: string\n ToDate: string\n\n}\n\n\n","import { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EmployeeHierarchyComponent } from './../employee-hierarchy/employee-hierarchy.component';\nimport { ENTER, COMMA, I } from '@angular/cdk/keycodes';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport {NestedTreeControl} from '@angular/cdk/tree';\nimport {MatTreeNestedDataSource} from '@angular/material/tree';\nimport {Observable} from 'rxjs';\nimport {startWith, map, pluck} from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { HierarchyexcelimportComponent } from '../hierarchyexcelimport/hierarchyexcelimport.component';\nimport { MatListOption } from '@angular/material/list';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { MatStepper } from '@angular/material/stepper';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { EmpprojectlistComponent } from './../empprojectlist/empprojectlist.component';\n\ninterface EmployeeHierarchy {\n ParentID: number;\n LedgerID: number;\n Level: number;\n name: string;\n leveldesc: string;\n children?: EmployeeHierarchy[];\n}\n\ninterface Project {\n ID: number;\n ProjectName: string;\n}\n\ninterface Employee {\n LedgerID: number;\n name: string;\n}\n\ninterface Level {\n id: number;\n name: string;\n}\n\n@Component({\n selector: 'app-employee-hierarchy-list',\n templateUrl: './employee-hierarchy-list.component.html',\n styleUrls: ['./employee-hierarchy-list.component.css']\n})\nexport class EmployeeHierarchyListComponent implements OnInit {\n hirarchyMain: MatTableDataSource;\n displayedColumns = ['approvergroupid', 'typeid','ProjectName', 'approvegroupname', 'Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n searchKey: string;\n\n flag = 'ADD';\n addbtnvisible = true;\n editbtnvisible = true;\n deletebtnvisible = true;\n viewbtnvisible = true;\n public filteredList5\n\n approvergroupid = 0;\n projectid: number;\n projectname: string;\n approvegroupname: string;\n level: Level[];\n employeselect: Employee[];\n employeelistselected: any = [];\n\n project: Project[];\n employeeOriginal: Employee[];\n employee: Employee[];\n employeelist: any;\n\n //dx-selector attribute\n searchModeOption = 'contains';\n searchExprOption: any = 'ProjectName';\n searchTimeoutOption = 200;\n minSearchLengthOption = 0;\n\n treeControl = new NestedTreeControl(node => node.children);\n dataSource = new MatTreeNestedDataSource();\n \n treedeletevisible:boolean=false;\n\n model: any;\n row: any;\n activeNode:any;\n \n emplevel: Level[] = [\n {id: 1, name: 'L1'},\n {id: 2, name: 'L2'},\n {id: 3, name: 'L3'},\n {id: 4, name: 'L4'},\n {id: 5, name: 'L5'},\n {id: 6, name: 'L6'},\n {id: 7, name: 'L7'},\n {id: 8, name: 'L8'},\n {id: 9, name: 'L9'},\n {id: 10, name: 'L10'}\n\n ];\n\n projectids: string[]= [];\n myControl = new FormControl();\n filteredOptions: Observable;\n \n constructor(public service: HttpserviceService,\n public notificationService: NotificationService,\n private dialog: MatDialog,\n private generic: GenericService,\n private dialogService: DialogService\n // public dialogRef: MatDialogRef,\n ){\n\n // this.flag = this.data.flag;\n // this.row = this.data.row;\n\n // this.filteredFruits = this.fruitCtrl.valueChanges.pipe(\n // startWith(null),\n // map((fruit: string | null) => fruit ? this._filter(fruit) : this.allFruits.slice()));\n\n // console.log(\"dsdf\",this.allFruits)\n \n }\n\n hasChild = (_: number, node: EmployeeHierarchy) => !!node.children && node.children.length > 0;\n\n ngOnInit(): void {\n this.getDefaultValues();\n\n // if (this.flag != 'ADD') {\n // this.populateForm();\n // }\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter1(value))\n );\n }\n\n Submit()\n {\n this.getDefaultValues();\n }\n\n openDialog() {\n\n const ExcelData = {cid: JSON.parse(sessionStorage.getItem('cid')), \n flag:\"Excel\", \n approvergroupid: this.approvergroupid,\n projectid: this.projectid\n //,approvergroupname: f.value.approvegroupname\n };\n sessionStorage.setItem('Exceldata', JSON.stringify(ExcelData));\n const dialogRef = this.dialog.open(HierarchyexcelimportComponent);\n dialogRef.afterClosed().subscribe(result => { \n });\n }\n\n private _filter1(value: string): string[] {\n const filterValue = value.toLowerCase();\n return this.projectids.filter(option => option.toLowerCase().includes(filterValue));\n\n }\n\n selectedproduct(event) {\n this.projectid = JSON.parse(_.pluck(_.where(this.project, { 'ProjectName': event.option.value }), 'ID'));\n }\n\n getDefaultValues(){\n\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n };\n const query = `cid=${params.cid}`;\n this.service.httpGet('/projecthierarchy/hierarchydefaults?',query)\n .subscribe(\n data => {\n let result: any;\n result = data;\n\n this.project = result.respdata.Project;\n this.projectids = _.pluck(this.project, 'ProjectName');\n this.employeeOriginal = result.respdata.Employee;\n this.employee = this.employeeOriginal;\n this.employeelist = this.employeeOriginal;\n\n this.filteredList5= this.employee.slice();\n\n // console.log(\"ess\", this.filteredemployeelist)\n\n // let btnVisilityData;\n // btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n\n // console.log(\"ess\", btnVisilityData)\n\n // this.addbtnvisible = btnVisilityData.addflag;\n // this.editbtnvisible = btnVisilityData.editflag;\n // this.deletebtnvisible = btnVisilityData.deleteflag;\n // this.viewbtnvisible = btnVisilityData.viewflag;\n\n\n this.hirarchyMain = result.respdata.HierarchyGroupList;\n this.hirarchyMain = new MatTableDataSource(result.respdata.HierarchyGroupList);\n // console.log('hierarchy main: ', this.hirarchyMain);\n this.hirarchyMain.sort = this.sort;\n this.hirarchyMain.paginator = this.paginator;\n\n // if (this.flag != 'ADD') { \n // this.projectname = _.pluck(_.where(this.project, { 'ID': this.row.typeid }), 'ProjectName'); \n // this.populateForm();\n // } \n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n }\n\n //using for edit/delete/view option\n populateForm(){\n this.approvergroupid = this.row.ApprovalGroupID;\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n approvergroupid: this.approvergroupid\n };\n const query = `cid=${params.cid}&approvergroupid=${params.approvergroupid}`;\n this.service.httpGet('/projecthierarchy/gethierarchylistsub?',query)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno == 0){\n this.dataSource.data = result.respdata;\n this.approvegroupname = this.row.ApprovalGroupName;\n }\n else{ \n console.log('error');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n }\n\n onCloseDialog(){\n this.initializeFormGroup();\n // this.dialogRef.close({event: 'CLEAR'});\n }\n\n onClear(){\n this.myControl.setValue('');\n this.approvegroupname='';\n this.treedeletevisible=false\n this.initializeFormGroup();\n this.dataSource = new MatTreeNestedDataSource();\n \n }\n\n initializeFormGroup(){\n approvegroupid: 0;\n projectid: 0;\n approvegroupname: '';\n level: 0;\n employee: 0;\n employeelist: 0;\n }\n\n onLevelSelect(e){\n const _data = this.dataSource.data;\n \n this.level = e.value;\n // console.log('level: ',this.level['name']);\n // console.log('datasourcedata : ', _data);\n if (this.level['name'] != 'L1'){\n this.employee = [];\n // console.log('levelname: ', this.level['name']);\n this.filterData(_data, this.level['name']);\n }\n else if (this.level['name'] == 'L1' && _data.length>0){\n this.employee = [];\n this.employee.push({LedgerID: _data[0].LedgerID, name: _data[0].name});\n }\n\n }\n\n //filter employee based on level selection and assign into employee dropdown\n filterData(data, filter) {\n // console.log('inside filter data');\n // this.employee = [];\n let found = false;\n // console.log('data : ', data);\n // console.log('filter: ', filter);\n\n const foundParent = data.forEach(item => {\n\n if (item.leveldesc === filter) {\n // console.log('found');\n // found = true;\n // console.log('if : ', item);\n this.employee.push({LedgerID: item.LedgerID, name: item.name});\n // console.log('employee: ', this.employee);\n }\n else {\n if (item.children != undefined ){\n // console.log('else: ', item.children);\n this.filterData(item.children, filter);\n }\n }\n\n });\n\n if (found){\n // console.log('employee: ', this.employee);\n return;\n // return obj;\n }\n // console.log('final call: ', obj);\n }\n\n onEmployeeSelect(e) {\n this.employeselect = e.value;\n const valueToRemove = e.value.LedgerID;\n const _data = this.dataSource.data;\n\n\n if (Object.keys(_data).length == 0){\n this.employeelist = this.employeelist.filter(function(emp){ return emp.LedgerID != valueToRemove; });\n }\n else{\n // this.removeTreeEmployeeFromEmployeeList(_data);\n const resultobj = this.employeelist.filter(({LedgerID: i}) => !(((x) => {const f = a => a.flatMap(({LedgerID: i, children: c}) => c ? [i, ...f(c)] : i); return f(x); })(_data)).includes(i));\n \n this.employeelist = resultobj;\n\n // this.fruitCtrl.reset()\n // this.employeelistselected.splice(1, 1);\n \n\n }\n\n // console.log(this.employeelist);\n }\n\n removeTreeEmployeeFromEmployeeList(_data){\n const empledgerInTree = [];\n _data.forEach((item) => {\n if (item.children != undefined && item.children.length > 0){\n this.removeTreeEmployeeFromEmployeeList(item.children);\n }\n // else{\n empledgerInTree.push(item.LedgerID);\n // }\n });\n\n // console.log('empledgerInTree: ', empledgerInTree);\n // Object.values(this.employeelist).forEach(function(o,i){\n // if(empledgerInTree.ledgerid == o.ledgerid)\n // delete this.employeelist[i];\n // });\n\n // console.log('this.employeelist' , this.employeelist);\n }\n\n // onEmployeeSelect1(e) {\n // this.employeselect = e.value;\n // // console.log('employee select: ',this.employeselect);\n // const valueToRemove = e.value.LedgerID;\n // const _data = this.dataSource.data;\n\n // if (Object.keys(_data).length == 0){\n // this.employeelist = this.employeelist.filter(function(emp){ return emp.LedgerID != valueToRemove; });\n // }\n // else{\n // this.filterArray(valueToRemove, this.level['name']);\n // }\n\n // }\n\n //remove all selected and its higher level employee and assign into employeelist\n filterArray(valueToRemove, markedItemLevel){\n const result = [];\n result.pop();\n const _data = this.dataSource.data;\n\n const itemIndexinTree = _data.findIndex(c => c.LedgerID == valueToRemove);\n // var markedItem = this.employeelist.find(t => t.ledgerid == valueToRemove);\n // var markedItemLevel = markedItem.level;\n const markedItemLevelNo = markedItemLevel.split('L')[1];\n const levelToSkip = [];\n for (let index = 1 ; index <= markedItemLevelNo; index++) {\n levelToSkip.push('L' + index);\n }\n\n // console.log('levelToSkip: ', levelToSkip);\n // console.log('data: ', _data);\n\n const idsToSkip = [];\n for (let indexforSkip = 0; indexforSkip < levelToSkip.length; indexforSkip++) {\n _data.forEach((item) => { //debugger;\n if (item.leveldesc == levelToSkip[indexforSkip]){\n idsToSkip.push(item.LedgerID);\n }\n\n if (item.children.length > 0){\n for (let cindex = 0; cindex < item.children.length; cindex++) {\n if (item.children[cindex].leveldesc == levelToSkip[indexforSkip]){\n idsToSkip.push(item.children[cindex].LedgerID);\n }\n }\n }\n });\n }\n\n // console.log('idsToSkip: ', idsToSkip);\n\n this.employeelist = [];\n this.employeeOriginal.forEach((item) => { //debugger;\n // console.log('item: ', item) ;\n if (idsToSkip.indexOf(item.LedgerID) < 0){\n // console.log('item: ', item);\n this.employeelist.push(item);\n }\n });\n // console.log('result: ', this.employeelist);\n\n }\n\n // onEmployeeGroupsChange(options: MatListOption[]) {\n // // map these MatListOptions to their values\n // this.employeelistselected = options.map(o => o.value);\n // console.log('map: ',this.employeelistselected);\n // }\n\n // add treeemployee into treeview control\n addTreeNode(){\n \n\n\n\n // this.service.initializeFormGroup();\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n employeelist:this.employeelist,\n panelClass: 'custom-dialog-container'\n };\n const dialogRef = this.dialog.open(EmployeeHierarchyComponent, dialogConfig);\n dialogRef.afterClosed()\n .subscribe(res => {\n if (res.event == 'ADD'){\n this.employeelistselected=res.data\n\n const subdata: EmployeeHierarchy[] = [];\n const subLevel: string = this.level['name'].slice(0, -1) + (this.level['id'] + 1).toString();\n // console.log('subLevel: ', subLevel);\n for (const key of Object.keys(this.employeelistselected)) {\n const keydata = this.employeelistselected[key];\n // console.log('keydata: ', keydata);\n subdata.push({LedgerID: keydata.LedgerID, name: keydata.name, ParentID: this.employeselect['LedgerID'], Level: this.level['id'] + 1, leveldesc: subLevel });\n }\n\n const _data = this.dataSource.data;\n\n if (Object.keys(_data).length == 0){\n _data.push({LedgerID: this.employeselect['LedgerID'], name: this.employeselect['name'], ParentID: 0, Level: this.level['id'], leveldesc: 'L1', children: subdata});\n }else{\n this.findParent(_data, subdata);\n }\n \n this.dataSource.data = null;\n // console.log('data: ',JSON.stringify(_data));\n this.dataSource.data = _data;\n\n // this.hirarchyMain.data.push(res);\n }else if (res.event == 'EXIT'){\n // this.updateRowData(res.data);\n }\n });\n\n\n \n }\n\n findParent(data, subdata) {\n // console.log('inside find parent');\n //loop original data with subdata\n const foundParent = data.forEach(item => {\n // check original data ledgerid matched with subdata parentid\n if (item.LedgerID === subdata[0].ParentID) {\n // if original data have children\n if (item.children && item.children.length > 0) {\n // add new children into an existing children\n // console.log('beforechildren',item.children);\n // console.log('existingchildren');\n //item.children = [...item.children, subdata]\n const old = item.children;\n // console.log('before children', JSON.stringify(old));\n //item.children = Object.assign(old,subdata);\n // console.log('before children', JSON.stringify(old));\n item.children = old.concat(subdata);\n // console.log('subdata', subdata);\n // console.log('after children', JSON.stringify(item.children));\n } else {\n //add first children to original data\n // console.log('newchildren');\n item['children'] = subdata;\n }\n\n } else {\n if (item.children) {\n // again call the function by passing its children\n this.findParent(item.children, subdata);\n }\n }\n });\n }\n\n submit(f){\n // console.log('save: ',f);\n const param = {\n flag: this.flag,\n cid: JSON.parse(sessionStorage.getItem('cid')),\n approvergroupid: this.approvergroupid,\n projectid: this.projectid,\n approvergroupname: f.value.approvegroupname,\n isactive: true,\n authorisesub: this.dataSource.data\n };\n // console.log('param: ', param);\n // this.service.create(JSON.stringify(param))\n this.service.httpPost('/projecthierarchy/projecthierarchyupdate',param)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let hierarchy: any;\n hierarchy = data; //result.users;\n\n if (hierarchy.errno === 0){\n // console.log('hierarchy: ', hierarchy.respdata);\n // this.service.form.reset();\n this.initializeFormGroup();\n this.notificationService.success('Submitted successfully');\n\n // need to add userdetails to send back to grid for display\n this.model = { 'ApprovalGroupID': hierarchy.respdata, 'typeid': this.projectid, 'ApprovalGroupName': f.value.approvegroupname}; //get the model from the form\n // console.log('model ', this.model);\n this.onClose(this.model);\n \n this.getDefaultValues();\n\n }\n else{\n // console.log('fail');\n this.notificationService.success(hierarchy.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n f.setErrors(error.originalError);\n // console.log(error);\n else throw error;\n });\n }\n\n\n onClose(model){\n // this.service.form.reset();\n this.initializeFormGroup();\n // this.dialogRef.close({event: this.flag, data: model});\n }\n\n onEdit(row, _flag,stepper: MatStepper){\n stepper.next();\n this.flag=_flag\n this.myControl.setValue(row.ProjectName)\n this.projectid =row.typeid\n this.approvegroupname=row.ApprovalGroupName;\n \n this.approvergroupid = row.ApprovalGroupID;\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n approvergroupid: this.approvergroupid\n };\n const query = `cid=${params.cid}&approvergroupid=${params.approvergroupid}`;\n this.service.httpGet('/projecthierarchy/gethierarchylistsub?',query)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno == 0){\n this.dataSource.data = result.respdata;\n // this.approvegroupname = this.row.ApprovalGroupName;\n }\n else{ \n console.log('error');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n }\n \n View(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:JSON.parse(sessionStorage.getItem('cid')),\n Flag:'View'\n }\n const dialogRef = this.dialog.open(EmpprojectlistComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n\n onDelete(row){\n this.dialogService.openConfirmDialog('Are you sure to delete this hierarchy?')\n .afterClosed().subscribe(res => {\n console.log(\"dialog\",res)\n if (res) {\n const params = {\n flag: 'DELETE',\n cid: '101',\n approvergroupid: row.ApprovalGroupID,\n projectid: row.typeid,\n approvergroupname: row.ApprovalGroupName,\n isactive: true,\n authorisesub: undefined\n };\n // console.log('params: ', params);\n this.service.httpPost('/projecthierarchy/projecthierarchyupdate',params)\n .subscribe(\n data => {\n let result: any;\n result = data;\n if (result.errno == 0){\n // this.hirarchyMain.data.pop(result.data) //.push(res.data);\n this.notificationService.warn('Deleted successfully');\n this.getDefaultValues();\n }else{\n this.notificationService.warn('! Problem in deleting');\n }\n\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.hirarchyMain.filter = filterValue.trim().toLowerCase();\n }\n\n onSearchClear(){\n this.searchKey = '';\n this.hirarchyMain.filter = '';\n }\n\nfindPosition(ledgerid: number, data: EmployeeHierarchy[]) {\n for (let i = 0; i < data.length; i += 1) {\n if (ledgerid === data[i].LedgerID) {\n return i;\n }\n }\n}\n\nfindFatherNode(ledgerid: number, data: EmployeeHierarchy[]) {\n \n for (let i = 0; i < data.length; i += 1) {\n const currentFather = data[i];\n \n for (let z = 0; z < currentFather.children.length; z += 1) {\n if (ledgerid === currentFather.children[z]['LedgerID']) {\n return [currentFather, z];\n }\n }\n for (let z = 0; z < currentFather.children.length; z += 1) {\n if (ledgerid !== currentFather.children[z]['LedgerID']) {\n const result = this.findFatherNode(ledgerid, currentFather.children);\n if (result !== false) {\n return result;\n }\n }\n }\n }\n \n return false;\n}\ngroupdelete()\n{\n this.treedeletevisible=true;\n}\nrefreshTreeData() {\n const data = this.dataSource.data;\n this.dataSource.data = null;\n this.dataSource.data = data;\n}\n\ndeleteNode(nodeToBeDeleted: EmployeeHierarchy) {\n if(nodeToBeDeleted.leveldesc !=='L1')\n {\n const deletedElement: EmployeeHierarchy = this.findFatherNode(nodeToBeDeleted.LedgerID, this.dataSource.data);\n let elementPosition: number;\n if (window.confirm('Are you sure you want to delete ' + nodeToBeDeleted.name + '?' )) {\n if (deletedElement[0]) {\n\n deletedElement[0].children.splice(deletedElement[1], 1);\n } else {\n console.log('else');\n elementPosition = this.findPosition(nodeToBeDeleted.LedgerID, this.dataSource.data);\n this.dataSource.data.splice(elementPosition, 1);\n }\n this.refreshTreeData();\n }\n }\n \n}\n\n\n\n} \n\n\n\n\n\nexport interface HierarchyMain {\n ApprovalGroupID: number;\n typeid: number;\n ApprovalGroupName: string;\n}\nexport class EmployeeHierarchy1 {\n ParentID: number;\n LedgerID: number;\n Level: number;\n name: string;\n leveldesc: string;\n children?: EmployeeHierarchy1[];\n}\n","\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ENTER, COMMA, I } from '@angular/cdk/keycodes';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { Component, OnInit, ElementRef, ViewChild, Inject } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatAutocompleteActivatedEvent, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatChipInputEvent } from '@angular/material/chips';\n\n@Component({\n selector: 'app-employee-hierarchy',\n templateUrl: './employee-hierarchy.component.html',\n styleUrls: ['./employee-hierarchy.component.css']\n // ,\n // encapsulation: ViewEncapsulation.None\n})\nexport class EmployeeHierarchyComponent implements OnInit {\n flag = 'ADD';\n employeelistselected: any = [];\n employeelist: any;\n model: any;\n visible = true;\n selectable = true;\n removable = true;\n addOnBlur = false;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n fruitCtrl = new FormControl();\n filteredFruits: Observable;\n fruits: any = [];\n temp:any = [];\n autocompleteTagsOptionActivated = false;\n \n @ViewChild('fruitInput') fruitInput: ElementRef;\n @ViewChild('autoInput', { read: MatAutocompleteTrigger }) matAutocompleteTrigger: MatAutocompleteTrigger;\n\n constructor(private dialog: MatDialog,\n public notificationService: NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any){\n\n this.flag = this.data.flag;\n // this.row = this.data.row;\n this.employeelist=this.data.employeelist\n\n // this.filteredFruits = this.fruitCtrl.valueChanges.pipe(\n // startWith(null),\n // map((fruit: string | null) => fruit ? this._filter(fruit) : this.employeelist.slice()));\n\n\n this.fruitCtrl.valueChanges.subscribe(search => {\n this.filteredFruits = of(this.employeelist.filter(item =>\n item.name.toLowerCase().includes(search)\n ));\n });\n \n\n }\n ngOnInit(): void {\n this.dialogRef.updateSize('70%');\n }\n optionActivated($event: MatAutocompleteActivatedEvent) {\n if ($event.option) {\n this.autocompleteTagsOptionActivated = true;\n }\n }\n submit(flag){\n this.model = this.employeelistselected; //get the model from the form\n this.onClose(flag,this.model);\n }\n exit(flag){\n this.model = this.employeelistselected; //get the model from the form\n this.onClose(flag,this.model);\n }\n\n\n onClose(flag,model){\n this.dialogRef.close({event: flag, data: model});\n }\n\n add(event: MatChipInputEvent): void {\n debugger\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) {\n this.employeelistselected.push({\n id:Math.random(),\n name:value.trim()\n });\n\n // this.employeelistselected = options.map(o => o.value);\n \n }\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n this.fruitCtrl.setValue(null);\n }\n\n remove(fruit, indx): void {\n this.employeelistselected.splice(indx, 1);\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n this.employeelistselected.push(event.option.value);\n this.fruitInput.nativeElement.value = '';\n this.fruitCtrl.setValue(null);\n \n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { AbstractControl } from '@angular/forms';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { MatDialogConfig ,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-empprojectlist',\n templateUrl: './empprojectlist.component.html',\n styleUrls: ['./empprojectlist.component.scss'],\n})\nexport class EmpprojectlistComponent implements OnInit {\n dataSource: any;\n SelectedCompanyID: number;\n selectedemployees: number;\n selectedEmpID: string = 'All';\n myControl1 = new FormControl('', Validators.required);\n filteredOptions2: Observable;\n cid:any;\n employeeidname: string[] = [];\n EmpFormGroup:FormGroup;\n CID:String;\n Flag:String;\n Employees: any;\n\n constructor(private service: HttpserviceService, \n private formBuilder: FormBuilder, private dialog: MatDialog,private dialogService: DialogService,\n public notificationService: NotificationService, private datePipe: DatePipe,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.CID=this.data.CID;\n this.Flag=this.data.Flag;\n\n this.EmpFormGroup = this.formBuilder.group({\n myControl1: ['', Validators.required]\n });\n\n \n }\n\n ngOnInit() {\n this.PageLoad();\n this.filteredOptions2 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl1'))\n );\n }\n private _filter(value: string, control: string): string[] {\n \n const filterValue = value.toLowerCase(); \n // if (control === 'myControl') { \n // return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n // }\n // else if (control === 'myControl1') { \n return this.employeeidname.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n selectedEmployee(event, control: string) { \n let str: string = event.option.value; \n this.selectedEmpID = event.option.value; \n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n // this.HrPolicyFormGroup.reset();\n this.dialogRef.close();\n }\n });\n }\n\n PageLoad() {\n const params = {\n CID: this.CID,\n Flag: 'DROPDOWN' \n };\n \n this.service.httpPost('/EstimationWeeklyReport/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) { \n this.Employees = result.respdata.Employees; \n this.employeeidname = _.pluck(this.Employees, 'Name'); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n Submit() {\n const params = {\n CID: this.CID,\n Flag: 'GETEMPPORJECT',\n EmployeeID:this.selectedEmpID==\"All\" ? \"%\" : this.selectedEmpID\n };\n \n this.service.httpPost('/EstimationWeeklyReport/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata);\n this.dataSource =result.respdata.Project; \n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n\n }\n\n\n onSearchClear(){\n this.EmpFormGroup.reset(); \n this.dataSource=''; \n this.myControl1.setValue(''); \n this.selectedEmpID='All';\n \n }\n}\n","import { User } from './../../../../Modules/user';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport * as XLSX from 'xlsx';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\ntype AOA = any[][];\n\n@Component({\n selector: 'app-hierarchyexcelimport',\n templateUrl: './hierarchyexcelimport.component.html',\n styleUrls: ['./hierarchyexcelimport.component.css']\n})\nexport class HierarchyexcelimportComponent implements OnInit {\n\n data: AOA = [[1, 2], [3, 4]];\n wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\n fileName = 'SheetJS.xlsx';\n\n ExcelFormGroup: FormGroup;\n ExcelImportData:any;\n LedgerID: number;\n\n constructor(private formBuilder: FormBuilder, private service: HttpserviceService,\n public notificationService: NotificationService) \n { \n\n }\n\n ngOnInit(): void {\n const curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID = curUser.ledgerid;\n }\n\n Save() {\n\n const params = {\n CID: JSON.parse(sessionStorage.getItem('cid')),\n Flag:\"ExcelImport\", \n dt: this.ExcelImportData,\n AppGroupID:JSON.parse(sessionStorage.getItem('currentUser'))['groupid'],\n UserID:this.LedgerID\n };\n console.log('params :', params);\n this.service.httpPost('/projecthierarchy/SetExcelData',params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let users: any;\n users = data;\n\n if (users.errno === 0) {\n this.notificationService.success('Submitted successfully');\n }\n else {\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n onFileChange(evt: any) {\n /* wire up file reader */\n const target: DataTransfer = (evt.target);\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\n const reader: FileReader = new FileReader();\n reader.onload = (e: any) => {\n /* read workbook */\n const bstr: string = e.target.result;\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\n\n /* grab first sheet */\n const wsname: string = wb.SheetNames[0];\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\n\n /* save data */\n this.data = (XLSX.utils.sheet_to_json(ws));\n console.log(this.data);\n this.ExcelImportData = this.data;\n };\n reader.readAsBinaryString(target.files[0]);\n }\n\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { ProjectallocationbyweekComponent } from '../projectallocationbyweek/projectallocationbyweek.component';\nimport { AbstractControl } from '@angular/forms';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { User } from './../../../../Modules/user';\n\n@Component({\n selector: 'app-projectallocationbyweek-list',\n templateUrl: './projectallocationbyweek-list.component.html',\n styleUrls: ['./projectallocationbyweek-list.component.css']\n})\nexport class ProjectallocationbyweekListComponent implements OnInit {\n //ProjectAllocation: FormGroup;\n @ViewChild('stepper') stepper;\n\n dataSource: ProjectAllocationDataGrid[];\n ProjectAllocationDataGrids: any;\n //projectdata:string[];\n SelectedCompanyID: number;\n projectdata: any;\n companies: any;\n Departments: any;\n setWeekEnd: number;\n setHolidays: number;\n\n selectedCID: number;\n selectedprojectid: any;\n selectedprojectname: any;\n selecteddepartments: number;\n projectid: string[]= [];\n\n ProjectFormGroup: FormGroup;\n ProjectDataFormGroup: FormGroup;\n isEditable = true;\n\n myControl = new FormControl('', [Validators.required]);\n //options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n cid:any;\n oneJan: any;\n numberOfDays: number;\n curMonth: any;\n count:any;\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n\n constructor(private service: HttpserviceService, private service1: UserService, \n private formBuilder: FormBuilder, private dialog: MatDialog, private generic: GenericService,\n public notificationService: NotificationService, private datePipe: DatePipe) {\n //this.ProjectAllocationDataGrids;\n\n this.ProjectFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required] ,\n //fcProject: ['', Validators.required] ,\n fcDepartment: ['', Validators.required],\n fcStartWeekNo: ['', Validators.required] ,\n fcEndWeekNo: ['', Validators.required] ,\n fcYear: ['', Validators.required],\n fcWeekEnd:[''],\n fcHolidays:['']\n // ,\n // fcproject:new FormControl('', [Validators.required, RequireMatch])\n\n });\n this.ProjectDataFormGroup = this.formBuilder.group({\n //company: ['', Validators.required]\n // fcProjectDepartment:['']\n });\n\n }\n\n // displayWith(obj?: any): string | undefined {\n // return obj ? obj.name : undefined;\n // }\n\n ngOnInit(): void {\n this.getWeekNo();\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n this.ProjectFormGroup.controls.fcCompany.setValue(this.cid);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_63\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag; \n this.viewbtnvisible = btnVisilityData.viewflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n changesite(e) {\n // console.log('change',e.value);\n this.cid=e.value;\n this.PageLoad();\n }\n\n //get f() { return this.ProjectAllocation.controls; }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n\n }\n\n selectedproduct(event) {\n //this.selectedprojectid=event.option.value;\n this.selectedprojectname = event.option.value;\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID'));\n }\n\n // changeDepartment(data){\n // this.selecteddepartments=JSON.parse(data);\n // console.log(\"selected --->\"+this.selecteddepartments);\n // }\n\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n CID: this.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: 'PageLoad',\n EmployeeID: 'BHE 067',\n ProjectID: 0,\n RoleID: 0,\n DepartmentID: 0,\n StartWeekNo: 0,\n EndWeekNo: 0,\n Year: 0,\n SetWeekEnd: 0,\n SetHolidays: 0\n };\n \n // this.service.getprojectallcoationlist(params)\n this.service.httpPost('/ProjectAllocationByWeek/GetProjectAllocationData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.companies = curUser.dtsiteid;\n this.SelectedCompanyID = this.cid;\n this.projectdata = result.respdata.Table1; \n this.Departments = result.respdata.Table2;\n this.projectid = _.pluck(this.projectdata, 'ProjectID');\n \n this.getUserList();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n\n getWeekNo() {\n const date = new Date();\n this.curMonth = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n this.oneJan = new Date(date.getFullYear(), 0, 1);\n this.numberOfDays = Math.floor((this.curMonth - this.oneJan) / (24 * 60 * 60 * 1000));\n // console.log('curMonth',this.curMonth );\n // console.log('oneJan',this.oneJan);\n // console.log('number of days',this.numberOfDays);\n // console.log('date',date.getDay());\n if(date.getDay() <6){\n this.ProjectFormGroup.get('fcStartWeekNo').setValue(Math.ceil((this.numberOfDays) / 7)+0);\n this.ProjectFormGroup.get('fcEndWeekNo').setValue(Math.ceil((this.numberOfDays) / 7) + 4);\n }\n else{\n this.ProjectFormGroup.get('fcStartWeekNo').setValue(Math.ceil((this.numberOfDays) / 7));\n this.ProjectFormGroup.get('fcEndWeekNo').setValue(Math.ceil((this.numberOfDays) / 7) + 4);\n }\n // this.ProjectFormGroup.get('fcStartWeekNo').setValue(Math.ceil((date.getDay() +1 + this.numberOfDays) / 7));\n // this.ProjectFormGroup.get('fcEndWeekNo').setValue(Math.ceil((date.getDay() +1+ this.numberOfDays) / 7) + 4);\n this.ProjectFormGroup.get('fcYear').setValue(date.getFullYear()); \n }\n\n\n\n Submit() {\n if (this.ProjectFormGroup.invalid) {\n this.notificationService.warn('Please select project and department'); \n return;\n } \n const params = {\n CID: this.ProjectFormGroup.get('fcCompany').value, //101,\n Flag: 'LoadGrid',\n EmployeeID: 'BHE 067',\n ProjectID: this.selectedprojectid,\n RoleID: this.ProjectFormGroup.get('fcDepartment').value, //this.selecteddepartments,\n DepartmentID: this.ProjectFormGroup.get('fcDepartment').value,\n // StartWeekNo: this.ProjectDataFormGroup.controls['StartWeekNo'].value,\n StartWeekNo: this.ProjectFormGroup.get('fcStartWeekNo').value, //this.ProjectDataFormGroup.value.StartWeekNo,\n EndWeekNo: this.ProjectFormGroup.get('fcEndWeekNo').value, //this.ProjectDataFormGroup.value.EndWeekNo,\n Year: this.ProjectFormGroup.get('fcYear').value, //this\n SetWeekEnd: this.ProjectFormGroup.get('fcWeekEnd').value==true?1:0,\n SetHolidays: this.ProjectFormGroup.get('fcHolidays').value==true?1:0\n }; \n //this.service.getprojectallcoationlist(params)\n this.service.httpPost('/ProjectAllocationByWeek/GetProjectAllocationData',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n const removeLedgerID = result.respdata.Table.map(({ LedgerID, ...item }) => item);\n const removeResourceAllocationID = removeLedgerID.map(({ ResourceAllocationID, ...item }) => item);\n this.ProjectAllocationDataGrids = removeResourceAllocationID; //result.respdata.Table;\n this.dataSource = result.respdata.Table; \n\n this.count=result.respdata.Table.length/2; \n this.stepper.selectedIndex = 1; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n\n\n }\n\n onSearchClear(){\n this.ProjectFormGroup.reset(); \n this.ProjectAllocationDataGrids=''; \n this.myControl.setValue(''); \n this.count=0;\n this.stepper.selectedIndex = 0; \n this.ProjectFormGroup.controls.fcCompany.setValue(this.cid);\n this.getWeekNo();\n }\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n excelImport(){\n\n }\n\n startweekno:number;\n endweekno:number;\n weekdiff:number;\n //openDialog(CID:number,ProjectUID:number,Department:number,StartWeekNo:number,EndWeekNo:number,Year:number,Flag:string) {\n openDialog(Flag: string) {\n\n if (this.ProjectFormGroup.invalid) {\n this.notificationService.warn('Please select project and department'); \n return;\n }\n \n this.startweekno=this.ProjectFormGroup.get('fcStartWeekNo').value\n this.endweekno=this.ProjectFormGroup.get('fcEndWeekNo').value;\n this.weekdiff=this.endweekno-this.startweekno+1; \n \n // console.log('FLAG',Flag);\n //console.log('Weekdiff',this.weekdiff);\n if(this.weekdiff <=40 && Flag !='isEmployee')\n {\n const ProjectData = {cid: this.ProjectFormGroup.get('fcCompany').value,\n //cidname:this.ProjectFormGroup.get('fcCompany').value,\n // projectname:this.selectedprojectName,\n projectuid: this.selectedprojectid,\n //departmentname:this.selecteddepartmentname,\n department: this.ProjectFormGroup.get('fcDepartment').value,\n startweekno: this.ProjectFormGroup.get('fcStartWeekNo').value,\n endweekno: this.ProjectFormGroup.get('fcEndWeekNo').value,\n year: this.ProjectFormGroup.get('fcYear').value,\n flag: Flag,\n SetWeekEnd: this.ProjectFormGroup.get('fcWeekEnd').value==true?1:0,\n SetHolidays: this.ProjectFormGroup.get('fcHolidays').value==true?1:0}; \n sessionStorage.setItem('ProjectData', JSON.stringify(ProjectData));\n const dialogRef = this.dialog.open(ProjectallocationbyweekComponent);\n dialogRef.afterClosed().subscribe(result => { \n });\n }\n else if(Flag ==='isEmployee')\n {\n const ProjectData = {cid: this.ProjectFormGroup.get('fcCompany').value,\n //cidname:this.ProjectFormGroup.get('fcCompany').value,\n // projectname:this.selectedprojectName,\n projectuid: this.selectedprojectid,\n //departmentname:this.selecteddepartmentname,\n department: this.ProjectFormGroup.get('fcDepartment').value,\n startweekno: this.ProjectFormGroup.get('fcStartWeekNo').value,\n endweekno: this.ProjectFormGroup.get('fcEndWeekNo').value,\n year: this.ProjectFormGroup.get('fcYear').value,\n flag: Flag,\n SetWeekEnd: this.ProjectFormGroup.get('fcWeekEnd').value==true?1:0,\n SetHolidays: this.ProjectFormGroup.get('fcHolidays').value==true?1:0}; \n sessionStorage.setItem('ProjectData', JSON.stringify(ProjectData));\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(ProjectallocationbyweekComponent,dialogConfig);\n dialogRef.afterClosed().subscribe(result => { \n\n });\n }\n else\n {\n this.notificationService.warn('Invalid week selection.import option only for five weeks.'); \n return;\n }\n }\n\n onCellPrepared(e) {\n if (e.rowType !== 'data' || e.columnIndex > 3 ) {\n return;\n }\n if (e.rowIndex % 2 === 0 && ( e.columnIndex == 0 || e.columnIndex == 1 || e.columnIndex == 2 || e.columnIndex == 3)) {\n e.cellElement.rowSpan = 2;\n e.cellElement.innerHTML = '
' + e.value + '
';\n }\n else {\n e.cellElement.style.display = 'none';\n }\n // if(e.rowType === 'header') {\n // e.cellElement.css(\"backgroundColor\", \"blue\");\n // }\n }\n\n}\n\nexport function RequireMatch(control: AbstractControl) {\n const selection: any = control.value;\n if (typeof selection === 'string') {\n return { incorrect: true };\n }\n return null;\n}\nexport class ProjectAllocationDataGrid {\n LedgerID: number;\n ResourceAllocationID: number;\n Name_Allotted: string;\n TotalAllotMins: number;\n TotalWorkMins: number;\n Type: string;\n}\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport * as XLSX from 'xlsx';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { User } from 'src/app/Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\n\n\ntype AOA = any[][];\n\n\n@Component({\n selector: 'app-projectallocationbyweek',\n templateUrl: './projectallocationbyweek.component.html',\n styleUrls: ['./projectallocationbyweek.component.css']\n})\nexport class ProjectallocationbyweekComponent implements OnInit {\n\n ProjectFormGroup: FormGroup;\n clients = [];\n dataSource: ProjectAllocationDataGrid[];\n ProjectAllocationDataGrids2: any;\n myControl = new FormControl('', [\n Validators.required]);\n lblStartWeekNo:any;\n lblEndWeekNo:any;\n //options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n EmployeeData: string[] = [];\n EmployeeDetails: any;\n selectedEmpID: any;\n ProjectData: any;\n showSpinner:any;\n data: AOA = [[1, 2], [3, 4]];\n wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\n fileName = 'SheetJS.xlsx';\n\n LedgerID: number;\n\n constructor(private formBuilder: FormBuilder, \n private service: HttpserviceService,\n private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n public notificationService: NotificationService) {\n\n }\n\n ngOnInit(): void {\n\n const curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID = curUser.ledgerid;\n\n this.ProjectData = JSON.parse(sessionStorage.getItem('ProjectData'));\n // console.log('isExcel', this.ProjectData);\n if (this.ProjectData.flag === 'isExcel')\n {\n this.ProjectFormGroup = this.formBuilder.group({\n isExcel: false,\n isEmployee: true \n });\n this.lblStartWeekNo=this.ProjectData.startweekno,\n this.lblEndWeekNo=this.ProjectData.endweekno\n }\n else{\n this.ProjectFormGroup = this.formBuilder.group({\n isEmployee: false,\n isExcel: true\n });\n\n this.PageLoad();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n\n\n\n //console.log('this.ProjectData', this.ProjectData);\n\n //this.EmployeeDetails=this.ProjectData.productid;\n }\n\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.ProjectFormGroup.reset(); \n this.dialogRef.close();\n }\n });\n }\n\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n //console.log('FilterProjectID',this.projectid);\n // if(this.projectid!=undefined){\n // this.PageLoad();\n return this.EmployeeData.filter(option => option.toLowerCase().includes(filterValue));\n //}\n }\n PageLoad() {\n const params = {\n CID: this.ProjectData.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: 'EmployeeData',\n EmployeeID: '',\n ProjectID: this.ProjectData.projectuid,\n RoleID: this.ProjectData.department,\n DepartmentID: 0,\n StartWeekNo: this.ProjectData.startweekno,\n EndWeekNo: this.ProjectData.endweekno,\n Year: this.ProjectData.year,\n SetWeekEnd: 0,\n SetHolidays:0\n };\n this.service.httpPost('/ProjectAllocationByWeek/GetProjectAllocationData',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata.Table);\n this.EmployeeDetails = result.respdata.Table;\n this.EmployeeData = _.pluck(this.EmployeeDetails, 'EmpName');\n // console.log('empuniqid',this.EmployeeDetails);\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n selectedEmployee(event) { \n // this.selectedEmpID = event.option.value;\n // const str: string = this.selectedEmpID; \n // this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n \n\n const inputString = event.option.value;\n\n// Split the input string into an array using the delimiter \"-\"\n const parts = inputString.split(\"-\");\n\n// Get the last element of the array\n const lastPart = parts.pop();\n // console.log('Last',lastPart)\n// Join the parts back together with \"-\" as the delimiter\n this.selectedEmpID = parts.join(\"-\");\n\n this.Submit();\n }\n\n Submit() {\n const params = {\n CID: this.ProjectData.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: 'SearchEmployeeLoadGrid',\n EmployeeID: this.selectedEmpID,\n ProjectID: this.ProjectData.projectuid,\n RoleID: this.ProjectData.department,\n DepartmentID: 0,\n StartWeekNo: this.ProjectData.startweekno,\n EndWeekNo: this.ProjectData.endweekno,\n Year: this.ProjectData.year,\n SetWeekEnd: this.ProjectData.SetWeekEnd,\n SetHolidays: this.ProjectData.SetHolidays,\n };\n this.service.httpPost('/ProjectAllocationByWeek/GetProjectAllocationData',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata.Table);\n const removeLedgerID = result.respdata.Table.map(({ LedgerID, ...item }) => item);\n const removeResourceAllocationID = removeLedgerID.map(({ ResourceAllocationID, ...item }) => item);\n const removeName_Allotted = removeResourceAllocationID.map(({ Name_Allotted, ...item }) => item);\n this.ProjectAllocationDataGrids2 = removeName_Allotted;\n //this.EmployeeData= _.pluck(this.EmployeeDetails, 'EmpName');\n // console.log('pageloadProjectID', this.ProjectAllocationDataGrids2);\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n onSearchClear(){\n this.ProjectFormGroup.reset();\n this.myControl.setValue('');\n if (this.ProjectData.flag === 'isExcel')\n {\n this.ProjectFormGroup = this.formBuilder.group({\n isExcel: false,\n isEmployee: true\n });\n }\n else{\n this.ProjectFormGroup = this.formBuilder.group({\n isEmployee: false,\n isExcel: true\n });\n }\n this.ProjectAllocationDataGrids2='';\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n this.ProjectAllocationDataGrids2='';\n }\n\n Save() {\n // console.log('ProjectAllocationDataGrids2', this.ProjectAllocationDataGrids2);\n this.showSpinner=true;\n const params = {\n cid: this.ProjectData.cid,\n Flag: this.ProjectData.flag,\n ProjectID: this.ProjectData.projectuid,\n EmployeeID: '',\n RoleID: this.ProjectData.department,\n StartWeekNo: this.ProjectData.startweekno,\n EndWeekNo: this.ProjectData.endweekno,\n Year: this.ProjectData.year,\n SetWeekEnd: this.ProjectData.SetWeekEnd,\n SetHolidays: this.ProjectData.SetHolidays,\n dtProjectAllocationData: this.ProjectAllocationDataGrids2,\n GroupID: 0,\n CreatedBy: this.LedgerID,\n CreatedDate: '2020-09-01',\n LastUpdatedBy: this.LedgerID,\n LastUpdatedDate: '2020-09-01'\n };\n // console.log('params :', params);\n// this.service.updateProjectAllocationByWeek(params)\n this.service.httpPost('/ProjectAllocationByWeek/SetProjectAllocationData',params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let users: any;\n users = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (users.errno === 0) {\n this.notificationService.success('Submitted successfully');\n }\n else {\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n // let removeTotalAllotMins = this.ProjectAllocationDataGrids2.map(({ TotalAllotMins, ...item }) => item);\n // let removeTotalWorkMins = removeTotalAllotMins.map(({ TotalWorkMins, ...item }) => item);\n // let removeType = removeTotalWorkMins.map(({ Type, ...item }) => item);\n // let removeName = removeType.map(({ Name_Allotted, ...item }) => item);\n // console.log('ProjectAllocationDataGrids2',removeName);\n // this.ProjectAllocationDataGrids2=removeName;\n // //const index = this.dataSource.data.indexOf(item.id);\n // this.ProjectAllocationDataGrids2.splice(1, 1);\n // console.log('ProjectAllocationDataGrids2',this.ProjectAllocationDataGrids2);\n\n }\n\n onFileChange(evt: any) {\n /* wire up file reader */\n const target: DataTransfer = (evt.target);\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\n const reader: FileReader = new FileReader();\n reader.onload = (e: any) => {\n /* read workbook */\n const bstr: string = e.target.result;\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\n\n /* grab first sheet */\n const wsname: string = wb.SheetNames[0];\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\n\n /* save data */\n this.data = (XLSX.utils.sheet_to_json(ws));\n // console.log(this.data);\n this.ProjectAllocationDataGrids2 = this.data;\n };\n reader.readAsBinaryString(target.files[0]);\n }\n\n\n onCellPrepared(e) {\n if (e.rowType !== 'data' || e.columnIndex > 2 ) {\n return;\n }\n if (e.rowIndex % 2 === 0 && ( e.columnIndex == 0 || e.columnIndex == 1 || e.columnIndex == 2 )) {\n e.cellElement.rowSpan = 2;\n e.cellElement.innerHTML = '
' + e.value + '
';\n }\n else {\n e.cellElement.style.display = 'none';\n }\n // if(e.rowType === 'header') {\n // e.cellElement.css(\"backgroundColor\", \"blue\");\n // }\n }\n\n}\nexport class ProjectAllocationDataGrid {\n LedgerID: number;\n ResourceAllocationID: number;\n Name_Allotted: string;\n TotalAllotMins: number;\n TotalWorkMins: number;\n Type: string;\n}\n\n","import { MatDialog, MatDialogRef,MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable,of } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';;\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { Inject } from '@angular/core';\nimport { DialogService } from './../../../Services/OtherServices/dialog.service';\nimport { User } from 'src/app/Modules/user';\n\nexport const PICK_FORMATS = {\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\n display: {\n dateInput: 'input',\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\n }\n};\n\n// class PickDateAdapter extends NativeDateAdapter {\n// format(date: Date, displayFormat: Object): string {\n// if (displayFormat === 'input') {\n// return formatDate(date,'dd-MM-yyyy',this.locale);;\n// } else {\n// return date.toDateString();\n// }\n// }\n// }\n\n\n@Component({\n selector: 'app-alternateemp',\n templateUrl: './alternateemp.component.html',\n styleUrls: ['./alternateemp.component.css']\n ,\n// providers: [\n// {provide: DateAdapter, useClass: PickDateAdapter},\n// {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}\n// ]\n})\nexport class AlternateempComponent implements OnInit {\n\n SelectedCompanyID: number;\n companies: any;\n projectdata: any;\n ApprovalGroupID: any;\n AuthorizerID: any; \n Employees: any;\n RoleID: any;\n cid:any;\n projectlist: any;\n selectedCID:number; \n showSpinner:any;\n \n employeeid:string[]=[];\n\n \n\n AlternateEmpFormGroup: FormGroup;\n isEditable = true; \n separatorKeysCodes: number[] = [ENTER, COMMA];\n myControl = new FormControl();\n options: string[] = ['One', 'Two', 'Three'];\n fcEmployee = new FormControl();\n filteredEmployees: Observable;\n employees: string[] = [];\n allEmployees: string[] = [];\n selectable = true;\n removable = true;\n rtnprojectid:any;\n rtndate:any;\n rtngrpid:any;\n\n date: Date; //= new FormControl(new Date());\n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n\n @ViewChild('empInput') empInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,private dialogService: DialogService,\n public notificationService: NotificationService, private datePipe: DatePipe,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.rtnprojectid=this.data.project;\n this.rtndate=this.data.date;\n\n \n this.AlternateEmpFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n fcProject: ['', Validators.required], \n fcDate: ['', Validators.required],\n fcGroupID: ['', Validators.required],\n fcAuthorizer: ['', Validators.required], \n fcEmployee: ['', Validators.required], \n fcRole: ['', Validators.required] \n });\n \n this.fcEmployee.valueChanges.subscribe(search => {\n this.filteredEmployees = of(this.allEmployees.filter(item =>\n item.toLowerCase().includes(search)\n ));\n });\n }\n\n private _filteremployees(value1: string): string[] {\n const filterprojectValue = value1.toLowerCase();\n \n return this.allEmployees.filter(value1 => value1.toLowerCase().indexOf(filterprojectValue) === 0);\n }\n \n addemployees(event1: MatChipInputEvent): void {\n const input = event1.input;\n const value = event1.value;\n if ((value || '').trim()) {\n this.employees.push(value.trim());\n }\n if (input) {\n input.value = '';\n }\n this.fcEmployee.setValue(null);\n }\n \n removeemployees(emp: string): void {\n const index = this.employees.indexOf(emp);\n if (index >= 0) {\n this.employees.splice(index, 1);\n }\n }\n \n selectedemployees(event1: MatAutocompleteSelectedEvent): void {\n this.employees.push(event1.option.value);\n this.empInput.nativeElement.value = '';\n this.fcEmployee.setValue(null);\n }\n\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n // this.AlternateEmpFormGroup.controls.fcCompany.setValue(this.cid);\n // this.AlternateEmpFormGroup.controls.fcDate.setValue(this.rtndate);\n // this.AlternateEmpFormGroup.controls.fcProject.setValue(this.rtnprojectid);\n // this.onprojectpageloadChange();\n \n }\n\n onprojectpageloadChange() { \n let params = {\n CID:this.AlternateEmpFormGroup.get('fcCompany').value,\n Flag: \"GROUPNAME\", \n UserID: \"0\",\n ApprovalGroupID: this.rtnprojectid,\n AllotDate : this.datePipe.transform(this.AlternateEmpFormGroup.get('fcDate').value,\"dd-MM-yyyy\") \n };\n this.service.httpPost('/ProjectEffort/Getdropdownvalues',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n if (result.errno === 0) { \n this.ApprovalGroupID=result.respdata.ApproveGroupID; \n this.AlternateEmpFormGroup.controls.fcGroupID.setValue(this.ApprovalGroupID[0].ApprovalGroupID);\n // this.AlternateEmpFormGroup.controls.fcGroupID.setValue(result.respdata.ApproveGroupID[0].ApprovalGroupID);\n this.Employees = result.respdata.Employee; \n this.AuthorizerID=result.respdata.Authorizer; \n this.allEmployees= _.pluck(this.Employees, 'Name'); \n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n } \n\n changesite(e) { \n this.cid=e.value;\n this.PageLoad();\n }\n\n \n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID:this.cid,\n Flag: \"LOADDDL\", \n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\"),\n ApprovalGroupID: \"\" \n };\n this.service.httpPost('/ProjectEffort/Getdropdownvalues',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n if (result.errno === 0) { \n this.companies = curUser.dtsiteid; \n this.projectdata = result.respdata.Projectlist; \n this.ApprovalGroupID=result.respdata.ApproveGroupID;\n // this.AuthorizerID=result.respdata.Authorizer; \n // this.Employees = result.respdata.Employee;\n this.RoleID=result.respdata.Role;\n \n // this.employees= _.pluck(this.Employees, 'Name'); \n this.allEmployees= _.pluck(this.Employees, 'Name'); \n \n \n this.AlternateEmpFormGroup.controls.fcCompany.setValue(this.cid);\n this.AlternateEmpFormGroup.controls.fcDate.setValue(this.rtndate);\n this.AlternateEmpFormGroup.controls.fcProject.setValue(this.rtnprojectid);\n this.onprojectpageloadChange();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n \n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.AlternateEmpFormGroup.reset();\n // this.initializeFormGroup();\n this.dialogRef.close();\n }\n });\n }\n\n onprojectChange(ob) { \n this.rtnprojectid = ob.value; \n let params = {\n CID:this.AlternateEmpFormGroup.get('fcCompany').value,\n Flag: \"GROUPNAME\", \n UserID: \"0\",\n ApprovalGroupID: this.rtnprojectid,\n AllotDate : this.datePipe.transform(this.AlternateEmpFormGroup.get('fcDate').value,\"dd-MM-yyyy\") \n };\n this.service.httpPost('/ProjectEffort/Getdropdownvalues',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n if (result.errno === 0) { \n this.ApprovalGroupID=result.respdata.ApproveGroupID; \n this.Employees = result.respdata.Employee; \n this.AuthorizerID=result.respdata.Authorizer; \n this.allEmployees= _.pluck(this.Employees, 'Name'); \n this.AlternateEmpFormGroup.controls.fcGroupID.setValue(this.ApprovalGroupID[0].ApprovalGroupID); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear(){\n this.AlternateEmpFormGroup.reset();\n // this.selectedemployees\";\n this.fcEmployee.reset();\n this.AlternateEmpFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n\n Submit() {\n // if (this.AlternateEmpFormGroup.invalid) { \n // return;\n // } \n this.showSpinner=true;\n let params = { \n CID: this.AlternateEmpFormGroup.get('fcCompany').value,\n Flag: \"ALTERNATEEMP\", \n ProjectUID: this.AlternateEmpFormGroup.get('fcProject').value,\n AllotDate : this.datePipe.transform(this.AlternateEmpFormGroup.get('fcDate').value,\"dd-MM-yyyy\"), \n ApprovalGroupID: this.AlternateEmpFormGroup.get('fcGroupID').value, \n Authorizer: this.AlternateEmpFormGroup.get('fcAuthorizer').value, \n jsondt:this.employees, \n Role: this.AlternateEmpFormGroup.get('fcRole').value,\n //Hours:this.AlternateEmpFormGroup.get('fcAllotHrs').value, \n Hours:\"\", \n };\n this.service.httpPost('/ProjectEffort/Setalternateemp',params)\n .subscribe(\n (data) => {\n let result: any; \n result = data; \n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (result.errno === 0) {\n this.notificationService.success(result.errdesc); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { User } from './../../../Modules/user';\nimport { Component, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { DxDataGridModule, DxSelectBoxModule, DxDateBoxModule, DxButtonModule, DxSpeedDialActionModule } from 'devextreme-angular';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { AlternateempComponent } from '../alternateemp/alternateemp.component';\nimport pdfMake from 'pdfmake/build/pdfmake';\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\npdfMake.vfs = pdfFonts.pdfMake.vfs;\nimport {Observable} from 'rxjs';\nimport {startWith, map, pluck} from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { UserService } from './../../Admin/Users/userValidate';\nimport { AnonymousSubject } from 'rxjs/internal/Subject';\n\n\n@Component({\n selector: 'app-attendance',\n templateUrl: './attendance.component.html',\n styleUrls: ['./attendance.component.scss'],\n})\nexport class AttendanceComponent implements OnInit {\n\n showSpinner:any;\n isbioVisible:boolean=false;\n dataSource: any;\n // leavetype: LeaveType[];\n EffortCateg1:EffortCateg1[];\n EffortCateg2:any;\n viewbtnvisible: boolean = false;\n projectlist: any;\n projectname: string;\n leavetypes: LeaveType[];\n employeeleavelist: any;\n projectid: string;\n date: Date; //= new FormControl(new Date());\n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n startEditAction: 'click';\n selectTextOnEditStart: true; \n selectedRowsData = [];\n selectedEffortSlno:any;\n onSelectionChange:boolean;\n //dx-selector attribute\n // searchModeOption = 'contains';\n // searchExprOption: any = 'ProjectName';\n // searchTimeoutOption = 200;\n // minSearchLengthOption = 0;\n\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n saveenable: boolean = false; \n\n projectids: string[]= [];\n myControl = new FormControl();\n filteredOptions: Observable;\n CurLedgerID:number;\n CurUserName:any;\n\n constructor(private service: HttpserviceService, private dialog: MatDialog,private service1: UserService,\n public notificationService: NotificationService,private generic: GenericService,\n private datePipe: DatePipe) {\n // this.dataSource = service.getEmployees();\n // this.states = service.getStates();\n this.showSpinner=false; \n }\n\n ngOnInit(): void {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurUserName=curUser.username;\n this.CurLedgerID=curUser.ledgerid; \n // console.log(' this.LedgerID', this.CurLedgerID);\n this.date= new Date();\n this.getprojectlist();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n \n \n }\n getUserList(){ \n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_92\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n this.viewbtnvisible = btnVisilityData.viewflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n // console.log('projectlist: ', this.projectlist);\n // console.log('filter vlaue: ', filterValue);\n // console.log('projectids: ', this.projectids);\n return this.projectids.filter(option => option.toLowerCase().includes(filterValue));\n\n }\n selectedproduct(event) { \n this.projectid = JSON.parse(_.pluck(_.where(this.projectlist, { 'ProjectName': event.option.value }), 'ID'));\n this.dataSource = '';\n this.getprojectemployee();\n }\n\n openDialog() {\n //const dialogRef = this.dialog.open(AlternateempComponent);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n // CID:this.HrPolicyFormGroup.get('fcCompany').value,\n project:this.projectid,\n date:this.date\n }\n const dialogRef = this.dialog.open(AlternateempComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.dataSource = ''; \n this.getprojectemployee(); \n });\n }\n // used to get project list from project master\n getprojectlist(){\n \n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n ledgerid:this.CurLedgerID\n };\n const query = `cid=${params.cid}&ledgerid=${params.ledgerid}`;\n this.service.httpGet('/projecteffort/projectlist?',query)\n \n .subscribe(data => {\n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n\n if (result.errno === 0){\n this.projectlist = result.respdata;\n this.projectids = _.pluck(this.projectlist, 'ProjectName');\n \n this.getUserList();\n }\n \n // console.log('Project list: ', this.projectlist);\n \n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n }\n\n //used to get all employee of the specified project, get Leavetype from LeaveTypeMaster, Get employees for this given date and this project except who taken leave (get it by #Table)\n getprojectemployee(){\n \nconsole.log('abcd',this.projectid)\n \nif (this.projectid != undefined) {\n this.showSpinner=true; \n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n projectUID: this.projectid,\n ledgerid: this.curUser.ledgerid,\n date: this.datePipe.transform(this.date, 'yyyy-MM-dd')\n };\n const query = `cid=${params.cid}&projectUID=${params.projectUID}&ledgerid=${params.ledgerid}&date=${params.date}`;\n this.service.httpGet('/projecteffort/projectemployee?',query)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 500)\n result = data;\n // console.log('result: ', result);\n // tslint:disable-next-line: one-line\n if (result.errno === 0){\n this.leavetypes = result.respdata.LeaveTypes;\n // console.log('leavetypes: ', this.leavetypes);\n // this.employeelist = new MatTableDataSource( result.respdata.EmployeeList);\n this.employeeleavelist = result.respdata.EmployeeLeaveList;\n this.dataSource = result.respdata.EmployeeList;\n \n this.EffortCateg1=result.respdata.Effortcateg1;\n this.EffortCateg2=result.respdata.Effortcateg2;\n\n // console.log('HI',this.EffortCateg1);\n // console.log('bye',this.EffortCateg2);\n\n\n this.selectedEffortSlno=_.pluck(_.where(this.dataSource, { 'ChkStatus': '1' }), 'LedgerID');\n\n // console.log('leavetypes: ', this.selectedEffortSlno);\n // console.log('Effort: ', this.dataSource);\n // console.log('emplist: ', this.employeelist);\n // console.log('empleavelist: ', this.employeeleavelist);\n }\n // tslint:disable-next-line: one-line\n else{\n // tslint:disable-next-line: comment-format\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n // tslint:disable-next-line: curly\n if (error instanceof BadInput)\n // this.form.setErrors(error.originalError);\n console.log(error);\n // tslint:disable-next-line: curly\n else throw error;\n });\n }\n else\n this.notificationService.warn('Please select project');\n }\n\n // tslint:disable-next-line: one-line\n Submit(){\n // console.log('date: ', this.datePipe.transform(this.date,\"dd-MM-yyyy\"))\n // remove biometric column from object\n // const removebiometric = this.dataSource.map(({ BioMetric, ...item }) => item);\n // // remove leavetype column from object\n // const removeleavetype = removebiometric.map(({ LeaveType, ...item }) => item);\n // // console.log('params0 :', removebiometric);\n // const filteredcolumn = removeleavetype.map(({ Name, ...item }) => item);\n // // console.log('params1 :', filteredcolumn[0]);\n // console.log('submit',this.dataSource);\n const filteredcolumn = this.dataSource.map(item => { return {\n \n Attendance: item.Attendance,\n Comment: item.Comment,\n Effort: item.Effort,\n EndTime: item.EndTime,\n LedgerID: item.LedgerID,\n OT: item.OT,\n StartTime: item.StartTime,\n ChkStatus: item.ChkStatus,\n EffortCat1:item.EffortCat1,\n EffortCat2:item.EffortCat2,\n Description:item.Description\n }});\n\n this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800)\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n effortdate: this.datePipe.transform(this.date, 'yyyy-MM-dd'),\n projectUID: this.projectid,\n effort: filteredcolumn,\n UserID:this.CurLedgerID,\n UserName:this.CurUserName,\n GroupID:sessionStorage.getItem('groupid'),\n ApplicationDetails:'Web'\n };\n // console.log('params :', params);\n this.service.httpPost('/projecteffort/projecteffortupdate',params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let users: any;\n users = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (users.errno === 0){\n this.notificationService.success(users.errdesc);\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n this.projectid=undefined;\n }\n \n validateTime(e){\n // console.log('inside validate time: ', e.value.length);\n return e.value.length === 5 ? true : false;\n }\n\n //Calculate Effort based on Starttime changed\n calculateEffortStartTime(newData, value, currentRowData){\n const startTime = new Date(value);\n const endTime = new Date(currentRowData.EndTime);\n\n const stringDate = value.getFullYear() +\n '-' +\n (1 + value.getMonth()).toString().padStart(2, '0') +\n '-' +\n value.getDate().toString().padStart(2, '0') +\n 'T' +\n value.getHours().toString().padStart(2, '0') +\n ':' +\n value.getMinutes().toString().padStart(2, '0') +\n ':' +\n value.getSeconds().toString().padStart(2, '0');\n\n // console.log('stringDate', stringDate);\n newData.StartTime = stringDate;\n\n newData.Effort = currentRowData.Effort;\n\n if (startTime.getTime() < endTime.getTime()) {\n\n const difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.Effort =\n difference.getHours().toString().padStart(2, '0') +\n ':' +\n difference.getMinutes().toString().padStart(2, '0');\n }\n\n\n }\n\n //Calculate Effort based on Endtime changed\n calculateEffortEndTime(newData, value, currentRowData) {\n const startTime = new Date(currentRowData.StartTime);\n const endTime = new Date(value);\n\n const stringDate = value.getFullYear() +\n '-' +\n (1 + value.getMonth()).toString().padStart(2, '0') +\n '-' +\n value.getDate().toString().padStart(2, '0') +\n 'T' +\n value.getHours().toString().padStart(2, '0') +\n ':' +\n value.getMinutes().toString().padStart(2, '0') +\n ':' +\n value.getSeconds().toString().padStart(2, '0');\n\n newData.EndTime = stringDate;\n\n const difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.Effort =\n difference.getHours().toString().padStart(2, '0') +\n ':' +\n difference.getMinutes().toString().padStart(2, '0');\n }\n\n addCustomItem(data){\n // console.log('project selction: ', data);\n }\n\n // onValueChanged(e) {\n // console.log(\"selected item : \" + e);\n // const item = this.projectlist.filter(i => i.ID === e.value)[0];\n // this.projectname = item.ProjectName;\n // console.log(item.ID + ': ' + this.projectname);\n// }\n\n generatePdf(action = 'open') {\n const documentDefinition = this.getDocumentDefinition();\n switch (action) {\n case 'open': pdfMake.createPdf(documentDefinition).open(); break;\n case 'print': pdfMake.createPdf(documentDefinition).print(); break;\n case 'download': pdfMake.createPdf(documentDefinition).download(); break;\n default: pdfMake.createPdf(documentDefinition).open(); break;\n }\n }\n\n exportAsExcel()\n {\n // , {header:['name', 'surname']}\n this.generic.excelExport(this.dataSource, 'Attendance', 'EffortList' );\n }\n\n\n onChangeEvent(){ \n this.dataSource = '';\n this.getprojectemployee();\n }\n\n getDocumentDefinition() {\n\n // sessionStorage.setItem('resume', JSON.stringify(this.resume));\n return {\n content: [\n {\n text: 'Project Attendance',\n bold: true,\n fontSize: 20,\n alignment: 'center',\n margin: [0, 0, 0, 20]\n },\n {\n columns: [\n [{\n text: 'Project : ' + this.projectname,\n style: 'name'\n },\n {\n text: 'Date : ' + this.datePipe.transform(this.date, 'yyyy-MM-dd')\n },\n {\n text: 'Company : '+ JSON.parse(sessionStorage.getItem('cid')) ,\n }\n ]\n ]\n },\n {\n text: 'Effort',\n style: 'header'\n },\n this.getAttendance(),\n {\n text: 'Signature',\n style: 'sign'\n }\n ,\n {\n columns : [\n // { qr: this.curUser.userid , fit : 100 },\n {\n text: `(${this.curUser.username})`,\n alignment: 'right',\n }\n ]\n }\n ],\n styles: {\n header: {\n fontSize: 18,\n bold: true,\n margin: [0, 20, 0, 10],\n decoration: 'underline'\n },\n name: {\n fontSize: 16,\n bold: true\n },\n jobTitle: {\n fontSize: 14,\n bold: true,\n italics: true\n },\n sign: {\n margin: [0, 50, 0, 10],\n alignment: 'right',\n italics: true\n },\n tableHeader: {\n bold: true,\n }\n }\n };\n }\n onSelectionChanged(e) { // Handler of the \"selectionChanged\" event\n \n const currentSelectedRowKeys = e.currentSelectedRowKeys;\n const currentDeselectedRowKeys =e.currentDeselectedRowKeys;\n const allSelectedRowKeys = e.allSelectedRowKeys;\n const allSelectedRowsData = e.allSelectedRowsData; \n \n if(currentSelectedRowKeys.length>0){\n var i=0;\n for (let key of Object.keys(this.dataSource)) {\n let keydata = this.dataSource[key]; \n //console.log('keydata',keydata['SlNo']);\n if (currentSelectedRowKeys[i]=== keydata['LedgerID']){ \n keydata['ChkStatus'] =\"1\"; \n i=i+1; \n } \n }\n }\n else if(currentDeselectedRowKeys.length>0){ \n var j=0;\n for (let key of Object.keys(this.dataSource)) {\n let keydata = this.dataSource[key]; \n if (currentDeselectedRowKeys[j]=== keydata['LedgerID']) { \n keydata['ChkStatus'] =\"0\"; \n j=j+1; \n } \n }\n }\n // console.log('selectedRowsData',e.selectedRowsData);\n //console.log('EffortApprovalDataGrids', this.dataSource);\n }\n \n \n\n onClear()\n { \n this.myControl.setValue(''); \n this.employeeleavelist ='';\n this.dataSource = '';\n this.projectid=null;\n }\n\n getAttendance() {\n const result = this.dataSource.filter(value => value.StartTime !== value.EndTime);\n // console.log('result: ', result);\n return {\n table: {\n widths: ['*', '*', '*', '*', '*', '*'],\n body: [\n [{\n text: 'Name',\n style: 'tableHeader'\n },\n {\n text: 'StartTime',\n style: 'tableHeader'\n },\n {\n text: 'End Time',\n style: 'tableHeader'\n },\n {\n text: 'Effort',\n style: 'tableHeader'\n },\n {\n text: 'OT',\n style: 'tableHeader'\n },\n {\n text: 'Comment',\n style: 'tableHeader'\n },\n ]\n ,\n ...result.map(ed => {\n return [ed.Name, this.datePipe.transform(ed.StartTime, 'h:mm'), this.datePipe.transform(ed.EndTime, 'h:mm'), ed.Effort, ed.OT, ed.Comment];\n })\n ]\n }\n };\n }\n\n}\n// export class Employee {\n// Attendance: number;\n// LedgerID: number;\n// Name: string;\n// BioMetric: string;\n// StartTime: string;\n// EndTime: string;\n// Effort: string;\n// OT: string;\n// Comment: string;\n// LeaveType: number;\n// }\n\nexport class LeaveType {\n LID: number;\n LeaveType: string;\n}\n\nexport class EffortCateg1\n{\n EntityID:number;\n Tag:string;\n}","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { AbstractControl } from '@angular/forms';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n//import { NullTemplateVisitor } from '@angular/compiler';\n\n@Component({\n selector: 'app-estimationweeklyreport',\n templateUrl: './estimationweeklyreport.component.html',\n styleUrls: ['./estimationweeklyreport.component.scss'],\n})\nexport class EstimationweeklyreportComponent implements OnInit {\n @ViewChild('stepper') stepper;\n dataSource: any;\n SelectedCompanyID: number;\n projectdata: any;\n Companies: any;\n Roles: any;\n Employees: any;\n showSpinner:any\n selectedemployees: number;\n selectedCID: number;\n selectedprojectid: any;\n selectedprojectname: any;\n selecteddepartments: number;\n projectid: string[]= [];\n selectedEmpID: string = 'All';\n EstimationFormGroup: FormGroup;\n EstimationDataFormGroup: FormGroup;\n isEditable = true;\n myControl1 = new FormControl();\n myControl = new FormControl();\n filteredOptions: Observable;\n filteredOptions2: Observable;\n cid:any;\n oneJan: any;\n numberOfDays: number;\n curMonth: any;\n count:any;\n onSelectionChange:boolean;\n employeeidname: string[] = [];\n\n constructor(private service: HttpserviceService, \n private formBuilder: FormBuilder, private dialog: MatDialog,\n public notificationService: NotificationService, private datePipe: DatePipe) \n { \n this.EstimationFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required], \n fcRole: [''],\n fcStartWeekNo: ['', Validators.required],\n fcEndWeekNo: ['', Validators.required],\n fcYear: ['', Validators.required] \n });\n \n this.EstimationDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit() {\n this.getWeekNo();\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n this.EstimationFormGroup.controls.fcCompany.setValue(this.cid);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl'))\n );\n\n this.filteredOptions2 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl1'))\n );\n }\n\n PageLoad() {\n const params = {\n CID: this.cid,\n Flag: 'DROPDOWN' \n };\n \n this.service.httpPost('/EstimationWeeklyReport/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata.Table);\n this.Companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employees;\n this.projectdata = result.respdata.Project;\n this.Roles = result.respdata.Role;\n this.projectid = _.pluck(this.projectdata, 'ProjectID');\n this.employeeidname = _.pluck(this.Employees, 'Name');\n this.onSelectionChange=false;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n\n getWeekNo() {\n const date = new Date();\n this.curMonth = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n this.oneJan = new Date(date.getFullYear(), 0, 1);\n this.numberOfDays = Math.floor((this.curMonth - this.oneJan) / (24 * 60 * 60 * 1000));\n this.EstimationFormGroup.get('fcStartWeekNo').setValue(Math.ceil((date.getDay() + 1 + this.numberOfDays) / 7));\n this.EstimationFormGroup.get('fcEndWeekNo').setValue(Math.ceil((date.getDay() + 1 + this.numberOfDays) / 7) + 6);\n this.EstimationFormGroup.get('fcYear').setValue(date.getFullYear());\n console.log(this.EstimationFormGroup.value.fc);\n }\n private _filter(value: string, control: string): string[] {\n \n const filterValue = value.toLowerCase(); \n if (control === 'myControl') { \n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n else if (control === 'myControl1') { \n return this.employeeidname.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n \n SearchClear1()\n {\n this.myControl1.setValue(''); \n }\n \n \n selectedEmployee(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n // console.log('control', control);\n if (control === 'myControl') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID'));\n //console.log('selectedprojectid', this.selectedprojectid);\n }\n else {\n this.selectedEmpID = event.option.value;\n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n //console.log('selectedEmpID', this.selectedEmpID);\n }\n\n }\n\n Submit() {\n if (this.EstimationFormGroup.invalid) {\n return;\n }\n\n this.showSpinner=true;\n const params = {\n CID: this.cid,\n Flag: 'LOAD',\n EmployeeID:this.selectedEmpID==\"All\" ? \"%\" : this.selectedEmpID, \n DepartmentID:\"\",\n ProjectID: this.selectedprojectid,\n RoleID:this.EstimationFormGroup.get('fcRole').value==\"\"?\"%\":this.EstimationFormGroup.get('fcRole').value, \n FromDate:this.EstimationFormGroup.get('fcStartWeekNo').value, \n ToDate:this.EstimationFormGroup.get('fcEndWeekNo').value, \n Year:this.EstimationFormGroup.get('fcYear').value\n };\n \n this.service.httpPost('/EstimationWeeklyReport/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata);\n this.dataSource = result.respdata; \n this.stepper.selectedIndex = 1;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n\n }\n\n onSearchClear(){\n this.EstimationFormGroup.reset(); \n this.dataSource=''; \n this.myControl.setValue(''); \n this.myControl1.setValue(''); \n this.selectedprojectid=null;\n this.selectedEmpID='All'\n this.stepper.selectedIndex = 0;\n this.ngOnInit();\n }\n\n changesite(e) {\n console.log('change',e.value);\n this.cid=e.value;\n this.ngOnInit();\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { AbstractControl } from '@angular/forms';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../Admin/Users/userValidate';\nimport { ResourceallocationbydayComponent } from '../resourceallocationbyday/resourceallocationbyday.component';\n\n\n@Component({\n selector: 'app-project-allocation-by-day',\n templateUrl: './project-allocation-by-day.component.html',\n styleUrls: ['./project-allocation-by-day.component.scss'],\n})\nexport class ProjectAllocationByDayComponent implements OnInit {\n\n dataSource: ProjectAllocationDataGrid[];\n ProjectAllocationDataGrids: any;\n //projectdata:string[];\n SelectedCompanyID: number;\n projectdata: any;\n companies: any;\n Departments: any;\n setWeekEnd: number;\n setHolidays: number;\n\n selectedCID: number;\n selectedprojectid: any;\n selectedprojectname: any;\n selecteddepartments: number;\n projectid: string[]= [];\n\n ProjectDayFormGroup: FormGroup;\n ProjectDayDataFormGroup: FormGroup;\n isEditable = true;\n\n myControl = new FormControl('', [Validators.required]);\n //options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n cid:any;\n oneJan: any;\n numberOfDays: number;\n curMonth: any;\n count:any;\n addbtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n constructor(private service: HttpserviceService, private service1: UserService, \n private formBuilder: FormBuilder, private dialog: MatDialog, private generic: GenericService,\n public notificationService: NotificationService, private datePipe: DatePipe) {\n\n this.ProjectDayFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required] , \n fcDepartment: ['', Validators.required],\n fcFromDate: ['', Validators.required],\n fcToDate: ['', Validators.required] \n });\n\n this.ProjectDayDataFormGroup = this.formBuilder.group({ \n });\n\n }\n\n ngOnInit(): void { \n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n this.ProjectDayFormGroup.controls.fcCompany.setValue(this.cid);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n\n changesite(e) {\n // console.log('change',e.value);\n this.cid=e.value;\n this.PageLoad();\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n\n }\n\n selectedproduct(event) {\n //this.selectedprojectid=event.option.value;\n this.selectedprojectname = event.option.value;\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID'));\n }\n\n PageLoad() {\n const params = {\n CID: this.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: 'PageLoad',\n EmployeeID: 'BHE 067',\n ProjectID: 0,\n RoleID: 0\n };\n \n // this.service.getprojectallcoationlist(params)\n this.service.httpPost('/ProjectAllocationByWeek/GetProjectAllocationData',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.companies = result.respdata.Table;\n this.SelectedCompanyID = this.cid;\n this.projectdata = result.respdata.Table1; \n this.Departments = result.respdata.Table2;\n this.projectid = _.pluck(this.projectdata, 'ProjectID'); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n Submit() {\n if (this.ProjectDayFormGroup.invalid) {\n this.notificationService.warn('Please select project and department'); \n return;\n } \n const params = {\n CID: this.ProjectDayFormGroup.get('fcCompany').value, //101,\n Flag: 'LOAD',\n EmployeeID: '',\n ProjectID: this.selectedprojectid,\n RoleID: this.ProjectDayFormGroup.get('fcDepartment').value, //this.selecteddepartments,\n DepartmentID: this.ProjectDayFormGroup.get('fcDepartment').value,\n FromDate: this.datePipe.transform(this.ProjectDayFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n ToDate: this.datePipe.transform(this.ProjectDayFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n this.datePipe.transform(this.ProjectDayFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.ProjectDayFormGroup.get('fcToDate').value,\"dd-MM-yyyy\") \n }; \n //this.service.getprojectallcoationlist(params)\n this.service.httpPost('/ProjectAllocationByDay/GetProjectAllocationDayData',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n // const removeLedgerID = result.respdata.Table.map(({ LedgerID, ...item }) => item);\n // const removeResourceAllocationID = removeLedgerID.map(({ ResourceAllocationID, ...item }) => item);\n // this.ProjectAllocationDataGrids = removeResourceAllocationID; //result.respdata.Table;\n this.dataSource = result.respdata.Table; \n console.log('sfsgsd',this.dataSource)\n // this.count=result.respdata.Table.length/2; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n onSearchClear(){\n this.ProjectDayFormGroup.reset(); \n this.ProjectAllocationDataGrids=''; \n this.myControl.setValue(''); \n this.ProjectDayFormGroup.controls.fcCompany.setValue(this.cid); \n }\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n excelImport(){\n\n }\n\n startweekno:number;\n endweekno:number;\n weekdiff:number;\n \n openDialog(Flag: string) {\n\n if (this.ProjectDayFormGroup.invalid) {\n this.notificationService.warn('Please select project and department'); \n return;\n }\n \n // console.log('FLAG',Flag);\n //console.log('Weekdiff',this.weekdiff); \n \n const ProjectDataByDay = {\n cid: this.ProjectDayFormGroup.get('fcCompany').value, \n projectuid: this.selectedprojectid, \n department: this.ProjectDayFormGroup.get('fcDepartment').value, \n fromdate: this.datePipe.transform(this.ProjectDayFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n todate: this.datePipe.transform(this.ProjectDayFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n this.datePipe.transform(this.ProjectDayFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.ProjectDayFormGroup.get('fcToDate').value,\"dd-MM-yyyy\"), \n flag: Flag,\n }; \n sessionStorage.setItem('ProjectDataByDay', JSON.stringify(ProjectDataByDay))\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n // this.dialog.open(ResourceallocationbydayComponent,dialogConfig);\n const dialogRef = this.dialog.open(ResourceallocationbydayComponent,dialogConfig);\n dialogRef.afterClosed();\n \n }\n}\n\nexport function RequireMatch(control: AbstractControl) {\n const selection: any = control.value;\n if (typeof selection === 'string') {\n return { incorrect: true };\n }\n return null;\n}\nexport class ProjectAllocationDataGrid {\n LedgerID: number;\n ResourceAllocationID: number;\n Name_Allotted: string;\n TotalAllotMins: number;\n TotalWorkMins: number;\n Type: string;\n}\n\n","import { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { User } from './../../../Modules/user';\nimport { Component, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { DxDataGridModule, DxSelectBoxModule, DxDateBoxModule, DxButtonModule, DxSpeedDialActionModule } from 'devextreme-angular';\nimport { MatDialog,MatDialogConfig } from '@angular/material/dialog';\nimport { AlternateempComponent } from '../alternateemp/alternateemp.component';\nimport pdfMake from 'pdfmake/build/pdfmake';\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\npdfMake.vfs = pdfFonts.pdfMake.vfs;\nimport {Observable} from 'rxjs';\nimport {startWith, map, pluck} from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { UserService } from './../../Admin/Users/userValidate';\n\n\n@Component({\n selector: 'app-projecteffort',\n templateUrl: './projecteffort.component.html',\n styleUrls: ['./projecteffort.component.css']\n})\nexport class ProjecteffortComponent implements OnInit {\n showSpinner:any;\n isbioVisible:boolean=false;\n dataSource: any;\n // leavetype: LeaveType[];\n startEditAction: 'click';\n selectTextOnEditStart: true; \n viewbtnvisible: boolean = false;\n projectlist: any;\n projectname: string;\n leavetypes: LeaveType[];\n employeeleavelist: any;\n projectid: string;\n date: Date; //= new FormControl(new Date());\n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n\n //dx-selector attribute\n // searchModeOption = 'contains';\n // searchExprOption: any = 'ProjectName';\n // searchTimeoutOption = 200;\n // minSearchLengthOption = 0;\n\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n saveenable: boolean = false; \n\n projectids: string[]= [];\n myControl = new FormControl();\n filteredOptions: Observable;\n CurLedgerID:number;\n CurUserName:any;\n\n constructor(private service: HttpserviceService, private dialog: MatDialog,private service1: UserService,\n public notificationService: NotificationService,private generic: GenericService,\n private datePipe: DatePipe) {\n // this.dataSource = service.getEmployees();\n // this.states = service.getStates();\n this.showSpinner=false; \n }\n\n ngOnInit(): void {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurUserName=curUser.username;\n this.CurLedgerID=curUser.ledgerid; \n // console.log(' this.LedgerID', this.CurLedgerID);\n this.date= new Date();\n this.getprojectlist();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n \n \n }\n getUserList(){ \n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_92\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights); \n this.viewbtnvisible = btnVisilityData.viewflag;\n \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n // console.log('projectlist: ', this.projectlist);\n // console.log('filter vlaue: ', filterValue);\n // console.log('projectids: ', this.projectids);\n return this.projectids.filter(option => option.toLowerCase().includes(filterValue));\n\n }\n selectedproduct(event) {\n // this.selectedprojectname = event.option.value;\n this.projectid = JSON.parse(_.pluck(_.where(this.projectlist, { 'ProjectName': event.option.value }), 'ID'));\n \n }\n\n openDialog() {\n //const dialogRef = this.dialog.open(AlternateempComponent);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true; \n dialogConfig.data = { \n // CID:this.HrPolicyFormGroup.get('fcCompany').value,\n project:this.projectid,\n date:this.date\n }\n const dialogRef = this.dialog.open(AlternateempComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n // used to get project list from project master\n getprojectlist(){\n \n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n ledgerid:this.CurLedgerID\n };\n const query = `cid=${params.cid}&ledgerid=${params.ledgerid}`;\n this.service.httpGet('/projecteffort/projectlist?',query)\n \n .subscribe(data => {\n let result: any;\n result = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n\n if (result.errno === 0){\n this.projectlist = result.respdata;\n this.projectids = _.pluck(this.projectlist, 'ProjectName');\n \n this.getUserList();\n }\n \n // console.log('Project list: ', this.projectlist);\n \n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n }\n\n //used to get all employee of the specified project, get Leavetype from LeaveTypeMaster, Get employees for this given date and this project except who taken leave (get it by #Table)\n getprojectemployee(){\n // console.log('date: ', this.datePipe.transform(this.date,\"dd-MM-yyyy\"))\n\n // console.log('projectid : ', this.projectid);\n this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800)\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n projectUID: this.projectid,\n ledgerid: this.curUser.ledgerid,\n date: this.datePipe.transform(this.date, 'yyyy-MM-dd')\n };\n const query = `cid=${params.cid}&projectUID=${params.projectUID}&ledgerid=${params.ledgerid}&date=${params.date}`;\n this.service.httpGet('/projecteffort/projectemployee?',query)\n .subscribe(data => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 500)\n result = data;\n // console.log('result: ', result);\n // tslint:disable-next-line: one-line\n if (result.errno === 0){\n this.leavetypes = result.respdata.LeaveTypes;\n // console.log('leavetypes: ', this.leavetypes);\n // this.employeelist = new MatTableDataSource( result.respdata.EmployeeList);\n this.employeeleavelist = result.respdata.EmployeeLeaveList;\n this.dataSource = result.respdata.EmployeeList;\n // console.log('leavetypes: ', this.leavetypes);\n // console.log('Effort: ', this.dataSource);\n // console.log('emplist: ', this.employeelist);\n // console.log('empleavelist: ', this.employeeleavelist);\n }\n // tslint:disable-next-line: one-line\n else{\n // tslint:disable-next-line: comment-format\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n // tslint:disable-next-line: curly\n if (error instanceof BadInput)\n // this.form.setErrors(error.originalError);\n console.log(error);\n // tslint:disable-next-line: curly\n else throw error;\n });\n }\n\n // tslint:disable-next-line: one-line\n Submit(){\n // console.log('date: ', this.datePipe.transform(this.date,\"dd-MM-yyyy\"))\n // remove biometric column from object\n // const removebiometric = this.dataSource.map(({ BioMetric, ...item }) => item);\n // // remove leavetype column from object\n // const removeleavetype = removebiometric.map(({ LeaveType, ...item }) => item);\n // // console.log('params0 :', removebiometric);\n // const filteredcolumn = removeleavetype.map(({ Name, ...item }) => item);\n // // console.log('params1 :', filteredcolumn[0]);\n\n const filteredcolumn = this.dataSource.map(item => { return {\n Attendance: item.Attendance,\n Comment: item.Comment,\n Effort: item.Effort,\n EndTime: item.EndTime,\n LedgerID: item.LedgerID,\n OT: item.OT,\n StartTime: item.StartTime,\n }});\n\n this.showSpinner=true;\n // setTimeout(() =>{\n // this.showSpinner=false;\n // },\n // 800)\n const params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n effortdate: this.datePipe.transform(this.date, 'yyyy-MM-dd'),\n projectUID: this.projectid,\n effort: filteredcolumn,\n UserID:this.CurLedgerID,\n UserName:this.CurUserName,\n GroupID:sessionStorage.getItem('groupid'),\n ApplicationDetails:'CRMWeb'\n };\n // console.log('params :', params);\n this.service.httpPost('/projecteffort/projecteffortupdate',params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let users: any;\n users = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n if (users.errno === 0){\n this.notificationService.success('Record inserted sucessfully');\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n // this.service.form.setErrors(error.originalError);\n console.log(error);\n else throw error;\n });\n\n }\n\n validateTime(e){\n // console.log('inside validate time: ', e.value.length);\n return e.value.length === 5 ? true : false;\n }\n\n //Calculate Effort based on Starttime changed\n calculateEffortStartTime(newData, value, currentRowData){\n const startTime = new Date(value);\n const endTime = new Date(currentRowData.EndTime);\n\n const stringDate = value.getFullYear() +\n '-' +\n (1 + value.getMonth()).toString().padStart(2, '0') +\n '-' +\n value.getDate().toString().padStart(2, '0') +\n 'T' +\n value.getHours().toString().padStart(2, '0') +\n ':' +\n value.getMinutes().toString().padStart(2, '0') +\n ':' +\n value.getSeconds().toString().padStart(2, '0');\n\n // console.log('stringDate', stringDate);\n newData.StartTime = stringDate;\n\n newData.Effort = currentRowData.Effort;\n\n if (startTime.getTime() < endTime.getTime()) {\n\n const difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.Effort =\n difference.getHours().toString().padStart(2, '0') +\n ':' +\n difference.getMinutes().toString().padStart(2, '0');\n }\n\n\n }\n\n //Calculate Effort based on Endtime changed\n calculateEffortEndTime(newData, value, currentRowData) {\n const startTime = new Date(currentRowData.StartTime);\n const endTime = new Date(value);\n\n const stringDate = value.getFullYear() +\n '-' +\n (1 + value.getMonth()).toString().padStart(2, '0') +\n '-' +\n value.getDate().toString().padStart(2, '0') +\n 'T' +\n value.getHours().toString().padStart(2, '0') +\n ':' +\n value.getMinutes().toString().padStart(2, '0') +\n ':' +\n value.getSeconds().toString().padStart(2, '0');\n\n newData.EndTime = stringDate;\n\n const difference = new Date(\n endTime.getTime() -\n startTime.getTime() +\n startTime.getTimezoneOffset() * 60000\n );\n\n newData.Effort =\n difference.getHours().toString().padStart(2, '0') +\n ':' +\n difference.getMinutes().toString().padStart(2, '0');\n }\n\n addCustomItem(data){\n // console.log('project selction: ', data);\n }\n\n // onValueChanged(e) {\n // console.log(\"selected item : \" + e);\n // const item = this.projectlist.filter(i => i.ID === e.value)[0];\n // this.projectname = item.ProjectName;\n // console.log(item.ID + ': ' + this.projectname);\n// }\n\n generatePdf(action = 'open') {\n const documentDefinition = this.getDocumentDefinition();\n switch (action) {\n case 'open': pdfMake.createPdf(documentDefinition).open(); break;\n case 'print': pdfMake.createPdf(documentDefinition).print(); break;\n case 'download': pdfMake.createPdf(documentDefinition).download(); break;\n default: pdfMake.createPdf(documentDefinition).open(); break;\n }\n }\n\n exportAsExcel()\n {\n // , {header:['name', 'surname']}\n this.generic.excelExport(this.dataSource, 'Attendance', 'EffortList' );\n }\n\n\n onChangeEvent(){ \n this.dataSource = '';\n this.getprojectemployee();\n }\n\n getDocumentDefinition() {\n\n // sessionStorage.setItem('resume', JSON.stringify(this.resume));\n return {\n content: [\n {\n text: 'Project Attendance',\n bold: true,\n fontSize: 20,\n alignment: 'center',\n margin: [0, 0, 0, 20]\n },\n {\n columns: [\n [{\n text: 'Project : ' + this.projectname,\n style: 'name'\n },\n {\n text: 'Date : ' + this.datePipe.transform(this.date, 'yyyy-MM-dd')\n },\n {\n text: 'Company : '+ JSON.parse(sessionStorage.getItem('cid')) ,\n }\n ]\n ]\n },\n {\n text: 'Effort',\n style: 'header'\n },\n this.getAttendance(),\n {\n text: 'Signature',\n style: 'sign'\n }\n ,\n {\n columns : [\n // { qr: this.curUser.userid , fit : 100 },\n {\n text: `(${this.curUser.username})`,\n alignment: 'right',\n }\n ]\n }\n ],\n styles: {\n header: {\n fontSize: 18,\n bold: true,\n margin: [0, 20, 0, 10],\n decoration: 'underline'\n },\n name: {\n fontSize: 16,\n bold: true\n },\n jobTitle: {\n fontSize: 14,\n bold: true,\n italics: true\n },\n sign: {\n margin: [0, 50, 0, 10],\n alignment: 'right',\n italics: true\n },\n tableHeader: {\n bold: true,\n }\n }\n };\n }\n\n onClear()\n { \n this.myControl.setValue(''); \n this.employeeleavelist ='';\n this.dataSource = '';\n this.projectid=null;\n }\n\n getAttendance() {\n const result = this.dataSource.filter(value => value.StartTime !== value.EndTime);\n // console.log('result: ', result);\n return {\n table: {\n widths: ['*', '*', '*', '*', '*', '*'],\n body: [\n [{\n text: 'Name',\n style: 'tableHeader'\n },\n {\n text: 'StartTime',\n style: 'tableHeader'\n },\n {\n text: 'End Time',\n style: 'tableHeader'\n },\n {\n text: 'Effort',\n style: 'tableHeader'\n },\n {\n text: 'OT',\n style: 'tableHeader'\n },\n {\n text: 'Comment',\n style: 'tableHeader'\n },\n ]\n ,\n ...result.map(ed => {\n return [ed.Name, this.datePipe.transform(ed.StartTime, 'h:mm'), this.datePipe.transform(ed.EndTime, 'h:mm'), ed.Effort, ed.OT, ed.Comment];\n })\n ]\n }\n };\n }\n\n}\n// export class Employee {\n// Attendance: number;\n// LedgerID: number;\n// Name: string;\n// BioMetric: string;\n// StartTime: string;\n// EndTime: string;\n// Effort: string;\n// OT: string;\n// Comment: string;\n// LeaveType: number;\n// }\n\nexport class LeaveType {\n LID: number;\n LeaveType: string;\n}\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport * as XLSX from 'xlsx';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { User } from 'src/app/Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { DialogService } from './../../../Services/OtherServices/dialog.service';\nimport { LeaveApprovalService } from '../../HR/LeaveApproval/leave-approvalValidate';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { UserService } from '../../Admin/Users/userValidate';\nimport { DatePipe } from '@angular/common';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\n\n\n\n@Component({\n selector: 'app-resourceallocationbyday',\n templateUrl: './resourceallocationbyday.component.html',\n styleUrls: ['./resourceallocationbyday.component.scss'],\n})\nexport class ResourceallocationbydayComponent implements OnInit {\n dataSource: any;\n LeaveDataGrids: any;\n\n companies: any;\n Employees: any;\n Department: any;\n LeaveType: any;\n selectedemployees:number;\n employeeid:string[]=[];\n selectedEmpID: any;\n cid:any;\n AllocDayFormGroup: FormGroup;\n AllocDayDataFormGroup: FormGroup;\n isEditable = true; \n showSpinner:any;\n myControl = new FormControl('', Validators.required);\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n viewbtnvisible: boolean = false;\n date: Date; \n serializedDate = new FormControl((new Date()).toISOString());\n now: Date = new Date();\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,\n private generic: GenericService, private service1: UserService,\n public notificationService: NotificationService, private datePipe: DatePipe) \n {\n this.AllocDayFormGroup = this.formBuilder.group({ \n fcCompany: ['', Validators.required] , \n // myControl: ['',Validators.required], \n fcFromDate: ['', Validators.required],\n fcToDate: ['', Validators.required] \n });\n this.AllocDayDataFormGroup = this.formBuilder.group({ \n }); \n }\n\n ngOnInit(): void {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n this.PageLoad();\n this.AllocDayFormGroup.controls.fcCompany.setValue(this.cid);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n }\n \n changesite(e) {\n this.cid=e.value;\n this.PageLoad();\n }\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase(); \n return this.employeeid.filter(option => option.toLowerCase().includes(filterValue)); \n }\n \n selectedemployee(event) { \n this.selectedEmpID = event.option.value;\n const str: string = this.selectedEmpID;\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-')); \n }\n \n onSearchClear(){\n this.AllocDayFormGroup.reset(); \n this.myControl.setValue('');\n this.dataSource='';\n this.AllocDayFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n Submit()\n {\n if (this.AllocDayFormGroup.invalid) {\n return;\n }\n let params = {\n CID: this.cid,\n Flag: \"LOAD\",\n EmployeeID: this.selectedEmpID, \n ResourceAllocationID: '', \n FromDate: this.datePipe.transform(this.AllocDayFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"), \n ToDate: this.datePipe.transform(this.AllocDayFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")==null? \n this.datePipe.transform(this.AllocDayFormGroup.get('fcFromDate').value,\"dd-MM-yyyy\"):this.datePipe.transform(this.AllocDayFormGroup.get('fcToDate').value,\"dd-MM-yyyy\")\n };\n this.service.httpPost('/ProjectAllocationByDay/GetResourceAllocationByday',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.dataSource = result.respdata.Table; \n console.log('datasource',this.dataSource) \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n } \n logEvent(eventName, e)\n {\n }\n\n PageLoad() {\n // console.log('ledgerid',sessionStorage.getItem(\"groupid\"));\n let params = {\n CID: this.cid,\n Flag: \"LOADDDL\",\n EmployeeID:\"\", \n Department:\"\",\n LeaveType: \"\",\n FromDate:\"\",\n ToDate:\"\",\n RtnStatus:\"\",\n UserID:sessionStorage.getItem(\"ledgerid\")==null?\"\":sessionStorage.getItem(\"ledgerid\")\n };\n this.service.httpPost('/EmpLeaveReport/GetEmpLeaveReport',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) { \n this.companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employee; \n this.employeeid= _.pluck(this.Employees, 'Name'); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe, formatDate } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { AbstractControl } from '@angular/forms';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n//import { NullTemplateVisitor } from '@angular/compiler';\nimport { ResourceallocationbyweeklistComponent } from '../resourceallocationbyweeklist/resourceallocationbyweeklist.component';\n\n@Component({\n selector: 'app-resourceallocationbyweek',\n templateUrl: './resourceallocationbyweek.component.html',\n styleUrls: ['./resourceallocationbyweek.component.scss'],\n})\nexport class ResourceallocationbyweekComponent implements OnInit {\n\n @ViewChild('stepper') stepper;\n dataSource: any;\n SelectedCompanyID: number;\n projectdata: any;\n Companies: any;\n Roles: any;\n Employees: any;\n showSpinner:any\n selectedemployees: number;\n selectedCID: number;\n selectedprojectid: any;\n selectedprojectname: any;\n selecteddepartments: number;\n projectid: string[]= [];\n selectedEmpID: string = 'All';\n EstimationFormGroup: FormGroup;\n EstimationDataFormGroup: FormGroup;\n isEditable = true;\n myControl1 = new FormControl('', [Validators.required]);\n // myControl = new FormControl();\n filteredOptions: Observable;\n filteredOptions2: Observable;\n cid:any;\n oneJan: any;\n numberOfDays: number;\n curMonth: any;\n count:any;\n onSelectionChange:boolean;\n employeeidname: string[] = [];\n\n constructor(private service: HttpserviceService, \n private formBuilder: FormBuilder, private dialog: MatDialog,\n public notificationService: NotificationService, private datePipe: DatePipe) \n { \n this.EstimationFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required], \n fcRole: ['', Validators.required],\n fcStartWeekNo: ['', Validators.required],\n fcEndWeekNo: ['', Validators.required],\n fcYear: ['', Validators.required] \n });\n \n this.EstimationDataFormGroup = this.formBuilder.group({ \n });\n }\n\n ngOnInit() {\n this.getWeekNo();\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n this.EstimationFormGroup.controls.fcCompany.setValue(this.cid);\n \n\n this.filteredOptions2 = this.myControl1.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl1'))\n );\n }\n\n PageLoad() {\n const params = {\n CID: this.cid,\n Flag: 'DROPDOWN' \n };\n \n this.service.httpPost('/EstimationWeeklyReport/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata.Table);\n this.Companies = result.respdata.Companyid; \n this.Employees = result.respdata.Employees;\n this.projectdata = result.respdata.Project;\n this.Roles = result.respdata.Role;\n this.projectid = _.pluck(this.projectdata, 'ProjectID');\n this.employeeidname = _.pluck(this.Employees, 'Name');\n this.onSelectionChange=false;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n\n getWeekNo() {\n const date = new Date();\n this.curMonth = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n this.oneJan = new Date(date.getFullYear(), 0, 1);\n this.numberOfDays = Math.floor((this.curMonth - this.oneJan) / (24 * 60 * 60 * 1000));\n this.EstimationFormGroup.get('fcStartWeekNo').setValue(Math.ceil((date.getDay() + 1 + this.numberOfDays) / 7));\n this.EstimationFormGroup.get('fcEndWeekNo').setValue(Math.ceil((date.getDay() + 1 + this.numberOfDays) / 7) + 6);\n this.EstimationFormGroup.get('fcYear').setValue(date.getFullYear());\n console.log(this.EstimationFormGroup.value.fc);\n }\n private _filter(value: string, control: string): string[] {\n \n const filterValue = value.toLowerCase(); \n if (control === 'myControl1') { \n return this.employeeidname.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n }\n\n \n SearchClear1()\n {\n this.myControl1.setValue(''); \n }\n \n \n selectedEmployee(event, control: string) {\n //console.log(event.option.value); \n let str: string = event.option.value;\n // console.log('control', control);\n if (control === 'myControl') {\n //console.log('projectdata', this.projectdata);\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID'));\n //console.log('selectedprojectid', this.selectedprojectid);\n }\n else {\n this.selectedEmpID = event.option.value;\n // console.log('selectedEmpID Split', this.selectedEmpID.slice(0, str.indexOf('-')));\n this.selectedEmpID = this.selectedEmpID.slice(0, str.indexOf('-'));\n //console.log('selectedEmpID', this.selectedEmpID);\n }\n\n }\n startweekno:number;\n endweekno:number;\n weekdiff:number;\n openDialog()\n {\n if (this.EstimationFormGroup.invalid) {\n this.notificationService.warn('Please select employee and role'); \n return;\n }\n \n this.startweekno=this.EstimationFormGroup.get('fcStartWeekNo').value\n this.endweekno=this.EstimationFormGroup.get('fcEndWeekNo').value;\n this.weekdiff=this.endweekno-this.startweekno+1; \n \n // console.log('FLAG',Flag);\n //console.log('Weekdiff',this.weekdiff);\n \n const ResourceData = {cid: this.EstimationFormGroup.get('fcCompany').value,\n //cidname:this.ProjectFormGroup.get('fcCompany').value,\n // projectname:this.selectedprojectName,\n empid: this.selectedEmpID,\n //departmentname:this.selecteddepartmentname,\n department: this.EstimationFormGroup.get('fcRole').value,\n startweekno: this.EstimationFormGroup.get('fcStartWeekNo').value,\n endweekno: this.EstimationFormGroup.get('fcEndWeekNo').value,\n year: this.EstimationFormGroup.get('fcYear').value,\n flag: 'ADD'\n // ,\n // SetWeekEnd: this.EstimationFormGroup.get('fcWeekEnd').value==true?1:0,\n // SetHolidays: this.EstimationFormGroup.get('fcHolidays').value==true?1:0\n }; \n sessionStorage.setItem('ResourceData', JSON.stringify(ResourceData));\n const dialogRef = this.dialog.open(ResourceallocationbyweeklistComponent);\n dialogRef.afterClosed().subscribe(result => { \n });\n \n }\n\n Submit() {\n if (this.EstimationFormGroup.invalid) {\n this.notificationService.warn('Please select employee and role'); \n return;\n }\n\n this.showSpinner=true;\n const params = {\n CID: this.cid,\n Flag: 'LOAD',\n EmployeeID:this.selectedEmpID==\"All\" ? \"%\" : this.selectedEmpID, \n DepartmentID:\"\",\n ProjectID: this.selectedprojectid,\n RoleID:this.EstimationFormGroup.get('fcRole').value==\"\"?\"%\":this.EstimationFormGroup.get('fcRole').value, \n FromDate:this.EstimationFormGroup.get('fcStartWeekNo').value, \n ToDate:this.EstimationFormGroup.get('fcEndWeekNo').value, \n Year:this.EstimationFormGroup.get('fcYear').value\n };\n \n this.service.httpPost('/ResourceAllocationByWeek/Getdropdownvalues',params)\n .subscribe (\n (data) => {\n let result: any;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n // console.log('result.respdata.table', result.respdata);\n this.dataSource = result.respdata; \n this.stepper.selectedIndex = 1;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n\n }\n\n onSearchClear(){\n this.EstimationFormGroup.reset(); \n this.dataSource=''; \n \n this.myControl1.setValue(''); \n this.selectedprojectid=null;\n this.selectedEmpID='All'\n this.stepper.selectedIndex = 0;\n this.ngOnInit();\n }\n\n changesite(e) {\n console.log('change',e.value);\n this.cid=e.value;\n this.ngOnInit();\n }\n\n}\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable, of } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteActivatedEvent } from '@angular/material/autocomplete';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\n// import { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { HttpserviceService } from './../../../Services/httpServices/httpservice.service'\n// import { GenericService } from 'src/app/Services/OtherServices/generic.service';\nimport { GenericService } from './../../../Services/OtherServices/generic.service';\nimport { UserService } from 'src/app/components/Admin/Users/userValidate';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\n\n@Component({\n selector: 'app-resourceallocationbyweeklist',\n templateUrl: './resourceallocationbyweeklist.component.html',\n styleUrls: ['./resourceallocationbyweeklist.component.scss'],\n})\nexport class ResourceallocationbyweeklistComponent implements OnInit {\n ProjectFormGroup: FormGroup;\n myControl = new FormControl();\n ProjectAllocationDataGrids2: any;\n cid: any;\n filteredOptions: Observable;\n projectid: string[] = [];\n selectedprojectid: any;\n showSpinner: any;\n Projectlist: any;\n ResourceData:any;\n LedgerID:any;\n\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder, private dialog: MatDialog, private generic: GenericService,\n public dialogRef: MatDialogRef,\n public notificationService: NotificationService, private datePipe: DatePipe, private service1: UserService) {\n this.ProjectFormGroup = this.formBuilder.group({\n fcProject: ['']\n });\n\n }\n\n ngOnInit() {\n const curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID = curUser.ledgerid;\n\n this.cid = JSON.parse(sessionStorage.getItem('cid'));\n this.PageLoad();\n\n this.ResourceData = JSON.parse(sessionStorage.getItem('ResourceData'));\n console.log('resourcedata', this.ResourceData);\n\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value, 'myControl'))\n );\n }\n\n private _filter(value: string, control: string): string[] {\n const filterValue = value.toLowerCase(); \n this.selectedprojectid = '' \n if (control === 'myControl') { \n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n }\n \n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n CID: 101,\n Flag: \"LOADDDL\"\n };\n this.showSpinner = true;\n console.log('parameters', params);\n this.service.httpPost('/ETSConsolidateEffortOT/GetEffortData', params)\n .subscribe(\n (data) => {\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) {\n\n this.Projectlist = result.respdata.Project;\n this.projectid = _.pluck(this.Projectlist, 'ProjectName');\n\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n selectedEmployee(event, control: string) { \n let str: string = event.option.value;\n if (control === 'myControl') { \n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.Projectlist, { 'ProjectName': event.option.value }), 'ProjectID')); \n // console.log('HI',this.selectedprojectid) \n this.Submit();\n } \n }\n\n Submit() {\n this.showSpinner = true;\n const params = {\n CID: this.ResourceData.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: 'Loadprojectgrid',\n EmployeeID: this.ResourceData.empid,\n ProjectID: this.selectedprojectid,\n RoleID: this.ResourceData.department,\n DepartmentID: 0,\n FromDate: this.ResourceData.startweekno,\n ToDate: this.ResourceData.endweekno,\n Year: this.ResourceData.year\n };\n this.service.httpPost('/ResourceAllocationByWeek/Getdropdownvalues',params)\n .subscribe(\n (data) => {\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n let result: any;\n result = data;\n //console.log('data ', data);\n if (result.errno === 0) {\n console.log('result', result.respdata);\n this.ProjectAllocationDataGrids2=result.respdata; \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n }\n\n Save() {\n // console.log('ProjectAllocationDataGrids2', this.ProjectAllocationDataGrids2);\n this.showSpinner=true;\n const params = {\n cid: this.ResourceData.cid,\n Flag: 'ADD',\n ProjectID: this.selectedprojectid,\n EmployeeID:this.ResourceData.empid,\n RoleID: this.ResourceData.department,\n FromDate: this.ResourceData.startweekno,\n ToDate: this.ResourceData.endweekno,\n Year: this.ResourceData.year, \n dtProjectAllocationData: this.ProjectAllocationDataGrids2,\n GroupID: 0,\n CreatedBy: this.LedgerID,\n CreatedDate: '2020-09-01',\n LastUpdatedBy: this.LedgerID,\n LastUpdatedDate: '2020-09-01'\n };\n // console.log('params :', params);\n// this.service.updateProjectAllocationByWeek(params)\n this.service.httpPost('/ResourceAllocationByWeek/SetProjectAllocationData',params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let users: any;\n users = data;\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800) \n if (users.errno === 0) {\n this.notificationService.success('Submitted successfully');\n }\n else {\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n console.log('Error : ', error);\n });\n \n }\n\n SearchClear() {\n this.myControl.setValue('');\n\n }\n onCloseDialog() {\n this.ProjectFormGroup.reset();\n this.dialogRef.close();\n }\n\n onSearchClear(){\n this.ProjectFormGroup.reset();\n this.myControl.setValue(''); \n this.ProjectAllocationDataGrids2='';\n }\n\n // onCellPrepared(e) {\n // if (e.rowType !== 'data' || e.columnIndex > 2 ) {\n // return;\n // }\n // if (e.rowIndex % 2 === 0 && ( e.columnIndex == 0 || e.columnIndex == 1 || e.columnIndex == 2 )) {\n // e.cellElement.rowSpan = 2;\n // e.cellElement.innerHTML = '
' + e.value + '
';\n // }\n // else {\n // e.cellElement.style.display = 'none';\n // }\n // }\n\n}\n","// import { User } from 'src/app/Modules/user';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { MatAutocompleteTrigger, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { ENTER, COMMA } from '@angular/cdk/keycodes';\nimport { Observable, of } from 'rxjs';\nimport { FormControl } from '@angular/forms';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport * as _ from 'underscore/underscore-min.js';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\nexport interface GroupALL {\n \n Type: string; \n}\n\n@Component({\n selector: 'app-assementgroup',\n templateUrl: './assementgroup.component.html',\n styleUrls: ['./assementgroup.component.scss'],\n})\nexport class AssementgroupComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n CID:any;\n flag:any;\n ID:any=0;\n CurLedgerID:any;\n Condition:any;\n companies:any;\n employeelist:any;\n datasource:MatTableDataSource;\n cardvisible:boolean=false;\n btnsavevisible:boolean=false;\n disableflag:boolean=true;\n\n myControl = new FormControl();\n filteredOptions: Observable;\n empid:string[]=[];\n LedgerID:any=0;\n\n\n selectable = true;\n removable = true;\n addOnBlur = false;\n employeelistselected: any = [];\n separatorKeysCodes: number[] = [ENTER, COMMA];\n fruitCtrl = new FormControl();\n filteredFruits: Observable;\n fruits: any = [];\n\n displayedColumns =['ID','Name','Level','Action'];\n @ViewChild('fruitInput') fruitInput: ElementRef;\n @ViewChild('autoInput', { read: MatAutocompleteTrigger }) matAutocompleteTrigger: MatAutocompleteTrigger;\n\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n // // let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n // this.CurLedgerID=curUser.ledgerid;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n ); \n\n this.fruitCtrl.valueChanges.subscribe(search => {\n this.filteredFruits = of(this.employeelist.filter(item =>\n item.Name.toLowerCase().includes(search)\n ));\n });\n\n }\n private _filter(value: string): string[] {\n\n const filterValue = value.toLowerCase(); \n return this.empid.filter(option => option.toLowerCase().includes(filterValue)); \n } \n selectedproduct(event) { \n this.LedgerID=event.option.value; \n this.LedgerID=JSON.parse(_.pluck(_.where(this.employeelist, { 'Name': event.option.value }),'LedgerID')); \n if(this.employeelistselected.length>0 && this.LedgerID !=0)\n {\n this.disableflag=false;\n }\n }\n\n add(event: MatChipInputEvent): void {\n debugger\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) {\n this.employeelistselected.push({\n id:Math.random(),\n Name:value.trim()\n });\n\n // this.employeelistselected = options.map(o => o.value);\n \n }\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n this.fruitCtrl.setValue(null);\n }\n\n remove(fruit, indx): void {\n this.employeelistselected.splice(indx, 1);\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n this.employeelistselected.push(event.option.value);\n this.fruitInput.nativeElement.value = '';\n this.fruitCtrl.setValue(null);\n\n console.log(\"ddf\", this.employeelistselected)\n if(this.employeelistselected.length>0 && this.LedgerID !=0)\n {\n this.disableflag=false;\n }\n \n \n }\n\n Loaddetails()\n {\n let params = {\n cid:this.CID,\n flag:this.flag,\n ID:this.ID\n }\n const query = `cid=${params.cid}&flag=${params.flag}&ID=${params.ID}`;\n this.service.httpGet('/AssementGroup/GetAssementGroup?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.employeelist=result.respdata.Employeelist;\n this.datasource=result.respdata.AssementGrouplist;\n this.datasource = new MatTableDataSource(result.respdata.AssementGrouplist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n\n this.empid= _.pluck(this.employeelist, 'Name'); \n }\n else\n {\n this.employeelistselected=result.respdata.list;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n addRow()\n {\n this.cardvisible=true;\n this.btnsavevisible=true;\n this.myControl.reset();\n // this.fruitCtrl.reset();\n this.employeelistselected = [];\n this.flag='ADD';\n this.ID=0;\n this.LedgerID=0;\n }\n Edit(event)\n {\n this.cardvisible=true;\n this.btnsavevisible=true;\n this.flag='EDIT';\n this.ID=event.ID;\n this.myControl.setValue(event.Name);\n this.LedgerID=event.LedgerID;\n this.Loaddetails();\n this.disableflag=false;\n\n }\n Delete(event)\n {\n this.dialogService.openConfirmDialog('Are you sure to delete this level?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag: 'DELETE', \n ID:event.ID, \n LedgerID:this.LedgerID, \n Level: \"L1\" , \n UserID:this.CurLedgerID,\n dt: [{'LedgerID':'','Name':''}] //this.employeelistselected\n \n };\n this.service.httpPost('/AssementGroup/SetAssementGroup',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno == 0) {\n this.notificationService.success('Deleted Successfully');\n //console.log('Project list: ', result.respdata);\n // this.dialogRef.close({data:'data'});\n this.cardvisible=false;\n this.btnsavevisible=false;\n this.disableflag=true;\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n this. Loaddetails();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n onClear()\n {\n this.cardvisible=false;\n this.btnsavevisible=false;\n // this.myControl.reset();\n // this.fruitCtrl.reset();\n this.employeelistselected = [];\n this.flag='ADD';\n this.ID=0;\n this.LedgerID=0;\n this.disableflag=true;\n }\n\n Submit()\n {\n \n let params = { \n cid:this.CID,\n flag: this.flag, \n ID:this.ID, \n LedgerID:this.LedgerID, \n Level: \"L1\" , \n UserID:this.CurLedgerID,\n dt:this.employeelistselected\n \n };\n this.service.httpPost('/AssementGroup/SetAssementGroup',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno == 0) {\n this.notificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n // this.dialogRef.close({data:'data'});\n this.cardvisible=false;\n this.btnsavevisible=false;\n this.disableflag=true;\n this.flag='PAGELOAD';\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface Branch {\n BranchID: string;\n BranchName: string;\n}\n\n@Component({\n selector: 'app-branch',\n templateUrl: './branch.component.html',\n styleUrls: ['./branch.component.scss'],\n})\nexport class BranchComponent implements OnInit {\n\n cid:any;\n Flag:any;\n LocationID:any;\n LocationName:any;\n description:any;\n Status:any;\n CurLedgerID:any;\n datasource:any;\n branch:any;\n \n myFormGroup: FormGroup;\n\n Statuslist=[\n {id: 0, name: 'Active'},\n {id: 1, name: 'InActive'}\n \n ];\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n\n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.LocationID=this.data.LocationID;\n this.LocationName=this.data.LocationName;\n this.Status=this.data.Status;\n this.description=this.data.Description\n\n\n this.myFormGroup = this.formBuilder.group({ \n fcLocationID:[''],\n fcLocationName:['', Validators.required], \n fcStatus:['', Validators.required], \n fcDescription:[''] \n });\n \n \n if(this.Flag=='EDIT')\n {\n this.myFormGroup.controls.fcLocationID.setValue(this.LocationID);\n this.myFormGroup.controls.fcLocationName.setValue(this.LocationName);\n this.myFormGroup.controls.fcStatus.setValue(this.Status);\n this.myFormGroup.controls.fcDescription.setValue(this.description);\n }\n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.Loaddetails()\n this.branch = [];\n }\n\n onSearchClear(){\n this.myFormGroup.reset(); \n this.datasource=''; \n }\n\n Loaddetails()\n {\n let params = {\n CID:this.cid,\n flag:'Branch',\n LocationID:this.LocationID\n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/Branch/GetBranch',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n this.datasource=result.respdata.Branchlist;\n // this.branch=result.respdata.Branchlist;\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n logEvent(_flag, e)\n {\n\n // console.log(\"e\",e.data.BranchName)\n // if (_flag == 'RowInserting')\n // {\n // this.branch.push({BranchID:e.data.BranchID ==undefined? '' :e.data.BranchID ,BranchName:e.data.BranchName})\n \n // }\n // else if (_flag == 'RowRemoved')\n // {\n\n // }\n // console.log(\"this.branch\",this.branch)\n\n }\n\n Submit()\n {\n if(this.datasource.length==0)\n {\n this.branch.push({BranchID:'' ,BranchName:''})\n }\n else\n {\n for (var i = 0; i < this.datasource.length; i++) \n {\n console.log(\"this.limit123\",this.datasource[i]);\n this.branch.push({BranchID:this.datasource[i].BranchID==undefined? 0: this.datasource[i].BranchID ,BranchName:this.datasource[i].BranchName})\n }\n \n }\n \n let params = { \n cid:this.cid,\n flag: this.Flag, \n LocationID:this.LocationID, \n LocationName:this.myFormGroup.get('fcLocationName').value, \n Status: this.myFormGroup.get('fcStatus').value, \n Description: this.myFormGroup.get('fcDescription').value,\n dt:this.branch,\n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n \n \n };\n this.service.httpPost('/Branch/SetBranch',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno !== 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { BranchComponent } from '../branch/branch.component';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-branchlist',\n templateUrl: './branchlist.component.html',\n styleUrls: ['./branchlist.component.scss'],\n})\nexport class BranchlistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n LocationID:any;\n companies:any;\n Clientlist:any;\n datasource:MatTableDataSource;\n\n displayedColumns =['LocationID','LocationName','Description','status','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,private generic: GenericService,\n public notificationService: NotificationService,private dialogService: DialogService) \n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.LocationID='0';\n this.Loaddetails();\n }\n\n Loaddetails()\n {\n let params = {\n CID:this.CID,\n flag:this.flag,\n LocationID:this.LocationID\n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/Branch/GetBranch',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.Branchlist;\n this.datasource = new MatTableDataSource(result.respdata.Branchlist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.datasource.filter = filterValue;\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Branch', 'Branchlist' );\n }\n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n LocationID:0,\n LocationName:'',\n Status:'',\n Description:'' \n }\n const dialogRef = this.dialog.open(BranchComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n Edit(event)\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n LocationID:event.LocationID,\n LocationName:event.LocationName,\n Status:event.IsActive,\n Description:event.Description\n \n }\n const dialogRef = this.dialog.open(BranchComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n\n Delete(event)\n {\n\n let branch = [];\n \n branch.push({BranchID:'' ,BranchName:''})\n \n this.dialogService.openConfirmDialog('Are you sure to delete this Branch?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag: 'Delete', \n LocationID:event.LocationID, \n LocationName:'', \n Status: 0, \n Description:'',\n dt:branch,\n UserID:0,\n GroupID:sessionStorage.getItem('groupid')\n \n \n };\n this.service.httpPost('/Branch/SetBranch',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno !== 0) {\n this.notificationService.success(result.errdesc);\n\n this.flag='PAGELOAD'\n this.LocationID='0';\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n onCompanySelect()\n {\n\n }\n\n}\n\nexport interface GroupALL {\n \n}\n","import { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-category',\n templateUrl: './category.component.html',\n styleUrls: ['./category.component.scss'],\n})\nexport class CategoryComponent implements OnInit {\n\n CategoryFormGroup: FormGroup;\n catsid:any=\"0\";\n catname:any;\n description:any\n Flag:any;\n cid:any;\n readonly:any;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.catsid=this.data.CategoryID;\n this.catname=this.data.CategoryName;\n this.description=this.data.Description; \n\n this.CategoryFormGroup = this.formBuilder.group({ \n fcCategoryName:['', Validators.required], \n fcDescription:[''] \n }); \n\n this.CategoryFormGroup.controls.fcCategoryName.setValue(this.catname);\n this.CategoryFormGroup.controls.fcDescription.setValue(this.description);\n \n }\n\n ngOnInit() {}\n\n Submit()\n {\n let params = { \n cid:this.cid,\n flag: this.Flag, \n CategoryID:this.catsid, \n CategoryName: this.CategoryFormGroup.get('fcCategoryName').value, \n Description: this.CategoryFormGroup.get('fcDescription').value,\n UserID:0,\n GroupID:sessionStorage.getItem('groupid') \n };\n this.service.httpPost('/Category/SetCategory',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n //this.onCloseDialog();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n this.dialogRef.close({data:'data'});\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onCloseDialog()\n { \n this.dialogRef.close();\n }\n\n \n\n}\n","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { CategoryComponent } from '../category/category.component';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-categorylist',\n templateUrl: './categorylist.component.html',\n styleUrls: ['./categorylist.component.scss'],\n})\nexport class CategorylistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n CID:any;\n flag:any;\n LocationID:any;\n companies:any; \n datasource:MatTableDataSource;\n\n displayedColumns =['CategoryID','CategoryName','Description','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService) \n { \n \n }\n\n ngOnInit() {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD' \n this.Loaddetails();\n }\n\n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.datasource.filter = filterValue;\n }\n\n\n Loaddetails()\n {\n let params = {\n CID:this.CID,\n flag:this.flag\n } \n this.service.httpPost('/Category/GetCategory',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){ \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.Categorylist;\n this.datasource = new MatTableDataSource(result.respdata.Categorylist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n } \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' \n \n }\n const dialogRef = this.dialog.open(CategoryComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n CategoryID:event.CategoryID,\n CategoryName:event.CategoryName,\n Description:event.Description\n \n }\n const dialogRef = this.dialog.open(CategoryComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n\n Delete(event)\n {\n let branch = []; \n branch.push({BranchID:'' ,BranchName:''}) \n this.dialogService.openConfirmDialog('Are you sure to delete this category?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag: 'Delete', \n CategoryID:event.CategoryID, \n UserID:0,\n GroupID:sessionStorage.getItem('groupid') \n };\n this.service.httpPost('/Category/SetCategory',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno !== 0) {\n this.notificationService.success(result.errdesc);\n\n this.flag='PAGELOAD' \n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n onCompanySelect(event)\n {\n this.CID=event;\n this.Loaddetails();\n }\n\n}\n\nexport interface GroupALL {\n CategoryID: string;\n CategoryName: string; \n}\n","import { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { User } from '../../../../Modules/user';\n\n@Component({\n selector: 'app-merchant',\n templateUrl: './merchant.component.html',\n styleUrls: ['./merchant.component.scss'],\n})\nexport class MerchantComponent implements OnInit {\n\n date: Date; //= new FormControl(new Date()); \n now: Date = new Date();\n MerchantFormGroup: FormGroup;\n dataSource:any;\n Flag:any;\n cid:any;\n Product:any;\n Priority:any;\n merchantid:any=0;\n Ledgerid:any=0;\n statusid:any;\n CurUserName:any;\n Statuslist=[\n {id: 0, name: 'Active'},\n {id: 1, name: 'InActive'}\n \n ];\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any)\n { \n this.cid = this.data.cid; \n this.Flag=this.data.flag;\n this.dataSource=this.data.client;\n this.Product=this.data.product;\n this.Priority=this.data.priority;\n\n this.MerchantFormGroup = this.formBuilder.group({ \n fcClientName:['', Validators.required], \n fcSince:['' , Validators.required],\n fcStatus:['' , Validators.required],\n fcAddress1:[''],\n fcAddress2:[''],\n fcPincode:[''],\n fcZone:[''],\n fcName:[''],\n fcEmail:[''],\n fcTelephone:[''],\n fcMobile:[''],\n fcSupportEmail:[''] \n }); \n\n if(this.Flag=='EDIT')\n {\n this.merchantid=this.data.data.MerchantID;\n this.Ledgerid=this.data.data.LedgerID;\n this.date=this.data.data.MerchantSince\n this.statusid=this.data.data.CusActiveStatus==false?0:1;\n this.MerchantFormGroup.controls.fcClientName.setValue(this.data.data.MerchantName);\n this.MerchantFormGroup.controls.fcSince.setValue(this.date);\n this.MerchantFormGroup.controls.fcStatus.setValue(this.statusid);\n this.MerchantFormGroup.controls.fcAddress1.setValue(this.data.data.Address1);\n this.MerchantFormGroup.controls.fcAddress2.setValue(this.data.data.Address2);\n this.MerchantFormGroup.controls.fcPincode.setValue(this.data.data.PoBox);\n this.MerchantFormGroup.controls.fcZone.setValue(this.data.data.CusTimeZone);\n this.MerchantFormGroup.controls.fcName.setValue(this.data.data.Contact);\n this.MerchantFormGroup.controls.fcEmail.setValue(this.data.data.Email);\n this.MerchantFormGroup.controls.fcTelephone.setValue(this.data.data.Tel);\n this.MerchantFormGroup.controls.fcMobile.setValue(this.data.data.Mobile);\n this.MerchantFormGroup.controls.fcSupportEmail.setValue(this.data.data.SupportMailID);\n }\n }\n\n ngOnInit() \n {\n this.Loaddetails();\n if(this.Flag!='EDIT')\n {\n this.date= new Date();\n this.MerchantFormGroup.controls.fcStatus.setValue(this.Statuslist[0].id); \n }\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurUserName=curUser.username;\n }\n Loaddetails()\n {\n let params = {\n CID:this.cid,\n Flag:'GetValue',\n MerchantId:this.Ledgerid,\n Name:'\"\"'\n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/Client/GetClient',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n // if(this.flag=='PAGELOAD')\n // {\n // this.companies=result.respdata.Companylist;\n // this.Clientlist=result.respdata.Clientsub;\n // this.Product=result.respdata.Product;\n // this.Priority=result.respdata.Priority;\n // // this.datasource=result.respdata.Merchantlist;\n // this.datasource = new MatTableDataSource(result.respdata.Merchantlist);\n // this.datasource.sort = this.sort;\n // this.datasource.paginator = this.paginator;\n // }\n // else\n // {\n this.dataSource=result.respdata.Clientsub;\n // }\n \n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n Submit()\n {\n let count='0';\n if(this.dataSource.length>0 || this.dataSource.length==0)\n {\n count='1';\n }\n\n let params = { \n cid:this.cid,\n flag: this.Flag, \n MerchantId:this.merchantid,\n Name:this.MerchantFormGroup.get('fcClientName').value,\n Since:this.MerchantFormGroup.get('fcSince').value,\n Status:this.MerchantFormGroup.get('fcStatus').value,\n Address1:this.MerchantFormGroup.get('fcAddress1').value,\n Address2:this.MerchantFormGroup.get('fcAddress2').value,\n Pincode:this.MerchantFormGroup.get('fcPincode').value,\n TimeZone:this.MerchantFormGroup.get('fcZone').value,\n ContName:this.MerchantFormGroup.get('fcName').value,\n Email:this.MerchantFormGroup.get('fcEmail').value,\n Mobile:this.MerchantFormGroup.get('fcMobile').value,\n ConTel:this.MerchantFormGroup.get('fcTelephone').value,\n SupportID:this.MerchantFormGroup.get('fcSupportEmail').value,\n LedgerID:this.CurUserName,\n GroupID:sessionStorage.getItem('groupid'),\n dtClientSubStatus:count,\n dtExample:this.dataSource\n \n };\n this.service.httpPost('/Client/SetClient',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno !== 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n}\n","import { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MerchantComponent } from '../merchant/merchant.component';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-merchantlist',\n templateUrl: './merchantlist.component.html',\n styleUrls: ['./merchantlist.component.scss'],\n})\nexport class MerchantlistComponent implements OnInit {\n \n searchKey: string;\n\n CID:any;\n flag:any;\n Condition:any;\n companies:any;\n datasource:any;\n Clientlist:any;\n Product:any;\n Priority:any;\n\n displayedColumns =['MerchantID','MerchantName','Type','Status','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n constructor(private dialog: MatDialog,public service: HttpserviceService,private generic: GenericService,\n public notificationService: NotificationService,private dialogService: DialogService\n )\n {\n \n }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.datasource.filter = filterValue.trim().toLowerCase();\n }\n Refresh()\n {\n this.searchKey='';\n this.Loaddetails();\n }\n addRow()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n pid:0,\n client:this.Clientlist,\n product:this.Product,\n priority:this.Priority,\n data:\"\",\n // Rolelist:this.Rolelist,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(MerchantComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }); \n }\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'EDIT',\n pid:0,\n client:this.Clientlist,\n product:this.Product,\n priority:this.Priority,\n data:event,\n // Rolelist:this.Rolelist,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(MerchantComponent, dialogConfig)\n dialogRef.afterClosed() .subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n Delete(event)\n {\n this.dialogService.openConfirmDialog('Are you sure to delete this Client?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag:'DELETE', \n MerchantId:event.MerchantID,\n Name:event.MerchantName,\n Since:event.MerchantSince,\n Status:1,\n Address1:event.Address1,\n Address2:event.Address2,\n Pincode:event.PoBox,\n TimeZone:event.CusTimeZone,\n ContName:event.Contact,\n Email:event.Email,\n Mobile:event.Mobile,\n ConTel:event.Tel,\n SupportID:event.SupportMailID,\n LedgerID:0,\n GroupID:0,\n dtClientSubStatus:0,\n dtExample:null\n \n };\n\n this.service.httpPost('/Client/SetClient',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 1) {\n this.notificationService.success(result.errdesc);\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n});\n\n }\n Loaddetails()\n {\n let params = {\n CID:this.CID,\n Flag:this.flag,\n MerchantId:'0',\n Name:'\"\"'\n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/Client/GetClient',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.Clientlist=result.respdata.Clientsub;\n this.Product=result.respdata.Product;\n this.Priority=result.respdata.Priority;\n // this.datasource=result.respdata.Merchantlist;\n this.datasource = new MatTableDataSource(result.respdata.Merchantlist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n else\n {\n this.datasource=result.respdata.EntityList;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'MerchantList', 'MerchantList' );\n }\n\n}\n\nexport interface GroupALL {\n MerchantID: string;\n MerchantName: string;\n Type : string;\n \n\n}\n","import { Component, ElementRef, OnInit,ViewChild } from '@angular/core';\nimport { MatDialog,MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { Observable, of } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteActivatedEvent } from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { GenericService } from '../../../../Services/OtherServices/generic.service';\nimport { UserService } from '../../../../components/Admin/Users/userValidate';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { User } from '../../../../Modules/user';\n\n@Component({\n selector: 'app-effortauthconfig',\n templateUrl: './effortauthconfig.component.html',\n styleUrls: ['./effortauthconfig.component.scss'],\n})\nexport class EffortauthconfigComponent implements OnInit {\n\n isEditable = true; \n @ViewChild('stepper') stepper;\n //AuthFormGroup:FormGroup;\n AuthViewFormGroup:FormGroup;\n Authorizer:any;\n public filteredList5;\n\n public allEngineers: Employee[] = [\n \n ];\n public chipSelectedEmployees: Employee[] = [];\n public filteredEmployees: Observable;\n employee:any;\n Companies:any;\n cid:any;\n \n private allowFreeTextAddEngineer = false;\n\n public fcEmployee = new FormControl();\n readonly separatorKeysCodes: number[] = [ENTER, COMMA];\n CID:any;\n GoalID:any;\n @ViewChild('engineerInput') engineerInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n constructor(private service: HttpserviceService, private formBuilder: FormBuilder,private dialog:MatDialog,private generic: GenericService,\n public notificationService: NotificationService, private datePipe: DatePipe, private service1: UserService) \n { \n // this.AuthFormGroup = this.formBuilder.group({ \n \n // });\n this.AuthViewFormGroup = this.formBuilder.group({ \n fcCompany:[''], \n fcAuthorizer: ['', Validators.required] \n });\n\n }\n\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid')); \n\n this.getEffortAuthdetails();\n this.AuthViewFormGroup.controls.fcCompany.setValue(this.cid);\n }\n\n changesite(e) {\n this.cid=e.value;\n this.getEffortAuthdetails();\n }\n\n changeledger(e) {\n \n // this.getEffortAuthdetails();\n\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.cid,\n flag:'Emplist', \n LedgerID:this.AuthViewFormGroup.get('fcAuthorizer').value \n // LedgerID:0\n }\n \n const query = `cid=${params.cid}&flag=${params.flag}&LedgerID=${params.LedgerID}`;\n this.service.httpGet('/EffortAuth/GetAuthList?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.Companies = curUser.dtsiteid; \n let emplist= result.respdata.Employeelist;\n this.chipSelectedEmployees= result.respdata.selectedEmployee;//_.pluck(result.respdata.selectedEmployee,'Name'); \n \n this.Authorizer=result.respdata.Employeelist;\n \n\n this.filteredList5= this.Authorizer.slice();\n\n this.allEngineers= emplist//_.pluck(emplist, 'Name'); \n \n this.filteredEmployees = this.fcEmployee.valueChanges.pipe(\n startWith(null),\n map(engineerName => this.filterOnValueChange(engineerName))\n );\n\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n public addEngineer(event: MatChipInputEvent): void {\n if (!this.allowFreeTextAddEngineer) { \n \n return;\n }\n\n \n if (this.matAutocomplete.isOpen) {\n return;\n }\n\n // Add our engineer\n const value = event.value;\n if ((value || '').trim()) {\n this.selectEngineerByName(value.trim());\n }\n\n this.resetInputs();\n }\n\n public removeEngineer(engineer: Employee): void {\n const index = this.chipSelectedEmployees.indexOf(engineer);\n if (index >= 0) {\n this.chipSelectedEmployees.splice(index, 1);\n this.resetInputs();\n }\n }\n\n public engineerSelected(event: MatAutocompleteSelectedEvent): void {\n this.selectEngineerByName(event.option.value);\n this.resetInputs();\n }\n\n private resetInputs() { \n this.engineerInput.nativeElement.value = ''; \n this.fcEmployee.setValue(null);\n \n }\n\n \n private filterOnValueChange(engineerName: string | null): String[] {\n let result: String[] = [];\n \n let allEngineersLessSelected = this.allEngineers.filter(\n (engineer) => this.chipSelectedEmployees.indexOf(engineer) < 0\n );\n if (engineerName) {\n result = this.filterEngineer(allEngineersLessSelected, engineerName);\n } else {\n result = allEngineersLessSelected.map((engineer) => engineer.Name);\n }\n return result;\n }\n\n private filterEngineer(\n engineerList: Employee[],\n engineerName: String\n ): String[] {\n let filteredEngineerList: Employee[] = [];\n const filterValue = engineerName.toLowerCase();\n let engineersMatchingEngineerName = engineerList.filter(\n (engineer) => engineer.Name.toLowerCase().indexOf(filterValue) === 0\n );\n if (engineersMatchingEngineerName.length || this.allowFreeTextAddEngineer) {\n \n filteredEngineerList = engineersMatchingEngineerName;\n } else {\n \n filteredEngineerList = engineerList;\n }\n \n return filteredEngineerList.map((engineer) => engineer.Name);\n }\n\n private selectEngineerByName(engineerName) {\n let foundEngineer = this.allEngineers.filter(\n (engineer) => engineer.Name == engineerName\n );\n if (foundEngineer.length) {\n \n this.chipSelectedEmployees.push(foundEngineer[0]);\n } else {\n \n let highestEmployeeId = Math.max(\n ...this.chipSelectedEmployees.map((engineer) => engineer.LedgerID),\n \n );\n this.chipSelectedEmployees.push({\n Name: engineerName,\n LedgerID: highestEmployeeId + 1,\n });\n }\n }\n\n getEffortAuthdetails()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = {\n cid:this.cid,\n flag:'Emplist', \n // LedgerID:this.AuthViewFormGroup.get('fcAuthorizer').value \n LedgerID:0\n }\n \n const query = `cid=${params.cid}&flag=${params.flag}&LedgerID=${params.LedgerID}`;\n this.service.httpGet('/EffortAuth/GetAuthList?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n this.Companies = curUser.dtsiteid; \n let emplist= result.respdata.Employeelist;\n this.chipSelectedEmployees= result.respdata.selectedEmployee;//_.pluck(result.respdata.selectedEmployee,'Name'); \n \n this.Authorizer=result.respdata.Employeelist;\n \n\n this.filteredList5= this.Authorizer.slice();\n\n this.allEngineers= emplist//_.pluck(emplist, 'Name'); \n \n this.filteredEmployees = this.fcEmployee.valueChanges.pipe(\n startWith(null),\n map(engineerName => this.filterOnValueChange(engineerName))\n );\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onSearchClear(){\n this.AuthViewFormGroup.reset(); \n this.AuthViewFormGroup.controls.fcCompany.setValue(this.cid);\n this.chipSelectedEmployees=[];\n }\n\n Refresh()\n {\n this.getEffortAuthdetails();\n }\n\n onSubmit()\n {\n let employee=this.chipSelectedEmployees;\n \n this.chipSelectedEmployees=_.pluck(this.chipSelectedEmployees, 'Name');\n \n\n let paramsExtra;\n let currentdate = new Date();\n paramsExtra = {\n cid: this.cid,\n flag:\"ADD\",\n LedgerID:this.AuthViewFormGroup.get('fcAuthorizer').value,\n emplist:this.chipSelectedEmployees\n \n };\n this.service.httpPost('/EffortAuth/SetEffortAuthorizer?',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n\n if (users.errno === 0){\n this.chipSelectedEmployees=employee;\n this.notificationService.success('Submitted successfully'); \n this.onSearchClear(); \n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n\nexport interface Employee {\n Name: string;\n LedgerID: number;\n}","// import { MatChipInputEvent } from '@angular/material/chips';\nimport { ENTER, COMMA } from '@angular/cdk/keycodes';\nimport { Observable, of } from 'rxjs';\nimport { DatePipe } from '@angular/common';\nimport { User } from './../../../../Modules/user';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Component, OnInit, Inject, ViewChild, ElementRef } from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n//import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { MatAutocompleteTrigger, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatChipInputEvent } from '@angular/material/chips';\n\n\ninterface Category {\n id: string;\n name: string;\n}\ninterface selectedemployee {\n Flag: string;\n LedgerID: string;\n}\n@Component({\n selector: 'app-emailconfiguration',\n templateUrl: './emailconfiguration.component.html',\n styleUrls: ['./emailconfiguration.component.scss'],\n})\nexport class EmailconfigurationComponent implements OnInit {\n\n CID:any;\n flag:any;\n ID:any=\"0\";\n categorytype:any='All';\n companies:any;\n employeelist:any;\n datasource:any;\n labelName:any='All';\n categoryvisible:boolean=true;\n listvisible:boolean=false;\n btnaddvisible:boolean=true;\n btndeletevisible:boolean=true;\n btnsavevisible:boolean=false;\n CurLedgerID:any;\n selectedemployee:selectedemployee[];\n selecttabindex:any=0;\n\n Categorylist: Category[] = [\n {id: 'All', name: 'All'},\n {id: 'Ct', name: 'Client'},\n {id: 'Pt', name: 'Product'},\n {id: 'Prj', name: 'Project'},\n {id: 'Br', name: 'Branch'}\n \n ];\n\n employeelistselected: any = [];\n selectable = true;\n removable = true;\n addOnBlur = false;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n fruitCtrl = new FormControl();\n fruitCtrl1 = new FormControl();\n filteredFruits: Observable;\n fruits: any = [];\n temp:any = [];\n autocompleteTagsOptionActivated = false;\n\n selectable1 = true;\n removable1 = true;\n addOnBlur1 = false;\n separatorKeysCodes1: number[] = [ENTER, COMMA];\n \n @ViewChild('fruitInput') fruitInput: ElementRef;\n @ViewChild('fruitInput1') fruitInput1: ElementRef;\n @ViewChild('autoInput', { read: MatAutocompleteTrigger }) matAutocompleteTrigger: MatAutocompleteTrigger;\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,\n private NotificationService:NotificationService)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }\n onCategorySelect(event)\n {\n this.listvisible=false;\n if(event!=='All')\n {\n this.listvisible=true;\n this.CID=this.CID;\n this.flag='Category';\n this.categorytype=event;\n this.Loaddetails();\n let temp=_.where(this.Categorylist, {id: this.categorytype});\n this.labelName=temp[0].name;\n }\n }\n ondataSelect()\n {\n this.CID=this.CID;\n this.flag='FilterData';\n this.Loaddetails();\n }\n Edit()\n {\n\n this.categoryvisible=false;\n this.btnaddvisible=false;\n this.btndeletevisible=false;\n this.btnsavevisible=true;\n }\n Delete()\n {\n this.btnaddvisible=false;\n this.btndeletevisible=false;\n this.btnsavevisible=true;\n }\n Clear()\n {\n this.categoryvisible=true;\n this.btnaddvisible=true;\n this.btndeletevisible=true;\n this.btnsavevisible=false;\n this.listvisible=false;\n // this.fruitCtrl.reset();\n this.employeelistselected=[];\n this.ID=\"0\";\n this.categorytype=\"All\";\n\n }\n tabChanged(event)\n {\n\n if(event.index==0)\n {\n this.Categorylist = [\n {id: 'All', name: 'All'},\n {id: 'Ct', name: 'Client'},\n {id: 'Pt', name: 'Product'},\n {id: 'Prj', name: 'Project'},\n {id: 'Br', name: 'Branch'}\n \n ];\n }\n else\n {\n this.Categorylist = [\n {id: 'All', name: 'All'},\n {id: 'Ct', name: 'Client'},\n {id: 'Pt', name: 'Product'},\n {id: 'Prj', name: 'Project'}\n \n ]; \n }\n this.categoryvisible=true;\n this.listvisible=false;\n this.btnaddvisible=true;\n this.btndeletevisible=true;\n this.btnsavevisible=false;\n\n // this.fruitCtrl.reset();\n this.employeelistselected = [];\n this.ID=\"0\";\n this.categorytype=\"All\";\n\n this.selecttabindex=event.index;\n this.flag=\"PAGELOAD\"\n this.Loaddetails();\n \n // console.log(\"selecttabindex\",event.index);\n }\n Loaddetails()\n {\n let servicepath;\n let params = {\n cid:this.CID,\n flag:this.flag,\n CategoryType:this.categorytype,\n CategoryID:this.ID\n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n if( this.selecttabindex==0)\n {\n servicepath='/EmailConfig/GetEmailConfig'\n }\n else\n {\n servicepath='/CommonIssueConfig/GetCommonIssueConfig'\n }\n this.service.httpPost(servicepath,params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.employeelist=result.respdata.Employeelist;\n\n // if (this.selecttabindex=0)\n this.fruitCtrl.valueChanges.subscribe(search => {\n this.filteredFruits = of(this.employeelist.filter(item =>\n item.name.toLowerCase().includes(search)\n ));\n });\n\n this.fruitCtrl1.valueChanges.subscribe(search => {\n this.filteredFruits = of(this.employeelist.filter(item =>\n item.name.toLowerCase().includes(search)\n ));\n });\n }\n else if(this.flag=='Category')\n {\n this.datasource=result.respdata.List;\n }\n else\n {\n let filterdata\n this.employeelistselected=result.respdata.List;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n Submit()\n {\n \n let servicepath;\n let temp =this.employeelistselected;\n this.selectedemployee=[];\n // console.log(\"trr\",temp);\n for (var i = 0; i < temp.length; i++) \n {\n this.selectedemployee.push({Flag:'ADD',LedgerID:temp[i].LedgerID}) \n }\n\n if(this.selectedemployee.length>0)\n {\n let params = { \n CID:this.CID,\n Flag: 'ADD', \n CategoryType: this.categorytype, \n CategoryID:this.ID, \n dt:this.selectedemployee,\n UserID: this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n \n };\n if( this.selecttabindex==0)\n {\n servicepath='/EmailConfig/SetEmailConfig'\n }\n else\n {\n servicepath='/CommonIssueConfig/SetCommonIssueConfig'\n }\n this.service.httpPost(servicepath,params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n this.btnsavevisible=false;\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n \n\n }\n\n add(event: MatChipInputEvent): void {\n // debugger\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) {\n this.employeelistselected.push({\n id:Math.random(),\n name:value.trim()\n });\n \n // this.employeelistselected = options.map(o => o.value);\n \n }\n \n // Reset the input value\n if (input) {\n input.value = '';\n }\n \n this.fruitCtrl.setValue(null);\n }\n \n remove(fruit, indx): void {\n this.employeelistselected.splice(indx, 1);\n }\n \n selected(event: MatAutocompleteSelectedEvent): void {\n this.employeelistselected.push(event.option.value);\n this.fruitInput.nativeElement.value = '';\n this.fruitCtrl.setValue(null);\n \n }\n selected1(event: MatAutocompleteSelectedEvent): void {\n this.employeelistselected.push(event.option.value);\n this.fruitInput1.nativeElement.value = '';\n this.fruitCtrl1.setValue(null);\n \n }\n\n}\n","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-entity',\n templateUrl: './entity.component.html',\n styleUrls: ['./entity.component.scss'],\n})\nexport class EntityComponent implements OnInit {\n\n EntityFormGroup: FormGroup;\n entityid:any=\"0\";\n tag:any;\n description:any\n Flag:any;\n cid:any;\n Type:any='';\n visible:boolean=true;\n effortvisible:boolean=false;\n Taglabel:any='Tag';\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any)\n { \n console.log('dialogdata',this.data)\n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.Type = this.data.Type;\n this.entityid=this.data.entityid;\n this.tag=this.data.Tag;\n this.description=this.data.Description;\n\n if(this.Flag=='Config')\n {\n this.visible=false;\n this.Taglabel='Type'\n }\n if(this.data.Type=='Request Type')\n {\n this.effortvisible=true; \n }\n \n this.EntityFormGroup = this.formBuilder.group({ \n fcTag:['', Validators.required], \n fcDescription:[''],\n fcReadonlyTag:[false], \n fcAllowEffort:[false] \n }); \n\n this.EntityFormGroup.controls.fcTag.setValue(this.tag);\n this.EntityFormGroup.controls.fcDescription.setValue(this.description);\n this.EntityFormGroup.controls.fcReadonlyTag.setValue(this.data.ReadonlyTag);\n this.EntityFormGroup.controls.fcAllowEffort.setValue(this.data.AllowEffort);\n\n }\n\n ngOnInit() \n {}\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n Submit()\n {\n let params = { \n cid:this.cid,\n flag: this.Flag, \n EntityID:this.entityid,\n Type:this.Type, \n Tag: this.EntityFormGroup.get('fcTag').value, \n Description: this.EntityFormGroup.get('fcDescription').value,\n ReadonlyTag:this.EntityFormGroup.get('fcReadonlyTag').value,\n AllowEffort:this.EntityFormGroup.get('fcAllowEffort').value\n \n };\n this.service.httpPost('/Entity/SetEntity',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { EntityComponent } from './../entity/entity.component';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-entityconfig',\n templateUrl: './entityconfig.component.html',\n styleUrls: ['./entityconfig.component.scss'],\n})\nexport class EntityconfigComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n Condition:any;\n companies:any;\n entitytype:any;\n datasource:MatTableDataSource;\n addbtnvisible:boolean=false;\n\n\n displayedColumns =['EntityID','Tag','Description','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService,\n private NotificationService:NotificationService)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n }\n\n Submit()\n {\n this.Loaddetails();\n }\n\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n\n }\n\n Loaddetails()\n {\n let params = {\n cid:this.CID,\n flag:this.flag,\n Condition:this.Condition\n \n }\n const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpGet('/Entity/GetEntity?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.entitytype=result.respdata.EntityType;\n \n }\n else\n {\n this.datasource=result.respdata.EntityList;\n this.datasource = new MatTableDataSource(result.respdata.EntityList);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onConfiguration(event)\n {\n // console.log('LOADGRID',event)\n this.flag='LOADGRID'\n this.Condition=event.value;\n this.Loaddetails();\n this.addbtnvisible=true;\n }\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n Type:this.Condition,\n entityid:'0',\n Tag:'',\n Description:'' \n }\n const dialogRef = this.dialog.open(EntityComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Submit(); \n });\n }\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n Type:this.Condition,\n entityid:event.EntityID,\n Tag:event.Tag,\n Description:event.Description,\n ReadonlyTag:event.ReadOnlyTag,\n AllowEffort:event.AllowEffort \n }\n const dialogRef = this.dialog.open(EntityComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.Submit(); \n });\n }\n setting()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'Config' , \n Type:this.Condition,\n entityid:'0',\n Tag:'',\n Description:'' \n }\n const dialogRef = this.dialog.open(EntityComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n\n });\n }\n\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete ?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag:'DELETE', \n EntityID:event.EntityID,\n Type:event.Type, \n Tag: event.Tag, \n Description: event.Description,\n ReadonlyTag:event.ReadonlyTag\n \n };\n this.service.httpPost('/Entity/SetEntity',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.warn(\"Deleted Successfully\");\n //console.log('Project list: ', result.respdata);\n this.Submit(); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n\n}\n\nexport interface GroupALL {\n \n Type: string; \n}\n","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\n\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n// import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\n\n@Component({\n selector: 'app-hrconfiguration',\n templateUrl: './hrconfiguration.component.html',\n styleUrls: ['./hrconfiguration.component.scss'],\n})\nexport class HrconfigurationComponent implements OnInit {\n\n CID:any;\n flag:any;\n Condition:any;\n companies:any;\n entitytype:any;\n datasource:any;\n addflag= false;\n\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService,\n private NotificationService:NotificationService)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n }\n\n onCompanySelect(event)\n {\n this.addflag= false;\n this.entitytype=null;\n this.datasource=null;\n this.CID=event;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n\n }\n\n Loaddetails()\n {\n let params = {\n cid:this.CID,\n flag:this.flag,\n Condition:this.Condition\n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/HRConfig/GetHRConfig',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.entitytype=result.respdata.HRConfigTag;\n }\n else\n {\n this.datasource=result.respdata.HRConfigList;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onConfiguration(event)\n {\n // console.log('LOADGRID',event)\n this.flag='LOADGRID'\n this.Condition=event.value;\n this.Loaddetails();\n this.addflag = true;\n }\n\n logEvent(_flag, e)\n {\n // console.log(\"logEvent\",e.data.Tag)\n\n let slno = 0;\n let paramsExtra;\n slno = e.data.SlNo;\n // const time = (this.datePipe.transform( e.data.Date, 'dd-MM-yyyy') + ' ' + e.data.Time);\n\n if (_flag == 'RowInserting')\n {\n paramsExtra = {\n CID: this.CID,\n Flag: 'ADD',\n ComboName:this.Condition,\n DisplayMember: e.data.Tag,\n UserID: '',\n GroupID:sessionStorage.getItem('groupid')\n\n };\n }\n else if (_flag == 'RowRemoved')\n {\n\n paramsExtra = {\n CID: this.CID,\n Flag: 'DELETE',\n ComboName:this.Condition,\n DisplayMember: e.data.Tag,\n UserID: '',\n GroupID:sessionStorage.getItem('groupid')\n\n };\n }\n this.service.httpPost('/HRConfig/SetHRConfig',paramsExtra)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n \n if (users.errno === 0){\n this.notificationService.success('Submitted successfully');\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatChip } from '@angular/material/chips';\nimport { MatDialog } from '@angular/material/dialog';\n//import { MatDialogModule } from '@angular/material/dialog';\nimport { AddLeaveGroupPopUpComponent } from './add-leave-group-pop-up/add-leave-group-pop-up.component';\nimport { LinkLeaveTypePopupComponent } from './link-leave-type-popup/link-leave-type-popup.component';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\n\n@Component({\n selector: 'app-leavegroupconfig',\n templateUrl: './leavegroupconfig.component.html',\n styleUrls: ['./leavegroupconfig.component.css']\n})\n\nexport class LeaveGroupConfigComponent implements OnInit {\n selectedCID: string | null = null;\n //uniqueCidList: string[] = [];\n uniqueCidList: any[] = [];\n \n dataSource: MatTableDataSource;\n displayedColumns: string[] = ['LeaveGroupID', 'LeaveGroupName', 'LeaveDisplayNames', 'Action'];\n\n constructor(private httpService: HttpserviceService, private dialog: MatDialog, private dialogService: DialogService) {\n this.dataSource = new MatTableDataSource([]);\n }\n\n ngOnInit(): void {\n this.fetchCompanyIDs();\n }\n\n fetchCompanyIDs(): void {\n this.httpService.httpGet('/LeaveGroup/GetDistinctCIDs', '').subscribe(\n (response) => {\n console.log('API Response:', response);\n \n // Ensure the response contains an array at response.respdata\n\n if (response && response.respdata && Array.isArray(response.respdata)) {\n this.uniqueCidList = response.respdata; // Assign the array to uniqueCidList\n console.log('API this.uniqueCid:', this.uniqueCidList);\n \n // Set the first CID as selectedCID if available\n if (this.uniqueCidList.length > 0) {\n this.selectedCID = this.uniqueCidList[0].CID;\n this.fetchLeaveGroupConfiguration(this.selectedCID); // Fetch leave group data\n }\n }\n },\n (error) => {\n console.error('Error fetching Company IDs:', error); // Handle error\n }\n );\n }\n \n onChangeCID(): void {\n if (!this.selectedCID) return;\n this.fetchLeaveGroupConfiguration(this.selectedCID);\n }\n\n fetchLeaveGroupConfiguration(cid: string): void {\n console.log('Fetching Leave Group Configuration for CID:', cid);\n \n const params = { CID: cid, Flag: 1, LeaveGroupID: null, LeaveTypeIDs: null };\n \n \n this.httpService.httpPost('/LeaveGroup/GetLeaveGroupConfiguration', params).subscribe(\n (response) => {\n\n console.log('Leave Group Configuration response:', response);\n\n \n if (response && response.respdata && Array.isArray(response.respdata.Table)) {\n const groupedData = this.groupLeaveTypes(response.respdata.Table);\n this.dataSource.data = groupedData; \n console.log('Data source set:', this.dataSource.data);\n \n } else {\n this.dataSource.data = [];\n console.log('No data found, setting data source to empty array.');\n }\n \n },\n (error) => {\n console.error('Error fetching Leave Group Configuration:', error);\n }\n );\n }\n\n openAddLeaveGroupDialog(): void {\n const dialogRef = this.dialog.open(AddLeaveGroupPopUpComponent, {\n autoFocus: false,\n data: { CID: this.selectedCID } \n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.fetchLeaveGroupConfiguration(this.selectedCID!);\n }\n });\n }\n\n editElement(element: any): void {\n\n const dialogRef = this.dialog.open(LinkLeaveTypePopupComponent, {\n autoFocus: false,\n data: element\n }); \n\n console.log(element);\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.fetchLeaveGroupConfiguration(this.selectedCID!);\n }\n });\n }\n\n deleteElement(element: any): void {\n \n this.dialogService.openConfirmDialog(`Are you sure you want to delete the entry : ${element.LeaveGroupName} ?`)\n .afterClosed().subscribe(res => {\n if (res) {\n const params = {\n CID: this.selectedCID,\n Flag: 4, \n LeaveGroupID: element.LeaveGroupID,\n LeaveGroupName: null,\n LeaveTypeIDs: null\n };\n\n this.httpService.httpPost('/LeaveGroup/SetLeaveGroupConfiguration', params).subscribe(\n (response) => {\n console.log('Leave group deleted:', response);\n this.fetchLeaveGroupConfiguration(this.selectedCID!); // Refresh the table\n },\n (error) => {\n console.error('Error deleting Leave Group:', error);\n }\n );\n }\n });\n this.fetchLeaveGroupConfiguration(this.selectedCID!);\n \n }\n\n private groupLeaveTypes(data: any[]): any[] {\n const grouped = data.reduce((acc, curr) => {\n const existingGroup = acc.find(item => item.LeaveGroupID === curr.LeaveGroupID);\n \n const leaveDisplayName = `${curr.LeaveTypeID} - ${curr.LeaveName}`;\n \n\n if (existingGroup) {\n existingGroup.LeaveDisplayNames.push(leaveDisplayName); // Keep it as an array\n } else {\n acc.push({\n CID: curr.CID,\n LeaveGroupID: curr.LeaveGroupID,\n LeaveGroupName: curr.LeaveGroupName,\n LeaveDisplayNames: [leaveDisplayName] \n });\n }\n return acc;\n }, []);\n\n return grouped; \n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatAutocomplete } from '@angular/material/autocomplete';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatChip } from '@angular/material/chips';\r\nimport { MatChipList } from '@angular/material/chips';\r\nimport { MatIcon, MatIconModule } from '@angular/material/icon';\r\nimport { MatFormField, MatFormFieldModule, MatLabel } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatButton, MatButtonModule } from '@angular/material/button';\r\n\r\n@Component({\r\n selector: 'app-add-leave-group-pop-up',\r\n templateUrl: './add-leave-group-pop-up.component.html',\r\n styleUrls: ['./add-leave-group-pop-up.component.css'],\r\n})\r\nexport class AddLeaveGroupPopUpComponent implements OnInit {\r\n leaveGroupData: any[] = [];\r\n formGroup!: FormGroup;\r\n leaveTypeFilter = new FormControl('');\r\n leaveTypeSelectValues: { value: string }[] = [];\r\n leaveTypeSelect: FormControl;\r\n\r\n newLeaveGroupNameControl = new FormControl('', Validators.required);\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private http: HttpClient,\r\n private httpService: HttpserviceService, \r\n private fb: FormBuilder\r\n ) {\r\n this.leaveTypeSelect = new FormControl([], Validators.required); \r\n }\r\n\r\n ngOnInit(): void {\r\n this.formGroup = this.fb.group({\r\n newLeaveGroupName: this.newLeaveGroupNameControl,\r\n leaveTypeSelect: this.leaveTypeSelect,\r\n });\r\n\r\n this.httpService.httpGet(`/LeaveGroup/GetLeaveTypes?CID=${this.data.CID}`, '').subscribe(response => {\r\n if (response && response.respdata) {\r\n \r\n this.leaveGroupData = response.respdata.map(leaveType => ({\r\n LeaveTypeID: leaveType.LeaveTypeID,\r\n LeaveDisplayName: `${leaveType.LeaveTypeID} - ${leaveType.LeaveName}` \r\n }));\r\n console.log(this.leaveGroupData);\r\n } else {\r\n console.error('No leave group data found in response');\r\n }\r\n });\r\n}\r\n\r\nisSelected(leaveTypeDisplayName: string): boolean {\r\n return this.leaveTypeSelectValues.some(item => item.value === leaveTypeDisplayName);\r\n}\r\n\r\nremove(leaveType: string) {\r\n const index = this.leaveTypeSelectValues.findIndex(item => item.value === leaveType);\r\n if (index >= 0) {\r\n this.leaveTypeSelectValues.splice(index, 1);\r\n this.leaveTypeSelect.setValue(this.leaveTypeSelectValues.map(item => item.value));\r\n //this.leaveTypeSelect.updateValueAndValidity();\r\n }\r\n}\r\n\r\n\r\n toggleSelection(leaveTypeDisplayName: string) {\r\n const index = this.leaveTypeSelectValues.findIndex(item => item.value === leaveTypeDisplayName);\r\n\r\n if (index >= 0) {\r\n \r\n this.leaveTypeSelectValues.splice(index, 1);\r\n } else {\r\n \r\n this.leaveTypeSelectValues.push({ value: leaveTypeDisplayName });\r\n } \r\n this.leaveTypeSelect.setValue(this.leaveTypeSelectValues.map(item => item.value));\r\n //this.leaveTypeSelect.updateValueAndValidity(); \r\n this.leaveTypeFilter.setValue('');\r\n}\r\n\r\n \r\n\r\n filteredLeaveTypes() {\r\n const filterValue = this.leaveTypeFilter.value?.toLowerCase() || '';\r\n return this.leaveGroupData.filter(leaveType =>\r\n leaveType.LeaveDisplayName.toLowerCase().includes(filterValue)\r\n );\r\n}\r\n Add_New_Leave_Group() {\r\n if (this.formGroup.valid) {\r\n const leaveTypeIds = this.leaveTypeSelectValues.map(leaveType => parseInt(leaveType.value.split(' - ')[0]));\r\n const data = {\r\n Flag: 2, \r\n CID: this.data.CID, \r\n LeaveGroupName: this.newLeaveGroupNameControl.value,\r\n LeaveTypeIDs: JSON.stringify(leaveTypeIds), \r\n \"@LeaveGroupID\": \"\" \r\n };\r\n\r\n \r\n this.httpService.httpPost('/LeaveGroup/SetLeaveGroupConfiguration', data).subscribe(response => {\r\n console.log(response);\r\n this.dialogRef.close(response);\r\n });\r\n } else {\r\n this.formGroup.markAllAsTouched();\r\n this.leaveTypeSelect.setErrors({ required: true }); \r\n this.leaveTypeSelect.markAsTouched()\r\n }\r\n }\r\n\r\n onClosePopup() {\r\n this.dialogRef.close();\r\n }\r\n}","import { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-leavegroup',\n templateUrl: './leavegroup.component.html',\n styleUrls: ['./leavegroup.component.scss'],\n})\nexport class LeavegroupComponent implements OnInit {\n\n ActiveStatus = [\n { id : 1, Name: 'Active'},\n { id : 0, Name: 'InActive'}\n ];\n\n LeavegroupFormGroup: FormGroup;\n levegrpid:any=\"0\";\n grpname:any;\n status:any\n Flag:any;\n cid:any;\n readonly:any;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { \n\n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.levegrpid=this.data.ID;\n this.grpname=this.data.GroupName;\n this.status=this.data.Status; \n this.LeavegroupFormGroup = this.formBuilder.group({ \n fcGroupName:['', Validators.required], \n fcStatus:[''] \n }); \n\n this.LeavegroupFormGroup.controls.fcGroupName.setValue(this.grpname);\n this.LeavegroupFormGroup.controls.fcStatus.setValue(this.status);\n }\n\n ngOnInit() {}\n\n Submit()\n {\n let params = { \n cid:this.cid,\n flag: this.Flag, \n ID:this.levegrpid, \n GroupName:this.LeavegroupFormGroup.get('fcGroupName').value, \n Status:this.LeavegroupFormGroup.get('fcStatus').value,\n UserID:0,\n GroupID:sessionStorage.getItem('groupid') \n };\n this.service.httpPost('/LeaveTypeMaster/SetLeaveGroup',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n onCloseDialog()\n { \n this.dialogRef.close();\n }\n\n}\n","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { LeavegroupComponent } from '../leavegroup/leavegroup.component';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-leavegrouplist',\n templateUrl: './leavegrouplist.component.html',\n styleUrls: ['./leavegrouplist.component.scss'],\n})\nexport class LeavegrouplistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n LocationID:any;\n companies:any; \n datasource:MatTableDataSource;\n\n displayedColumns =['ALPID','AnnualLeavePolicyName','IsActive','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService)\n {\n\n }\n\n ngOnInit() {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD' \n this.Loaddetails();\n }\n\n Loaddetails()\n {\n let params = {\n CID:this.CID,\n flag:this.flag\n } \n this.service.httpPost('/LeaveTypeMaster/GetLeaveGroup',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){ \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.LeaveGrouplist;\n this.datasource = new MatTableDataSource(result.respdata.LeaveGrouplist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n } \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' \n \n }\n const dialogRef = this.dialog.open(LeavegroupComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n ID:event.ALPID,\n GroupName:event.AnnualLeavePolicyName,\n Status:event.IsActive\n \n }\n const dialogRef = this.dialog.open(LeavegroupComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n\n Delete(event)\n {\n let branch = []; \n branch.push({BranchID:'' ,BranchName:''}) \n this.dialogService.openConfirmDialog('Are you sure to delete this group?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag: 'Delete', \n ID:event.ALPID, \n UserID:0,\n GroupID:sessionStorage.getItem('groupid') \n };\n this.service.httpPost('/LeaveTypeMaster/SetLeaveGroup',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno !== 0) {\n this.notificationService.success(result.errdesc);\n\n this.flag='PAGELOAD' \n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n }\n\n onCompanySelect(event)\n {\n this.CID=event;\n this.Loaddetails();\n }\n}\n\nexport interface GroupALL {\n \n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIcon, MatIconModule } from '@angular/material/icon';\nimport { MatError, MatFormField, MatFormFieldModule, MatLabel } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButton, MatButtonModule } from '@angular/material/button';\n\n\n@Component({\n selector: 'app-link-leave-type-popup',\n templateUrl: './link-leave-type-popup.component.html',\n styleUrls: ['./link-leave-type-popup.component.css']\n})\n\nexport class LinkLeaveTypePopupComponent implements OnInit {\n leaveGroupData: any[] = [];\n formGroup!: FormGroup;\n leaveTypeFilter = new FormControl('');\n leaveTypeSelectValues: { value: string }[] = [];\n leaveTypeSelect: FormControl;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private httpService: HttpserviceService,\n private formBuilder: FormBuilder\n ) {\n this.leaveTypeSelect = new FormControl([]);\n }\n\n \n ngOnInit(): void {\n this.formGroup = this.formBuilder.group({\n leaveGroupName: new FormControl(this.data.LeaveGroupName, Validators.required),\n leaveTypeSelect: this.leaveTypeSelect,\n });\n\n if (Array.isArray(this.data.LeaveDisplayNames)) {\n this.leaveTypeSelectValues = this.data.LeaveDisplayNames.map((name: string) => ({ value: name }));\n this.leaveTypeSelect.setValue(this.leaveTypeSelectValues.map(item => item.value));\n } else {\n console.warn('LeaveDisplayNames is not defined or is not an array:', this.data.LeaveDisplayNames);\n this.leaveTypeSelectValues = []; \n }\n \n\n this.httpService.httpGet(`/LeaveGroup/GetLeaveTypes?CID=${this.data.CID}`, '').subscribe(response => {\n if (response && response.respdata) {\n this.leaveGroupData = response.respdata.map(leaveType => ({\n LeaveTypeID: leaveType.LeaveTypeID,\n LeaveDisplayName: `${leaveType.LeaveTypeID} - ${leaveType.LeaveName}`\n }));\n console.log('Available Leave Types:', this.leaveGroupData); \n } else {\n console.error('No leave group data found in response');\n }\n });\n \n console.log('Existing Leave Types:', this.leaveTypeSelectValues); \n }\n\n remove(leaveType: string) {\n const index = this.leaveTypeSelectValues.findIndex(item => item.value === leaveType);\n if (index >= 0) {\n this.leaveTypeSelectValues.splice(index, 1);\n this.leaveTypeSelect.setValue(this.leaveTypeSelectValues.map(item => item.value));\n }\n }\n\n toggleSelection(leaveTypeDisplayName: string) {\n const index = this.leaveTypeSelectValues.findIndex(item => item.value === leaveTypeDisplayName);\n\n if (index >= 0) {\n this.leaveTypeSelectValues.splice(index, 1);\n } else {\n this.leaveTypeSelectValues.push({ value: leaveTypeDisplayName });\n }\n this.leaveTypeSelect.setValue(this.leaveTypeSelectValues.map(item => item.value));\n this.leaveTypeFilter.setValue('');\n }\n\n isSelected(leaveTypeDisplayName: string): boolean {\n return this.leaveTypeSelectValues.some(item => item.value === leaveTypeDisplayName);\n }\n\n filteredLeaveTypes() {\n const filterValue = this.leaveTypeFilter.value?.toLowerCase() || '';\n return this.leaveGroupData.filter(leaveType =>\n leaveType.LeaveDisplayName.toLowerCase().includes(filterValue)\n );\n }\n\n \n\n UpdateLeaveTypes() {\n\n if(this.formGroup.valid){\n\n if (this.leaveTypeSelect.value && this.leaveTypeSelect.value.length > 0) {\n const leaveTypeIds = this.leaveTypeSelectValues.map(leaveType => parseInt(leaveType.value.split(' - ')[0]));\n const leaveTypeIdsString = JSON.stringify(leaveTypeIds);\n\n\n const data = {\n Flag: 3, \n CID: this.data.CID,\n LeaveGroupID: this.data.LeaveGroupID,\n LeaveGroupName: this.formGroup.get('leaveGroupName')?.value,\n LeaveTypeIDs: leaveTypeIdsString,\n };\n\n console.log('Data to be sent:', data);\n this.httpService.httpPost('/LeaveGroup/SetLeaveGroupConfiguration', data).subscribe(\n response => {\n console.log('Update successful:', response);\n this.onClosePopup(); \n },\n error => {\n console.error('Error updating leave group configuration:', error);\n }\n );\n } else {\n console.log('Form is invalid');\n this.leaveTypeSelect.setErrors({ required: true }); \n this.leaveTypeSelect.markAsTouched();\n }\n }else {\n console.log('Form is invalid');\n this.formGroup.markAllAsTouched();\n this.leaveTypeSelect.markAsTouched();\n }\n }\n\n onClosePopup() {\n this.dialogRef.close();\n this.dialogRef.close(this.leaveTypeSelectValues.map((leaveType) => leaveType.value)); // Pass the selected leave types as an argument\n }\n}\n\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { ChangeDetectorRef, Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\n// import { FormGroup } from '@angular/forms';\n import { FormGroup, Validators, FormBuilder,FormControl } from '@angular/forms';\n import { DatePipe} from '@angular/common';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { LeavetypemasterviewComponent } from './../leavetypemasterview/leavetypemasterview.component';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\nimport { UserService } from './../../../Admin/Users/userValidate';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { LeavetypeconfigurationComponent } from 'src/app/components/HR/leavetypeconfiguration/leavetypeconfiguration.component';\n\n\n\n@Component({\n selector: 'app-leavetypemaster',\n templateUrl: './leavetypemaster.component.html',\n styleUrls: ['./leavetypemaster.component.css'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px', minHeight: '0' })),\n state('expanded', style({ height: '*' })),\n transition(\n 'expanded <=> collapsed',\n animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')\n )\n ])\n ]\n})\nexport class LeavetypemasterComponent implements OnInit {\n @ViewChild('outerSort', { static: true }) sort: MatSort;\n @ViewChildren('innerSort') innerSort: QueryList;\n @ViewChildren('innerTables') innerTables: QueryList>;\n dataSource: MatTableDataSource;\n LeaveDatas: LeaveDetails[] = [];\n columnsToDisplay = ['LeaveTypeID', 'LeaveName', 'LeaveType','LeaveCode','LeaveDescription',\n 'CarryForwardDays','Encashment','LeaveDayType','SetWeekEnd','SetHolidays'];\n innerDisplayedColumns = ['AccrualType', 'NoofDays'];\n expandedElement: LeaveDetails | null;\n \n\n\n LeaveTypeMaster:FormGroup;\n //dataSource:any;\n LeaveDetails:any;\n Companies:any;\n LeaveID:any;\n Status:any;\n PaidLeave:any;\n checkBoxesMode: string;\n isTzidVisible: boolean ;\n isStatusVisible: boolean ;\n isALPIDVisible: boolean ;\n CurLedgerID:number;\n onSelectionChange:boolean;\n cid:any;\n rowcount:any;\n addbtnvisible: boolean = false;\n editbtnvisible: boolean = false;\n deletebtnvisible: boolean = false;\n viewbtnvisible: boolean = false;\n\n constructor(\n private service:HttpserviceService,\n private NotificationService:NotificationService,\n private formBuilder: FormBuilder,\n private service1: UserService, \n private generic: GenericService,\n private datePipe: DatePipe,\n private dialog: MatDialog,\n \n \n private cd: ChangeDetectorRef\n ) \n {\n this.LeaveTypeMaster = this.formBuilder.group\n ({ \n fcCompany: ['', Validators.required] , \n //fcLeaveID: ['', Validators.required] ,\n // fcLeaveType:['',Validators.required],\n // fcStatus:['',Validators.required],\n // fcPaidLeave:['',Validators.required]\n }); \n \n //this.checkBoxesMode = 'always'\n }\n\n async ngOnInit()\n {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.LeaveDatas=[];\n this.LeaveDatas.length = 0;\n await this.getddllist(); \n this.isTzidVisible=false;\n this.isStatusVisible=false;\n this.isALPIDVisible=false;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.LeaveTypeMaster.controls.fcCompany.setValue(this.cid);\n\n //console.log('Leavedata2',LeaveData)\n LeaveData.forEach(user => {\n if (user.AccrualTypes && Array.isArray(user.AccrualTypes) && user.AccrualTypes.length) {\n this.LeaveDatas = [...this.LeaveDatas, {...user, AccrualTypes: new MatTableDataSource(user.AccrualTypes)}];\n } else { \n this.LeaveDatas = [...this.LeaveDatas, user];\n }\n });\n \n this.dataSource = new MatTableDataSource(this.LeaveDatas);\n this.dataSource.sort = this.sort;\n console.log('this.dataSource',this.LeaveDatas)\n //this.dataSource.sort = this.sort;\n\n }\n\n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.dataSource.filter = filterValue;\n }\n\n changesite(e) {\n console.log('change',e.value);\n this.cid=e.value;\n this.getddllist();\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.LeaveTypeMaster.reset(); \n //this.dataSource=''; \n this.LeaveDetails='';\n this.LeaveTypeMaster.controls.fcCompany.setValue(this.cid);\n } \n\n LoadLeaveLetails(LeaveData1:any,accuredData:any)\n {\n // console.log('leavedata',LeaveData1,LeaveData1.length)\n // console.log('accuredData',accuredData,accuredData.length)\n //LeaveData\n\n //this.board=new Board('Test Board', []);\n\n let leaveTypeData:LeaveDetails[]=[];\n //console.log('leaveTypeData2',leaveTypeData) \n leaveTypeData=LeaveData1; \n console.log('LeaveData1',LeaveData,LeaveData.length) \n \n for (let i = 0; i < LeaveData.length;i++) { \n \n LeaveData.splice(i,LeaveData.length)\n //console.log('ttt',LeaveData) \n //i--\n\n }\n\n //var innerArrayLength = leaveData.length; \n let AccrualTypes:AccrualType[] = []; \n //let LeaveTypeDetails:LeaveDetails[] = []; \n //let getdata:LeaveDetails[]=[]; \n //LeaveTypeDetails=[];\n \n for (let i = 0; i < leaveTypeData.length; i++) { \n // loop the inner array \n let k = 0; \n AccrualTypes=[];\n \n for (let j = 0; j < accuredData.length; j++) {\n if(accuredData[j].LeaveTypeID===leaveTypeData[i].LeaveTypeID)\n {\n let taskData={'AccrualType':accuredData[j].AccrualType,'NoofDays':accuredData[j].NoofDays,'NoOfMonthsFromJoingDate':accuredData[j].NoOfMonthFromJoiningDate} \n AccrualTypes.push(taskData); \n k++; \n } \n }\n //console.log('subj',subj) \n // let getdata = {LeaveTypeID:0,\n // 'LeaveName':'',\n // 'LeaveType':'',\n // 'LeaveCode':'',\n // 'LeaveDescription':'',\n // 'CarryForwardDays':'',\n // 'Encashment':'',\n // 'LeaveDayType':'',\n // 'SetWeekEnd':'', \n // 'SetHolidays':'',\n // AccrualTypes}\n\n let getdata={'LeaveTypeID':leaveTypeData[i].LeaveTypeID,\n 'LeaveName':leaveTypeData[i].LeaveName,\n 'LeaveType':leaveTypeData[i].LeaveType,\n 'LeaveCode':leaveTypeData[i].LeaveCode,\n 'LeaveDescription':leaveTypeData[i].LeaveDescription,\n 'CarryForwardDays':leaveTypeData[i].CarryForwardDays,\n 'Encashment':leaveTypeData[i].Encashment,\n 'LeaveDayType':leaveTypeData[i].LeaveDayType,\n 'SetWeekEnd':leaveTypeData[i].SetWeekEnd, \n 'SetHolidays':leaveTypeData[i].SetHolidays, \n AccrualTypes}\n\n //console.log('getdata',getdata)\n // LeaveData.push(new this.LeaveDetails()) \n \n LeaveData.push(getdata);\n \n //this.board.columns.push(this.datastatus);\n // console.log('this.board',this.board.columns[0].tasks.length)\n }\n console.log('LeaveData2',LeaveData) \n }\n\n showDetails(e)\n {\n console.log('TEST',e);\n }\n\n Refresh()\n {\n this.ngOnInit();\n }\n async getddllist()\n {\n let params = {\n CID: this.cid,\n LeaveName:0,\n Flag: \"DDL_COMBO\", \n };\n let data=await this.service.httpPost('/leavetypemaster/GetLeaveTypeMaster',params)\n .toPromise ().then(data=> { \n let result: any;\n result = data; \n console.log('data ', data);\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.LeaveID = result.respdata.LeaveType;\n // this.Leave =result.respdata.LeaveType;\n // this.Status = result.respdata.Status; \n let LeaveTypeData=result.respdata.LeaveData\n let LeaveTypeAccrualData=result.respdata.LeaveAccuredData\n console.log('LeaveTypeData',LeaveTypeData)\n this.LoadLeaveLetails(LeaveTypeData,LeaveTypeAccrualData)\n //this.LeaveData=JSON.parse(result.respdata.CategoryType); \n // this.LeaveDetails=result.respdata.GridData; \n //this.rowcount=result.respdata.Count; \n //console.log('leavedata',this.LeaveData);\n this.getUserList(); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n getUserList(){\n let params = {\n cid: JSON.parse(sessionStorage.getItem('cid')),\n menuid: \"STS_5\",\n groupid: JSON.parse(sessionStorage.getItem('groupid'))\n }\n this.service1.getUserList(params)\n .subscribe((data) => {\n let result: any;\n result=data;\n let btnVisilityData;\n btnVisilityData = this.generic.assignButtonVisibility(result.respdata.formrights);\n this.addbtnvisible = btnVisilityData.addflag;\n this.editbtnvisible = btnVisilityData.editflag;\n this.deletebtnvisible = btnVisilityData.deleteflag;\n this.viewbtnvisible = btnVisilityData.viewflag; \n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n\n }\n\n Submit() { \n\n this.logEvent;\n let params = { \n CID: this.LeaveTypeMaster.get('fcCompany').value,\n Flag: \"ADD\", \n // LeaveID:this.LeaveTypeMaster.get('fcLeaveID').value,\n LeaveType:this.LeaveTypeMaster.get('fcLeaveType').value,\n Status:this.LeaveTypeMaster.get('fcStatus').value,\n PaidLeave:this.LeaveTypeMaster.get('fcPaidLeave').value==\"\"?0:1,\n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid'),\n dt_Holidays: this.dataSource,\n dt_LeaveDetails: this.LeaveDetails \n };\n console.log('params',params)\n this.service.httpPost('/leavetypemaster/SetLeaveTypeMaster',params)\n .subscribe(\n (data) => {\n let result: any;\n console.log('data ', data);\n result = data; \n console.log('result ', result);\n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n Edit(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.LeaveTypeMaster.get('fcCompany').value,\n Flag:'EDIT'\n }\n const dialogRef = this.dialog.open(LeavetypeconfigurationComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.ngOnInit();\n });\n }\n\n Add(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.LeaveTypeMaster.get('fcCompany').value,\n Flag:'Add'\n }\n const dialogRef = this.dialog.open(LeavetypeconfigurationComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.ngOnInit(); \n });\n }\n\n View(){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.LeaveTypeMaster.get('fcCompany').value,\n Flag:'View'\n }\n const dialogRef = this.dialog.open(LeavetypeconfigurationComponent, dialogConfig)\n dialogRef.afterClosed()\n }\n \n Delete()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n CID:this.LeaveTypeMaster.get('fcCompany').value,\n Flag:'DELETE'\n }\n const dialogRef = this.dialog.open(LeavetypeconfigurationComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => { \n this.ngOnInit();\n });\n }\n\n onClear()\n {\n this.LeaveTypeMaster.reset(); \n //this.getddllist(); \n //this.dataSource=''; \n this.LeaveDetails='';\n this.LeaveTypeMaster.controls.fcCompany.setValue(this.cid);\n }\n\n \n\n logEvent(eventName, e)\n {\n console.log(\"kk\",e)\n }\n\n onCellPrepared(e) {\n if (e.rowType !== 'data' || e.columnIndex > 0 ) {\n return;\n \n }\n if (e.rowIndex % this.rowcount.length === 0 && ( e.columnIndex == 0 )) {\n e.cellElement.rowSpan = this.rowcount.length;\n e.cellElement.innerHTML = '
' + e.value + '
';\n console.log(\"b\",e)\n }\n else {\n e.cellElement.style.display = 'none';\n console.log(\"c\",e)\n }\n // if(e.rowType === 'header') {\n // e.cellElement.css(\"backgroundColor\", \"blue\");\n // }\n }\n\n onSelectionChanged(e) \n { // Handler of the \"selectionChanged\" event\n // if(this.onSelectionChange===true)\n // {\n //console.log('hdgfd',\"hi\");\n const currentSelectedRowKeys = e.currentSelectedRowKeys;\n const currentDeselectedRowKeys =e.currentDeselectedRowKeys;\n\n if(currentSelectedRowKeys.length>0){\n \n for (let key of Object.keys(this.dataSource)) {\n let keydata = this.dataSource[key]; \n let curSelecvalue=currentSelectedRowKeys;\n console.log('keydata',JSON.stringify(keydata['CategoryType'])); \n console.log('hdgfduiouu',\"hi\",curSelecvalue[0]); \n if (JSON.stringify(curSelecvalue[0])===JSON.stringify(keydata['CategoryType']))\n {\n keydata['IncludeWith'] = 1;\n console.log('hdgfd',this.dataSource);\n } \n }\n }\n\n else if(currentDeselectedRowKeys.length>0){\n for (let key of Object.keys(this.dataSource)) {\n let keydata = this.dataSource[key]; \n let curdeSelecvalue=currentDeselectedRowKeys; \n\n if (JSON.stringify(curdeSelecvalue[0])===JSON.stringify(keydata['CategoryType'])){\n keydata['IncludeWith'] =0;\n \n } \n // else{\n // keydata['IncludeWith'] = keydata['IncludeWith'];\n // keydata['ChkStatus'] =0; \n // } \n }\n }\n \n // }\n // else\n // {\n // this.onSelectionChange=true;\n // }\n \n }\n\n\n toggleRow(element: LeaveDetails) {\n element.AccrualTypes && (element.AccrualTypes as MatTableDataSource).data.length ? (this.expandedElement = this.expandedElement === element ? null : element) : null;\n this.cd.detectChanges();\n this.innerTables.forEach((table, index) => (table.dataSource as MatTableDataSource).sort = this.innerSort.toArray()[index]);\n }\n\n applyFilter(filterValue: string) {\n this.innerTables.forEach((table, index) => (table.dataSource as MatTableDataSource).filter = filterValue.trim().toLowerCase());\n }\n \n}\n\n\nexport interface LeaveDetails {\n LeaveTypeID: number;\n LeaveName: string;\n LeaveType: string;\n LeaveCode: string;\n LeaveDescription: string;\n CarryForwardDays: string;\n Encashment: string;\n LeaveDayType: string;\n SetWeekEnd: string;\n SetHolidays: string;\n AccrualTypes?: AccrualType[] | MatTableDataSource;\n\n \n}\n\n\n// const ELEMENT_DATA: LeaveDetails[] = [\n \n// ];\n\nexport interface AccrualType {\n AccrualType: string;\n NoofDays: Number; \n NoOfMonthsFromJoingDate:Number\n}\n\nconst LeaveData: LeaveDetails[] =[\n // {\n // LeaveTypeID: 101,\n // LeaveName: \"Test101\",\n // LeaveType: \"Test101\",\n // LeaveCode: \"Test101\",\n // LeaveDescription: \"Test101\",\n // CarryForwardDays: \"Test101\",\n // Encashment: \"Test101\",\n // LeaveDayType: \"Test101\",\n // SetWeekEnd: \"Test101\",\n // SetHolidays: \"Test101\",\n // AccrualTypes: [\n // {\n // AccrualType:'asdasdasd',\n // NoofDays:15\n // }\n // ]\n // }\n];\n\n\n\nexport class Column {\n constructor(public LeaveTypeID: Number, \n public LeaveName: string,\n public LeaveType: string,\n public LeaveCode: string,\n public LeaveDescription: string,\n public CarryForwardDays: string,\n public Encashment: string,\n public LeaveDayType: string,\n public SetWeekEnd: string, \n public SetHolidays: string, \n public AccrualType: AccrualType[]) {}\n}\n\nexport class AccrualType {\n constructor(public AccrualType: string, public NoofDays: Number,public NoOfMonthsFromJoingDate:Number) {}\n}\n","import { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit } from '@angular/core';\n// import { FormGroup } from '@angular/forms';\n import { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport * as _ from 'underscore/underscore-min.js';\nimport { MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\n\n\n\n@Component({\n selector: 'app-leavetypemasterview',\n templateUrl: './leavetypemasterview.component.html',\n styleUrls: ['./leavetypemasterview.component.css']\n})\nexport class LeavetypemasterviewComponent implements OnInit {\n\n LeaveTypeMasterView:FormGroup;\n dataSource:any;\n LeaveDetails:any;\n Companies:any;\n LeaveID:any;\n Status:any;\n PaidLeave:any;\n checkBoxesMode: string;\n isTzidVisible: boolean ;\n isStatusVisible: boolean ;\n isALPIDVisible: boolean ;\n CurLedgerID:number;\n LeaveTypeDetails:any;\n onSelectionChange:boolean;\n Flag:string;\n btnvisible: boolean = false;\n CID:Number;\n selectedEffortSlno:any;\n startEditAction: string = \"click\";\n selectTextOnEditStart: boolean = true;\n cid:any;\n rowcount:any;\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,\n private dialogService: DialogService,private formBuilder: FormBuilder,\n public digRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.CID=this.data.CID;\n this.data.Flag==\"View\"?this.btnvisible=false:this.btnvisible=true;\n this.Flag=this.data.Flag==\"View\" ?\"EDIT\":this.data.Flag;\n this.LeaveTypeMasterView = this.formBuilder.group\n ({ \n fcCompany: ['', Validators.required] , \n fcLeaveID: ['', Validators.required] ,\n fcLeaveType:['',Validators.required],\n fcStatus:['',Validators.required],\n fcPaidLeave:['',Validators.required]\n }); \n \n this.checkBoxesMode = 'always'\n }\n\n ngOnInit(): void \n {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n this.getddllist(); \n this.isTzidVisible=false;\n this.isStatusVisible=false;\n this.isALPIDVisible=false;\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.LeaveTypeMasterView.controls.fcCompany.setValue(this.cid);\n }\n\n showDetails(e)\n {\n // console.log('TEST',e);\n \n\n }\n getddllist()\n {\n let params = {\n CID: this.cid,\n LeaveID:0,\n Flag: \"DDL_COMBO\", \n };\n this.service.httpPost('/leavetypemaster/GetLeaveTypeMaster',params)\n .subscribe (\n (data) => { \n let result: any;\n result = data; \n console.log('data ', data);\n if (result.errno === 0) { \n this.Companies = result.respdata.Companyid; \n this.LeaveID = result.respdata.LeaveType;\n // this.Leave =result.respdata.LeaveType;\n this.Status = result.respdata.Status; \n this.PaidLeave = result.respdata.PaidLeave; \n this.dataSource=result.respdata.CategoryType; \n this.LeaveDetails=result.respdata.GridData; \n this.rowcount=result.respdata.Count; \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n changesite(e) { \n this.cid=e.value;\n this.getddllist();\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.LeaveTypeMasterView.reset(); \n this.dataSource=''; \n this.LeaveDetails='';\n this.LeaveTypeMasterView.controls.fcCompany.setValue(this.cid);\n }\n\n selectedleavetype(event)\n {\n console.log('')\n let params = {\n CID: this.LeaveTypeMasterView.get('fcCompany').value,\n Flag: \"EDITDATA\", \n // Timezone:event.value,\n // LeaveID:this.LeaveTypeMasterView.get('fcLeaveID').value \n LeaveID:event.value \n };\n this.service.httpPost('/leavetypemaster/GetLeaveTypeMaster',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n console.log('data ', data);\n if (result.errno === 0) { \n \n this.LeaveTypeDetails=result.respdata.LeaveTypeDetails;\n this.LeaveTypeMasterView.controls.fcLeaveType.setValue(this.LeaveTypeDetails[0].LeaveType);\n this.LeaveTypeMasterView.controls.fcStatus.setValue(this.LeaveTypeDetails[0].Status);\n this.LeaveTypeMasterView.controls.fcPaidLeave.setValue(this.LeaveTypeDetails[0].PaidLeave);\n \n this.dataSource=result.respdata.WeekEnd; \n this.LeaveDetails = result.respdata.LeaveDetails; \n // this.dataSource=result.respdata.HoliDays; \n\n // this.allWeekends= _.pluck(this.Days, 'Day'); \n // this.weekends= _.pluck(result.respdata.WeekEnd, 'WeekEnds'); \n this.selectedEffortSlno=_.pluck(_.where(this.dataSource, { 'IncludeWith': 1 }), 'CategoryType'); \n\n // if(this.WorkingHrs[0].WorkingHours != undefined)\n // this.HrPolicyFormGroup.controls.fcWorkingHrs.setValue(this.WorkingHrs[0].WorkingHours);\n // else if(this.WorkingHrs[0].WorkingHours == undefined)\n // this.HrPolicyFormGroup.controls.fcWorkingHrs.setValue('');\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Submit() { \n\n this.logEvent;\n let params = { \n CID: this.LeaveTypeMasterView.get('fcCompany').value,\n Flag: this.Flag, \n LeaveID:this.LeaveTypeMasterView.get('fcLeaveID').value,\n LeaveType:this.LeaveTypeMasterView.get('fcLeaveType').value,\n Status:this.LeaveTypeMasterView.get('fcStatus').value,\n PaidLeave:this.LeaveTypeMasterView.get('fcPaidLeave').value,\n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid'),\n dt_Holidays: this.dataSource ,\n dt_LeaveDetails: this.LeaveDetails \n };\n this.service.httpPost('/leavetypemaster/SetLeaveTypeMaster',params)\n .subscribe(\n (data) => {\n let result: any; \n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc); \n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n Edit(){\n\n\n }\n \n Delete()\n {\n\n }\n\n onClear()\n {\n this.LeaveTypeMasterView.reset(); \n // this.fc.reset(); \n this.getddllist(); \n this.dataSource=''; \n this.LeaveDetails='';\n this.LeaveTypeMasterView.controls.fcCompany.setValue(this.cid);\n }\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.LeaveTypeMasterView.reset();\n this.digRef.close();\n }\n });\n }\n\n\n logEvent(eventName, e)\n {\n // console.log(\"kk\",e)\n }\n\n onCellPrepared(e) {\n if (e.rowType !== 'data' || e.columnIndex > 0 ) {\n return;\n \n }\n if (e.rowIndex % this.rowcount.length === 0 && ( e.columnIndex == 0 )) {\n e.cellElement.rowSpan = this.rowcount.length;\n e.cellElement.innerHTML = '
' + e.value + '
';\n // console.log(\"b\",e)\n } \n else {\n e.cellElement.style.display = 'none';\n // console.log(\"c\",e)\n }\n // if(e.rowType === 'header') {\n // e.cellElement.css(\"backgroundColor\", \"blue\");\n // }\n }\n \n onSelectionChanged(e) \n { // Handler of the \"selectionChanged\" event\n // if(this.onSelectionChange===true)\n // {\n //console.log('hdgfd',\"hi\");\n const currentSelectedRowKeys = e.currentSelectedRowKeys;\n const currentDeselectedRowKeys =e.currentDeselectedRowKeys;\n\n if(currentSelectedRowKeys.length>0){\n \n for (let key of Object.keys(this.dataSource)) {\n let keydata = this.dataSource[key]; \n let curSelecvalue=currentSelectedRowKeys;\n console.log('keydata',JSON.stringify(keydata['CategoryType'])); \n console.log('hdgfduiouu',\"hi\",curSelecvalue[0]); \n if (JSON.stringify(curSelecvalue[0])===JSON.stringify(keydata['CategoryType']))\n {\n keydata['IncludeWith'] = 1;\n console.log('hdgfd',this.dataSource);\n } \n }\n }\n\n else if(currentDeselectedRowKeys.length>0){\n for (let key of Object.keys(this.dataSource)) {\n let keydata = this.dataSource[key]; \n let curdeSelecvalue=currentDeselectedRowKeys; \n\n if (JSON.stringify(curdeSelecvalue[0])===JSON.stringify(keydata['CategoryType'])){\n keydata['IncludeWith'] =0;\n \n } \n // else{\n // keydata['IncludeWith'] = keydata['IncludeWith'];\n // keydata['ChkStatus'] =0; \n // } \n }\n }\n \n // }\n // else\n // {\n // this.onSelectionChange=true;\n // }\n \n }\n \n}","import { DatePipe } from '@angular/common';\nimport { User } from './../../../../Modules/user';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n\ninterface Level {\n id: number;\n name: string;\n}\n\n@Component({\n selector: 'app-productconfig',\n templateUrl: './productconfig.component.html',\n styleUrls: ['./productconfig.component.scss'],\n})\nexport class ProductconfigComponent implements OnInit {\n\n ProductFormGroup: FormGroup;\n ProductID:any;\n cid:any;\n Flag:any;\n ProductName:any;\n Description:any;\n Status:any;\n RegisterSince:any\n CurLedgerID:any;\n\n Statuslist: Level[] = [\n {id: 0, name: 'Active'},\n {id: 1, name: 'Locked'}\n \n ];\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,private datePipe: DatePipe,\n @Inject(MAT_DIALOG_DATA) public data: any)\n { \n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.ProductID = this.data.ProductID;\n this.ProductName=this.data.ProductName;\n this.Status=this.data.Status;\n this.Description=this.data.Description;\n this.RegisterSince=this.data.RegisterSince;\n\n \n this.ProductFormGroup = this.formBuilder.group({ \n fcProductName:['', Validators.required], \n fcDescription:[''],\n fcStatus:['', Validators.required], \n fcSince:['', Validators.required] \n }); \n\n this.ProductFormGroup.controls.fcProductName.setValue(this.ProductName);\n this.ProductFormGroup.controls.fcDescription.setValue(this.Description);\n this.ProductFormGroup.controls.fcStatus.setValue(this.Status);\n this.ProductFormGroup.controls.fcSince.setValue(this.RegisterSince);\n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n Submit()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n let params = { \n CID:this.cid,\n Flag: this.Flag, \n ID: this.ProductID, \n Name: this.ProductFormGroup.get('fcProductName').value, \n Description: this.ProductFormGroup.get('fcDescription').value,\n Status:this.ProductFormGroup.get('fcStatus').value,\n Register:this.datePipe.transform(this.ProductFormGroup.get('fcSince').value,'dd-MM-yyyy'),\n UserID: curUser.username,\n GroupID:sessionStorage.getItem('groupid')\n \n };\n this.service.httpPost('/ProductConfig/SetProductConfig',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onSearchClear()\n {\n this.ProductFormGroup.reset(); \n this.ProductFormGroup.controls.fcStatus.setValue(this.Status);\n }\n\n}\n","import { ProductconfigComponent } from './../productconfig/productconfig.component';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit,ViewChild } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n\n\n@Component({\n selector: 'app-productconfiglist',\n templateUrl: './productconfiglist.component.html',\n styleUrls: ['./productconfiglist.component.scss'],\n})\nexport class ProductconfiglistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n CID:any;\n flag:any;\n ID:number=0;\n companies:any;\n entitytype:any;\n // datasource:any;\n showSpinner:any;\n datasource:MatTableDataSource;\n displayedColumns =['ProductID','ProductName','Description','Status','RegisterSince','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n private generic: GenericService,\n public notificationService: NotificationService,private dialogService: DialogService,\n private NotificationService:NotificationService)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n }\n\n\n Submit(){\n this.Loaddetails();\n }\n \n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.datasource.filter = filterValue;\n }\n\n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n cid:this.CID,\n flag:this.flag\n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/ProductConfig/GetProductConfig',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.ProductConfiglist;\n this.datasource = new MatTableDataSource(result.respdata.ProductConfiglist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n // else\n // {\n // this.datasource=result.respdata.EntityList;\n // }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'ProductList', 'ProductList');\n }\n \n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n ProductID:0,\n ProductName:'',\n Description:'',\n Status:0 ,\n RegisterSince:'' \n }\n const dialogRef = this.dialog.open(ProductconfigComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n Edit(event)\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n ProductID:event.ProductID,\n ProductName:event.ProductName,\n Description:event.Description,\n Status:event.StatusID ,\n RegisterSince:event.RegisterSince \n }\n const dialogRef = this.dialog.open(ProductconfigComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this product?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.CID,\n Flag: 'DELETE', \n ID: event.ProductID, \n Name: event.ProductName, \n Description: event.Description,\n Status:event.StatusID,\n Register:event.RegisterSince,\n UserID: 0,\n GroupID:sessionStorage.getItem('groupid')\n \n };\n this.service.httpPost('/ProductConfig/SetProductConfig',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.warn(\"Product deleted Successfully\");\n //console.log('Project list: ', result.respdata);\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n}\n\nexport interface GroupALL {\n ProductID: string;\n ProductName: string;\n Status : string;\n}","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { User } from './../../../../Modules/user';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport * as _ from 'underscore/underscore-min.js';\nimport { Observable } from 'rxjs';\nimport { map, startWith, pluck } from 'rxjs/operators';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-projectcost',\n templateUrl: './projectcost.component.html',\n styleUrls: ['./projectcost.component.scss'],\n})\nexport class ProjectcostComponent implements OnInit {\n\n ProjectCostFormGroup:any;\n cid:number;\n companies: any;\n projectdata: any;\n projectid: string[]= [];\n SelectedCompanyID: number;\n myControl = new FormControl('', [Validators.required]);\n filteredOptions: Observable;\n selectedprojectid: any;\n selectedprojectname: any;\n Taglist:any;\n Emplist:any;\n Currencylist:any;\n dataSource:any;\n CurLedgerID:any;\n\n constructor(private formBuilder: FormBuilder,private service: HttpserviceService,\n public notificationService: NotificationService) {\n\n this.ProjectCostFormGroup = this.formBuilder.group({\n fcCompany: ['', Validators.required] , \n });\n }\n\n ngOnInit() {\n this.cid=JSON.parse(sessionStorage.getItem('cid'));\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n this.PageLoad();\n this.ProjectCostFormGroup.controls.fcCompany.setValue(this.cid);\n this.filteredOptions = this.myControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n return this.projectid.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n selectedproduct(event) { \n this.selectedprojectname = event.option.value;\n this.selectedprojectid = JSON.parse(_.pluck(_.where(this.projectdata, { 'ProjectID': event.option.value }), 'ProjectUID')); \n const params = {\n CID: this.cid, \n Flag: 'PageLoad',\n projectID:this.selectedprojectid\n };\n\n this.service.httpPost('/ProjectCostConfig/GetProjectCostConfig',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.Taglist=result.respdata.Table3;\n this.Emplist = result.respdata.Table4; \n this.Currencylist = result.respdata.Table5; \n this.dataSource=result.respdata.Table6;\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n\n changesite(e) { \n this.cid=e.value;\n this.PageLoad();\n }\n\n Submit()\n {\n let params = { \n CID: this.ProjectCostFormGroup.get('fcCompany').value,\n Flag: \"ADD\", \n GroupID:101,\n UserID:this.CurLedgerID,\n projectID:this.selectedprojectid,\n dtProjectCost: this.dataSource \n };\n this.service.httpPost('/ProjectCostConfig/SetProjectCostConfig',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.notificationService.success(result.errdesc);\n this.onClear();\n //console.log('Project list: ', result.respdata);\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n this.onClear();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n onClear(){\n this.myControl.setValue(''); \n this.dataSource='';\n }\n\n SearchClear()\n {\n this.myControl.setValue(''); \n }\n\n PageLoad() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n const params = {\n CID: this.cid, //this.ProjectFormGroup.get('fcCompany').value,//101,\n Flag: 'PageLoad'\n \n };\n\n this.service.httpPost('/ProjectCostConfig/GetProjectCostConfig',params)\n .subscribe (\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) { \n this.companies = curUser.dtsiteid;\n this.SelectedCompanyID = this.cid;\n this.projectdata = result.respdata.Table1; \n this.Taglist=result.respdata.Table3;\n this.Emplist = result.respdata.Table4; \n this.Currencylist = result.respdata.Table5; \n this.dataSource=result.respdata.Table6; \n\n this.projectid = _.pluck(this.projectdata, 'ProjectID'); \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n error => {\n this.notificationService.warn(error);\n console.log('Error : ', error);\n });\n }\n}\n","import { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ProjectconfigurationComponent } from './../projectconfiguration/projectconfiguration.component';\nimport { ProjectconfigurationService } from '../projectconfigurationValidate';\nimport { Component, OnInit ,ViewChild} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport { GenericService } from './../../../../Services/OtherServices/generic.service';\n\n\n\n@Component({\n selector: 'app-projectconfiguration-list',\n templateUrl: './projectconfiguration-list.component.html',\n styleUrls: ['./projectconfiguration-list.component.css']\n})\nexport class ProjectconfigurationListComponent implements OnInit {\n \n projectlist:MatTableDataSource;\n\n displayedColumns =['ID','Name','status','Sdate','Edate','Action'];\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n searchKey: string;\n popupVisible = false;\n\n ID:string;\n Name:string;\n Client:string;\n Description:string;\n Status:string;\n Sdate:string;\n Edate:string;\n ContactDesignation:string;\n ContactEmail:string;\n ContactMobile:string;\n ContactPerson:string;\n ContactTelephone:string;\n DayHours:string;\n Dependency:string;\n entity:any;\n Rolelist:any;\n companies: any;\n CID:any;\n \n\n\n constructor(private service:ProjectconfigurationService,private NotificationService:NotificationService,\n private generic: GenericService,private dialog: MatDialog,private dialogService: DialogService) { }\n\n ngOnInit(): void {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.getprojectconfig();\n }\n\n Submit()\n {\n this.searchKey='';\n this.getprojectconfig();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.getprojectconfig();\n\n }\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.projectlist.filter = filterValue.trim().toLowerCase();\n }\n\n onSearchClear(){\n this.searchKey=\"\";\n this.projectlist.filter=\"\";\n }\n showInfo(data) {\n this.ID=data.ID;\n this.Name=data.Name;\n this.Client=data.Client;\n this.Description=data.description;\n this.Status=data.status;\n this.Sdate=data.Sdate;\n this.Edate=data.Edate;\n this.ContactDesignation=data.ContactDesignation;\n this.ContactEmail=data.ContactEmail;\n this.ContactMobile=data.ContactMobile;\n this.ContactPerson=data.ContactPerson;\n this.ContactTelephone=data.ContactTelephone;\n this.Dependency=data.Dependency;\n this.DayHours=data.DayHours;\n\n this.popupVisible = true;\n }\n addRow()\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: 'ADD',\n pid:0,\n Rolelist:this.Rolelist,\n cid:this.CID\n }\n const dialogRef = this.dialog.open(ProjectconfigurationComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.getprojectconfig();\n });\n \n}\n onEdit(data, _flag){\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n flag: _flag,\n pid:data.ID,\n entity:this.entity,\n Rolelist:this.Rolelist,\n cid:this.CID\n\n }\n const dialogRef = this.dialog.open(ProjectconfigurationComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.getprojectconfig();\n }); \n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.projectlist.data, 'Project Data', 'project list' );\n }\n\n onDelete(data, _flag){\n data.RtnDate=data.ToDate;\n let data1=data;\n this.dialogService.openConfirmDialog('Are you sure to delete this project?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = {\n cid: this.CID,\n flag: \"DELETE\",\n ID:data.ID,\n Name:data.Name,\n Client:\"\",\n description:data.description,\n status:data.ProjectStatus,\n Sdate:data.Sdate,\n Edate:data.Edate,\n ContactDesignation:data.ContactDesignation,\n ContactEmail:data.ContactEmail,\n ContactMobile:data.ContactMobile,\n ContactPerson:data.ContactPerson,\n ContactTelephone:data.ContactTelephone,\n DayHours:data.DayHours,\n Dependancy:\"\",\n DependancyID:\"\",\n location:\"\",\n listarray:[{Role:\"\",hours:\"\"}],\n UserID:\"\",\n GroupID:sessionStorage.getItem(\"groupid\")\n }\n let params1 = Object.assign(params);\n this.service.setprojectconfig(params1)\n .subscribe( \n data => {\n var result: any;\n result = data;\n this.NotificationService.warn('Project deleted successfully');\n this.Submit();\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n });\n \n} \n getprojectconfig()\n {\n let params = {\n cid: this.CID,\n flag:\"LOADGRID\",\n projectID:\"0\",\n dayshours:\"0\"\n \n }\n this.service.getprojectconfig(params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n this.companies = result.respdata.Table2;\n this.Rolelist= result.respdata.Table1;\n this.projectlist = result.respdata.Table;\n this.projectlist = new MatTableDataSource(result.respdata.Table);\n this.projectlist.sort = this.sort;\n this.projectlist.paginator = this.paginator;\n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n}\nexport interface GroupALL {\n ID: string;\n Name: string;\n status : string;\n \n\n}\n","import { Injectable } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/Forms';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProjectconfigurationService {\n\n constructor(private http: HttpserviceService) { }\n\n getprojectconfig(params: any){\n const query = `cid=${params.cid}&flag=${params.flag}&projectID=${params.projectID}&dayshours=${params.dayshours}`;\n return this.http.httpGet('/ProjectConfig/GetProjectConfig?' , query)\n }\n getemployeelist(params: any){\n const query = `cid=${params.cid}&tablename=${params.tablename}&type=${params.formtype}&condition=${params.condition}&menuid=${params.menuid}&withinactive=${params.withinactive}`;\n return this.http.httpGet('/usermgt/loaddetails?' , query)\n }\n getlocationlist(params: any){\n const query = `cid=${params.cid}&tablename=${params.tablename}&type=${params.formtype}&condition=${params.condition}&menuid=${params.menuid}&withinactive=${params.withinactive}`;\n return this.http.httpGet('/usermgt/loaddetails?' , query)\n }\n setprojectconfig(data: any)\n {\n return this.http.httpPost('/ProjectConfig/SetProjectConfig?', data)\n }\n form: FormGroup = new FormGroup({\n ID: new FormControl(''),\n Name: new FormControl('', [Validators.required]),\n Client: new FormControl('', [Validators.required]),\n status: new FormControl('', Validators.required),\n ProjectStatus: new FormControl(''),\n Sdate: new FormControl('', [Validators.required]),\n Edate: new FormControl('', Validators.required),\n ContactDesignation: new FormControl(''),\n ContactEmail: new FormControl(''),\n ContactMobile: new FormControl(''),\n ContactPerson: new FormControl(''),\n ContactTelephone: new FormControl(''),\n DayHours: new FormControl('', Validators.required),\n description: new FormControl(''),\n location: new FormControl(''),\n list: new FormControl('')\n\n });\n\n initializeFormGroup(){\n this.form.setValue({\n ID: '',\n Name: '',\n Client: '',\n status: '',\n ProjectStatus:'',\n Sdate: '',\n Edate: '',\n ContactDesignation: '',\n ContactEmail: '',\n ContactMobile: '',\n ContactPerson: '',\n ContactTelephone: '',\n DayHours: '',\n description: '',\n location: '',\n list: ''\n });\n }\n\n populateForm(data){\n let userdata;\n\n userdata = data;\n let locationlist;\n if (data[0].location === 'undefined' || data[0].location === null)\n {\n locationlist = '';\n\n } else{ locationlist = data[0].location.split(','); }\n\n\n // console.log(\"arra\",data[0].MerchantLedgerID);\n // console.log(\"5567557\",data[0] );\n const user = {\n ID: data[0].ID,\n Name: data[0].Name,\n Client: data[0].MerchantLedgerID,\n description: data[0].description,\n status: data[0].ProjectStatus,\n ProjectStatus:data[0].PrjStatus,\n Sdate: data[0].Sdate,\n Edate: data[0].Edate,\n ContactDesignation: data[0].ContactDesignation,\n ContactEmail: data[0].ContactEmail,\n ContactMobile: data[0].ContactMobile,\n ContactPerson: data[0].ContactPerson,\n ContactTelephone: data[0].ContactTelephone,\n DayHours: data[0].DayHours,\n location: locationlist,\n list: ''\n };\n this.form.setValue(user);\n\n }\n \n}\n\n","import { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { Component, OnInit, ViewChild} from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { ProjectconfigurationService } from '../projectconfigurationValidate';\nimport { DatePipe, formatDate } from '@angular/common';\nimport {DxDataGridComponent} from 'devextreme-angular';\nimport { User } from 'src/app/Modules/user';\n\n\n@Component({\n selector: 'app-projectconfiguration',\n templateUrl: './projectconfiguration.component.html',\n styleUrls: ['./projectconfiguration.component.css']\n})\nexport class ProjectconfigurationComponent implements OnInit {\n @ViewChild(DxDataGridComponent) dataGrid: DxDataGridComponent;\n flag: string;\n step = 0;\n dayslist: any;\n merchantlist: any;\n locationlist: any;\n dataSource: any;\n dataSource1: any;\n ProjectStatuslist:any;\n Rolelist: any;\n model: any;\n temp= 0;\n // events: Array = [];\n // dataSource2:any;\n hours: 0;\n dayhours: 0;\n CID:any;\n public filteredList5\n\n editUsr: any; oldUsr: any; editdisabled: boolean;\n Days = {\n store: {\n type: 'array',\n data: [\n { id: 0, name: 'Active' },\n { id: 1, name: 'Locked' },\n\n // ...\n ],\n key: 'id'\n }};\n\n displayedColumns = ['sno', 'Name', 'status', 'Action'];\n constructor(private datePipe: DatePipe,\n public service: ProjectconfigurationService,\n public notificationService: NotificationService,\n private dialogService: DialogService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.flag = this.data.flag;\n this.temp = this.data.pid;\n // this.dataSource=this.data.entity;\n // this.dataSource1=this.data.entity;\n this.Rolelist = this.data.Rolelist;\n this.CID=this.data.cid;\n }\n\n ngOnInit(): void {\n\n this.dayslist = this.Days.store.data;\n // this.getmerchantlist();\n // this.getlocationlist();\n this.getprojectconfig();\n\n }\n public list: any[] = [];\naddContrat(e,code: string, label: string) {\n if(e.source._selected==true)\n {\n this.list.push({ code, label });\n }\n else \n {\n \n this.list.splice(this.list.findIndex(item => item.code === code), 1)\n \n }\n\n}\nremoveContract(i: number) {\nthis.list.splice(i, 1);\n}\n getprojectconfig()\n {\n const paramsFormValue = this.service.form.value;\n\n const params = {\n cid: this.CID,\n flag: 'PROJECTDETAILS',\n projectID: this.temp,\n dayshours: '0'\n\n };\n this.service.getprojectconfig(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.merchantlist = result.respdata.Table;\n this.locationlist = result.respdata.Table1;\n this.dataSource = result.respdata.Table3;\n this.dataSource1 = result.respdata.Table3;\n this.ProjectStatuslist =result.respdata.Table4;\n // console.log(\"ggNNN\",this.ProjectStatuslist);\n\n this.filteredList5= this.merchantlist.slice();\n //console.log('HII',this.filteredList5)\n // paramsFormValue.location=[\"101\",\"102\"]\n if (this.flag == 'EDIT')\n {\n const params = Object.assign(result.respdata.Table2);\n // console.log(\"params\",params);\n this.service.populateForm(params);\n }\n\n // var user = {\n // location:[\"101\",\"102\"]\n // }\n // form.setValue(user);\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n setStep(index: number) {\n this.step = index;\n }\n nextStep() {\n this.step++;\n }\n prevStep() {\n this.step--;\n }\n onCloseDialog()\n {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n // this.dialogRef.close({event: 'CLEAR'});\n\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n if (res) {\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n }\n });\n\n }\n onClose(model){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.dialogRef.close({event: this.flag, data: model});\n }\n onClear()\n {\n this.dataSource=[];\n this.service.form.reset();\n this.service.initializeFormGroup();\n \n }\n onSubmit()\n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n \n if (this.service.form.valid){\n const curDate = new Date();\n const paramsFormValue = this.service.form.value;\n\n // var myObj=this.dataSource1\n\n // delete this.dataSource1.DaysHours;\n // delete this.dataSource1.__KEY__;\n\n // delete myObj.DaysHours;\n // delete myObj.__KEY__;\n \n if ( this.dataSource1.length == 0)\n {\n this.dataSource1 = [{Role: '', hours: ''}];\n }\n\n\n paramsFormValue.Sdate = this.datePipe.transform(paramsFormValue.Sdate, 'yyyy-MM-dd');\n paramsFormValue.Edate = this.datePipe.transform(paramsFormValue.Edate, 'yyyy-MM-dd');\n // console.log(\"sss\",paramsFormValue );\n const paramsExtra = {\n cid: this.CID,\n flag: this.flag,\n // LedgerID: this.ledgerid,\n\n UserID: curUser.username,\n GroupID: sessionStorage.getItem('groupid'),\n listarray: this.dataSource1\n // Year:this.requestyear,\n // Type:this.type\n\n };\n const params = Object.assign(paramsFormValue, paramsExtra);\n // console.log(\"save\",params);\n this.service.setprojectconfig(params)\n .subscribe(\n (data) => {\n let users: any;\n users = data; //result.users;\n // console.log('create:', users.errno);\n\n if (users.errno === 0){\n this.service.form.reset();\n this.service.initializeFormGroup();\n this.notificationService.success('Submitted successfully');\n this.onClose(this.model);\n\n }\n else{\n this.notificationService.success(users.errdesc); //':: Problem updating user');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n }\n\n getmerchantlist(){\n\n const params = {\n cid: this.CID,\n tablename: 'MERCHANT',\n formtype: '\\'\\'',\n condition: '\\'\\'',\n menuid: 'default',\n withinactive: false\n };\n this.service.getemployeelist(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.merchantlist = result.respdata.employees;\n // console.log(\"hh\", this.merchantlist);\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n\n }\n logEvent(eventName, e)\n {\n if (eventName == 'EditingStart')\n {\n // console.log(\"RowUpdating\",e.data.Hours);\n if (e.data.Hours !== undefined)\n {\n this.hours = e.data.Hours;\n }\n\n if (e.data.DaysHours !== undefined)\n {\n this.dayhours = e.data.DaysHours;\n }\n\n\n }\n if (eventName == 'RowUpdated' || eventName == 'RowInserting')\n {\n const paramsFormValue = this.service.form.value;\n\n if (e.data.DaysHours !== undefined)\n {\n\n if ( e.data.DaysHours != 0)\n {\n if (e.data.DaysHours != this.dayhours )\n {\n e.data.Hours = e.data.DaysHours * paramsFormValue.DayHours ;\n }\n else{ e.data.DaysHours = e.data.Hours / paramsFormValue.DayHours ; }\n\n // console.log(\"va\", e.data);\n // e.data.Hours=e.data.DaysHours * 8 ;\n }\n else{\n e.data.Hours = e.data.Hours;\n e.data.DaysHours = e.data.Hours / paramsFormValue.DayHours ;\n }\n }\n else\n {\n e.data.Hours = e.data.Hours;\n e.data.DaysHours = e.data.Hours / paramsFormValue.DayHours ;\n }\n }\n \n }\n \n getlocationlist(){\n const params = {\n cid: this.CID,\n tablename: 'Location',\n formtype: '\\'\\'',\n condition: '\\'\\'',\n menuid: 'default',\n withinactive: false\n };\n this.service.getlocationlist(params)\n .subscribe(data => {\n let result: any;\n result = data;\n if (result.errno === 0){\n this.locationlist = result.respdata.employees;\n // console.log(\"ll\", this.locationlist);\n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log('Error: ', error);\n // this.service.form.setErrors(error.originalError);\n else throw error;\n });\n }\n\n}\n\n\n","import { DatePipe } from '@angular/common';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n//import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\n\ninterface ControlType {\n name: string;\n}\ninterface Type {\n name: string;\n}\ninterface Datasource {\n Value: string;\n}\ninterface Datasource1 {\n Value: string;\n Value1: string;\n}\n@Component({\n selector: 'app-question',\n templateUrl: './question.component.html',\n styleUrls: ['./question.component.scss'],\n})\nexport class QuestionComponent implements OnInit {\n\n FormGroup: FormGroup;\n visible:boolean=false;\n CID:any;\n Flag:any;\n Question:any;\n controltype:any;\n type:any;\n dateperiod:any;\n ID:any=0;\n\n dataSource: Datasource [];\n dataSource1: Datasource1 [];\n \n\n Controllist: ControlType[] = [\n {name: 'textBox'},\n {name: 'select'}\n ];\n Typelist: Type[] = [\n {name: 'Employee'},\n {name: 'Manager'}\n ];\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n private datePipe: DatePipe,@Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.CID=this.data.cid;\n this.Flag=this.data.Flag;\n this.Question=this.data.question;\n this.controltype=this.data.controltype;\n this.type=this.data.type;\n this.dateperiod=this.data.dateperiod+'-01-01';\n this.ID=this.data.ID;\n\n this.FormGroup = this.formBuilder.group({ \n fcQuestions:['', Validators.required], \n fcControlType:[''],\n fcDatePeriod:[''], \n fcType:[''] \n }); \n\n if (this.Flag=='ADD')\n {\n this.FormGroup.controls.fcControlType.setValue('textBox');\n this.FormGroup.controls.fcType.setValue('Employee');\n this.FormGroup.controls.fcDatePeriod.setValue(Date);\n }\n else\n {\n this.FormGroup.controls.fcQuestions.setValue(this.Question);\n this.FormGroup.controls.fcControlType.setValue(this.controltype);\n this.FormGroup.controls.fcType.setValue(this.type);\n this.FormGroup.controls.fcDatePeriod.setValue(this.dateperiod);\n }\n \n }\n\n ngOnInit()\n {\n this.dataSource =[];\n this.dataSource1 =[];\n if(this.Flag=='EDIT')\n {\n this.Loaddetails()\n }\n \n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n logEvent(_flag,e)\n {\n }\n ControlType(event)\n {\n console.log(\"e\",event);\n if(event.value=='select')\n {\n this.visible=true;\n }\n else{this.visible=false;}\n }\n Loaddetails()\n {\n let servicepath;\n let params = {\n cid:this.CID,\n flag:this.Flag,\n ID:this.ID,\n DatePeriod:this.datePipe.transform(this.dateperiod, 'dd-MM-yyyy')\n }\n \n this.service.httpPost('/Question/GetQuestion',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n this.dataSource=result.respdata.List;\n // this.dataSource1=result.respdata.List;\n\n if(this.dataSource.length>0)\n {\n this.visible=true;\n }\n\n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Submit()\n {\n \n\n if(this.dataSource.length>0)\n {\n for (var i = 0; i < this.dataSource.length; i++)\n {\n this.dataSource1.push({Value:this.dataSource[i].Value,Value1:this.dataSource[i].Value})\n }\n }\n else\n {\n this.dataSource1.push({Value:'',Value1:''});\n }\n \n let params = { \n cid:this.CID,\n flag: this.Flag, \n ID:this.ID,\n Questions:this.FormGroup.get('fcQuestions').value,\n ControlType:this.FormGroup.get('fcControlType').value,\n Type:this.FormGroup.get('fcType').value, \n DatePeriod: this.datePipe.transform(this.FormGroup.get('fcDatePeriod').value, 'dd-MM-yyyy') , \n dt:this.dataSource1,\n UserID:'0',\n GroupID:101\n \n };\n this.service.httpPost('/Question/SetQuestion',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { DatePipe } from '@angular/common';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { QuestionComponent } from '../question/question.component';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\nexport interface GroupALL { \n Type: string; \n}\n\n@Component({\n selector: 'app-questionlist',\n templateUrl: './questionlist.component.html',\n styleUrls: ['./questionlist.component.scss'],\n})\n\n\nexport class QuestionlistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n companies:any;\n datasource:MatTableDataSource;\n\n displayedColumns =['Questions','ControlType','DatePeriod','Type','Action'];\n\n constructor(public service: HttpserviceService,public notificationService: NotificationService,\n private datePipe: DatePipe,private dialogService: DialogService,private dialog: MatDialog,)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n\n Refresh()\n {\n this.Loaddetails();\n }\n\n Loaddetails()\n {\n let servicepath;\n let params = {\n cid:this.CID,\n flag:this.flag,\n ID:0,\n DatePeriod:this.datePipe.transform(Date(), 'dd-MM-yyyy')\n }\n \n this.service.httpPost('/Question/GetQuestion',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.Questionlist;\n this.datasource = new MatTableDataSource(result.respdata.Questionlist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n }\n // else if(this.flag=='Category')\n // {\n // this.datasource=result.respdata.List;\n // }\n // else\n // {\n // let filterdata\n // this.employeelistselected=result.respdata.List;\n // }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n question:'',\n controltype:'',\n dateperiod:'',\n type:'' \n }\n const dialogRef = this.dialog.open(QuestionComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n question:event.Questions,\n controltype:event.ControlType,\n dateperiod:event.DatePeriod,\n type:event.Type,\n ID:event.ID\n }\n const dialogRef = this.dialog.open(QuestionComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }); \n\n }\n Delete(event)\n {\n this.dialogService.openConfirmDialog('Are you sure to delete this question?')\n .afterClosed().subscribe(res => {\n if (res) {\n let temp = [];\n temp.push({Value:'',Value1:''});\n \n \n let params = { \n cid:this.CID,\n flag:'DELETE', \n ID:event.ID,\n Questions:event.Questions,\n ControlType:event.ControlType,\n Type:event.Type, \n DatePeriod: this.datePipe.transform(event.DatePeriod, 'dd-MM-yyyy') , \n dt:temp,\n UserID:'0',\n GroupID:101\n \n };\n this.service.httpPost('/Question/SetQuestion',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.notificationService.warn('Deleted Successfully');\n this.Loaddetails();\n \n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n this.Loaddetails();\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n });\n\n}\n}\n","import { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-status',\n templateUrl: './status.component.html',\n styleUrls: ['./status.component.scss'],\n})\nexport class StatusComponent implements OnInit {\n\n StatusFormGroup: FormGroup;\n ststusid:any=\"0\";\n tag:any;\n description:any\n Flag:any;\n cid:any;\n readonly:any;\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any)\n { \n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.ststusid=this.data.Statusid;\n this.tag=this.data.Tag;\n this.description=this.data.Description;\n this.readonly=this.data.readonly;\n\n this.StatusFormGroup = this.formBuilder.group({ \n fcTag:['', Validators.required], \n fcDescription:[''],\n fcReadonlyTag:[false], \n }); \n\n this.StatusFormGroup.controls.fcTag.setValue(this.tag);\n this.StatusFormGroup.controls.fcDescription.setValue(this.description);\n this.StatusFormGroup.controls.fcReadonlyTag.setValue(this.readonly);\n }\n\n ngOnInit() {}\n\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n Submit()\n {\n let params = { \n cid:this.cid,\n flag: this.Flag, \n StatusID:this.ststusid, \n Tag: this.StatusFormGroup.get('fcTag').value, \n Description: this.StatusFormGroup.get('fcDescription').value,\n SLA:'1',\n ReadonlyTag:this.StatusFormGroup.get('fcReadonlyTag').value\n \n };\n this.service.httpPost('/Status/SetStatus',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { StatusComponent } from './../status/status.component';\nimport { BadInput } from './../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../../Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from './../../../../Services/OtherServices/dialog.service';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\nimport { HttpserviceService } from './../../../../Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-statuslist',\n templateUrl: './statuslist.component.html',\n styleUrls: ['./statuslist.component.scss'],\n})\nexport class StatuslistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n Condition:any;\n companies:any;\n entitytype:any;\n datasource:MatTableDataSource;\n addbtnvisible:boolean=false;\n\n displayedColumns =['StatusID','Tag','Description','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,private generic: GenericService,\n public notificationService: NotificationService,private dialogService: DialogService\n )\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Status', 'Statuslist' );\n }\n \n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.datasource.filter = filterValue;\n }\n\n \n Loaddetails()\n {\n let params = {\n cid:this.CID,\n flag:this.flag,\n Condition:this.Condition\n \n }\n const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpGet('/Status/GetStatus?',query)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.Statuslist;\n this.datasource = new MatTableDataSource(result.respdata.Statuslist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n else\n {\n this.datasource=result.respdata.EntityList;\n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n Type:this.Condition,\n Statusid:'0',\n Tag:'',\n Description:'',\n readonly:false \n }\n const dialogRef = this.dialog.open(StatusComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n \n });\n }\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n Type:this.Condition,\n Statusid:event.StatusID,\n Tag:event.Tag,\n Description:event.Description,\n readonly:event.ReadOnlyTag\n }\n const dialogRef = this.dialog.open(StatusComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n \n });\n }\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this status?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag:'DELETE', \n StatusID:event.StatusID,\n SLA:event.SLA, \n Tag: event.Tag, \n Description: event.Description,\n ReadonlyTag:event.ReadonlyTag\n \n };\n this.service.httpPost('/Status/SetStatus',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.notificationService.warn(\"Record Deleted Successfully\");\n //console.log('Project list: ', result.respdata);\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Condition=\"''\";\n this.Loaddetails();\n\n }\n\n}\n\nexport interface GroupALL {\n \n Type: string; \n}\n\n","import { DatePipe } from '@angular/common';\nimport { User } from '../../../../Modules/user';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\n\n\n@Component({\n selector: 'app-ticketlinkconfig',\n templateUrl: './ticketlinkconfig.component.html',\n styleUrls: ['./ticketlinkconfig.component.scss'],\n})\nexport class TicketlinkconfigComponent implements OnInit {\n\n CID:any;\n TypeID:any;\n Type:any;\n OppType:any;\n TicketLinkFormGroup: FormGroup; \n Flag:any;\n CurLedgerID:any;\n\n constructor(\n private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,private datePipe: DatePipe,\n @Inject(MAT_DIALOG_DATA) public data: any)\n {\n\n console.log('dialogdata',this.data)\n\n this.CID=this.data.cid;\n this.Flag=this.data.Flag;\n this.TypeID=this.data.TypeID;\n this.Type=this.data.Type;\n this.OppType=this.data.OppType; \n\n this.TicketLinkFormGroup = this.formBuilder.group({ \n fcType:['', Validators.required], \n fcOppType:['',Validators.required] \n }); \n\n if(this.Flag !='ADD')\n {\n this.TicketLinkFormGroup.controls.fcType.setValue(this.Type);\n this.TicketLinkFormGroup.controls.fcOppType.setValue(this.OppType); \n }\n }\n\n ngOnInit() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n\n\n onCloseDialog()\n { \n this.dialogRef.close();\n }\n\n Submit()\n {\n let params = { \n CID:this.CID,\n Flag: this.Flag, \n TypeID:this.TypeID, \n Type:this.TicketLinkFormGroup.get('fcType').value, \n OppType:this.TicketLinkFormGroup.get('fcOppType').value, \n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid') \n };\n this.service.httpPost('/TicketLinkConfig/SeTicketLinkConfig',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n}\n","import { DialogService } from '../../../../Services/OtherServices/dialog.service';\nimport { BadInput } from '../../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from '../../../../Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TicketprefixdialogComponent } from '../../ticketprefixdialog/ticketprefixdialog.component';\nimport { TicketlinkconfigComponent } from '../ticketlinkconfig/ticketlinkconfig.component';\n\n\n@Component({\n selector: 'app-ticketlinklist',\n templateUrl: './ticketlinklist.component.html',\n styleUrls: ['./ticketlinklist.component.scss'],\n})\nexport class TicketlinklistComponent implements OnInit {\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n displayedColumns = ['TypeID', 'Type', 'OppType', 'Action'];\n\n companies: any;\n showSpinner: any;\n datasource: MatTableDataSource;\n CID: any;\n flag: any;\n\n constructor(private dialog: MatDialog, public service: HttpserviceService,\n public notificationService: NotificationService, private dialogService: DialogService,\n private NotificationService: NotificationService) { }\n\n ngOnInit() {\n this.CID = JSON.parse(sessionStorage.getItem('cid'));\n this.flag = 'PAGELOAD'\n this.Loaddetails();\n }\n\n onCompanySelect(event) {\n this.CID = event;\n this.flag = 'PAGELOAD'\n this.Loaddetails();\n }\n\n Submit() {\n this.Loaddetails();\n }\n\n Loaddetails() {\n this.showSpinner = true;\n let params = {\n cid: this.CID,\n flag: this.flag\n }\n this.service.httpPost('/TicketLinkConfig/GetTicketLinkConfig', params)\n .subscribe(data => {\n this.showSpinner = true;\n setTimeout(() => {\n this.showSpinner = false;\n },\n 800)\n let result: any;\n result = data;\n if (result.errno === 0) {\n\n if (this.flag == 'PAGELOAD') {\n this.companies = result.respdata.Companylist;\n this.datasource = result.respdata.TicketType;\n this.datasource = new MatTableDataSource(result.respdata.TicketType);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n\n add() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid: this.CID,\n Flag: 'ADD',\n }\n const dialogRef = this.dialog.open(TicketlinkconfigComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID = this.CID;\n this.flag = 'PAGELOAD'\n this.Loaddetails();\n\n });\n }\n\n Edit(event) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {\n cid: this.CID,\n Flag: 'EDIT',\n TypeID: event.TypeID,\n Type: event.Type,\n OppType: event.OppType,\n }\n const dialogRef = this.dialog.open(TicketlinkconfigComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID = this.CID;\n this.flag = 'PAGELOAD'\n this.Loaddetails();\n\n });\n }\n\n Delete(event) {\n let sdate = Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this type?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = {\n CID: this.CID,\n Flag: 'DELETE',\n TypeID: event.TypeID,\n Type: event.Type,\n OppType: event.OppType,\n UserID: 0,\n GroupID: sessionStorage.getItem('groupid')\n };\n this.service.httpPost('/TicketLinkConfig/SeTicketLinkConfig', params)\n .subscribe(\n (data) => {\n let result: any;\n result = data;\n if (result.errno === 0) {\n this.NotificationService.warn(\"Record deleted Successfully\");\n this.flag = 'PAGELOAD'\n this.Loaddetails();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput)\n console.log(error);\n else throw error;\n });\n }\n });\n }\n}\n\nexport interface GroupALL {\n ID: string;\n Type: string;\n}","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-timezone',\n templateUrl: './timezone.component.html',\n styleUrls: ['./timezone.component.scss'],\n})\nexport class TimezoneComponent implements OnInit {\n\n FormGroup: FormGroup;\n CID:any;\n Flag:any;\n ID:any;\n TimeZone:any;\n Diffenece:any;\n CultureInfo:any;\n Country:any;\n Currencycode:any;\n ExchangeRate:any;\n CurrencyFlag:any;\n\n Timezone=[{name:'Arabian Standard Time'},{name:'Arab Standard Time'},\n {name:'Bahrain Standard Time'},{name:'British Standard Time'},\n {name:'China Standard Time'},{name:'Central Standard Time'},\n {name:'French Standard Time'},{name:'Greek Standard Time'},\n {name:'Germany Standard Time'},{name:'Gulf Standard Time'},\n {name:'India Standard Time'},{name:'Italy Standard Time'},\n {name:'Japan Standard Time'},{name:'korea Standard Time'},\n {name:'Turkey Standard Time'},{name:'Qatar Standard Time'},\n {name:'South Africa Standard Time'}\n ];\n \nCultureInfolist=[{name:'ar-AE'},{name:'ar-SA'},\n {name:'zh-SG'},{name:'en-US'},\n {name:'en-IN'},{name:'ar-BH'},\n {name:'el-GR'},{name:'fr-FR'},\n {name:'en-GB'},{name:'de-DE'},\n {name:'ja-JP'},\n {name:'it-IT'},{name:'ko-KR'},\n {name:'tr-TR'},{name:'ar-QA'},\n {name:'en-ZA'}\n ]; \nCountrylist=[{name:'Australia'},{name:'Bahrain'},\n {name:'France'},{name:'Greece'},\n {name:'Cermany'},{name:'Italy'},\n {name:'India'},{name:'Japan'},\n {name:'Malaysia'},{name:'Singapore'},\n {name:'Korea'},{name:'Soudi Arabia'},\n {name:'Turkey'},{name:'UAE'},\n {name:'United Kingdom'},{name:'Qatar'},\n {name:'South Africa'},{name:'Oman'}\n \n ]; \n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n private datePipe: DatePipe,@Inject(MAT_DIALOG_DATA) public data: any) \n {\n this.CID=this.data.cid;\n this.Flag=this.data.Flag;\n this.ID=this.data.TZID;\n this.TimeZone=this.data.TimeZone;\n this.Diffenece=this.data.TimeDifference;\n this.CultureInfo=this.data.CultureInfo;\n this.Country=this.data.Country;\n this.Currencycode=this.data.Currencycode;\n this.ExchangeRate=this.data.ExchangeRate;\n this.CurrencyFlag=this.data.CurrencyFlag;\n \n\n \n this.FormGroup = this.formBuilder.group({ \n fcTimeZone:['', Validators.required], \n fcDiff:['', Validators.required], \n fcCultureInfo:['', Validators.required], \n fcCountry:['', Validators.required], \n fcCurrencycode:[''],\n fcExchangeRate:[''], \n fcCurrencyFlag:[''] \n }); \n\n\n this.FormGroup.controls.fcTimeZone.setValue(this.TimeZone);\n this.FormGroup.controls.fcDiff.setValue(this.Diffenece);\n this.FormGroup.controls.fcCultureInfo.setValue(this.CultureInfo);\n this.FormGroup.controls.fcCountry.setValue(this.Country);\n this.FormGroup.controls.fcCurrencycode.setValue(this.Currencycode);\n this.FormGroup.controls.fcExchangeRate.setValue(this.ExchangeRate);\n this.FormGroup.controls.fcCurrencyFlag.setValue(this.CurrencyFlag);\n\n }\n\n ngOnInit() \n {}\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n\n \n onSearchClear(){\n this.FormGroup.reset(); \n \n }\n\n Submit()\n {\n \n let params = { \n cid:this.CID,\n flag: this.Flag, \n TimeID:this.ID,\n timezone:this.FormGroup.get('fcTimeZone').value,\n TimeDifference:this.FormGroup.get('fcDiff').value,\n CultureInfo:this.FormGroup.get('fcCultureInfo').value, \n Country:this.FormGroup.get('fcCountry').value, \n CurCode:this.FormGroup.get('fcCurrencycode').value, \n ExchangeRate:this.FormGroup.get('fcExchangeRate').value, \n BaseCurFlag:this.FormGroup.get('fcCurrencyFlag').value, \n UserID:'0',\n GroupID:101\n \n };\n this.service.httpPost('/TimeZone/SetTimeZone',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); \n this.dialogRef.close({data:'data'});//':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { TimezoneComponent } from './../timezone/timezone.component';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { DatePipe } from '@angular/common';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { GenericService } from 'src/app/Services/OtherServices/generic.service';\n\n@Component({\n selector: 'app-timezonelist',\n templateUrl: './timezonelist.component.html',\n styleUrls: ['./timezonelist.component.scss'],\n})\nexport class TimezonelistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n CID:any;\n flag:any;\n companies:any;\n datasource:MatTableDataSource;\n\n displayedColumns =['TZID','TimeZone','TimeDifference','CultureInfo','Country','Action'];\n\n constructor(public service: HttpserviceService,public notificationService: NotificationService,\n private generic: GenericService,\n private datePipe: DatePipe,private dialogService: DialogService,private dialog: MatDialog) \n { \n\n }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n\n doFilter(filterValue: string) {\n // console.log(filterValue);\n this.datasource.filter = filterValue;\n }\n\n exportAsExcel()\n {\n this.generic.excelExport(this.datasource.data, 'Timezone', 'Timezone' );\n }\n\n Loaddetails()\n {\n let servicepath;\n let params = {\n cid:this.CID,\n flag:this.flag,\n TimeID:0\n }\n \n this.service.httpPost('/TimeZone/GetTimeZone',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.datasource=result.respdata.Timezonelist;\n this.datasource = new MatTableDataSource(result.respdata.Timezonelist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n \n }\n \n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n Add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n TZID:'',\n TimeZone:'',\n TimeDifference:'',\n CultureInfo:'',\n Country:'',\n Currencycode:'',\n ExchangeRate:'',\n CurrencyFlag:0 \n }\n const dialogRef = this.dialog.open(TimezoneComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n });\n }\n Edit(event)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n TZID:event.TZID,\n TimeZone:event.TimeZone,\n TimeDifference:event.TimeDifference,\n CultureInfo:event.CultureInfo,\n Country:event.Country,\n Currencycode:event.CurrencyCode,\n ExchangeRate:event.ExchangeRate,\n CurrencyFlag:0\n }\n const dialogRef = this.dialog.open(TimezoneComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }); \n\n }\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure do you want delete?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag: 'DELETE', \n TimeID:event.TZID,\n timezone:event.TimeZone,\n TimeDifference:event.TimeDifference,\n CultureInfo:event.CultureInfo,\n Country:event.Country, \n CurCode:event.CurrencyCode,\n ExchangeRate:event.ExchangeRate,\n BaseCurFlag:0,\n UserID:'0',\n GroupID:101\n \n };\n this.service.httpPost('/TimeZone/SetTimeZone',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 1) {\n this.notificationService.warn(\"Record Deleted Successfully\");\n //console.log('Project list: ', result.respdata);\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n\n}\n\nexport interface GroupALL {\n \n \n}","import { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { User } from 'src/app/Modules/user';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-typeofissue',\n templateUrl: './typeofissue.component.html',\n styleUrls: ['./typeofissue.component.scss'],\n})\nexport class TypeofissueComponent implements OnInit {\n cid:any;\n Flag:any;\n TOIID:any;\n CurLedgerID:any;\n clientlist:any;\n description:any;\n Status:any;\n ID:any;\n \n typeFormGroup: FormGroup;\n\n Statuslist=[\n {id: 0, name: 'Active'},\n {id: 1, name: 'Locked'}\n \n ];\n\n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) \n { \n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.TOIID=this.data.TOID;\n this.ID=this.data.ID;\n this.Status=this.data.Status;\n this.description=this.data.Description\n this.clientlist=this.data.client;\n\n this.typeFormGroup = this.formBuilder.group({ \n fcClient:['', Validators.required],\n fcStatus:['', Validators.required], \n fcDescription:[''] \n }); \n\n if(this.Flag=='EDIT')\n {\n this.typeFormGroup.controls.fcClient.setValue(this.ID);\n this.typeFormGroup.controls.fcStatus.setValue(this.Status);\n this.typeFormGroup.controls.fcDescription.setValue(this.description);\n }\n\n\n }\n\n ngOnInit() \n {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n Submit()\n {\n let params = { \n cid:this.cid,\n flag: this.Flag, \n TOIID:this.TOIID, \n Client:this.typeFormGroup.get('fcClient').value, \n Status: this.typeFormGroup.get('fcStatus').value, \n Description: this.typeFormGroup.get('fcDescription').value,\n UserID:this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n \n \n };\n this.service.httpPost('/TypeOfIssue/SetTypeOfIssue',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno !== 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { TypeofissueComponent } from './../typeofissue/typeofissue.component';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-typeofissuelist',\n templateUrl: './typeofissuelist.component.html',\n styleUrls: ['./typeofissuelist.component.scss'],\n})\nexport class TypeofissuelistComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n \n CID:any;\n flag:any;\n TOIID:any;\n companies:any;\n Clientlist:any;\n datasource:MatTableDataSource;\n\n displayedColumns =['TOIID','ClientName','status','Description','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService) \n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.TOIID=0;\n this.Loaddetails();\n }\n Loaddetails()\n {\n let params = {\n CID:this.CID,\n flag:this.flag,\n TOIID:this.TOIID\n \n }\n // const query = `cid=${params.cid}&flag=${params.flag}&Condition=${params.Condition}`;\n this.service.httpPost('/TypeOfIssue/GetTypeOfIssue',params)\n .subscribe(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.Clientlist=result.respdata.Client;\n this.datasource=result.respdata.Typeofissuelist;\n this.datasource = new MatTableDataSource(result.respdata.Typeofissuelist);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n }\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n TOID:'0',\n ID:'',\n Status:'',\n Description:'',\n client:this.Clientlist \n }\n const dialogRef = this.dialog.open(TypeofissueComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n\n Edit(event)\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n TOID:event.TOIID,\n ID:event.LedgerID,\n Status:event.IsActive,\n Description:event.Description,\n client:this.Clientlist \n }\n const dialogRef = this.dialog.open(TypeofissueComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n\n Delete(event){\n \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this user?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n cid:this.CID,\n flag: 'DELETE', \n TOIID:event.TOIID, \n Client:event.LedgerID, \n Status: event.IsActive, \n Description:event.Description,\n UserID:'0',\n GroupID:sessionStorage.getItem('groupid')\n \n };\n this.service.httpPost('/TypeOfIssue/SetTypeOfIssue',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 1) {\n this.notificationService.warn(\"Deleted Successfully\");\n //console.log('Project list: ', result.respdata);\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n else {\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n\n}\n\nexport interface GroupALL {\n \n Type: string; \n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectorRef, Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-nestedgrid',\n templateUrl: './nestedgrid.component.html',\n styleUrls: ['./nestedgrid.component.scss'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px', minHeight: '0' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class NestedgridComponent implements OnInit {\n\n \n @ViewChild('outerSort', { static: true }) sort: MatSort;\n @ViewChildren('innerSort') innerSort: QueryList;\n @ViewChildren('innerTables') innerTables: QueryList>;\n\n dataSource: MatTableDataSource;\n usersData: User[] = [];\n columnsToDisplay = ['name', 'email', 'phone'];\n innerDisplayedColumns = ['street', 'zipCode', 'city'];\n expandedElement: User | null;\n\n constructor(\n private cd: ChangeDetectorRef\n ) { }\n\n ngOnInit() {\n USERS.forEach(user => {\n if (user.addresses && Array.isArray(user.addresses) && user.addresses.length) {\n this.usersData = [...this.usersData, {...user, addresses: new MatTableDataSource(user.addresses)}];\n } else {\n this.usersData = [...this.usersData, user];\n }\n });\n this.dataSource = new MatTableDataSource(this.usersData);\n this.dataSource.sort = this.sort;\n }\n\n toggleRow(element: User) {\n element.addresses && (element.addresses as MatTableDataSource
).data.length ? (this.expandedElement = this.expandedElement === element ? null : element) : null;\n this.cd.detectChanges();\n this.innerTables.forEach((table, index) => (table.dataSource as MatTableDataSource
).sort = this.innerSort.toArray()[index]);\n }\n\n applyFilter(filterValue: string) {\n this.innerTables.forEach((table, index) => (table.dataSource as MatTableDataSource
).filter = filterValue.trim().toLowerCase());\n }\n}\n\nexport interface User {\n name: string;\n email: string;\n phone: string;\n addresses?: Address[] | MatTableDataSource
;\n}\n\nexport interface Address {\n street: string;\n zipCode: string;\n city: string;\n}\n\nexport interface UserDataSource {\n name: string;\n email: string;\n phone: string;\n addresses?: MatTableDataSource
;\n}\n\nconst USERS: User[] = [\n {\n name: \"Mason\",\n email: \"mason@test.com\",\n phone: \"9864785214\",\n addresses: [\n {\n street: \"Street 1\",\n zipCode: \"78542\",\n city: \"Kansas\"\n },\n {\n street: \"Street 2\",\n zipCode: \"78554\",\n city: \"Texas\"\n }\n ]\n },\n {\n name: \"sdasd\",\n email: \"masosdasn@test.com\",\n phone: \"9864785214\",\n addresses: [\n {\n street: \"Stasdreet 1\",\n zipCode: \"78asda542\",\n city: \"Kansasdsdfsdas\"\n },\n {\n street: \"Strsdfsdfeet 2\",\n zipCode: \"78sdfsd554\",\n city: \"Tesdfsdxas\"\n }\n ]\n },\n {\n name: \"Masonq4234\",\n email: \"mason32423@test.com\",\n phone: \"986478asda5214\",\n addresses: [\n {\n street: \"Stsreasdet 1\",\n zipCode: \"785424322\",\n city: \"Kansassada\"\n },\n {\n street: \"Street324 2\",\n zipCode: \"7855534534\",\n city: \"Texdsasdasas\"\n }\n ]\n },\n {\n name: \"Eugene\",\n email: \"eugene@test.com\",\n phone: \"8786541234\",\n addresses: [\n {\n street: \"Strsadaeet 1\",\n zipCode: \"78asd542\",\n city: \"Kaasdasnsas\"\n },\n {\n street: \"Strasdaseet 2\",\n zipCode: \"785asdasd54\",\n city: \"Teasdaxas\"\n }\n ]\n },\n {\n name: \"Jason\",\n email: \"jason@test.com\",\n phone: \"7856452187\",\n addresses: [\n {\n street: \"Street 5\",\n zipCode: \"23547\",\n city: \"Utah\"\n },\n {\n street: \"Street 5\",\n zipCode: \"23547\",\n city: \"Ohio\"\n }\n ]\n }\n];\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from '../../../../Services/OtherServices/notification.service';\nimport { User } from 'src/app/Modules/user';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\n\n@Component({\n selector: 'app-edit-email-tag-list',\n templateUrl: './edit-email-tag-list.component.html',\n styleUrls: ['./edit-email-tag-list.component.scss'],\n})\nexport class EditEmailTagListComponent implements OnInit {\n cid:any;\n Flag:any;\n Type:any;\n TypeID:any;\n eMailTag:any;\n eMail:any;\n\n CurLedgerID:any\n EmailTagFormGroup: FormGroup;\n\n\n constructor(private service:HttpserviceService,\n private NotificationService:NotificationService,\n private formBuilder: FormBuilder\n ,private dialog: MatDialog,\n public dialogRef: MatDialogRef,\n private datePipe: DatePipe,\n @Inject(MAT_DIALOG_DATA) public data: any) { \n\n console.log('data',this.data)\n this.cid = this.data.cid; \n this.Flag=this.data.Flag;\n this.Type=this.data.Type;\n this.TypeID=this.data.TypeID;\n this.eMailTag=this.data.eMailTag;\n this.eMail=this.data.eMail;\n\n this.EmailTagFormGroup = this.formBuilder.group({ \n fcType:['', Validators.required], \n fcTypeID:['',Validators.required],\n fcEmailTag:['', Validators.required], \n fcEmail:['', Validators.required] \n }); \n\n this.EmailTagFormGroup.controls.fcType.setValue(this.Type);\n this.EmailTagFormGroup.controls.fcTypeID.setValue(this.TypeID); \n this.EmailTagFormGroup.controls.fcEmailTag.setValue(this.eMailTag);\n this.EmailTagFormGroup.controls.fcEmail.setValue(this.eMail);\n }\n\n ngOnInit() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n onCloseDialog()\n {\n // this.AdvanceRequestViewFormGroup.reset();\n this.dialogRef.close();\n }\n\n Submit()\n {\n let params = { \n CID:this.cid,\n Flag: 'EditEmailTag', \n Type: this.EmailTagFormGroup.get('fcType').value, \n TypeID: this.EmailTagFormGroup.get('fcTypeID').value, \n eMailTag: this.EmailTagFormGroup.get('fcEmailTag').value,\n eMail:this.EmailTagFormGroup.get('fcEmail').value, \n UserName: this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n \n };\n this.service.httpPost('/TicketConfiguration/SetTicketEmailConfigrationExcelImport',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n //this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n this.NotificationService.warn(error);\n else throw error; \n });\n }\n}\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { User } from './../../../../Modules/user';\nimport { NotificationService } from './../../../../Services/OtherServices/notification.service';\n\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport * as XLSX from 'xlsx';\nimport * as _ from 'underscore/underscore-min.js';\nimport {HttpserviceService} from '../../../../Services/httpServices/httpservice.service'\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\ntype AOA = any[][];\n\n@Component({\n selector: 'app-excel-import-dialog',\n templateUrl: './excel-import-dialog.component.html',\n styleUrls: ['./excel-import-dialog.component.scss'],\n})\nexport class ExcelImportDialogComponent implements OnInit {\n\n data: AOA = [[1, 2], [3, 4]];\n wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\n fileName = 'SheetJS.xlsx';\n\n ExcelFormGroup: FormGroup;\n ExcelImportData:any;\n LedgerID: string;\n\n @ViewChild('epltable', { static: false }) epltable: ElementRef;\n EmailTagList = [\n {\n Type: 'Project',\n TypeID: \"project-1\",\n eMailTag: 'mgt',\n eMailId: 'Syed@aspen.com;hr@aspen.com;support@aspen.com' \n },\n {\n Type: 'Project',\n TypeID: \"project-2\",\n eMailTag: 'mgt',\n eMailId: 'sales@aspen.com;support@aspen.com' \n },\n {\n Type: 'Project',\n TypeID: \"project-3\",\n eMailTag: 'mgt',\n eMailId: 'Syed@aspen.com;mgt@aspen.com' \n }\n ]\n\n\n constructor(private formBuilder: FormBuilder, private service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService,\n public dialogRef: MatDialogRef,) \n { \n\n }\n\n ngOnInit(): void {\n const curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.LedgerID = curUser.ledgerid.toString();\n }\n\n exportToExcel() {\n const ws: XLSX.WorkSheet = \n XLSX.utils.table_to_sheet(this.epltable.nativeElement);\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'SampleData.xlsx');\n }\n\n onCloseDialog()\n {\n this.dialogService.openConfirmDialog('Are you sure do you want to close this?')\n .afterClosed().subscribe(res => {\n // if (res) {\n // this.service.form.reset();\n // this.service.initializeFormGroup();\n this.dialogRef.close({event: 'CLEAR'});\n // }\n });\n }\n\n Save() {\n\n const params = {\n CID: JSON.parse(sessionStorage.getItem('cid')),\n Flag:\"ExcelImport\", \n dt: this.ExcelImportData, \n Type:\"\" ,\n TypeID:\"\",\n eMailTag:\"\",\n eMail:\"\", \n UserName:this.LedgerID\n };\n console.log('params :', params);\n this.service.httpPost('/TicketConfiguration/SetTicketEmailConfigrationExcelImport',params)\n .subscribe(\n (data) => {\n // console.log('inside save');\n let users: any;\n users = data;\n\n if (users.errno === 0) {\n this.notificationService.success('Submitted successfully');\n }\n else {\n this.notificationService.warn(users.errdesc); //':: Problem updating user');\n }\n },\n error => {\n this.notificationService.warn(error);\n });\n }\n\n onFileChange(evt: any) {\n /* wire up file reader */\n const target: DataTransfer = (evt.target);\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\n const reader: FileReader = new FileReader();\n reader.onload = (e: any) => {\n /* read workbook */\n const bstr: string = e.target.result;\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\n\n /* grab first sheet */\n const wsname: string = wb.SheetNames[0];\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\n\n /* save data */\n this.data = (XLSX.utils.sheet_to_json(ws));\n console.log(this.data);\n this.ExcelImportData = this.data;\n };\n reader.readAsBinaryString(target.files[0]);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { ExcelImportDialogComponent } from './excel-import-dialog/excel-import-dialog.component';\nimport { EditEmailTagListComponent } from './edit-email-tag-list/edit-email-tag-list.component';\n\n@Component({\n selector: 'app-ticketemailconfigexcelimport',\n templateUrl: './ticketemailconfigexcelimport.component.html',\n styleUrls: ['./ticketemailconfigexcelimport.component.scss'],\n})\nexport class TicketemailconfigexcelimportComponent implements OnInit {\n\n CID:any;\n flag:any;\n ID:number=0;\n companies:any;\n entitytype:any;\n datasource:any;\n showSpinner:any;\n displayedColumns =['Type','TypeID','eMailTag','eMail','Action'];\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService)\n { }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Loaddetails(); \n }\n\n Submit(){\n this.Loaddetails();\n }\n\n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n CID:this.CID,\n Flag:this.flag\n } \n this.service.httpPost('/TicketConfiguration/GetTicketEmailConfigrationExcelImport',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result=data;\n if (result.errno === 0){\n \n console.log('data',result); \n this.companies=result.respdata.CompanyDetails;\n this.datasource=result.respdata.EmailTagConfig; \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n this.notificationService.warn(error);\n else throw error; \n });\n }\n \n ExcelImport()\n {\n const ExcelData = {cid: JSON.parse(sessionStorage.getItem('cid')), \n flag:\"Excel\", \n // approvergroupid: this.approvergroupid,\n // projectid: this.projectid\n //,approvergroupname: f.value.approvegroupname\n };\n sessionStorage.setItem('Exceldata', JSON.stringify(ExcelData));\n const dialogRef = this.dialog.open(ExcelImportDialogComponent);\n dialogRef.afterClosed().subscribe(result => { \n });\n }\n\n Edit(event)\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EditEmailTag' , \n Type:event.Type,\n TypeID:event.TypeID,\n eMailTag:event.EmailTag,\n eMail:event.Email \n }\n const dialogRef = this.dialog.open(EditEmailTagListComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='EditEmailTag'\n this.Loaddetails();\n \n });\n }\n\n// Delete(event){\n \n// let sdate =Date();\n// this.dialogService.openConfirmDialog('Are you sure to delete this product?')\n// .afterClosed().subscribe(res => {\n// if (res) {\n// let params = { \n// CID:this.CID,\n// Flag: 'DELETE', \n// ID: event.ProductID, \n// Name: event.ProductName, \n// Description: event.Description,\n// Status:event.StatusID,\n// Register:event.RegisterSince,\n// UserID: 0,\n// GroupID:sessionStorage.getItem('groupid')\n \n// };\n// this.service.httpPost('/ProductConfig/SetProductConfig',params)\n// .subscribe(\n// (data) => {\n// let result: any;\n// result = data; \n// if (result.errno === 0) {\n// this.NotificationService.warn(\"Product deleted Successfully\");\n// //console.log('Project list: ', result.respdata);\n// this.flag='PAGELOAD'\n// this.Loaddetails();\n// }\n// else {\n// this.NotificationService.success(result.errdesc); //':: Problem details');\n// }\n// },\n// (error: AppError) => {\n// if (error instanceof BadInput) \n// console.log(error);\n// else throw error; \n// });\n// }\n// });\n// }\n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatStepper } from '@angular/material/stepper';\nimport { DialogService } from 'src/app/Services/OtherServices/dialog.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport * as _ from 'underscore';\n@Component({\n selector: 'app-ticketemailrulecreation',\n templateUrl: './ticketemailrulecreation.component.html',\n styleUrls: ['./ticketemailrulecreation.component.scss'],\n})\nexport class TicketemailrulecreationComponent implements OnInit {\n CID:any;\n flag:any;\n ID:number=0;\n companies:any;\n Template:any;\n ActvitityData:any;\n TypeNameData:any;\n eMailTagData:any;\n CollectionData:any;\n ResultData:any;\n ConditionData:any;\n showSpinner:any;\n TypeName:any;\n NameData:any;\n ConditionName:any\n ConditionDetails:any\n CommentData:any;\n EmailRuleFormGroup: FormGroup;\n datasource:any;\n @ViewChild('stepper') stepper: MatStepper;\n RuleNamereadonly:boolean=false\n\n displayedColumns =['TemplateID','Description','Activity','RuleName','Condition','Comment','Action'];\n constructor(private dialog: MatDialog,\n public service: HttpserviceService,\n private formBuilder: FormBuilder,\n public notificationService: NotificationService \n ) { \n\n this.EmailRuleFormGroup = this.formBuilder.group({ \n fcCompany:['', Validators.required], \n fcTemplate:['',Validators.required],\n fcActvitity:['', Validators.required], \n fcCommentDetails:['', Validators.required] , \n fcConditionDetails:['', Validators.required], \n fcType:['',Validators.required],\n fcTypeName:['', Validators.required], \n fcCondition:['', Validators.required] ,\n fcRuleName:['', Validators.required] \n }); \n this.EmailRuleFormGroup.controls.fcCondition.setValue('None')\n this.EmailRuleFormGroup.controls.fcCompany.setValue(JSON.parse(sessionStorage.getItem('cid')))\n }\n\n ngOnInit() \n {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='ADD'\n this.RuleNamereadonly=false;\n this.Loaddetails();\n }\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }\n\n Submit(){\n this.Loaddetails();\n }\n\n Clear(){\n if(this.flag==='ADD')\n this.EmailRuleFormGroup.controls.fcRuleName.setValue(\"\")\n \n this.EmailRuleFormGroup.controls.fcTemplate.setValue(\"\") \n this.EmailRuleFormGroup.controls.fcActvitity.setValue(\"\") \n this.EmailRuleFormGroup.controls.fcConditionDetails.setValue(\"\")\n this.EmailRuleFormGroup.controls.fcCommentDetails.setValue([])\n }\n\n StepperTwoOpen()\n {\n this.stepper.selectedIndex = 1;\n this.flag='ADD';\n this.Clear();\n this.RuleNamereadonly=false;\n }\n\n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n CID:this.CID,\n Flag:\"PAGELOAD\"\n } \n this.service.httpPost('/TicketConfiguration/GetTicketEmailRuleCreation',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result=data;\n if (result.errno === 0){ \n \n this.companies=result.respdata.CompanyDetails;\n this.Template=result.respdata.Template;\n this.ActvitityData=result.respdata.Actvitity;\n this.TypeNameData=result.respdata.TypeName;\n this.eMailTagData=result.respdata.eMailTag;\n this.CollectionData=result.respdata.NameData;\n this.ConditionData=result.respdata.Condition;\n this.CommentData=result.respdata.CommentData;\n this.datasource=result.respdata.EmailRuleData;\n \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n this.notificationService.warn(error);\n else throw error; \n });\n }\n\n onTypeSelect(event)\n {\n var selectedData=event; \n const result = this.CollectionData.filter((obj) => {\n return obj.TypeData === selectedData;\n });\n this.ResultData=result; \n \n }\n\n\nMore()\n{\n if(this.EmailRuleFormGroup.get('fcCondition').value===\"None\")\n this.ConditionDetails=this.EmailRuleFormGroup.get('fcConditionDetails').value+' '+this.EmailRuleFormGroup.get('fcType').value+\"='\"+this.EmailRuleFormGroup.get('fcTypeName').value+\"' \"\n else\n this.ConditionDetails=this.EmailRuleFormGroup.get('fcConditionDetails').value+' '+this.EmailRuleFormGroup.get('fcType').value+\"='\"+this.EmailRuleFormGroup.get('fcTypeName').value +\"' \" +this.EmailRuleFormGroup.get('fcCondition').value \n \n\n this.EmailRuleFormGroup.controls.fcConditionDetails.setValue(this.ConditionDetails)\n}\n\nSave(){\n\n let CommentDetail: string[] = this.EmailRuleFormGroup.get('fcCommentDetails').value\n var strComment \n for(var i = 0; i < CommentDetail.length; i++)\n { \n if(i==0)\n strComment=(CommentDetail[i]); \n else\n strComment=strComment+','+(CommentDetail[i]); \n }\n\n let params = { \n CID:this.CID,\n Flag: this.flag, \n RuleName: this.EmailRuleFormGroup.get('fcRuleName').value, \n Template: this.EmailRuleFormGroup.get('fcTemplate').value, \n Activity: this.EmailRuleFormGroup.get('fcActvitity').value,\n CommentDetails: strComment, \n ConditionDetails: this.EmailRuleFormGroup.get('fcConditionDetails').value\n };\n this.service.httpPost('/TicketConfiguration/SetTicketEmailRuleCreation',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.notificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n //this.dialogRef.close({data:'data'});\n }\n else {\n this.notificationService.warn(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n this.notificationService.warn(error);\n else throw error; \n });\n}\n\n\n Edit(event)\n {\n this.stepper.selectedIndex = 1;\n //event.Comment.split(',').map(function(n) {return Number(n);});\n var res = event.Comment.split(\",\");\n this.RuleNamereadonly=true;\n this.EmailRuleFormGroup.controls.fcCompany.setValue(JSON.parse(sessionStorage.getItem('cid')))\n this.EmailRuleFormGroup.controls.fcRuleName.setValue(event.RuleName)\n this.EmailRuleFormGroup.controls.fcTemplate.setValue(event.TemplateID) \n this.EmailRuleFormGroup.controls.fcActvitity.setValue(event.Activity) \n this.EmailRuleFormGroup.controls.fcConditionDetails.setValue(event.Condition)\n this.EmailRuleFormGroup.controls.fcCommentDetails.setValue(res)\n this.flag='EDIT'\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose = true;\n // dialogConfig.autoFocus = true;\n // dialogConfig.data = { \n // cid:this.CID,\n // Flag:'EDIT' , \n // Type:event.Type,\n // TypeID:event.TypeID,\n // eMailTag:event.EmailTag,\n // eMail:event.Email \n // }\n \n \n } \n\n\n}\n","import { DialogService } from './../../../Services/OtherServices/dialog.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\nimport { Component, OnInit,ViewChild } from '@angular/core';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TicketprefixdialogComponent } from './../ticketprefixdialog/ticketprefixdialog.component';\n\n@Component({\n selector: 'app-ticketprefixconfig',\n templateUrl: './ticketprefixconfig.component.html',\n styleUrls: ['./ticketprefixconfig.component.scss'],\n})\nexport class TicketprefixconfigComponent implements OnInit {\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n displayedColumns =['PrefixID','PrefixText','StartingNumber','Description','Action'];\n companies:any;\n template:any;\n showSpinner:any;\n datasource:MatTableDataSource;\n CID:any;\n flag:any;\n prefix:any;\n\n constructor(private dialog: MatDialog,public service: HttpserviceService,\n public notificationService: NotificationService,private dialogService: DialogService,\n private NotificationService:NotificationService) \n { }\n\n ngOnInit() {\n this.CID=JSON.parse(sessionStorage.getItem('cid'));\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n\n onCompanySelect(event)\n {\n this.CID=event;\n this.flag='PAGELOAD'\n this.Loaddetails();\n\n }\n\n Submit(){\n this.Loaddetails();\n }\n\n Loaddetails()\n {\n this.showSpinner=true;\n let params = {\n cid:this.CID,\n flag:this.flag\n } \n this.service.httpPost('/TicketPrefixConfig/GetTicketPrefixConfig',params)\n .subscribe(data => {\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n let result: any;\n result=data;\n if (result.errno === 0){\n \n if(this.flag=='PAGELOAD')\n {\n this.companies=result.respdata.Companylist;\n this.prefix=result.respdata.PrefixText;\n this.template=result.respdata.Template;\n\n this.datasource=result.respdata.PrefixText;\n this.datasource = new MatTableDataSource(result.respdata.PrefixText);\n this.datasource.sort = this.sort;\n this.datasource.paginator = this.paginator;\n } \n }\n else{\n this.notificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n add()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'ADD' , \n PrefixText:this.prefix,\n Template:this.template \n }\n const dialogRef = this.dialog.open(TicketprefixdialogComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n Edit(event)\n {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { \n cid:this.CID,\n Flag:'EDIT' , \n PrefixID:event.PrefixID,\n PrefixText:event.PrefixText,\n StartingNumber:event.StartingNumber,\n Template:this.template, \n TemplateID:event.TemplateID \n }\n const dialogRef = this.dialog.open(TicketprefixdialogComponent, dialogConfig)\n dialogRef.afterClosed().subscribe(result => {\n this.CID=this.CID;\n this.flag='PAGELOAD'\n this.Loaddetails();\n \n });\n }\n\n Delete(event){ \n let sdate =Date();\n this.dialogService.openConfirmDialog('Are you sure to delete this prefix?')\n .afterClosed().subscribe(res => {\n if (res) {\n let params = { \n CID:this.CID,\n Flag: 'DELETE', \n PrefixID: event.PrefixID, \n PrefixText:event.PrefixText,\n StartingNumber:event.StartingNumber,\n Template:this.template, \n TemplateID:event.TemplateID, \n UserID: 0,\n GroupID:sessionStorage.getItem('groupid') \n };\n this.service.httpPost('/TicketPrefixConfig/SeTicketPrefixConfig',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.warn(\"Record deleted Successfully\");\n //console.log('Project list: ', result.respdata);\n this.flag='PAGELOAD'\n this.Loaddetails();\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n });\n}\n \n}\n\nexport interface GroupALL {\n PrefixID: string;\n PrefixText: string; \n}","import { DatePipe } from '@angular/common';\nimport { User } from './../../../Modules/user';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog,MAT_DIALOG_DATA,MatDialogRef} from '@angular/material/dialog';\nimport {HttpserviceService} from './../../../Services/httpServices/httpservice.service'\nimport { NotificationService } from './../../../Services/OtherServices/notification.service';\nimport { BadInput } from './../../../Services/httpServices/ErrorHandler/bad-input';\nimport { AppError } from './../../../Services/httpServices/ErrorHandler/app-error';\n\n@Component({\n selector: 'app-ticketprefixdialog',\n templateUrl: './ticketprefixdialog.component.html',\n styleUrls: ['./ticketprefixdialog.component.scss'],\n})\nexport class TicketprefixdialogComponent implements OnInit {\n\n CID:any;\n PrefixID:any;\n PrefixText:any;\n StartingNum:any;\n TemplateID:any;\n TicketPrefixFormGroup: FormGroup;\n Template:any;\n Flag:any;\n CurLedgerID:any;\n \n constructor(private service:HttpserviceService,private NotificationService:NotificationService,private formBuilder: FormBuilder\n ,private dialog: MatDialog,public dialogRef: MatDialogRef,private datePipe: DatePipe,\n @Inject(MAT_DIALOG_DATA) public data: any) \n {\n // console.log('dialogdata',this.data)\n this.CID=this.data.cid;\n this.Flag=this.data.Flag;\n this.PrefixID=this.data.PrefixID;\n this.PrefixText=this.data.PrefixText;\n this.StartingNum=this.data.StartingNumber;\n this.Template=this.data.Template;\n this.TemplateID=this.data.TemplateID;\n\n // console.log('template',this.TemplateID)\n\n this.TicketPrefixFormGroup = this.formBuilder.group({ \n fcPrefixText:['', Validators.required], \n fcStartNumber:['',Validators.required],\n fcTemplate:['', Validators.required] \n }); \n\n if(this.Flag !='ADD')\n {\n this.TicketPrefixFormGroup.controls.fcPrefixText.setValue(this.PrefixText);\n this.TicketPrefixFormGroup.controls.fcStartNumber.setValue(this.StartingNum);\n this.TicketPrefixFormGroup.controls.fcTemplate.setValue(this.TemplateID); \n }\n }\n\n ngOnInit() {\n let curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n this.CurLedgerID=curUser.ledgerid;\n }\n\n onCloseDialog()\n { \n this.dialogRef.close();\n }\n\n Submit()\n {\n let params = { \n CID:this.CID,\n Flag: this.Flag, \n PrefixID: this.PrefixID, \n PrefixText: this.TicketPrefixFormGroup.get('fcPrefixText').value, \n StartingNumber: this.TicketPrefixFormGroup.get('fcStartNumber').value,\n TemplateID:this.TicketPrefixFormGroup.get('fcTemplate').value, \n UserID: this.CurLedgerID,\n GroupID:sessionStorage.getItem('groupid')\n \n };\n this.service.httpPost('/TicketPrefixConfig/SeTicketPrefixConfig',params)\n .subscribe(\n (data) => {\n let result: any;\n result = data; \n if (result.errno === 0) {\n this.NotificationService.success(result.errdesc);\n //console.log('Project list: ', result.respdata);\n this.dialogRef.close({data:'data'});\n }\n else {\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n },\n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n }\n\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { User } from 'src/app/Modules/user';\nimport { AppError } from 'src/app/Services/httpServices/ErrorHandler/app-error';\nimport { BadInput } from 'src/app/Services/httpServices/ErrorHandler/bad-input';\nimport { HttpserviceService } from 'src/app/Services/httpServices/httpservice.service';\nimport { NotificationService } from 'src/app/Services/OtherServices/notification.service';\n\n@Component({\n selector: 'app-dialogforreports',\n templateUrl: './dialogforreports.component.html',\n styleUrls: ['./dialogforreports.component.css']\n})\nexport class DialogforreportsComponent {\n\n curUser: User = JSON.parse(sessionStorage.getItem('currentUser'));\n displayedColumns: string[] = ['Description'];\n datasource:any;\n selectedRow: any;\n\n constructor(\n \n private service:HttpserviceService, private NotificationService:NotificationService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n\n this.Getstructure();\n\n }\n ngOnInit(): void {\n this.dialogRef.updateSize('50%');\n \n }\n onSubmit() {\n if(this.selectedRow!==undefined)\n {\n this.dialogRef.close(this.selectedRow); // Return form data on submit\n }\n \n \n }\n\n onCancel(): void {\n this.dialogRef.close(); // Close dialog without saving\n }\n\n async Getstructure()\n {\n let params = {\n cid:101,\n flag:'Report',\n BusinessPeriodID:0,\n MenuID:'STS_203',\n GroupID:this.curUser.groupid\n \n }\n const query = `cid=${params.cid}&flag=${params.flag}&BusinessPeriodID=${params.BusinessPeriodID}&MenuID=${params.MenuID}&GroupID=${params.GroupID}`;\n this.service.httpGet('/Report/GetReports?',query)\n .toPromise().then(data => {\n let result: any;\n result=data;\n if (result.errno === 0){\n\n console.log('Employeelist',result.respdata)\n\n this.datasource=result.respdata;\n\n \n \n }\n else{\n this.NotificationService.success(result.errdesc); //':: Problem details');\n }\n }, \n (error: AppError) => {\n if (error instanceof BadInput) \n console.log(error);\n else throw error; \n });\n \n }\n onRowClicked(row: any): void {\n console.log('Selected Row: ', row); // This logs the selected row's data\n this.selectedRow = row; // Store the selected row\n }\n\n}\n","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-matconformdialog',\n templateUrl: './matconformdialog.component.html',\n styleUrls: ['./matconformdialog.component.scss'],\n})\nexport class MatconformdialogComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n }\n\n closeDialog(){\n this.dialogRef.close(false);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { first, finalize } from 'rxjs/operators';\nimport { AuthenticationService } from '../Services/OtherServices/authentication.service';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Platform } from '@ionic/angular';\n\n\n@Component({\n selector: 'app-log-in',\n templateUrl: './log-in.component.html',\n styleUrls: ['./log-in.component.css']\n})\nexport class LogInComponent implements OnInit {\n loginForm: FormGroup;\n serverForm: FormGroup;\n loading = false;\n submitted = false;\n returnUrl: string;\n error = '';\n Companylist:any;\n ShowSettings:boolean=false; \n selected:string;\n homebtn:boolean;\n showSpinner:any;\n hide: boolean = true;\n\n myFunction() {\n this.hide = !this.hide;\n }\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService,\n private http: HttpClient,\n public plt: Platform\n\n ) { \n \n this.loginForm = this.formBuilder.group({\n username: ['', Validators.required],\n password: ['', Validators.required],\n CompanyName: ['', Validators.required]\n });\n this.serverForm = this.formBuilder.group({\n protocol: ['', Validators.required],\n ipaddress: ['', Validators.required],\n apipath: ['', Validators.required],\n //companyid: ['', Validators.required]\n });\n\n\n \n var currentapiObj = localStorage.getItem('apiObj');\n // if ((this.plt.is('ios') || this.plt.is('android')) ) {\n \n // // This will only print when on iOS\n // // console.log('I am an iOS device!');\n // this.homebtn=true;\n // if(currentapiObj===null)\n // this.ShowSettings=true;\n // //this.isOpenedLogin=false;\n // this.selected='http';\n // this.serverForm.controls.protocol.setValue(this.selected);\n // this.serverForm.controls.apipath.setValue('/angular_service/api');\n \n // } \n // else {\n // This will only print when on other \n this.homebtn=false;\n this.ShowSettings=false; \n //}\n // redirect to home if already logged in\n if (this.authenticationService.currentUserValue) { \n this.router.navigate(['/']);\n }\n }\n\n\n // showSettings(){\n // this.loading=false;\n // this.ShowSettings=true; \n // }\n\n OpenLogin()\n {\n // stop here if form is invalid\n if (this.serverForm.invalid) {\n return;\n }\n\n let apiObj={Protocol:'',ServerIP:'',APIPath:'',CompanyID:0}\n apiObj.Protocol=this.s.protocol.value;\n apiObj.ServerIP=this.s.ipaddress.value;\n apiObj.APIPath=this.s.apipath.value;\n //apiObj.CompanyID=this.s.companyid.value;\n //localStorage.removeItem('conObj');\n localStorage.setItem('apiObj',JSON.stringify(apiObj));\n // console.log('JSON.parse(localStorage.getItem(\"apiObj\"))',JSON.parse(localStorage.getItem(\"apiObj\")));\n this.ShowSettings=false; \n this.SiteMasterData ();\n // this.isOpenedLogin=true;\n }\n \n \n \n ngOnInit() { \n console.log('this.ShowSettings',this.ShowSettings) \n if(this.ShowSettings===false)\n { \n this.SiteMasterData(); \n } \n \n // console.log('Platform',this.plt.platforms());\n // this.Companylist=this.Company.store.data; \n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n\n // console.log('return url', this.returnUrl);\n \n // console.log('return url :123');\n }\n\n SiteMasterData () {\n \n \n this.authenticationService.getSiteMaster('101').subscribe(\n data => {\n let result: any;\n result = data;\n // console.log(\"Companylist\",result);\n if(result.err!=0){\n if(result.errdesc!='Success')\n this.error=result.errdesc;\n \n this.Companylist=result.respdata; \n \n\n this.loginForm.controls.CompanyName.setValue(101);\n }\n else\n this.error=result.errdesc;\n \n },\n error => {\n this.error = error;\n this.loading = false;\n });\n \n }\n\n readCID(item:string)\n {\n \n }\n\n\n\n // convenience getter for easy access to form fields\n get f() { return this.loginForm.controls; }\n\n // convenience getter for easy access to form fields\n get s() { return this.serverForm.controls; }\n\n onSubmit() {\n // console.log('inside submit',this.loginForm.get('CompanyName').value);\n this.submitted = true;\n\n // stop here if form is invalid\n if (this.loginForm.invalid) {\n return;\n }\n\n this.showSpinner=true;\n // console.log('onsubmit url', this.returnUrl);\n this.authenticationService.login(this.f.username.value, this.f.password.value,this.f.CompanyName.value)\n .pipe(first())\n .subscribe(\n data => {\n // console.log('login return url: ', this.returnUrl);\n // this.router.navigate([this.returnUrl]);\n this.showSpinner=true;\n setTimeout(() =>{\n this.showSpinner=false;\n },\n 800)\n this.f.password.setValue('');\n // this.f.username.setValue('');\n this.router.navigate(['Full']);\n },\n error => {\n this.error = error;\n this.showSpinner = false;\n });\n }\n\n // getExpiryData () {\n // this.http.get('assets/SiteMaster.txt', {responseType: 'text'})\n // .subscribe(\n // data => {\n // this.Companylist=JSON.parse(data);\n // var Default_site = this.Companylist.filter(x => x.default == 1);\n // this.loginForm.controls.CompanyName.setValue(Default_site[0].CID);\n // },\n // err => {\n // console.log(err)\n // });\n // }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\n// export const environment = {\n// production: false,\n// apiUrl: 'http://localhost:8080/api',\n// };\n\nexport const environment = Object.assign({\n production: false,\n},\n(window as any).bootstrapSettings);\n\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport { defineCustomElements } from '@ionic/pwa-elements/loader';\n\n// Call the element loader after the platform has been bootstrapped\ndefineCustomElements(window);\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","var map = {\n\t\"./ion-action-sheet.entry.js\": [\n\t\t25593,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t13225,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t4812,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t86655,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t44856,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t13059,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t98308,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t44690,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t64090,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t36214,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t69447,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t79689,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t18840,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t40749,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t69667,\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t83288,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t35473,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t53634,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t22855,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t495,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t58737,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t99632,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t48050,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t18994,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t23592,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t35454,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t290,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t92666,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t64816,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t45534,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t94902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t91938,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t78179,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t90668,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t61624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t19989,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t28902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t70199,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t48395,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t96357,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t38268,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t15269,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t32875,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 50863;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./pwa-action-sheet.entry.js\": [\n\t\t45464,\n\t\t\"node_modules_ionic_pwa-elements_dist_esm_pwa-action-sheet_entry_js\"\n\t],\n\t\"./pwa-camera-modal-instance.entry.js\": [\n\t\t68724,\n\t\t\"node_modules_ionic_pwa-elements_dist_esm_pwa-camera-modal-instance_entry_js\"\n\t],\n\t\"./pwa-camera-modal.entry.js\": [\n\t\t8145,\n\t\t\"node_modules_ionic_pwa-elements_dist_esm_pwa-camera-modal_entry_js\"\n\t],\n\t\"./pwa-camera.entry.js\": [\n\t\t30527,\n\t\t\"node_modules_ionic_pwa-elements_dist_esm_pwa-camera_entry_js\"\n\t],\n\t\"./pwa-toast.entry.js\": [\n\t\t44389,\n\t\t\"node_modules_ionic_pwa-elements_dist_esm_pwa-toast_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 55899;\nmodule.exports = webpackAsyncContext;","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".page-content{\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n margin: 0px;\\r\\n} \\r\\n\\r\\n /* .mat-toolbar {\\r\\n background: teal;\\r\\n color: #fff\\r\\n } */\\r\\n\\r\\n .custom-toolbar {\\r\\n background-color:black;\\r\\n padding: 0 5px;\\r\\n }\\r\\n\\r\\n .custom-header {\\r\\n /*background: rgb(9,164,112);\\r\\n background: linear-gradient(0deg, rgba(48,169,168,1) 1%, rgba(42,134,135,1) 100%);*/\\r\\n background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#8CBDF0), to(#7AA8D6), color-stop(.5,#88B8E8));\\r\\n padding: 0 5px;\\r\\n }\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/LandingPageComponents/full/full.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,WAAW;IACX,YAAY;IACZ,WAAW;AACf;;CAEC;;;KAGI;;CAEJ;IACG,sBAAsB;IACtB,cAAc;EAChB;;EAEA;GACC;sFACmF;GACnF,uGAAuG;GACvG,cAAc;CAChB\",\"sourcesContent\":[\".page-content{\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n margin: 0px;\\r\\n} \\r\\n\\r\\n /* .mat-toolbar {\\r\\n background: teal;\\r\\n color: #fff\\r\\n } */\\r\\n\\r\\n .custom-toolbar {\\r\\n background-color:black;\\r\\n padding: 0 5px;\\r\\n }\\r\\n\\r\\n .custom-header {\\r\\n /*background: rgb(9,164,112);\\r\\n background: linear-gradient(0deg, rgba(48,169,168,1) 1%, rgba(42,134,135,1) 100%);*/\\r\\n background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#8CBDF0), to(#7AA8D6), color-stop(.5,#88B8E8));\\r\\n padding: 0 5px;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".gray {\\r\\n color:gray;\\r\\n }\\r\\n \\r\\n .red {\\r\\n color:red;\\r\\n }\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/LandingPageComponents/menu-list-item/menu-list-item.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;EACZ;;EAEA;IACE,SAAS;EACX\",\"sourcesContent\":[\".gray {\\r\\n color:gray;\\r\\n }\\r\\n \\r\\n .red {\\r\\n color:red;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column {\\r\\n float: left;\\r\\n width: 25%;\\r\\n padding-left: 2%;\\r\\n}\\r\\n\\r\\n.column1 {\\r\\n float: left;\\r\\n width: 10%;\\r\\n \\r\\n}\\r\\n\\r\\n/* Clear floats after the columns */\\r\\n.row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.table1 {\\r\\n width: 100%;\\r\\n height:50px;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n\\r\\n.mat-form-field1{\\r\\n width: 100%;\\r\\n padding-right:0px;\\r\\n font-size: 12px;\\r\\n \\r\\n }\\r\\n .icon-button-group {\\r\\n display: flex;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n.tooltip {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.tooltip .tooltiptext {\\r\\n visibility: hidden;\\r\\n width: 100px;\\r\\n background-color: #555;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n border-radius: 6px;\\r\\n padding: 5px 0;\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n bottom: 150%; /* Position the tooltip above the text */\\r\\n left: 50%;\\r\\n transform: translateX(-50%);\\r\\n opacity: 0;\\r\\n transition: opacity 0.3s;\\r\\n}\\r\\n\\r\\n.tooltip:hover .tooltiptext {\\r\\n visibility: visible;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n/* .table1 td {\\r\\n height: 50px; \\r\\n} */\\r\\n\\r\\n/* .table1 .cell-content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.text-area {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\ntd {\\r\\n text-align: center;\\r\\n} */\\r\\n\\r\\n.custom-header {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.custom-header .custom-icon {\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n background: url('/assets/images/favicon.png') no-repeat center center;\\r\\n background-size: contain;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.dx-menu-item .dx-icon {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.checkbox-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 8px 16px;\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n.mat-checkbox-layout {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n::ng-deep .mat-checkbox-label {\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n/* Optional: Customize padding for the checkboxes to match the menu items */\\r\\n.mat-checkbox {\\r\\n margin-left: 0;\\r\\n}\\r\\n.header-template-content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center; /* Center the content horizontally, adjust as needed */\\r\\n padding: 0 5px; /* Add some padding to adjust spacing */\\r\\n}\\r\\n\\r\\n.header-icon {\\r\\n font-size: 10px; /* Adjust the size of the icon */\\r\\n margin-right: 3px; /* Space between the icon and text */\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.header-caption {\\r\\n font-size: 11px; /* Adjust text size to match your design */\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n}\\r\\n/* ::ng-deep #gridContainer1 {\\r\\n height: 550px;\\r\\n} */\\r\\n.action-menu {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.dx-button {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n::ng-deep .dx-overlay-wrapper .dx-menu-item {\\r\\n background-color:rgb(251, 252, 252); /* rgb(232, 236, 236) !important;Your desired background color */\\r\\n color: #212121 !important; /* Your desired text color */\\r\\n}\\r\\n\\r\\n::ng-deep .dx-overlay-wrapper .dx-menu-item.dx-state-hovered {\\r\\n background-color:#6baaf2 !important;\\r\\n}\\r\\n.right-align-input {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.item-template-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.item-template-container mat-icon {\\r\\n margin-right: 4px;\\r\\n color: var(--mat-icon-color, black); /* Customize icon color */\\r\\n}\\r\\n\\r\\n.dx-menu-item-text {\\r\\n flex: 1;\\r\\n color: var(--mat-menu-item-text-color, black); /* Customize text color */\\r\\n}\\r\\n\\r\\n::ng-deep .dx-toolbar .dx-toolbar-items-container {\\r\\n height: 27px;\\r\\n overflow: visible;\\r\\n}\\r\\n::ng-deep .dx-widget {\\r\\n color: #333;\\r\\n font-weight: normal;\\r\\n font-size: 11px;\\r\\n font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Verdana, sans-serif;\\r\\n line-height: 1.35715;\\r\\n}\\r\\n\\r\\n/* Optional: Styling for submenu indicators */\\r\\n/* mat-icon {\\r\\n font-size: 16px;\\r\\n} */\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Admin/devxgrid/devxgrid.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,WAAW;EACX,UAAU;EACV,gBAAgB;AAClB;;AAEA;EACE,WAAW;EACX,UAAU;;AAEZ;;AAEA,mCAAmC;AACnC;EACE,WAAW;EACX,cAAc;EACd,WAAW;EACX,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,WAAW;EACX,WAAW;EACX,yBAAyB;AAC3B;;AAEA;EACE,WAAW;EACX,iBAAiB;EACjB,eAAe;;CAEhB;CACA;EACC,aAAa;EACb,SAAS;AACX;;;AAGA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,sBAAsB;EACtB,WAAW;EACX,kBAAkB;EAClB,kBAAkB;EAClB,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,YAAY,EAAE,wCAAwC;EACtD,SAAS;EACT,2BAA2B;EAC3B,UAAU;EACV,wBAAwB;AAC1B;;AAEA;EACE,mBAAmB;EACnB,UAAU;AACZ;;AAEA;;GAEG;;AAEH;;;;;;;;;;;;;;;;GAgBG;;AAEH;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;AAChC;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,qEAAqE;EACrE,wBAAwB;EACxB,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;;AAEA,2EAA2E;AAC3E;EACE,cAAc;AAChB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB,EAAE,sDAAsD;EAC/E,cAAc,EAAE,uCAAuC;AACzD;;AAEA;EACE,eAAe,EAAE,gCAAgC;EACjD,iBAAiB,EAAE,oCAAoC;EACvD,oBAAoB;EACpB,mBAAmB;AACrB;;AAEA;EACE,eAAe,EAAE,0CAA0C;EAC3D,oBAAoB;EACpB,mBAAmB;AACrB;AACA;;GAEG;AACH;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,eAAe;AACjB;;;AAGA;EACE,mCAAmC,GAAG,gEAAgE;EACtG,yBAAyB,EAAE,4BAA4B;AACzD;;AAEA;EACE,mCAAmC;AACrC;AACA;EACE,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,iBAAiB;EACjB,mCAAmC,EAAE,yBAAyB;AAChE;;AAEA;EACE,OAAO;EACP,6CAA6C,EAAE,yBAAyB;AAC1E;;AAEA;EACE,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,mBAAmB;EACnB,eAAe;EACf,yEAAyE;EACzE,oBAAoB;AACtB;;AAEA,6CAA6C;AAC7C;;GAEG\",\"sourcesContent\":[\".column {\\r\\n float: left;\\r\\n width: 25%;\\r\\n padding-left: 2%;\\r\\n}\\r\\n\\r\\n.column1 {\\r\\n float: left;\\r\\n width: 10%;\\r\\n \\r\\n}\\r\\n\\r\\n/* Clear floats after the columns */\\r\\n.row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.table1 {\\r\\n width: 100%;\\r\\n height:50px;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n\\r\\n.mat-form-field1{\\r\\n width: 100%;\\r\\n padding-right:0px;\\r\\n font-size: 12px;\\r\\n \\r\\n }\\r\\n .icon-button-group {\\r\\n display: flex;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n.tooltip {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.tooltip .tooltiptext {\\r\\n visibility: hidden;\\r\\n width: 100px;\\r\\n background-color: #555;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n border-radius: 6px;\\r\\n padding: 5px 0;\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n bottom: 150%; /* Position the tooltip above the text */\\r\\n left: 50%;\\r\\n transform: translateX(-50%);\\r\\n opacity: 0;\\r\\n transition: opacity 0.3s;\\r\\n}\\r\\n\\r\\n.tooltip:hover .tooltiptext {\\r\\n visibility: visible;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n/* .table1 td {\\r\\n height: 50px; \\r\\n} */\\r\\n\\r\\n/* .table1 .cell-content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.text-area {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\ntd {\\r\\n text-align: center;\\r\\n} */\\r\\n\\r\\n.custom-header {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.custom-header .custom-icon {\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n background: url('/assets/images/favicon.png') no-repeat center center;\\r\\n background-size: contain;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.dx-menu-item .dx-icon {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.checkbox-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 8px 16px;\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n.mat-checkbox-layout {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n::ng-deep .mat-checkbox-label {\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n/* Optional: Customize padding for the checkboxes to match the menu items */\\r\\n.mat-checkbox {\\r\\n margin-left: 0;\\r\\n}\\r\\n.header-template-content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center; /* Center the content horizontally, adjust as needed */\\r\\n padding: 0 5px; /* Add some padding to adjust spacing */\\r\\n}\\r\\n\\r\\n.header-icon {\\r\\n font-size: 10px; /* Adjust the size of the icon */\\r\\n margin-right: 3px; /* Space between the icon and text */\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.header-caption {\\r\\n font-size: 11px; /* Adjust text size to match your design */\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n}\\r\\n/* ::ng-deep #gridContainer1 {\\r\\n height: 550px;\\r\\n} */\\r\\n.action-menu {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.dx-button {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n::ng-deep .dx-overlay-wrapper .dx-menu-item {\\r\\n background-color:rgb(251, 252, 252); /* rgb(232, 236, 236) !important;Your desired background color */\\r\\n color: #212121 !important; /* Your desired text color */\\r\\n}\\r\\n\\r\\n::ng-deep .dx-overlay-wrapper .dx-menu-item.dx-state-hovered {\\r\\n background-color:#6baaf2 !important;\\r\\n}\\r\\n.right-align-input {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.item-template-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.item-template-container mat-icon {\\r\\n margin-right: 4px;\\r\\n color: var(--mat-icon-color, black); /* Customize icon color */\\r\\n}\\r\\n\\r\\n.dx-menu-item-text {\\r\\n flex: 1;\\r\\n color: var(--mat-menu-item-text-color, black); /* Customize text color */\\r\\n}\\r\\n\\r\\n::ng-deep .dx-toolbar .dx-toolbar-items-container {\\r\\n height: 27px;\\r\\n overflow: visible;\\r\\n}\\r\\n::ng-deep .dx-widget {\\r\\n color: #333;\\r\\n font-weight: normal;\\r\\n font-size: 11px;\\r\\n font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Verdana, sans-serif;\\r\\n line-height: 1.35715;\\r\\n}\\r\\n\\r\\n/* Optional: Styling for submenu indicators */\\r\\n/* mat-icon {\\r\\n font-size: 16px;\\r\\n} */\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"::ng-deep .form>h4 {\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n \\r\\n ::ng-deep .form>div,\\r\\n ::ng-deep #treeview {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n }\\r\\n \\r\\n ::ng-deep .selected-container {\\r\\n padding: 20px;\\r\\n margin-left: 20px; \\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n font-size: 115%;\\r\\n font-weight: bold;\\r\\n }\\r\\n \\r\\n ::ng-deep #selected-employees {\\r\\n margin-top: 20px;\\r\\n }\\r\\n \\r\\n ::ng-deep .dx-list-item-content {\\r\\n padding-left: 0;\\r\\n }\\r\\n \\r\\n ::ng-deep .options {\\r\\n padding: 20px;\\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n margin-top: 20px;\\r\\n }\\r\\n \\r\\n ::ng-deep .caption {\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n }\\r\\n \\r\\n ::ng-deep .option {\\r\\n width: 24%;\\r\\n display: inline-block;\\r\\n margin-top: 10px;\\r\\n margin-right: 5px;\\r\\n box-sizing: border-box;\\r\\n }\\r\\n \\r\\n ::ng-deep .recursive-option {\\r\\n padding-left: 10px;\\r\\n }\\r\\n \\r\\n ::ng-deep .option:last-of-type {\\r\\n margin-right: 0px;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Admin/group/group/group.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,mBAAmB;EACrB;;EAEA;;IAEE,qBAAqB;IACrB,mBAAmB;EACrB;;EAEA;IACE,aAAa;IACb,iBAAiB;IACjB,2CAA2C;IAC3C,eAAe;IACf,iBAAiB;EACnB;;EAEA;IACE,gBAAgB;EAClB;;EAEA;IACE,eAAe;EACjB;;EAEA;IACE,aAAa;IACb,2CAA2C;IAC3C,gBAAgB;EAClB;;EAEA;IACE,eAAe;IACf,gBAAgB;EAClB;;EAEA;IACE,UAAU;IACV,qBAAqB;IACrB,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;EACxB;;EAEA;IACE,kBAAkB;EACpB;;EAEA;IACE,iBAAiB;EACnB\",\"sourcesContent\":[\"::ng-deep .form>h4 {\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n \\r\\n ::ng-deep .form>div,\\r\\n ::ng-deep #treeview {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n }\\r\\n \\r\\n ::ng-deep .selected-container {\\r\\n padding: 20px;\\r\\n margin-left: 20px; \\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n font-size: 115%;\\r\\n font-weight: bold;\\r\\n }\\r\\n \\r\\n ::ng-deep #selected-employees {\\r\\n margin-top: 20px;\\r\\n }\\r\\n \\r\\n ::ng-deep .dx-list-item-content {\\r\\n padding-left: 0;\\r\\n }\\r\\n \\r\\n ::ng-deep .options {\\r\\n padding: 20px;\\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n margin-top: 20px;\\r\\n }\\r\\n \\r\\n ::ng-deep .caption {\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n }\\r\\n \\r\\n ::ng-deep .option {\\r\\n width: 24%;\\r\\n display: inline-block;\\r\\n margin-top: 10px;\\r\\n margin-right: 5px;\\r\\n box-sizing: border-box;\\r\\n }\\r\\n \\r\\n ::ng-deep .recursive-option {\\r\\n padding-left: 10px;\\r\\n }\\r\\n \\r\\n ::ng-deep .option:last-of-type {\\r\\n margin-right: 0px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".div1\\r\\n{\\r\\n background-color: rgb(252, 254, 255);\\r\\n /* box-shadow: 2px 7px 10px 0px silver; */\\r\\n width:100%;\\r\\n padding: 1%;\\r\\n /* padding-bottom:10%; */\\r\\n}\\r\\n.div2\\r\\n{\\r\\n background-color: rgb(237, 246, 250); \\r\\n height:33vh;\\r\\n width:100%;\\r\\n padding:1%;\\r\\n}\\r\\n.div3\\r\\n{ \\r\\n border: 1px solid rgb(214, 211, 211);\\r\\n border-radius: 5px;\\r\\n width:100%;\\r\\n height:30vh;\\r\\n}\\r\\n.div4\\r\\n{\\r\\n padding:10%;\\r\\n}\\r\\n.div5\\r\\n{\\r\\n background-color: gainsboro;\\r\\n height: 5vh;\\r\\n}\\r\\n.div6\\r\\n{\\r\\n padding:2%;\\r\\n}\\r\\n.table1\\r\\n{\\r\\n\\r\\nwidth:90%;\\r\\npadding: 0px;\\r\\n\\r\\n}\\r\\n.t2\\r\\n{\\r\\nvertical-align: top;\\r\\nalign-items: baseline;\\r\\n/* width:80vw; */\\r\\n}\\r\\n.t3\\r\\n {\\r\\n vertical-align: top;\\r\\n \\r\\n width:8vw;\\r\\n align-items: baseline;\\r\\n text-align: right;\\r\\n }\\r\\n .InProgress\\r\\n {\\r\\n background-color: rgb(197, 235, 235);\\r\\n color: rgb(23, 125, 125);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Pending\\r\\n {\\r\\n background-color: rgb(214, 167, 160);\\r\\n color: rgb(175, 86, 71);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Approve\\r\\n {\\r\\n background-color: rgb(171, 213, 171);\\r\\n color:rgb(14, 67, 14);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Reject\\r\\n {\\r\\n background-color: rgb(250, 171, 157);\\r\\n color: rgb(209, 33, 33);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n.table2\\r\\n{\\r\\n\\r\\nwidth:70%;\\r\\npadding: 0px;\\r\\nborder: 2px;\\r\\n}\\r\\n.t4\\r\\n{\\r\\n width:50vw;\\r\\n text-align: right;\\r\\n}\\r\\n.t5\\r\\n{\\r\\n vertical-align: top;\\r\\n width:20vw;\\r\\n align-items: baseline;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.table-striped\\r\\n{\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n.table-striped tbody\\r\\n{\\r\\n height: 120px; /* Set the height of the tbody for scrolling */\\r\\n overflow-y: auto; /* Enable vertical scrolling */\\r\\n display: block; /* Ensure tbody can be scrolled independently */\\r\\n}\\r\\n.table-striped thead {\\r\\n display: table;\\r\\n width: 100%;\\r\\n table-layout: fixed;\\r\\n}\\r\\n.table-striped tr {\\r\\n display: table;\\r\\n width: 100%;\\r\\n table-layout: fixed;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 3px; /* Adjust padding as needed */\\r\\n text-align: left; /* Align text to the left */\\r\\n }\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ERP/ApprovalForm/approvalform-posting/approvalform-posting.component.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,oCAAoC;IACpC,yCAAyC;IACzC,UAAU;IACV,WAAW;IACX,wBAAwB;AAC5B;AACA;;IAEI,oCAAoC;IACpC,WAAW;IACX,UAAU;IACV,UAAU;AACd;AACA;;IAEI,oCAAoC;IACpC,kBAAkB;IAClB,UAAU;IACV,WAAW;AACf;AACA;;IAEI,WAAW;AACf;AACA;;GAEG,2BAA2B;GAC3B,WAAW;AACd;AACA;;IAEI,UAAU;AACd;AACA;;;AAGA,SAAS;AACT,YAAY;;AAEZ;AACA;;AAEA,mBAAmB;AACnB,qBAAqB;AACrB,gBAAgB;AAChB;AACA;;EAEE,mBAAmB;;EAEnB,SAAS;EACT,qBAAqB;EACrB,iBAAiB;EACjB;EACA;;EAEA,oCAAoC;EACpC,wBAAwB;EACxB,eAAe;EACf,UAAU;EACV,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB;EACA;;IAEE,oCAAoC;EACtC,uBAAuB;EACvB,eAAe;EACf,UAAU;EACV,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB;EACA;;IAEE,oCAAoC;EACtC,qBAAqB;EACrB,eAAe;EACf,UAAU;EACV,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB;EACA;;IAEE,oCAAoC;EACtC,uBAAuB;EACvB,eAAe;EACf,UAAU;EACV,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB;AACF;;;AAGA,SAAS;AACT,YAAY;AACZ,WAAW;AACX;AACA;;EAEE,UAAU;EACV,iBAAiB;AACnB;AACA;;EAEE,mBAAmB;EACnB,UAAU;EACV,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;;IAEI,WAAW;IACX,yBAAyB;AAC7B;AACA;;EAEE,aAAa,EAAE,8CAA8C;EAC7D,gBAAgB,EAAE,8BAA8B;EAChD,cAAc,EAAE,+CAA+C;AACjE;AACA;EACE,cAAc;EACd,WAAW;EACX,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,WAAW;EACX,mBAAmB;AACrB;EACE;IACE,yBAAyB,EAAE,gCAAgC;EAC7D;;EAEA,+BAA+B;EAC/B;IACE,sBAAsB,EAAE,+BAA+B;EACzD;EACA;;IAEE,sBAAsB,EAAE,eAAe;IACvC,YAAY,EAAE,6BAA6B;IAC3C,gBAAgB,EAAE,2BAA2B;EAC/C\",\"sourcesContent\":[\".div1\\r\\n{\\r\\n background-color: rgb(252, 254, 255);\\r\\n /* box-shadow: 2px 7px 10px 0px silver; */\\r\\n width:100%;\\r\\n padding: 1%;\\r\\n /* padding-bottom:10%; */\\r\\n}\\r\\n.div2\\r\\n{\\r\\n background-color: rgb(237, 246, 250); \\r\\n height:33vh;\\r\\n width:100%;\\r\\n padding:1%;\\r\\n}\\r\\n.div3\\r\\n{ \\r\\n border: 1px solid rgb(214, 211, 211);\\r\\n border-radius: 5px;\\r\\n width:100%;\\r\\n height:30vh;\\r\\n}\\r\\n.div4\\r\\n{\\r\\n padding:10%;\\r\\n}\\r\\n.div5\\r\\n{\\r\\n background-color: gainsboro;\\r\\n height: 5vh;\\r\\n}\\r\\n.div6\\r\\n{\\r\\n padding:2%;\\r\\n}\\r\\n.table1\\r\\n{\\r\\n\\r\\nwidth:90%;\\r\\npadding: 0px;\\r\\n\\r\\n}\\r\\n.t2\\r\\n{\\r\\nvertical-align: top;\\r\\nalign-items: baseline;\\r\\n/* width:80vw; */\\r\\n}\\r\\n.t3\\r\\n {\\r\\n vertical-align: top;\\r\\n \\r\\n width:8vw;\\r\\n align-items: baseline;\\r\\n text-align: right;\\r\\n }\\r\\n .InProgress\\r\\n {\\r\\n background-color: rgb(197, 235, 235);\\r\\n color: rgb(23, 125, 125);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Pending\\r\\n {\\r\\n background-color: rgb(214, 167, 160);\\r\\n color: rgb(175, 86, 71);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Approve\\r\\n {\\r\\n background-color: rgb(171, 213, 171);\\r\\n color:rgb(14, 67, 14);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Reject\\r\\n {\\r\\n background-color: rgb(250, 171, 157);\\r\\n color: rgb(209, 33, 33);\\r\\n /* width:6vw; */\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n.table2\\r\\n{\\r\\n\\r\\nwidth:70%;\\r\\npadding: 0px;\\r\\nborder: 2px;\\r\\n}\\r\\n.t4\\r\\n{\\r\\n width:50vw;\\r\\n text-align: right;\\r\\n}\\r\\n.t5\\r\\n{\\r\\n vertical-align: top;\\r\\n width:20vw;\\r\\n align-items: baseline;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.table-striped\\r\\n{\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n.table-striped tbody\\r\\n{\\r\\n height: 120px; /* Set the height of the tbody for scrolling */\\r\\n overflow-y: auto; /* Enable vertical scrolling */\\r\\n display: block; /* Ensure tbody can be scrolled independently */\\r\\n}\\r\\n.table-striped thead {\\r\\n display: table;\\r\\n width: 100%;\\r\\n table-layout: fixed;\\r\\n}\\r\\n.table-striped tr {\\r\\n display: table;\\r\\n width: 100%;\\r\\n table-layout: fixed;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 3px; /* Adjust padding as needed */\\r\\n text-align: left; /* Align text to the left */\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* .my-class{\\r\\n width: 100%;\\r\\n min-width: unset!important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/* mat-chip {\\r\\n justify-content: space-between;\\r\\n} */\\r\\n/* .mat-standard-chip { \\r\\n width: auto !important;\\r\\n} */\\r\\n\\r\\n/* .file-select-button, .file-name {\\r\\n display: inline-block;\\r\\n margin: 8px;\\r\\n} */ \\r\\n\\r\\nmat-chip {\\r\\n justify-content: space-between;\\r\\n} \\r\\n.mat-standard-chip { \\r\\n width: auto !important;\\r\\n} \\r\\n\\r\\n.my-class{\\r\\n width: 100%;\\r\\n min-width: unset!important;\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ERP/Sales/neworder/neworder.component.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;;;GASG;AACH;;GAEG;;AAEH;;;GAGG;;AAEH;IACI,8BAA8B;AAClC;AACA;IACI,sBAAsB;AAC1B;;AAEA;IACI,WAAW;IACX,0BAA0B;AAC9B\",\"sourcesContent\":[\"/* .my-class{\\r\\n width: 100%;\\r\\n min-width: unset!important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/* mat-chip {\\r\\n justify-content: space-between;\\r\\n} */\\r\\n/* .mat-standard-chip { \\r\\n width: auto !important;\\r\\n} */\\r\\n\\r\\n/* .file-select-button, .file-name {\\r\\n display: inline-block;\\r\\n margin: 8px;\\r\\n} */ \\r\\n\\r\\nmat-chip {\\r\\n justify-content: space-between;\\r\\n} \\r\\n.mat-standard-chip { \\r\\n width: auto !important;\\r\\n} \\r\\n\\r\\n.my-class{\\r\\n width: 100%;\\r\\n min-width: unset!important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\r\\n\\r\\n.custom-mat-mini-fab {\\r\\n \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n \\r\\n \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n .column {\\r\\n float: left;\\r\\n width: 65%;\\r\\n\\r\\n }\\r\\n .colunm1 {\\r\\n width:15vw;\\r\\n padding: 5px;\\r\\n /* border: 1px solid rgb(239, 241, 243);\\r\\n border-radius: 50px; */\\r\\n /* background-color:rgb(239, 241, 243); */\\r\\n /* position:relative; */\\r\\n \\r\\n\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n div.mat-tab-label[aria-label='spacer'] {\\r\\n flex-grow: 1 !important;\\r\\n }\\r\\n\\r\\n .mat-tab-group {\\r\\n height:95%;\\r\\n }\\r\\n /* ::ng-deep #gridContainer {\\r\\n\\r\\n\\r\\n height: calc(100vh - 220px);\\r\\n width:100%;\\r\\n } */\\r\\n .class-hide-tab0 div.mat-tab-label:nth-child(1) {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n\\r\\n \\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ETS/CustomsReport/customsreport.component.css\"],\"names\":[],\"mappings\":\";;AAEA;;KAEK,WAAW;KACX,YAAY;;;GAGd;;GAEA;KACE,eAAe;KACf,aAAa;KACb,gBAAgB;KAChB,uBAAuB;GACzB;GACA;IACC,WAAW;IACX,UAAU;;EAEZ;EACA;GACC,UAAU;EACX,YAAY;EACZ;wBACsB;EACtB,yCAAyC;EACzC,uBAAuB;;;EAGvB;;EAEA,mCAAmC;EACnC;IACE,WAAW;IACX,cAAc;IACd,WAAW;EACb;EACA;IACE,uBAAuB;EACzB;;EAEA;IACE,UAAU;EACZ;EACA;;;;;KAKG;EACH;IACE,aAAa;EACf\",\"sourcesContent\":[\"\\r\\n\\r\\n.custom-mat-mini-fab {\\r\\n \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n \\r\\n \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n .column {\\r\\n float: left;\\r\\n width: 65%;\\r\\n\\r\\n }\\r\\n .colunm1 {\\r\\n width:15vw;\\r\\n padding: 5px;\\r\\n /* border: 1px solid rgb(239, 241, 243);\\r\\n border-radius: 50px; */\\r\\n /* background-color:rgb(239, 241, 243); */\\r\\n /* position:relative; */\\r\\n \\r\\n\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n div.mat-tab-label[aria-label='spacer'] {\\r\\n flex-grow: 1 !important;\\r\\n }\\r\\n\\r\\n .mat-tab-group {\\r\\n height:95%;\\r\\n }\\r\\n /* ::ng-deep #gridContainer {\\r\\n\\r\\n\\r\\n height: calc(100vh - 220px);\\r\\n width:100%;\\r\\n } */\\r\\n .class-hide-tab0 div.mat-tab-label:nth-child(1) {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n\\r\\n \\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-column-AliasName1 {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 20% !important;\\r\\n width: 20% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 13% !important;\\r\\n width: 13% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Employee/AdvanceRequest/advancerequest/advancerequest.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;EACA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf\",\"sourcesContent\":[\".mat-column-AliasName1 {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 20% !important;\\r\\n width: 20% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 13% !important;\\r\\n width: 13% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-column-Name {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 25% !important;\\r\\n width: 25% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Desc1 {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 15% !important;\\r\\n width: 15% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \\r\\n\\r\\n .mat-column-PopUpDays {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 5% !important;\\r\\n width: 5% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \\r\\n\\r\\n .mat-column-TaskID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width:8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width:10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Employee/Documents/documentcontrollist/documentcontrollist.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;IACvB,mBAAmB;IACnB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf\",\"sourcesContent\":[\".mat-column-Name {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 25% !important;\\r\\n width: 25% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Desc1 {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 15% !important;\\r\\n width: 15% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \\r\\n\\r\\n .mat-column-PopUpDays {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 5% !important;\\r\\n width: 5% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \\r\\n\\r\\n .mat-column-TaskID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width:8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width:10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* table{\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n.mat-column-FileName {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 60% !important;\\r\\n width: 60% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } */\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Employee/Documents/documentdownload/documentdownload.component.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;;;;;;;;;;;;KAkBK\",\"sourcesContent\":[\"/* table{\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n.mat-column-FileName {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 60% !important;\\r\\n width: 60% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n } */\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Employee/Expenseposting/expensepostinglist/expensepostinglist.component.css\"],\"names\":[],\"mappings\":\"AAAA;KACK,WAAW;KACX,YAAY;GACd;;GAEA;KACE,eAAe;KACf,aAAa;KACb,gBAAgB;KAChB,uBAAuB;GACzB\",\"sourcesContent\":[\".custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* table {\\r\\n width: 100%;\\r\\n background-color: #ffffff;\\r\\n color:#000000; \\r\\n font-size:11px;\\r\\n border-top: 0.1em solid silver;\\r\\n border-top: 0.1em solid silver;\\r\\n border-bottom: 0.1em solid silver;\\r\\n border-left: 0.1em solid silver;\\r\\n border-right: 0.1em solid silver; \\r\\n max-height: 300px;\\r\\n \\r\\n}\\r\\ntr:nth-child(even) { \\r\\n background-color:whitesmoke; \\r\\n} */\\r\\n.search-div{\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-around;\\r\\n}\\r\\n.card-container-right{\\r\\n float:right;\\r\\n display: inline;\\r\\n \\r\\n}\\r\\n.button-row{\\r\\n padding-right: 0px;\\r\\n padding-left: 5px;\\r\\n}\\r\\n/* .mat-cell{\\r\\n font-size: 11px;\\r\\n \\r\\n}\\r\\n\\r\\nth.mat-sort-header-sorted {\\r\\n background-color: cornflowerblue; \\r\\n color: black;\\r\\n} */\\r\\n.silver\\r\\n{\\r\\ncolor:red;\\r\\n}\\r\\n\\r\\n.dot {\\r\\n height: 15px;\\r\\n width: 15px;\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n}\\r\\n.a\\r\\n{\\r\\n counter-increment: Serial; \\r\\n}\\r\\n\\r\\n.mat-cell {\\r\\nmin-height: 18px;\\r\\ncolor:#DCDCDC;\\r\\n/* text-align: center; */\\r\\nborder-right: 0.1em solid silver;\\r\\n}\\r\\n/* .mat-header-cell, .mat-sort-header {\\r\\nbackground-color:cornflowerblue ;\\r\\n} */\\r\\n\\r\\n:host ::ng-deep .mat-sort-header-container {\\r\\ndisplay: flex;\\r\\njustify-content: center;\\r\\nfont-size: medium;\\r\\nfont-weight: bold;\\r\\ntext-decoration:underline;\\r\\n}\\r\\ntd {\\r\\noverflow: hidden;\\r\\nwidth: 20px;\\r\\ntext-overflow: ellipsis;\\r\\nwhite-space: nowrap;\\r\\ntext-align: center;\\r\\n}\\r\\n.mat-column-Name {\\r\\n/* flex: 6rem;\\r\\nwidth:50px; */\\r\\ntext-align: left;\\r\\n}\\r\\n.mat-header-row, .mat-row {\\r\\nmin-height: 5px;\\r\\n}\\r\\n.row:after {\\r\\ncontent: \\\"\\\";\\r\\ndisplay: table;\\r\\nclear: both;\\r\\n}\\r\\n.column1 {\\r\\nfloat: left;\\r\\nwidth: 60%;\\r\\npadding: 10px;\\r\\n/* height: 300px; Should be removed. Only for demonstration */\\r\\n}\\r\\n.column3 {\\r\\nfloat: left;\\r\\nwidth: 2%;\\r\\n/* padding: 10px; */\\r\\n/* height: 300px; Should be removed. Only for demonstration */\\r\\n}\\r\\n.column2 {\\r\\nfloat: left;\\r\\nwidth: 38%;\\r\\npadding: 10px;\\r\\n/* height: 300px; Should be removed. Only for demonstration */\\r\\n}\\r\\n\\r\\n\\r\\n.div2 {\\r\\n width:100%;\\r\\n position:relative;\\r\\n bottom:10%;\\r\\n height: 50vh;\\r\\n padding: 0px;\\r\\n display: flex;\\r\\n overflow: auto;\\r\\n flex-wrap: wrap;\\r\\n \\r\\n \\r\\n}\\r\\n\\r\\n\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/AttendanceReport/attendancereport/attendancereport.component.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;;;;;;;;;IAeI;AACJ;EACE,kBAAkB;EAClB,iBAAiB;EACjB,aAAa;EACb,mBAAmB;EACnB,6BAA6B;AAC/B;AACA;EACE,WAAW;EACX,eAAe;;AAEjB;AACA;EACE,kBAAkB;EAClB,iBAAiB;AACnB;AACA;;;;;;;;GAQG;AACH;;AAEA,SAAS;AACT;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,qBAAqB;AACvB;AACA;;EAEE,yBAAyB;AAC3B;;AAEA;AACA,gBAAgB;AAChB,aAAa;AACb,wBAAwB;AACxB,gCAAgC;AAChC;AACA;;GAEG;;AAEH;AACA,aAAa;AACb,uBAAuB;AACvB,iBAAiB;AACjB,iBAAiB;AACjB,yBAAyB;AACzB;AACA;AACA,gBAAgB;AAChB,WAAW;AACX,uBAAuB;AACvB,mBAAmB;AACnB,kBAAkB;AAClB;AACA;AACA;cACc;AACd,gBAAgB;AAChB;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;AACX,cAAc;AACd,WAAW;AACX;AACA;AACA,WAAW;AACX,UAAU;AACV,aAAa;AACb,6DAA6D;AAC7D;AACA;AACA,WAAW;AACX,SAAS;AACT,mBAAmB;AACnB,6DAA6D;AAC7D;AACA;AACA,WAAW;AACX,UAAU;AACV,aAAa;AACb,6DAA6D;AAC7D;;;AAGA;EACE,UAAU;EACV,iBAAiB;EACjB,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,cAAc;EACd,eAAe;;;AAGjB;;;AAGA;EACE,WAAW;EACX,cAAc;EACd,WAAW;EACX,WAAW;AACb;;AAEA;EACE,WAAW;EACX,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,qBAAqB;EACrB,eAAe;EACf,SAAS;EACT,oCAAoC;EACpC,mBAAmB;EACnB,oCAAoC;AACtC;AACA;;EAEE,UAAU;EACV,gBAAgB;EAChB,2BAA2B;EAC3B,4BAA4B;EAC5B,oCAAoC;AACtC\",\"sourcesContent\":[\"/* table {\\r\\n width: 100%;\\r\\n background-color: #ffffff;\\r\\n color:#000000; \\r\\n font-size:11px;\\r\\n border-top: 0.1em solid silver;\\r\\n border-top: 0.1em solid silver;\\r\\n border-bottom: 0.1em solid silver;\\r\\n border-left: 0.1em solid silver;\\r\\n border-right: 0.1em solid silver; \\r\\n max-height: 300px;\\r\\n \\r\\n}\\r\\ntr:nth-child(even) { \\r\\n background-color:whitesmoke; \\r\\n} */\\r\\n.search-div{\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-around;\\r\\n}\\r\\n.card-container-right{\\r\\n float:right;\\r\\n display: inline;\\r\\n \\r\\n}\\r\\n.button-row{\\r\\n padding-right: 0px;\\r\\n padding-left: 5px;\\r\\n}\\r\\n/* .mat-cell{\\r\\n font-size: 11px;\\r\\n \\r\\n}\\r\\n\\r\\nth.mat-sort-header-sorted {\\r\\n background-color: cornflowerblue; \\r\\n color: black;\\r\\n} */\\r\\n.silver\\r\\n{\\r\\ncolor:red;\\r\\n}\\r\\n\\r\\n.dot {\\r\\n height: 15px;\\r\\n width: 15px;\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n}\\r\\n.a\\r\\n{\\r\\n counter-increment: Serial; \\r\\n}\\r\\n\\r\\n.mat-cell {\\r\\nmin-height: 18px;\\r\\ncolor:#DCDCDC;\\r\\n/* text-align: center; */\\r\\nborder-right: 0.1em solid silver;\\r\\n}\\r\\n/* .mat-header-cell, .mat-sort-header {\\r\\nbackground-color:cornflowerblue ;\\r\\n} */\\r\\n\\r\\n:host ::ng-deep .mat-sort-header-container {\\r\\ndisplay: flex;\\r\\njustify-content: center;\\r\\nfont-size: medium;\\r\\nfont-weight: bold;\\r\\ntext-decoration:underline;\\r\\n}\\r\\ntd {\\r\\noverflow: hidden;\\r\\nwidth: 20px;\\r\\ntext-overflow: ellipsis;\\r\\nwhite-space: nowrap;\\r\\ntext-align: center;\\r\\n}\\r\\n.mat-column-Name {\\r\\n/* flex: 6rem;\\r\\nwidth:50px; */\\r\\ntext-align: left;\\r\\n}\\r\\n.mat-header-row, .mat-row {\\r\\nmin-height: 5px;\\r\\n}\\r\\n.row:after {\\r\\ncontent: \\\"\\\";\\r\\ndisplay: table;\\r\\nclear: both;\\r\\n}\\r\\n.column1 {\\r\\nfloat: left;\\r\\nwidth: 60%;\\r\\npadding: 10px;\\r\\n/* height: 300px; Should be removed. Only for demonstration */\\r\\n}\\r\\n.column3 {\\r\\nfloat: left;\\r\\nwidth: 2%;\\r\\n/* padding: 10px; */\\r\\n/* height: 300px; Should be removed. Only for demonstration */\\r\\n}\\r\\n.column2 {\\r\\nfloat: left;\\r\\nwidth: 38%;\\r\\npadding: 10px;\\r\\n/* height: 300px; Should be removed. Only for demonstration */\\r\\n}\\r\\n\\r\\n\\r\\n.div2 {\\r\\n width:100%;\\r\\n position:relative;\\r\\n bottom:10%;\\r\\n height: 50vh;\\r\\n padding: 0px;\\r\\n display: flex;\\r\\n overflow: auto;\\r\\n flex-wrap: wrap;\\r\\n \\r\\n \\r\\n}\\r\\n\\r\\n\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table1 {\\r\\n display: table;\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n }\\r\\n \\r\\n .table-row {\\r\\n display: table-row;\\r\\n }\\r\\n \\r\\n .table-cell {\\r\\n display: table-cell;\\r\\n padding: 1px;\\r\\n border: 0.5px solid #ccc;\\r\\n }\\r\\n .header-row {\\r\\n background-color: rgb(180, 178, 178); /* Header row background color */\\r\\n }\\r\\n \\r\\n .even-row {\\r\\n background-color: #f2f2f2; /* Even row background color */\\r\\n }\\r\\n .dark-theme {\\r\\n background-color: #333;\\r\\n color: white;\\r\\n }\\r\\n \\r\\n .light-theme {\\r\\n background-color: #fff;\\r\\n color: black;\\r\\n }\\r\\n \\r\\n label {\\r\\n display: block;\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n \\r\\n input[type=\\\"text\\\"] {\\r\\n width: 100%;\\r\\n padding: 4px;\\r\\n box-sizing: border-box;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n }\\r\\n input[type=\\\"checkbox\\\"] {\\r\\n margin-right: 8px;\\r\\n }\\r\\n select {\\r\\n width: 100%;\\r\\n padding: 4px;\\r\\n border-radius: 4px;\\r\\n border: 1px solid #ccc;\\r\\n font-size: 12px;\\r\\n }\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n \\r\\n }\\r\\n \\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EmpCategory/empcategory/empcategory.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,cAAc;IACd,WAAW;IACX,yBAAyB;EAC3B;;EAEA;IACE,kBAAkB;EACpB;;EAEA;IACE,mBAAmB;IACnB,YAAY;KACX,wBAAwB;EAC3B;EACA;IACE,oCAAoC,EAAE,gCAAgC;EACxE;;EAEA;IACE,yBAAyB,EAAE,8BAA8B;EAC3D;EACA;IACE,sBAAsB;IACtB,YAAY;EACd;;EAEA;IACE,sBAAsB;IACtB,YAAY;EACd;;EAEA;IACE,cAAc;IACd,kBAAkB;EACpB;;EAEA;IACE,WAAW;IACX,YAAY;IACZ,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;EACpB;EACA;IACE,iBAAiB;EACnB;EACA;IACE,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,sBAAsB;IACtB,eAAe;EACjB;EACA;IACE,WAAW;IACX,cAAc;IACd,WAAW;EACb;EACA;IACE,WAAW;IACX,UAAU;IACV,aAAa;;EAEf\",\"sourcesContent\":[\".table1 {\\r\\n display: table;\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n }\\r\\n \\r\\n .table-row {\\r\\n display: table-row;\\r\\n }\\r\\n \\r\\n .table-cell {\\r\\n display: table-cell;\\r\\n padding: 1px;\\r\\n border: 0.5px solid #ccc;\\r\\n }\\r\\n .header-row {\\r\\n background-color: rgb(180, 178, 178); /* Header row background color */\\r\\n }\\r\\n \\r\\n .even-row {\\r\\n background-color: #f2f2f2; /* Even row background color */\\r\\n }\\r\\n .dark-theme {\\r\\n background-color: #333;\\r\\n color: white;\\r\\n }\\r\\n \\r\\n .light-theme {\\r\\n background-color: #fff;\\r\\n color: black;\\r\\n }\\r\\n \\r\\n label {\\r\\n display: block;\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n \\r\\n input[type=\\\"text\\\"] {\\r\\n width: 100%;\\r\\n padding: 4px;\\r\\n box-sizing: border-box;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n }\\r\\n input[type=\\\"checkbox\\\"] {\\r\\n margin-right: 8px;\\r\\n }\\r\\n select {\\r\\n width: 100%;\\r\\n padding: 4px;\\r\\n border-radius: 4px;\\r\\n border: 1px solid #ccc;\\r\\n font-size: 12px;\\r\\n }\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n \\r\\n }\\r\\n \\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\r\\n\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EmpLeaveReport/empleaverpt.component.css\"],\"names\":[],\"mappings\":\";;AAEA;KACK,WAAW;KACX,YAAY;GACd;;GAEA;KACE,eAAe;KACf,aAAa;KACb,gBAAgB;KAChB,uBAAuB;GACzB\",\"sourcesContent\":[\"\\r\\n\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".right-aligned-dialog {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0 !important;\\r\\n transform: translateX(calc(100% - 24px)) !important; /* Adjust if needed */\\r\\n }\\r\\n\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 5px;\\r\\n \\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n \\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 5px;\\r\\n text-align: right;\\r\\n \\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 4px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:0.5%;\\r\\n font-weight: 500;\\r\\n\\r\\n\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n \\r\\n }\\r\\n\\r\\n .column6 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n /* border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px; */\\r\\n margin:1%;\\r\\n\\r\\n\\r\\n }\\r\\n \\r\\n\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EmpPayslipPayment/emppayslippayment/emppayslippayment.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;IAC5B,0BAA0B;IAC1B,mDAAmD,EAAE,qBAAqB;EAC5E;;EAEA;IACE,WAAW;IACX,UAAU;IACV,YAAY;;EAEd;EACA;IACE,WAAW;IACX,SAAS;IACT,aAAa;;EAEf;EACA;IACE,WAAW;IACX,UAAU;IACV,YAAY;EACd,iBAAiB;;EAEjB;;EAEA,mCAAmC;EACnC;IACE,WAAW;IACX,cAAc;IACd,WAAW;EACb;EACA;IACE,WAAW;IACX,UAAU;IACV,YAAY;IACZ,oCAAoC;IACpC,kBAAkB;IAClB,WAAW;IACX,gBAAgB;;;EAGlB;EACA;IACE,WAAW;KACV,UAAU;KACV,aAAa;KACb,iBAAiB;KACjB,gBAAgB;;EAEnB;;EAEA;IACE,WAAW;IACX,UAAU;IACV,aAAa;IACb;yBACqB;IACrB,SAAS;;;EAGX\",\"sourcesContent\":[\".right-aligned-dialog {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0 !important;\\r\\n transform: translateX(calc(100% - 24px)) !important; /* Adjust if needed */\\r\\n }\\r\\n\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 5px;\\r\\n \\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n \\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 5px;\\r\\n text-align: right;\\r\\n \\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 4px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:0.5%;\\r\\n font-weight: 500;\\r\\n\\r\\n\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n \\r\\n }\\r\\n\\r\\n .column6 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n /* border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px; */\\r\\n margin:1%;\\r\\n\\r\\n\\r\\n }\\r\\n \\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".right-aligned-dialog {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0 !important;\\r\\n transform: translateX(calc(100% - 24px)) !important; /* Adjust if needed */\\r\\n }\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EmpPayslipPayment/payslippaymentfilter/payslippaymentfilter.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;IAC5B,0BAA0B;IAC1B,mDAAmD,EAAE,qBAAqB;EAC5E\",\"sourcesContent\":[\".right-aligned-dialog {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0 !important;\\r\\n transform: translateX(calc(100% - 24px)) !important; /* Adjust if needed */\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"mat-form-field\\r\\n{\\r\\n width:100%;\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Goals/goalaccess/goalaccess.component.css\"],\"names\":[],\"mappings\":\"AAAA;;EAEE,UAAU;AACZ\",\"sourcesContent\":[\"mat-form-field\\r\\n{\\r\\n width:100%;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\r\\n \\r\\n\\r\\n\\r\\n.img1 {\\r\\n border-radius: 50%;\\r\\n height:100px;\\r\\n}\\r\\n.img2 {\\r\\n border-radius: 50%;\\r\\n height:50px;\\r\\n}\\r\\n.text-area\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\nmat-form-field\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n/* .mat-select mat-option.mat-option {\\r\\n margin: 1rem 0;\\r\\n overflow: visible;\\r\\n line-height: initial;\\r\\n word-wrap: break-word;\\r\\n white-space: pre-wrap;\\r\\n }\\r\\n \\r\\n .mat-option-text.mat-option-text {\\r\\n white-space: normal;\\r\\n } */\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Goals/goalslist/goalslist.component.css\"],\"names\":[],\"mappings\":\";;;;AAIA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,WAAW;AACb;AACA;;EAEE,UAAU;AACZ;AACA;;EAEE,UAAU;AACZ;;AAEA;;;;;;;;;;KAUK\",\"sourcesContent\":[\"\\r\\n \\r\\n\\r\\n\\r\\n.img1 {\\r\\n border-radius: 50%;\\r\\n height:100px;\\r\\n}\\r\\n.img2 {\\r\\n border-radius: 50%;\\r\\n height:50px;\\r\\n}\\r\\n.text-area\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\nmat-form-field\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n/* .mat-select mat-option.mat-option {\\r\\n margin: 1rem 0;\\r\\n overflow: visible;\\r\\n line-height: initial;\\r\\n word-wrap: break-word;\\r\\n white-space: pre-wrap;\\r\\n }\\r\\n \\r\\n .mat-option-text.mat-option-text {\\r\\n white-space: normal;\\r\\n } */\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-chip {\\r\\n font-size: 12px; /* Adjust as needed */\\r\\n }\\r\\n \\r\\n /* Reduce the padding of the chips */\\r\\n .mat-chip .mat-chip-content {\\r\\n padding: 4px 8px; /* Adjust as needed */\\r\\n }\\r\\n \\r\\n /* Reduce the height of the chips */\\r\\n .mat-chip-list-wrapper {\\r\\n height: auto; /* Adjust as needed */\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/HRPolicy/hrpoliciesview/hrpoliciesview.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,eAAe,EAAE,qBAAqB;EACxC;;EAEA,oCAAoC;EACpC;IACE,gBAAgB,EAAE,qBAAqB;EACzC;;EAEA,mCAAmC;EACnC;IACE,YAAY,EAAE,qBAAqB;EACrC\",\"sourcesContent\":[\".mat-chip {\\r\\n font-size: 12px; /* Adjust as needed */\\r\\n }\\r\\n \\r\\n /* Reduce the padding of the chips */\\r\\n .mat-chip .mat-chip-content {\\r\\n padding: 4px 8px; /* Adjust as needed */\\r\\n }\\r\\n \\r\\n /* Reduce the height of the chips */\\r\\n .mat-chip-list-wrapper {\\r\\n height: auto; /* Adjust as needed */\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* mat-grid-tile {\\r\\n \\r\\n height: 100px;\\r\\n background: lavender;\\r\\n}\\r\\n.columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n\\r\\n .row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n } */\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n::ng-deep mat-grid-tile .mat-figure {\\r\\n \\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n position: absolute;\\r\\n display: flex;\\r\\n\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n\\r\\n margin: 0;\\r\\n justify-content: flex-start !important ;\\r\\n align-items: flex-start !important;\\r\\n}\\r\\n\\r\\n.columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n}\\r\\n.columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n}\\r\\n\\r\\n/* Clear floats after the columns */\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\\r\\n\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveApproval/empleaverequest/empleaverequest.component.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;;;;;;;;;;;;;;;;KAsBK;;;;;;;AAOL;;EAEE,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,aAAa;;EAEb,YAAY;EACZ,UAAU;;EAEV,SAAS;EACT,uCAAuC;EACvC,kCAAkC;AACpC;;AAEA;EACE,UAAU;EACV,WAAW;;AAEb;AACA;EACE,UAAU;EACV,YAAY;;AAEd;;AAEA,mCAAmC;AACnC;EACE,WAAW;EACX,cAAc;EACd,WAAW;EACX,WAAW;AACb;;AAEA;EACE,WAAW;EACX,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,qBAAqB;EACrB,eAAe;EACf,SAAS;EACT,oCAAoC;EACpC,mBAAmB;EACnB,oCAAoC;AACtC;AACA;;EAEE,UAAU;EACV,gBAAgB;EAChB,2BAA2B;EAC3B,4BAA4B;EAC5B,oCAAoC;AACtC\",\"sourcesContent\":[\"/* mat-grid-tile {\\r\\n \\r\\n height: 100px;\\r\\n background: lavender;\\r\\n}\\r\\n.columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n\\r\\n .row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n } */\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n::ng-deep mat-grid-tile .mat-figure {\\r\\n \\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n position: absolute;\\r\\n display: flex;\\r\\n\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n\\r\\n margin: 0;\\r\\n justify-content: flex-start !important ;\\r\\n align-items: flex-start !important;\\r\\n}\\r\\n\\r\\n.columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n}\\r\\n.columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n}\\r\\n\\r\\n/* Clear floats after the columns */\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n /* Clear floats after the columns */\\r\\n .row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n \\r\\n }\\r\\n\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveApproval/leave-approval/leave-approval.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;IACV,WAAW;;EAEb;EACA;IACE,UAAU;IACV,YAAY;;EAEd;;EAEA,mCAAmC;EACnC;IACE,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;;EAEb\",\"sourcesContent\":[\".columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n /* Clear floats after the columns */\\r\\n .row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n \\r\\n }\\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n }\\r\\n .column6 {\\r\\n float: left;\\r\\n width: 70%;\\r\\n padding: 5px;\\r\\n font-size:8px;\\r\\n }\\r\\n .column7 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 5px;\\r\\n font-size:8px;\\r\\n\\r\\n }\\r\\n \\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n .example-headers-align .mat-expansion-panel-header-description {\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n }\\r\\n \\r\\n .example-headers-align .mat-mdc-form-field + .mat-mdc-form-field {\\r\\n margin-left: 8px;\\r\\n }\\r\\n .total-amount-row {\\r\\n background-color: #f5f5f5; /* Light gray background */\\r\\n font-weight: bold; /* Bold text */\\r\\n color: #333; /* Darker text color */\\r\\n }\\r\\n .tablecontent\\r\\n {\\r\\n font-size: 12px;\\r\\n font-weight:500;\\r\\n }\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashposting/leavesalaryencashposting.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,WAAW;IACX,UAAU;IACV,aAAa;EACf;EACA;IACE,WAAW;IACX,SAAS;IACT,aAAa;EACf;EACA;IACE,WAAW;IACX,UAAU;IACV,aAAa;EACf;;EAEA,mCAAmC;EACnC;IACE,WAAW;IACX,cAAc;IACd,WAAW;EACb;EACA;IACE,WAAW;IACX,UAAU;IACV,aAAa;IACb,oCAAoC;IACpC,kBAAkB;IAClB,SAAS;EACX;EACA;IACE,WAAW;KACV,UAAU;KACV,aAAa;KACb,iBAAiB;KACjB,gBAAgB;EACnB;EACA;IACE,WAAW;IACX,UAAU;IACV,YAAY;IACZ,aAAa;EACf;EACA;IACE,WAAW;IACX,UAAU;IACV,YAAY;IACZ,aAAa;;EAEf;;EAEA;IACE,UAAU;IACV,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,SAAS;EACX;;EAEA;IACE,UAAU;IACV,OAAO,EAAE,yDAAyD;;EAEpE;;EAEA;IACE,UAAU;IACV,YAAY,EAAE,+DAA+D;EAC/E;;EAEA;IACE,8BAA8B;IAC9B,mBAAmB;EACrB;;EAEA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB,EAAE,0BAA0B;IACrD,iBAAiB,UAAU,cAAc;IACzC,WAAW,gBAAgB,sBAAsB;EACnD;EACA;;IAEE,eAAe;IACf,eAAe;EACjB\",\"sourcesContent\":[\".column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n }\\r\\n .column6 {\\r\\n float: left;\\r\\n width: 70%;\\r\\n padding: 5px;\\r\\n font-size:8px;\\r\\n }\\r\\n .column7 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 5px;\\r\\n font-size:8px;\\r\\n\\r\\n }\\r\\n \\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n .example-headers-align .mat-expansion-panel-header-description {\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n }\\r\\n \\r\\n .example-headers-align .mat-mdc-form-field + .mat-mdc-form-field {\\r\\n margin-left: 8px;\\r\\n }\\r\\n .total-amount-row {\\r\\n background-color: #f5f5f5; /* Light gray background */\\r\\n font-weight: bold; /* Bold text */\\r\\n color: #333; /* Darker text color */\\r\\n }\\r\\n .tablecontent\\r\\n {\\r\\n font-size: 12px;\\r\\n font-weight:500;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table-striped\\r\\n{\\r\\n width: 100%;\\r\\n /* height: 60vh;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 2px; /* Adjust padding as needed */\\r\\n margin: 5px;\\r\\n /* text-align: left; Align text to the left */\\r\\n }\\r\\n\\r\\n .pagination-button {\\r\\n padding: 5px 10px;\\r\\n margin: 2px 2px;\\r\\n background-color: #9f9fa0;\\r\\n color: #201f1f;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .pagination-button:hover {\\r\\n background-color: #cbcdce;\\r\\n }\\r\\n .pagination-button.active {\\r\\n /* Styles for the active button */\\r\\n background-color: #e5e6e7; /* Active background color */\\r\\n }\\r\\n\\r\\n .NotPaid\\r\\n {\\r\\n background-color: rgb(197, 235, 235);\\r\\n color: rgb(23, 125, 125);\\r\\n padding:2%;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Partial\\r\\n {\\r\\n background-color: rgb(214, 167, 160);\\r\\n color: rgb(175, 86, 71);\\r\\n padding:2%;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Paid\\r\\n {\\r\\n background-color: rgb(171, 213, 171);\\r\\n color:rgb(14, 67, 14);\\r\\n padding:2%;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n }\\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%; /* Set height for the container */\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveSalary_EnCash/leavesalaryencashreport/leavesalaryencashreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,WAAW;GACZ;;;;+DAI4D;EAC7D;;EAEA,+BAA+B;EAC/B;IACE,sBAAsB,EAAE,+BAA+B;EACzD;EACA;;IAEE,sBAAsB,EAAE,eAAe;IACvC,YAAY,EAAE,6BAA6B;IAC3C,WAAW;IACX,8CAA8C;EAChD;;EAEA;IACE,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,eAAe;EACjB;;EAEA;IACE,yBAAyB;EAC3B;EACA;IACE,iCAAiC;IACjC,yBAAyB,EAAE,4BAA4B;EACzD;;EAEA;;EAEA,oCAAoC;EACpC,wBAAwB;EACxB,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,kBAAkB;EAClB;EACA;;IAEE,oCAAoC;EACtC,uBAAuB;EACvB,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB;EACA;;IAEE,oCAAoC;EACtC,qBAAqB;EACrB,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB;EACA;IACE,WAAW;IACX,UAAU;IACV,aAAa;;EAEf;EACA;IACE,WAAW;IACX,SAAS;IACT,aAAa;EACf;EACA;IACE,WAAW;IACX,UAAU;IACV,aAAa;EACf;;EAEA,mCAAmC;EACnC;IACE,WAAW;IACX,cAAc;IACd,WAAW;EACb;EACA;IACE,WAAW;IACX,UAAU;IACV,aAAa;IACb,oCAAoC;IACpC,kBAAkB;IAClB,SAAS;EACX;EACA;IACE,WAAW;KACV,UAAU;KACV,aAAa;KACb,iBAAiB;KACjB,gBAAgB;EACnB;EACA;IACE,UAAU;IACV,aAAa;IACb,sBAAsB;IACtB,YAAY,EAAE,iCAAiC;IAC/C,SAAS;IACT,SAAS;EACX;;EAEA;IACE,UAAU;IACV,OAAO,EAAE,yDAAyD;EACpE;;EAEA;IACE,UAAU;IACV,YAAY,EAAE,+DAA+D;EAC/E\",\"sourcesContent\":[\".table-striped\\r\\n{\\r\\n width: 100%;\\r\\n /* height: 60vh;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 2px; /* Adjust padding as needed */\\r\\n margin: 5px;\\r\\n /* text-align: left; Align text to the left */\\r\\n }\\r\\n\\r\\n .pagination-button {\\r\\n padding: 5px 10px;\\r\\n margin: 2px 2px;\\r\\n background-color: #9f9fa0;\\r\\n color: #201f1f;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .pagination-button:hover {\\r\\n background-color: #cbcdce;\\r\\n }\\r\\n .pagination-button.active {\\r\\n /* Styles for the active button */\\r\\n background-color: #e5e6e7; /* Active background color */\\r\\n }\\r\\n\\r\\n .NotPaid\\r\\n {\\r\\n background-color: rgb(197, 235, 235);\\r\\n color: rgb(23, 125, 125);\\r\\n padding:2%;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Partial\\r\\n {\\r\\n background-color: rgb(214, 167, 160);\\r\\n color: rgb(175, 86, 71);\\r\\n padding:2%;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Paid\\r\\n {\\r\\n background-color: rgb(171, 213, 171);\\r\\n color:rgb(14, 67, 14);\\r\\n padding:2%;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n }\\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%; /* Set height for the container */\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host ::ng-deep .mat-list-item-content {\\r\\n padding: 0!important;\\r\\n list-style:30px;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .mat-card .mat-card-content {\\r\\n \\r\\n padding-top:0!important;\\r\\n padding-bottom: 0!important;\\r\\n line-height:30px;\\r\\n \\r\\n }\\r\\n mat-card\\r\\n {\\r\\n width:100%;\\r\\n padding-left:0!important;\\r\\n line-height:30px;\\r\\n }\\r\\n .mat-card .mat-card-content\\r\\n {\\r\\n line-height:30px;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .mat-list-base\\r\\n {\\r\\n padding-top:0px;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Training/traininglist/traininglist.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oBAAoB;IACpB,eAAe;EACjB;;EAEA;;IAEE,uBAAuB;IACvB,2BAA2B;IAC3B,gBAAgB;;EAElB;EACA;;MAEI,UAAU;MACV,wBAAwB;MACxB,gBAAgB;EACpB;EACA;;IAEE,gBAAgB;EAClB;;EAEA;;IAEE,eAAe;EACjB\",\"sourcesContent\":[\":host ::ng-deep .mat-list-item-content {\\r\\n padding: 0!important;\\r\\n list-style:30px;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .mat-card .mat-card-content {\\r\\n \\r\\n padding-top:0!important;\\r\\n padding-bottom: 0!important;\\r\\n line-height:30px;\\r\\n \\r\\n }\\r\\n mat-card\\r\\n {\\r\\n width:100%;\\r\\n padding-left:0!important;\\r\\n line-height:30px;\\r\\n }\\r\\n .mat-card .mat-card-content\\r\\n {\\r\\n line-height:30px;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .mat-list-base\\r\\n {\\r\\n padding-top:0px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/timepuchreport/timepunchreportlist/timepunchreportlist.component.css\"],\"names\":[],\"mappings\":\";AACA;KACK,WAAW;KACX,YAAY;GACd;;GAEA;KACE,eAAe;KACf,aAAa;KACb,gBAAgB;KAChB,uBAAuB;GACzB\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#kanban {\\r\\n white-space: nowrap;\\r\\n }\\r\\n \\r\\n .list {\\r\\n /* border-radius: 8px;\\r\\n margin: 5px;\\r\\n background-color: rgba(192, 192, 192, 0.4);\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n white-space: normal; */\\r\\n margin: 5px;\\r\\n background-color: rgba(192, 192, 192, 0.4);\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n white-space: normal;\\r\\n flex-grow: 1;\\r\\n height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 200px); \\r\\n \\r\\n box-sizing: border-box; \\r\\n \\r\\n \\r\\n \\r\\n }\\r\\n \\r\\n .list-title {\\r\\n color: var(--dx-color-text);\\r\\n font-size: 14px;\\r\\n padding: 5px;\\r\\n padding-left: 15px;\\r\\n margin-bottom: -10px;\\r\\n font-weight: 500;\\r\\n /* font-weight: bold; */\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .scrollable-list {\\r\\n margin-top: 10px;\\r\\n flex-grow: 1;\\r\\n height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 220px);\\r\\n width: 260px;\\r\\n }\\r\\n \\r\\n .sortable-cards {\\r\\n min-height: 400px;\\r\\n }\\r\\n \\r\\n .card {\\r\\n color: var(--dx-color-text);\\r\\n position: relative;\\r\\n background-color: var(--dx-component-color-bg);\\r\\n box-sizing: border-box;\\r\\n width: 230px;\\r\\n padding: 10px 20px;\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .card-subject {\\r\\n /* padding-bottom: 10px; */\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n max-width: 200px;\\r\\n }\\r\\n\\r\\n .ReqTypeRadius {\\r\\n font-family: verdana;\\r\\n border: 0px solid rgb(135, 134, 134);\\r\\n padding:0px;\\r\\n \\r\\n }\\r\\n \\r\\n .card-assignee {\\r\\n opacity: 0.6;\\r\\n }\\r\\n \\r\\n .card-priority {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n bottom: 10px;\\r\\n left: 5px;\\r\\n width: 5px;\\r\\n border-radius: 2px; \\r\\n } \\r\\n \\r\\n .rows {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n }\\r\\n .priority-1 {\\r\\n background: #adadad;\\r\\n }\\r\\n \\r\\n .priority-2 {\\r\\n background: #86c285;\\r\\n }\\r\\n \\r\\n .priority-3 {\\r\\n background: #edc578;\\r\\n }\\r\\n \\r\\n .priority-4 {\\r\\n background: #ef7d59;\\r\\n }\\r\\n \\r\\n ::ng-deep .dx-sortable {\\r\\n display: block;\\r\\n }\\r\\n\\r\\n\\r\\n .initial-circle {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n color: white; /* Text color */\\r\\n font-weight: bold;\\r\\n font-size: 11px;\\r\\n }\\r\\n\\r\\n /* .item-count {\\r\\n font-weight: bold; \\r\\n color: #007bff; \\r\\n background-color: #e9f5ff;\\r\\n border-radius: 12px; \\r\\n padding: 2px 8px; \\r\\n font-size: 0.9em; \\r\\n margin-left: 5px; \\r\\n } */\\r\\n \\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/DevXKanban/devxkanbanboard/devxkanbanboard.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,mBAAmB;EACrB;;EAEA;IACE;;;;;0BAKsB;IACtB,WAAW;IACX,0CAA0C;IAC1C,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,YAAY;IACZ,oFAAoF;;IAEpF,sBAAsB;;;;EAIxB;;EAEA;IACE,2BAA2B;IAC3B,eAAe;IACf,YAAY;IACZ,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,uBAAuB;IACvB,eAAe;EACjB;;EAEA;IACE,gBAAgB;IAChB,YAAY;IACZ,oFAAoF;IACpF,YAAY;EACd;;EAEA;IACE,iBAAiB;EACnB;;EAEA;IACE,2BAA2B;IAC3B,kBAAkB;IAClB,8CAA8C;IAC9C,sBAAsB;IACtB,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,eAAe;EACjB;;EAEA;IACE,0BAA0B;IAC1B,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;IACvB,gBAAgB;EAClB;;EAEA;IACE,oBAAoB;IACpB,oCAAoC;IACpC,WAAW;;EAEb;;EAEA;IACE,YAAY;EACd;;EAEA;IACE,kBAAkB;IAClB,SAAS;IACT,YAAY;IACZ,SAAS;IACT,UAAU;IACV,kBAAkB;EACpB;;EAEA;IACE,aAAa;IACb,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;IACE,cAAc;EAChB;;;EAGA;IACE,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,YAAY,EAAE,eAAe;IAC7B,iBAAiB;IACjB,eAAe;EACjB;;EAEA;;;;;;;;KAQG\",\"sourcesContent\":[\"#kanban {\\r\\n white-space: nowrap;\\r\\n }\\r\\n \\r\\n .list {\\r\\n /* border-radius: 8px;\\r\\n margin: 5px;\\r\\n background-color: rgba(192, 192, 192, 0.4);\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n white-space: normal; */\\r\\n margin: 5px;\\r\\n background-color: rgba(192, 192, 192, 0.4);\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n white-space: normal;\\r\\n flex-grow: 1;\\r\\n height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 200px); \\r\\n \\r\\n box-sizing: border-box; \\r\\n \\r\\n \\r\\n \\r\\n }\\r\\n \\r\\n .list-title {\\r\\n color: var(--dx-color-text);\\r\\n font-size: 14px;\\r\\n padding: 5px;\\r\\n padding-left: 15px;\\r\\n margin-bottom: -10px;\\r\\n font-weight: 500;\\r\\n /* font-weight: bold; */\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .scrollable-list {\\r\\n margin-top: 10px;\\r\\n flex-grow: 1;\\r\\n height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 220px);\\r\\n width: 260px;\\r\\n }\\r\\n \\r\\n .sortable-cards {\\r\\n min-height: 400px;\\r\\n }\\r\\n \\r\\n .card {\\r\\n color: var(--dx-color-text);\\r\\n position: relative;\\r\\n background-color: var(--dx-component-color-bg);\\r\\n box-sizing: border-box;\\r\\n width: 230px;\\r\\n padding: 10px 20px;\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .card-subject {\\r\\n /* padding-bottom: 10px; */\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n max-width: 200px;\\r\\n }\\r\\n\\r\\n .ReqTypeRadius {\\r\\n font-family: verdana;\\r\\n border: 0px solid rgb(135, 134, 134);\\r\\n padding:0px;\\r\\n \\r\\n }\\r\\n \\r\\n .card-assignee {\\r\\n opacity: 0.6;\\r\\n }\\r\\n \\r\\n .card-priority {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n bottom: 10px;\\r\\n left: 5px;\\r\\n width: 5px;\\r\\n border-radius: 2px; \\r\\n } \\r\\n \\r\\n .rows {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n }\\r\\n .priority-1 {\\r\\n background: #adadad;\\r\\n }\\r\\n \\r\\n .priority-2 {\\r\\n background: #86c285;\\r\\n }\\r\\n \\r\\n .priority-3 {\\r\\n background: #edc578;\\r\\n }\\r\\n \\r\\n .priority-4 {\\r\\n background: #ef7d59;\\r\\n }\\r\\n \\r\\n ::ng-deep .dx-sortable {\\r\\n display: block;\\r\\n }\\r\\n\\r\\n\\r\\n .initial-circle {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n color: white; /* Text color */\\r\\n font-weight: bold;\\r\\n font-size: 11px;\\r\\n }\\r\\n\\r\\n /* .item-count {\\r\\n font-weight: bold; \\r\\n color: #007bff; \\r\\n background-color: #e9f5ff;\\r\\n border-radius: 12px; \\r\\n padding: 2px 8px; \\r\\n font-size: 0.9em; \\r\\n margin-left: 5px; \\r\\n } */\\r\\n \\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row\\r\\n{\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n.column\\r\\n{\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.outer{\\r\\n width: 450px;\\r\\n height: 250px;\\r\\n border: 2px solid gray;\\r\\n }\\r\\n .inner{\\r\\n width : 100px;\\r\\n height : 100px;\\r\\n background-color: crimson;\\r\\n display: inline-block;\\r\\n margin: 2px;\\r\\n }\\r\\n .icon1 {\\r\\n font-size: 15px;\\r\\n }\\r\\n\\r\\n \\r\\n .mat-column-CreatedDate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 17% !important;\\r\\n width: 17% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Type {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Priority {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-TicketID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 7% !important;\\r\\n width: 7% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n .mat-menu {\\r\\n z-index: 1000; /* Ensure it's above other elements */\\r\\n }\\r\\n .header-icon {\\r\\n font-size: 14px; /* Adjust the size of the icon */\\r\\n margin-right: 3px; /* Space between the icon and text */\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n }\\r\\n ::ng-deep .dx-toolbar .dx-toolbar-items-container {\\r\\n height: 27px;\\r\\n overflow: visible;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Ticket/ticketmanager/ticketmanager.component.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;AACf;AACA;;IAEI,WAAW;IACX,UAAU;IACV,aAAa;AACjB;;AAEA;IACI,YAAY;IACZ,aAAa;IACb,sBAAsB;EACxB;EACA;IACE,aAAa;IACb,cAAc;IACd,yBAAyB;IACzB,qBAAqB;IACrB,WAAW;EACb;EACA;IACE,eAAe;EACjB;;;EAGA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;EACA;IACE,aAAa,EAAE,qCAAqC;EACtD;EACA;IACE,eAAe,EAAE,gCAAgC;IACjD,iBAAiB,EAAE,oCAAoC;IACvD,oBAAoB;IACpB,mBAAmB;EACrB;EACA;IACE,YAAY;IACZ,iBAAiB;EACnB\",\"sourcesContent\":[\".row\\r\\n{\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n.column\\r\\n{\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.outer{\\r\\n width: 450px;\\r\\n height: 250px;\\r\\n border: 2px solid gray;\\r\\n }\\r\\n .inner{\\r\\n width : 100px;\\r\\n height : 100px;\\r\\n background-color: crimson;\\r\\n display: inline-block;\\r\\n margin: 2px;\\r\\n }\\r\\n .icon1 {\\r\\n font-size: 15px;\\r\\n }\\r\\n\\r\\n \\r\\n .mat-column-CreatedDate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 17% !important;\\r\\n width: 17% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Type {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Priority {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-TicketID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 7% !important;\\r\\n width: 7% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n .mat-menu {\\r\\n z-index: 1000; /* Ensure it's above other elements */\\r\\n }\\r\\n .header-icon {\\r\\n font-size: 14px; /* Adjust the size of the icon */\\r\\n margin-right: 3px; /* Space between the icon and text */\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n }\\r\\n ::ng-deep .dx-toolbar .dx-toolbar-items-container {\\r\\n height: 27px;\\r\\n overflow: visible;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Project/EffortApproval/effortapproval.component.css\"],\"names\":[],\"mappings\":\"AAAA;KACK,WAAW;KACX,YAAY;GACd;;GAEA;KACE,eAAe;KACf,aAAa;KACb,gBAAgB;KAChB,uBAAuB;GACzB\",\"sourcesContent\":[\".custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* \\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntr.mat-header-row {\\r\\n height: 30px;\\r\\n}\\r\\ntr.mat-row{\\r\\n height: 30px !important;\\r\\n}\\r\\n*/\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n.widget-container {\\r\\ndisplay: flex;\\r\\n}\\r\\n\\r\\n.widget-container > * {\\r\\nheight: auto;\\r\\nwidth: 50%;\\r\\npadding: 10px;\\r\\n}\\r\\n\\r\\n.example-tree-invisible {\\r\\ndisplay: none;\\r\\n}\\r\\n\\r\\n.example-tree ul,\\r\\n.example-tree li {\\r\\nmargin-top: 0;\\r\\nmargin-bottom: 0;\\r\\nlist-style-type: none;\\r\\n}\\r\\n\\r\\n._ngcontent-gmj-c649 {\\r\\nheight: 20%;\\r\\n}\\r\\n\\r\\n.mat-tree-node:hover {\\r\\nbackground-color: rgba(255, 220, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* .txtColor:hover{\\r\\ncolor: red;\\r\\ncursor: pointer;\\r\\n}\\r\\n\\r\\n.background-highlight{\\r\\nbackground: green;\\r\\n} */\\r\\n/* .mat-dialog-container {\\r\\ntransform: none;padding-top: 10px;padding-right: 10px;padding-bottom: 10px;padding-left: 10px;\\r\\n} */\\r\\n\\r\\n/* .mat-dialog-container {\\r\\npadding: 10px !important;\\r\\n} */\\r\\n\\r\\n/* ::ng-deep div.my-panel .mat-dialog-container {\\r\\ntransform: none;padding-top: 10px;padding-right: 10px;padding-bottom: 10px;padding-left: 10px;\\r\\n} */\\r\\n\\r\\n::ng-deep #simple-treeview, #product-details {\\r\\n display: inline-block;\\r\\n}\\r\\n::ng-deep #product-details {\\r\\n vertical-align: top;\\r\\n width: 400px;\\r\\n height: 420px;\\r\\n margin-left: 20px;\\r\\n}\\r\\n::ng-deep #product-details > img {\\r\\n border: none;\\r\\n height: 300px;\\r\\n width: 400px;\\r\\n}\\r\\n::ng-deep #product-details > .name {\\r\\n text-align: center;\\r\\n font-size: 20px;\\r\\n}\\r\\n::ng-deep #product-details > .price {\\r\\n text-align: center;\\r\\n font-size: 24px;\\r\\n}\\r\\n::ng-deep .dark #product-details > div {\\r\\n color: #f0f0f0;\\r\\n}\\r\\n::ng-deep .hidden {\\r\\n visibility: hidden;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Project/EmpHierarchy/employee-hierarchy-list/employee-hierarchy-list.component.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;;;;;CAWC;;;;;;;AAOD;AACA,aAAa;AACb;;AAEA;AACA,YAAY;AACZ,UAAU;AACV,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA,aAAa;AACb,gBAAgB;AAChB,qBAAqB;AACrB;;AAEA;AACA,WAAW;AACX;;AAEA;AACA,mDAAmD;AACnD;;AAEA;;;;;;;GAOG;AACH;;GAEG;;AAEH;;GAEG;;AAEH;;IAEI;;AAEJ;EACE,qBAAqB;AACvB;AACA;EACE,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb,iBAAiB;AACnB;AACA;EACE,YAAY;EACZ,aAAa;EACb,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;AACpB\",\"sourcesContent\":[\"/* \\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntr.mat-header-row {\\r\\n height: 30px;\\r\\n}\\r\\ntr.mat-row{\\r\\n height: 30px !important;\\r\\n}\\r\\n*/\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n.widget-container {\\r\\ndisplay: flex;\\r\\n}\\r\\n\\r\\n.widget-container > * {\\r\\nheight: auto;\\r\\nwidth: 50%;\\r\\npadding: 10px;\\r\\n}\\r\\n\\r\\n.example-tree-invisible {\\r\\ndisplay: none;\\r\\n}\\r\\n\\r\\n.example-tree ul,\\r\\n.example-tree li {\\r\\nmargin-top: 0;\\r\\nmargin-bottom: 0;\\r\\nlist-style-type: none;\\r\\n}\\r\\n\\r\\n._ngcontent-gmj-c649 {\\r\\nheight: 20%;\\r\\n}\\r\\n\\r\\n.mat-tree-node:hover {\\r\\nbackground-color: rgba(255, 220, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* .txtColor:hover{\\r\\ncolor: red;\\r\\ncursor: pointer;\\r\\n}\\r\\n\\r\\n.background-highlight{\\r\\nbackground: green;\\r\\n} */\\r\\n/* .mat-dialog-container {\\r\\ntransform: none;padding-top: 10px;padding-right: 10px;padding-bottom: 10px;padding-left: 10px;\\r\\n} */\\r\\n\\r\\n/* .mat-dialog-container {\\r\\npadding: 10px !important;\\r\\n} */\\r\\n\\r\\n/* ::ng-deep div.my-panel .mat-dialog-container {\\r\\ntransform: none;padding-top: 10px;padding-right: 10px;padding-bottom: 10px;padding-left: 10px;\\r\\n} */\\r\\n\\r\\n::ng-deep #simple-treeview, #product-details {\\r\\n display: inline-block;\\r\\n}\\r\\n::ng-deep #product-details {\\r\\n vertical-align: top;\\r\\n width: 400px;\\r\\n height: 420px;\\r\\n margin-left: 20px;\\r\\n}\\r\\n::ng-deep #product-details > img {\\r\\n border: none;\\r\\n height: 300px;\\r\\n width: 400px;\\r\\n}\\r\\n::ng-deep #product-details > .name {\\r\\n text-align: center;\\r\\n font-size: 20px;\\r\\n}\\r\\n::ng-deep #product-details > .price {\\r\\n text-align: center;\\r\\n font-size: 24px;\\r\\n}\\r\\n::ng-deep .dark #product-details > div {\\r\\n color: #f0f0f0;\\r\\n}\\r\\n::ng-deep .hidden {\\r\\n visibility: hidden;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dx-datagrid-headers .dx-header-row { \\r\\n background-color: cornflowerblue; \\r\\n color: black;\\r\\n } \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Project/ProjectAllocation/projectallocationbyweek-list/projectallocationbyweek-list.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,gCAAgC;IAChC,YAAY;EACd\",\"sourcesContent\":[\".dx-datagrid-headers .dx-header-row { \\r\\n background-color: cornflowerblue; \\r\\n color: black;\\r\\n } \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".add-leave-popup {\\r\\n width: 100%; \\r\\n padding: none ;\\r\\n }\\r\\n .form-group{\\r\\n padding: 8%;\\r\\n }\\r\\n .form-group mat-form-field {\\r\\n width: 100%;\\r\\n margin-top: 5px;\\r\\n }\\r\\n\\r\\n .form-group mat-autocomplete {\\r\\n width: 80%;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n .mat-autocomplete .mat-option {\\r\\n font-weight: normal; \\r\\n }\\r\\n\\r\\n .mat-checkbox-label {\\r\\n font-weight: normal; \\r\\n }\\r\\n\\r\\n .close-button-container {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n margin-bottom: 2%;\\r\\n }\\r\\n \\r\\n .close-button {\\r\\n margin-right: 8px; \\r\\n }\\r\\n \\r\\n .button-container {\\r\\n text-align: center;\\r\\n margin-top: 16px;\\r\\n }\\r\\n \\r\\n \\r\\n mat-chip-listbox {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n width: 100%; \\r\\n }\\r\\n \\r\\n \\r\\n mat-chip {\\r\\n margin: 2px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n border-radius: 5px; \\r\\n }\\r\\n\\r\\n mat-chip .matChipRemove { \\r\\n margin-left: 4px;\\r\\n }\\r\\n\\r\\n mat-chip button {\\r\\n background: none; \\r\\n border: none; \\r\\n color: inherit; \\r\\n cursor: pointer; \\r\\n padding: 0; \\r\\n margin-left: 4px; \\r\\n }\\r\\n \\r\\n \\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/LeaveGroup/add-leave-group-pop-up/add-leave-group-pop-up.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,WAAW;IACX,cAAc;EAChB;KACG;IACD,WAAW;EACb;EACA;IACE,WAAW;IACX,eAAe;EACjB;;EAEA;IACE,UAAU;EACZ;;;;EAIA;IACE,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;MACI,aAAa;MACb,yBAAyB;MACzB,WAAW;MACX,iBAAiB;IACnB;;EAEF;MACI,iBAAiB;EACrB;;EAEA;IACE,kBAAkB;IAClB,gBAAgB;EAClB;;;EAGA;IACE,aAAa;IACb,eAAe;IACf,WAAW;EACb;;;EAGA;IACE,WAAW;IACX,aAAa;IACb,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;EACpB;;EAEA;IACE,gBAAgB;EAClB;;EAEA;IACE,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,UAAU;IACV,gBAAgB;EAClB\",\"sourcesContent\":[\".add-leave-popup {\\r\\n width: 100%; \\r\\n padding: none ;\\r\\n }\\r\\n .form-group{\\r\\n padding: 8%;\\r\\n }\\r\\n .form-group mat-form-field {\\r\\n width: 100%;\\r\\n margin-top: 5px;\\r\\n }\\r\\n\\r\\n .form-group mat-autocomplete {\\r\\n width: 80%;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n .mat-autocomplete .mat-option {\\r\\n font-weight: normal; \\r\\n }\\r\\n\\r\\n .mat-checkbox-label {\\r\\n font-weight: normal; \\r\\n }\\r\\n\\r\\n .close-button-container {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n margin-bottom: 2%;\\r\\n }\\r\\n \\r\\n .close-button {\\r\\n margin-right: 8px; \\r\\n }\\r\\n \\r\\n .button-container {\\r\\n text-align: center;\\r\\n margin-top: 16px;\\r\\n }\\r\\n \\r\\n \\r\\n mat-chip-listbox {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n width: 100%; \\r\\n }\\r\\n \\r\\n \\r\\n mat-chip {\\r\\n margin: 2px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n border-radius: 5px; \\r\\n }\\r\\n\\r\\n mat-chip .matChipRemove { \\r\\n margin-left: 4px;\\r\\n }\\r\\n\\r\\n mat-chip button {\\r\\n background: none; \\r\\n border: none; \\r\\n color: inherit; \\r\\n cursor: pointer; \\r\\n padding: 0; \\r\\n margin-left: 4px; \\r\\n }\\r\\n \\r\\n \\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#body_card {\\r\\n margin: 20px auto 0 auto; \\r\\n }\\r\\n \\r\\n mat-card {\\r\\n display: block; \\r\\n margin: 0 auto; \\r\\n width: 90%;\\r\\n padding: 16px;\\r\\n }\\r\\n \\r\\n\\r\\n .header_card{\\r\\n justify-content: space-between;\\r\\n display: flex;\\r\\n margin: 12px 0; \\r\\n padding: 5px 10px; \\r\\n\\r\\n }\\r\\n \\r\\n .add_leave_group_btn {\\r\\n float: right;\\r\\n margin-right: 16px;\\r\\n margin: 2%; \\r\\n height: auto;\\r\\n padding: 6px 12px; \\r\\n}\\r\\n\\r\\n .mat-table {\\r\\n table-layout: flex;\\r\\n width: 100%; \\r\\n }\\r\\n .mat-header-cell, .mat-cell {\\r\\n padding: 8px;\\r\\n width: auto;\\r\\n vertical-align: top;\\r\\n }\\r\\n #container {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n padding-top: 20px; \\r\\n }\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n mat-chip-listbox {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n width: 100%; \\r\\n }\\r\\n \\r\\n \\r\\n mat-chip {\\r\\n margin: 2px;\\r\\n border-radius: 5px; \\r\\n }\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/LeaveGroup/leavegroupconfig.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,wBAAwB;EAC1B;;EAEA;IACE,cAAc;IACd,cAAc;IACd,UAAU;IACV,aAAa;EACf;;;EAGA;IACE,8BAA8B;IAC9B,aAAa;IACb,cAAc;IACd,iBAAiB;;EAEnB;;EAEA;IACE,YAAY;IACZ,kBAAkB;IAClB,UAAU;IACV,YAAY;IACZ,iBAAiB;AACrB;;EAEE;IACE,kBAAkB;IAClB,WAAW;EACb;EACA;IACE,YAAY;IACZ,WAAW;IACX,mBAAmB;EACrB;EACA;IACE,aAAa;IACb,uBAAuB;GACxB,sBAAsB;IACrB,mBAAmB;IACnB,iBAAiB;EACnB;;;;;EAKA;IACE,aAAa;IACb,eAAe;IACf,WAAW;EACb;;;EAGA;IACE,WAAW;IACX,kBAAkB;EACpB\",\"sourcesContent\":[\"#body_card {\\r\\n margin: 20px auto 0 auto; \\r\\n }\\r\\n \\r\\n mat-card {\\r\\n display: block; \\r\\n margin: 0 auto; \\r\\n width: 90%;\\r\\n padding: 16px;\\r\\n }\\r\\n \\r\\n\\r\\n .header_card{\\r\\n justify-content: space-between;\\r\\n display: flex;\\r\\n margin: 12px 0; \\r\\n padding: 5px 10px; \\r\\n\\r\\n }\\r\\n \\r\\n .add_leave_group_btn {\\r\\n float: right;\\r\\n margin-right: 16px;\\r\\n margin: 2%; \\r\\n height: auto;\\r\\n padding: 6px 12px; \\r\\n}\\r\\n\\r\\n .mat-table {\\r\\n table-layout: flex;\\r\\n width: 100%; \\r\\n }\\r\\n .mat-header-cell, .mat-cell {\\r\\n padding: 8px;\\r\\n width: auto;\\r\\n vertical-align: top;\\r\\n }\\r\\n #container {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n padding-top: 20px; \\r\\n }\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n mat-chip-listbox {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n width: 100%; \\r\\n }\\r\\n \\r\\n \\r\\n mat-chip {\\r\\n margin: 2px;\\r\\n border-radius: 5px; \\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".link-leave-popup {\\r\\n width: 40vw; \\r\\n max-width: 500px; \\r\\n }\\r\\n \\r\\n .form-group{\\r\\n padding: 8%;\\r\\n }\\r\\n \\r\\n .form-group mat-form-field {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .form-group mat-autocomplete {\\r\\n width: 80%;\\r\\n }\\r\\n \\r\\n .close-button-container {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n margin-bottom: 2%;\\r\\n }\\r\\n \\r\\n .close-button {\\r\\n margin-right: 8px; \\r\\n }\\r\\n \\r\\n .button-container {\\r\\n text-align: center;\\r\\n margin-top: 16px;\\r\\n }\\r\\n \\r\\n \\r\\n mat-chip-listbox {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n width: 100%; \\r\\n }\\r\\n \\r\\n \\r\\n mat-chip {\\r\\n margin: 2px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n border-radius: 5px; \\r\\n }\\r\\n\\r\\n mat-chip .matChipRemove { \\r\\n margin-left: 4px;\\r\\n }\\r\\n\\r\\n mat-chip button {\\r\\n background: none; \\r\\n border: none; \\r\\n color: inherit; \\r\\n cursor: pointer; \\r\\n padding: 0; \\r\\n margin-left: 4px; \\r\\n }\\r\\n \\r\\n \\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/LeaveGroup/link-leave-type-popup/link-leave-type-popup.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,WAAW;IACX,gBAAgB;EAClB;;EAEA;IACE,WAAW;EACb;;EAEA;IACE,WAAW;EACb;;GAEC;IACC,UAAU;EACZ;;EAEA;MACI,aAAa;MACb,yBAAyB;MACzB,WAAW;MACX,iBAAiB;IACnB;;EAEF;MACI,iBAAiB;EACrB;;EAEA;IACE,kBAAkB;IAClB,gBAAgB;EAClB;;;EAGA;IACE,aAAa;IACb,eAAe;IACf,WAAW;EACb;;;EAGA;IACE,WAAW;IACX,aAAa;IACb,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;EACpB;;EAEA;IACE,gBAAgB;EAClB;;EAEA;IACE,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,UAAU;IACV,gBAAgB;EAClB\",\"sourcesContent\":[\".link-leave-popup {\\r\\n width: 40vw; \\r\\n max-width: 500px; \\r\\n }\\r\\n \\r\\n .form-group{\\r\\n padding: 8%;\\r\\n }\\r\\n \\r\\n .form-group mat-form-field {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .form-group mat-autocomplete {\\r\\n width: 80%;\\r\\n }\\r\\n \\r\\n .close-button-container {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n margin-bottom: 2%;\\r\\n }\\r\\n \\r\\n .close-button {\\r\\n margin-right: 8px; \\r\\n }\\r\\n \\r\\n .button-container {\\r\\n text-align: center;\\r\\n margin-top: 16px;\\r\\n }\\r\\n \\r\\n \\r\\n mat-chip-listbox {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n width: 100%; \\r\\n }\\r\\n \\r\\n \\r\\n mat-chip {\\r\\n margin: 2px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n border-radius: 5px; \\r\\n }\\r\\n\\r\\n mat-chip .matChipRemove { \\r\\n margin-left: 4px;\\r\\n }\\r\\n\\r\\n mat-chip button {\\r\\n background: none; \\r\\n border: none; \\r\\n color: inherit; \\r\\n cursor: pointer; \\r\\n padding: 0; \\r\\n margin-left: 4px; \\r\\n }\\r\\n \\r\\n \\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n tr.example-detail-row {\\r\\n height: 0;\\r\\n }\\r\\n \\r\\n tr.example-element-row:not(.example-expanded-row):hover {\\r\\n background: #777;\\r\\n }\\r\\n \\r\\n tr.example-element-row:not(.example-expanded-row):active {\\r\\n background: #efefef;\\r\\n }\\r\\n \\r\\n .example-element-row td {\\r\\n border-bottom-width: 0;\\r\\n }\\r\\n \\r\\n .example-element-detail {\\r\\n overflow: hidden;\\r\\n display: flex;\\r\\n }\\r\\n \\r\\n .example-element-diagram {\\r\\n min-width: 80px;\\r\\n border: 2px solid black;\\r\\n padding: 8px;\\r\\n font-weight: lighter;\\r\\n margin: 8px 0;\\r\\n height: 104px;\\r\\n }\\r\\n \\r\\n .example-element-symbol {\\r\\n font-weight: bold;\\r\\n font-size: 40px;\\r\\n line-height: normal;\\r\\n }\\r\\n \\r\\n .example-element-description {\\r\\n padding: 16px;\\r\\n }\\r\\n \\r\\n .example-element-description-attribution {\\r\\n opacity: 0.5;\\r\\n }\\r\\n \\r\\n .inner-table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .inner-table mat-form-field {\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n }\\r\\n \", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/LeaveTypeMaster/leavetypemaster/leavetypemaster.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,WAAW;EACb;;EAEA;IACE,SAAS;EACX;;EAEA;IACE,gBAAgB;EAClB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;IACE,sBAAsB;EACxB;;EAEA;IACE,gBAAgB;IAChB,aAAa;EACf;;EAEA;IACE,eAAe;IACf,uBAAuB;IACvB,YAAY;IACZ,oBAAoB;IACpB,aAAa;IACb,aAAa;EACf;;EAEA;IACE,iBAAiB;IACjB,eAAe;IACf,mBAAmB;EACrB;;EAEA;IACE,aAAa;EACf;;EAEA;IACE,YAAY;EACd;;EAEA;IACE,WAAW;EACb;;EAEA;IACE,gBAAgB;IAChB,WAAW;EACb\",\"sourcesContent\":[\"table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n tr.example-detail-row {\\r\\n height: 0;\\r\\n }\\r\\n \\r\\n tr.example-element-row:not(.example-expanded-row):hover {\\r\\n background: #777;\\r\\n }\\r\\n \\r\\n tr.example-element-row:not(.example-expanded-row):active {\\r\\n background: #efefef;\\r\\n }\\r\\n \\r\\n .example-element-row td {\\r\\n border-bottom-width: 0;\\r\\n }\\r\\n \\r\\n .example-element-detail {\\r\\n overflow: hidden;\\r\\n display: flex;\\r\\n }\\r\\n \\r\\n .example-element-diagram {\\r\\n min-width: 80px;\\r\\n border: 2px solid black;\\r\\n padding: 8px;\\r\\n font-weight: lighter;\\r\\n margin: 8px 0;\\r\\n height: 104px;\\r\\n }\\r\\n \\r\\n .example-element-symbol {\\r\\n font-weight: bold;\\r\\n font-size: 40px;\\r\\n line-height: normal;\\r\\n }\\r\\n \\r\\n .example-element-description {\\r\\n padding: 16px;\\r\\n }\\r\\n \\r\\n .example-element-description-attribution {\\r\\n opacity: 0.5;\\r\\n }\\r\\n \\r\\n .inner-table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .inner-table mat-form-field {\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\r\\n .mat-column-ID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 12% !important;\\r\\n width: 12% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Sdate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 12% !important;\\r\\n width: 12% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Edate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 12% !important;\\r\\n width: 12% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 15% !important;\\r\\n width: 15% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/ProjectMaster/projectconfiguration-list/projectconfiguration-list.component.css\"],\"names\":[],\"mappings\":\";CACC;IACG,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf;;EAEA;IACE,gCAAgC;IAChC,6BAA6B;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;;IAErB,sBAAsB;IAItB,qBAAqB;IACrB,aAAa;EACf\",\"sourcesContent\":[\"\\r\\n .mat-column-ID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 12% !important;\\r\\n width: 12% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Sdate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 12% !important;\\r\\n width: 12% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Edate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 12% !important;\\r\\n width: 12% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 15% !important;\\r\\n width: 15% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".selected {\\r\\n background-color: #93b6ed !important;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/dialogforreports/dialogforreports.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oCAAoC;EACtC\",\"sourcesContent\":[\".selected {\\r\\n background-color: #93b6ed !important;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"html,body{height:100%;margin:0;padding:0;}\\r\\nbody{background-image:url(https://lh4.googleusercontent.com/-XplyTa1Za-I/VMSgIyAYkHI/AAAAAAAADxM/oL-rD6VP4ts/w1184-h666/Android-Lollipop-wallpapers-Google-Now-Wallpaper-2.png);background-position:center;background-size:cover;background-repeat:no-repeat;min-height:100vh;font-family:'Roboto', sans-serif;}\\r\\n.app-header{justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:2;box-shadow:0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12);}\\r\\n.login-wrapper{height:100%;}\\r\\n\\r\\n.login-wrapper .example-form{min-width:100%;max-width:350px;width:100%;}\\r\\n.login-wrapper .example-full-width,.login-wrapper .btn-block{width:100%;font-size: 15px;}\\r\\n.login-wrapper mat-card-header{text-align:center;width:100%;display:block;font-weight:700;}\\r\\n.login-wrapper mat-card-header mat-card-title{font-size:30px;margin:0;}\\r\\n/* .login-wrapper .mat-card{padding:40px 30px 30px;} */\\r\\n/* .login-wrapper .mat-stroked-button{border:1px solid currentColor;line-height:54px;background:#FFF7FA;} */\\r\\n/* .login-wrapper .mat-form-field-appearance-legacy .mat-form-field-infix{padding:0.8375em 0;} */\\r\\n.login-container{\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0; \\r\\n /*background-color:lightgrey;*/\\r\\n background-color:lightslategray;\\r\\n}\\r\\n.login-wrapper{\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n width: 100%;\\r\\n min-height: 100%;\\r\\n}\\r\\n\\r\\n.prefix{ \\r\\n margin-right: 8px;\\r\\n }\\r\\n\\r\\n input:-webkit-autofill,\\r\\n input:-webkit-autofill:hover,\\r\\n input:-webkit-autofill:active,\\r\\n input:-webkit-autofill:focus {\\r\\n background-color: aliceblue !important;\\r\\n color: #555 !important;\\r\\n -webkit-box-shadow: 0 0 0 1000px aliceblue inset !important;\\r\\n -webkit-text-fill-color: #555555 !important;\\r\\n }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/log-in/log-in.component.css\"],\"names\":[],\"mappings\":\"AAAA,UAAU,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;AACzC,KAAK,0KAA0K,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,gCAAgC,CAAC;AAC/S,YAAY,6BAA6B,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,6GAA6G,CAAC;AACtM,eAAe,WAAW,CAAC;;AAE3B,6BAA6B,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC;AACvE,6DAA6D,UAAU,CAAC,eAAe,CAAC;AACxF,+BAA+B,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC;AAC1F,8CAA8C,cAAc,CAAC,QAAQ,CAAC;AACtE,sDAAsD;AACtD,2GAA2G;AAC3G,gGAAgG;AAChG;IACI,kBAAkB;IAClB,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,8BAA8B;IAC9B,+BAA+B;AACnC;AACA;IACI,mBAAmB;IACnB,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,WAAW;IACX,gBAAgB;AACpB;;AAEA;IACI,iBAAiB;IACjB;;IAEA;;;;QAII,sCAAsC;QACtC,sBAAsB;QACtB,2DAA2D;QAC3D,2CAA2C;IAC/C\",\"sourcesContent\":[\"html,body{height:100%;margin:0;padding:0;}\\r\\nbody{background-image:url(https://lh4.googleusercontent.com/-XplyTa1Za-I/VMSgIyAYkHI/AAAAAAAADxM/oL-rD6VP4ts/w1184-h666/Android-Lollipop-wallpapers-Google-Now-Wallpaper-2.png);background-position:center;background-size:cover;background-repeat:no-repeat;min-height:100vh;font-family:'Roboto', sans-serif;}\\r\\n.app-header{justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:2;box-shadow:0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12);}\\r\\n.login-wrapper{height:100%;}\\r\\n\\r\\n.login-wrapper .example-form{min-width:100%;max-width:350px;width:100%;}\\r\\n.login-wrapper .example-full-width,.login-wrapper .btn-block{width:100%;font-size: 15px;}\\r\\n.login-wrapper mat-card-header{text-align:center;width:100%;display:block;font-weight:700;}\\r\\n.login-wrapper mat-card-header mat-card-title{font-size:30px;margin:0;}\\r\\n/* .login-wrapper .mat-card{padding:40px 30px 30px;} */\\r\\n/* .login-wrapper .mat-stroked-button{border:1px solid currentColor;line-height:54px;background:#FFF7FA;} */\\r\\n/* .login-wrapper .mat-form-field-appearance-legacy .mat-form-field-infix{padding:0.8375em 0;} */\\r\\n.login-container{\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0; \\r\\n /*background-color:lightgrey;*/\\r\\n background-color:lightslategray;\\r\\n}\\r\\n.login-wrapper{\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n width: 100%;\\r\\n min-height: 100%;\\r\\n}\\r\\n\\r\\n.prefix{ \\r\\n margin-right: 8px;\\r\\n }\\r\\n\\r\\n input:-webkit-autofill,\\r\\n input:-webkit-autofill:hover,\\r\\n input:-webkit-autofill:active,\\r\\n input:-webkit-autofill:focus {\\r\\n background-color: aliceblue !important;\\r\\n color: #555 !important;\\r\\n -webkit-box-shadow: 0 0 0 1000px aliceblue inset !important;\\r\\n -webkit-text-fill-color: #555555 !important;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column {\\n float: left;\\n width: 50%;\\n height: 33vh;\\n}\\n\\n.column1 {\\n float: left;\\n width: 50%;\\n height: 50vh;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.main {\\n width: 100%;\\n height: 90vh;\\n}\\n\\n::ng-deep #pie {\\n height: 46vh;\\n width: 35vw;\\n}\\n\\n::ng-deep #pie * {\\n margin: 0 auto;\\n}\\n\\n::ng-deep #chart {\\n height: 30vh;\\n width: 35vw;\\n}\\n\\n::ng-deep #chart * {\\n margin: 0 auto;\\n}\\n\\n.matcard {\\n width: 39vw;\\n height: 31vh;\\n}\\n\\n.matcard1 {\\n width: 39vw;\\n height: 50vh;\\n}\\n\\n.columnleft {\\n width: 65%;\\n float: left;\\n}\\n\\n.columnright {\\n width: 25%;\\n float: right;\\n}\\n\\n/* Clear floats after the columns */\\n.row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.columnLeave {\\n float: left;\\n width: 30%;\\n padding: 1%;\\n}\\n\\n.content {\\n display: inline-block;\\n margin-left: 2%;\\n width: 95%;\\n border: 1px solid rgb(224, 228, 227);\\n border-radius: 15px;\\n background-color: rgb(244, 248, 248);\\n}\\n\\n.content1 {\\n width: 100%;\\n font-weight: 500;\\n border-top-left-radius: 15px;\\n border-top-right-radius: 15px;\\n background-color: rgb(210, 211, 211);\\n}\\n\\n.matcardggbc {\\n width: 50vw;\\n height: 50vh;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/LandingPageComponents/dashboard/dashboard.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;EACA,UAAA;EACC,YAAA;AACL;;AAIE;EACE,WAAA;EACA,UAAA;EACC,YAAA;AADL;;AAKE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;AAFJ;;AAIE;EAEI,WAAA;EACA,YAAA;AAFN;;AAKE;EACE,YAAA;EACA,WAAA;AAFJ;;AAKE;EACE,cAAA;AAFJ;;AAIE;EACE,YAAA;EACA,WAAA;AADJ;;AAIE;EACE,cAAA;AADJ;;AAGE;EAEE,WAAA;EACA,YAAA;AADJ;;AAGE;EAEE,WAAA;EACA,YAAA;AADJ;;AAQE;EACE,UAAA;EACA,WAAA;AALJ;;AAQE;EACE,UAAA;EACA,YAAA;AALJ;;AASE,mCAAA;AACF;EACE,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AANF;;AASA;EACE,WAAA;EACA,UAAA;EACA,WAAA;AANF;;AASA;EACE,qBAAA;EACA,eAAA;EACA,UAAA;EACA,oCAAA;EACA,mBAAA;EACA,oCAAA;AANF;;AAQA;EAEE,WAAA;EACA,gBAAA;EACA,4BAAA;EACA,6BAAA;EACA,oCAAA;AANF;;AASA;EAEI,WAAA;EACA,YAAA;AAPJ\",\"sourcesContent\":[\".column {\\r\\n float: left;\\r\\n width:50%;\\r\\n height:33vh;\\r\\n \\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n .column1 {\\r\\n float: left;\\r\\n width:50%;\\r\\n height:50vh;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .main\\r\\n {\\r\\n width:100%;\\r\\n height:90vh;\\r\\n // background-color: rgb(126, 67, 235);\\r\\n }\\r\\n ::ng-deep #pie {\\r\\n height: 46vh;\\r\\n width:35vw;\\r\\n }\\r\\n \\r\\n ::ng-deep #pie * {\\r\\n margin: 0 auto;\\r\\n }\\r\\n ::ng-deep #chart {\\r\\n height: 30vh;\\r\\n width:35vw;\\r\\n }\\r\\n \\r\\n ::ng-deep #chart * {\\r\\n margin: 0 auto;\\r\\n }\\r\\n .matcard\\r\\n {\\r\\n width:39vw;\\r\\n height:31vh;\\r\\n }\\r\\n .matcard1\\r\\n {\\r\\n width:39vw;\\r\\n height:50vh;\\r\\n }\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n .columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n /* Clear floats after the columns */\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.columnLeave {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\\r\\n\\r\\n.matcardggbc\\r\\n {\\r\\n width:50vw;\\r\\n height:50vh;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".closecss {\\n color: rgb(251, 151, 151);\\n}\\n\\n.my_class1 {\\n background-color: rgb(239, 242, 242);\\n border-top-left-radius: 5px;\\n border-top-right-radius: 10px;\\n color: #000000;\\n border-right: 1px solid rgb(200, 201, 202);\\n border-left: 1px solid rgb(200, 201, 202);\\n font-size: 13px;\\n font-weight: 400;\\n}\\n\\n.my_class2 {\\n background-color: transparent !important;\\n border-top-left-radius: 5px;\\n border-top-right-radius: 10px;\\n border-right: 1px solid rgb(200, 201, 202);\\n color: #000000;\\n font-size: 13px;\\n font-weight: 400;\\n}\\n\\n.hover-class:hover {\\n background-color: rgb(192, 197, 197) !important;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/LandingPageComponents/tabs/tabs.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACG,yBAAA;AACH;;AACE;EAIC,oCAAA;EAIA,2BAAA;EACA,6BAAA;EACA,cAAA;EACA,0CAAA;EACA,yCAAA;EAGA,eAAA;EACA,gBAAA;AANH;;AAQE;EAIC,wCAAA;EAIA,2BAAA;EACA,6BAAA;EAGA,0CAAA;EAIA,cAAA;EAEA,eAAA;EACA,gBAAA;AAjBH;;AA4BC;EACE,+CAAA;AAzBH\",\"sourcesContent\":[\".closecss{\\r\\n color: rgb(251, 151, 151);\\r\\n }\\r\\n .my_class1\\r\\n {\\r\\n \\r\\n // background-color: white !important;\\r\\n background-color: rgb(239, 242, 242);\\r\\n // background-color:transparent !important;\\r\\n // border-top-left-radius:15px;\\r\\n // border-top-right-radius:15px;\\r\\n border-top-left-radius:5px;\\r\\n border-top-right-radius:10px;\\r\\n color: #000000;\\r\\n border-right: 1px solid rgb(200, 201, 202);\\r\\n border-left: 1px solid rgb(200, 201, 202);\\r\\n // filter: brightness(30%);\\r\\n // filter: grayscale(30%);\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n }\\r\\n .my_class2\\r\\n {\\r\\n \\r\\n // background-color: rgb(239, 242, 242) !important;\\r\\n background-color:transparent !important;\\r\\n // background-color:rgb(239, 242, 242) !important;\\r\\n // background-color:transparent !important;\\r\\n // background-color: currentColor;\\r\\n border-top-left-radius:5px;\\r\\n border-top-right-radius:10px;\\r\\n // border-radius:0px, 15px,0px,15px;\\r\\n // border-top: 1px solid rgb(226, 226, 226);\\r\\n border-right: 1px solid rgb(200, 201, 202);\\r\\n // border-left: 1px solid rgb(200, 201, 202);\\r\\n // border: 1px solid rgb(200, 201, 202);\\r\\n // border: 1px solid #0000;\\r\\n color: #000000;\\r\\n // filter: grayscale(30%);\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n \\r\\n\\r\\n \\r\\n }\\r\\n// button.mat-flat-button:hover {\\r\\n// background-color: red;\\r\\n// }\\r\\n// my_class2.mat-flat-button:hover {\\r\\n// background-color: rgb(248, 195, 195);\\r\\n// }\\r\\n .hover-class:hover {\\r\\n background-color: rgb(192, 197, 197) !important;\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".img1 {\\n border-radius: 50%;\\n height: 100px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Admin/Profile/profile/profile.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,kBAAA;EACA,aAAA;AACJ\",\"sourcesContent\":[\".img1 {\\r\\n border-radius: 50%;\\r\\n height:100px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/**\\n * Copyright (c) 2018 Bithost GmbH All Rights Reserved.\\n *\\n * Use of this source code is governed by an MIT-style license that can be\\n * found in the LICENSE file at https://angular.io/license\\n */\\n.mat-select-search-hidden {\\n visibility: hidden;\\n}\\n\\n.mat-select-search-inner {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n z-index: 100;\\n font-size: inherit;\\n /*\\n compensate effects of .mat-datepicker-content\\n (see https://github.com/angular/material2/blob/master/src/lib/datepicker/datepicker-content.scss#L27)\\n TODO: implement proper theming (https://github.com/bithost-gmbh/ngx-mat-select-search/issues/34)\\n */\\n box-shadow: none;\\n background-color: var(--mat-select-panel-background-color);\\n}\\n.mat-select-search-inner.mat-select-search-inner-multiple.mat-select-search-inner-toggle-all .mat-select-search-inner-row {\\n display: flex;\\n align-items: center;\\n}\\n\\n.mat-select-search-input {\\n box-sizing: border-box;\\n width: 100%;\\n border: none;\\n font-family: inherit;\\n font-size: inherit;\\n color: currentColor;\\n outline: none;\\n background-color: var(--mat-select-panel-background-color);\\n padding: 0 44px 0 16px;\\n height: calc(3em - 1px);\\n line-height: calc(3em - 1px);\\n}\\n:host-context([dir=rtl]) .mat-select-search-input {\\n padding-right: 16px;\\n padding-left: 44px;\\n}\\n\\n.mat-select-search-inner-toggle-all .mat-select-search-input {\\n padding-left: 5px;\\n}\\n\\n.mat-select-search-no-entries-found {\\n padding-top: 8px;\\n}\\n\\n.mat-select-search-clear {\\n position: absolute;\\n right: 4px;\\n top: 0;\\n}\\n:host-context([dir=rtl]) .mat-select-search-clear {\\n right: auto;\\n left: 4px;\\n}\\n\\n.mat-select-search-spinner {\\n position: absolute;\\n right: 16px;\\n top: calc(50% - 8px);\\n}\\n:host-context([dir=rtl]) .mat-select-search-spinner {\\n right: auto;\\n left: 16px;\\n}\\n\\n::ng-deep .mat-mdc-option[aria-disabled=true].contains-mat-select-search {\\n /* let move mat-select-search at the top of the dropdown. As option is disabled, there will be no-ripple hence safe. */\\n position: sticky;\\n top: -8px;\\n z-index: 1;\\n opacity: 1;\\n margin-top: -8px;\\n pointer-events: all;\\n}\\n::ng-deep .mat-mdc-option[aria-disabled=true].contains-mat-select-search .mat-icon {\\n margin-right: 0;\\n margin-left: 0;\\n}\\n::ng-deep .mat-mdc-option[aria-disabled=true].contains-mat-select-search mat-pseudo-checkbox {\\n display: none;\\n}\\n::ng-deep .mat-mdc-option[aria-disabled=true].contains-mat-select-search .mdc-list-item__primary-text {\\n opacity: 1;\\n}\\n\\n.mat-select-search-toggle-all-checkbox {\\n padding-left: 5px;\\n}\\n:host-context([dir=rtl]) .mat-select-search-toggle-all-checkbox {\\n padding-left: 0;\\n padding-right: 5px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Control/mat-select-search/mat-select-search.component.scss\"],\"names\":[],\"mappings\":\"AAAA;;;;;EAAA;AAeA;EACE,kBAAA;AARF;;AAWA;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA;;;;GAAA;EAKA,gBAAA;EACA,0DAAA;AARF;AAWI;EACE,aAAA;EACA,mBAAA;AATN;;AAcA;EACE,sBAAA;EACA,WAAA;EAEA,YAAA;EACA,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,aAAA;EACA,0DAAA;EACA,sBAAA;EACA,uBAAA;EACA,4BAAA;AAZF;AAcE;EACE,mBAAA;EACA,kBAAA;AAZJ;;AAiBE;EACE,iBAAA;AAdJ;;AAkBA;EACE,gBAAA;AAfF;;AAkBA;EACE,kBAAA;EACA,UAhE0B;EAiE1B,MAAA;AAfF;AAiBE;EACE,WAAA;EACA,SArEwB;AAsD5B;;AAmBA;EACE,kBAAA;EACA,WA1E4B;EA2E5B,oBAAA;AAhBF;AAkBE;EACE,WAAA;EACA,UA/E0B;AA+D9B;;AAoBA;EACE,sHAAA;EACA,gBAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;AAjBF;AAmBE;EACE,eAAA;EACA,cAAA;AAjBJ;AAmBE;EACE,aAAA;AAjBJ;AAmBE;EACE,UAAA;AAjBJ;;AAqBA;EACE,iBAxGwC;AAsF1C;AAoBE;EACE,eAAA;EACA,kBA5GsC;AA0F1C\",\"sourcesContent\":[\"/**\\n * Copyright (c) 2018 Bithost GmbH All Rights Reserved.\\n *\\n * Use of this source code is governed by an MIT-style license that can be\\n * found in the LICENSE file at https://angular.io/license\\n */\\n\\n$clear-button-width: 40px;\\n$multiple-check-width: 33px;\\n$mat-option-height: 3em;\\n$mat-select-search-clear-x: 4px;\\n$mat-select-search-spinner-x: 16px;\\n$mat-select-search-toggle-all-checkbox-x: 5px;\\n$mat-select-panel-padding: 8px;\\n\\n.mat-select-search-hidden {\\n visibility: hidden;\\n}\\n\\n.mat-select-search-inner {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n z-index: 100;\\n font-size: inherit;\\n /*\\n compensate effects of .mat-datepicker-content\\n (see https://github.com/angular/material2/blob/master/src/lib/datepicker/datepicker-content.scss#L27)\\n TODO: implement proper theming (https://github.com/bithost-gmbh/ngx-mat-select-search/issues/34)\\n */\\n box-shadow: none;\\n background-color: var(--mat-select-panel-background-color);\\n\\n &.mat-select-search-inner-multiple.mat-select-search-inner-toggle-all {\\n .mat-select-search-inner-row {\\n display: flex;\\n align-items: center;\\n }\\n }\\n}\\n\\n.mat-select-search-input {\\n box-sizing: border-box;\\n width: 100%;\\n \\n border: none;\\n font-family: inherit;\\n font-size: inherit;\\n color: currentColor;\\n outline: none;\\n background-color: var(--mat-select-panel-background-color);\\n padding: 0 $clear-button-width + $mat-select-search-clear-x 0 16px;\\n height: calc($mat-option-height - 1px);\\n line-height: calc($mat-option-height - 1px);\\n\\n :host-context([dir=\\\"rtl\\\"]) & {\\n padding-right: 16px;\\n padding-left: $clear-button-width + $mat-select-search-clear-x;\\n }\\n}\\n\\n.mat-select-search-inner-toggle-all {\\n .mat-select-search-input {\\n padding-left: 5px;\\n }\\n}\\n\\n.mat-select-search-no-entries-found {\\n padding-top: 8px;\\n}\\n\\n.mat-select-search-clear {\\n position: absolute;\\n right: $mat-select-search-clear-x;\\n top: 0;\\n\\n :host-context([dir=\\\"rtl\\\"]) & {\\n right: auto;\\n left: $mat-select-search-clear-x;\\n }\\n}\\n\\n.mat-select-search-spinner {\\n position: absolute;\\n right: $mat-select-search-spinner-x;\\n top: calc(50% - 8px);\\n\\n :host-context([dir=\\\"rtl\\\"]) & {\\n right: auto;\\n left: $mat-select-search-spinner-x;\\n }\\n}\\n\\n::ng-deep .mat-mdc-option[aria-disabled=true].contains-mat-select-search {\\n /* let move mat-select-search at the top of the dropdown. As option is disabled, there will be no-ripple hence safe. */\\n position: sticky;\\n top: -$mat-select-panel-padding;\\n z-index: 1;\\n opacity: 1;\\n margin-top: -$mat-select-panel-padding;\\n pointer-events: all;\\n\\n .mat-icon {\\n margin-right: 0;\\n margin-left: 0;\\n }\\n mat-pseudo-checkbox {\\n display: none;\\n }\\n .mdc-list-item__primary-text {\\n opacity: 1;\\n }\\n}\\n\\n.mat-select-search-toggle-all-checkbox {\\n padding-left: $mat-select-search-toggle-all-checkbox-x;\\n\\n :host-context([dir=\\\"rtl\\\"]) & {\\n padding-left: 0;\\n padding-right: $mat-select-search-toggle-all-checkbox-x;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table-striped {\\n width: 100%;\\n border-collapse: collapse;\\n}\\n\\n.table-striped tbody tr:nth-child(even) {\\n background-color: #f2f2f2; /* Example color for even rows */\\n}\\n\\n/* Define styles for odd rows */\\n.table-striped tbody tr:nth-child(odd) {\\n background-color: #fff; /* Example color for odd rows */\\n}\\n\\n.table-striped th,\\n.table-striped td {\\n border: 1px solid #ddd; /* Add border */\\n padding: 1px; /* Adjust padding as needed */\\n text-align: left; /* Align text to the left */\\n}\\n\\n.pagination-button {\\n padding: 5px 10px;\\n margin: 0 2px;\\n background-color: #9f9fa0;\\n color: #201f1f;\\n border: none;\\n border-radius: 4px;\\n cursor: pointer;\\n}\\n\\n.pagination-button:hover {\\n background-color: #cbcdce;\\n}\\n\\n.pagination-button.active {\\n /* Styles for the active button */\\n background-color: #e5e6e7; /* Active background color */\\n}\\n\\n.InProgress {\\n background-color: rgb(197, 235, 235);\\n color: rgb(23, 125, 125);\\n padding: 2%;\\n height: 3.5vh;\\n font-weight: 500;\\n align-items: center;\\n text-align: center;\\n}\\n\\n.Pending {\\n background-color: rgb(214, 167, 160);\\n color: rgb(175, 86, 71);\\n padding: 2%;\\n height: 3.5vh;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\\n\\n.Approve {\\n background-color: rgb(171, 213, 171);\\n color: rgb(14, 67, 14);\\n padding: 2%;\\n height: 3.5vh;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\\n\\n.Reject {\\n background-color: rgb(250, 171, 157);\\n color: rgb(209, 33, 33);\\n padding: 2%;\\n height: 3.5vh;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ERP/ApprovalForm/approvalformlist/approvalformlist.component.scss\"],\"names\":[],\"mappings\":\"AAcA;EAEI,WAAA;EAEA,yBAAA;AAfJ;;AAiBE;EACE,yBAAA,EAAA,gCAAA;AAdJ;;AAiBE,+BAAA;AACA;EACE,sBAAA,EAAA,+BAAA;AAdJ;;AAgBE;;EAEE,sBAAA,EAAA,eAAA;EACA,YAAA,EAAA,6BAAA;EACA,gBAAA,EAAA,2BAAA;AAbJ;;AAgBE;EACE,iBAAA;EACA,aAAA;EACA,yBAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAbJ;;AAgBE;EACE,yBAAA;AAbJ;;AAeE;EACE,iCAAA;EACA,yBAAA,EAAA,4BAAA;AAZJ;;AAeE;EAEA,oCAAA;EACA,wBAAA;EAEA,WAAA;EACA,aAAA;EACA,gBAAA;EACA,mBAAA;EACA,kBAAA;AAdF;;AAgBE;EAEE,oCAAA;EACF,uBAAA;EAEA,WAAA;EACA,aAAA;EACA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AAfF;;AAiBE;EAEE,oCAAA;EACF,sBAAA;EAEA,WAAA;EACA,aAAA;EACA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AAhBF;;AAkBE;EAEE,oCAAA;EACF,uBAAA;EAEA,WAAA;EACA,aAAA;EACA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AAjBF\",\"sourcesContent\":[\"// table {\\r\\n// width: 100%;\\r\\n// border-collapse: collapse;\\r\\n// }\\r\\n\\r\\n// th, td {\\r\\n// border: 1px solid #ddd;\\r\\n// padding: 3px;\\r\\n// text-align: left;\\r\\n// }\\r\\n\\r\\n// th {\\r\\n// background-color: #c1bebe;\\r\\n// }\\r\\n.table-striped\\r\\n{\\r\\n width: 100%;\\r\\n // height: 60vh;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 1px; /* Adjust padding as needed */\\r\\n text-align: left; /* Align text to the left */\\r\\n }\\r\\n\\r\\n .pagination-button {\\r\\n padding: 5px 10px;\\r\\n margin: 0 2px;\\r\\n background-color: #9f9fa0;\\r\\n color: #201f1f;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .pagination-button:hover {\\r\\n background-color: #cbcdce;\\r\\n }\\r\\n .pagination-button.active {\\r\\n /* Styles for the active button */\\r\\n background-color: #e5e6e7; /* Active background color */\\r\\n }\\r\\n\\r\\n .InProgress\\r\\n {\\r\\n background-color: rgb(197, 235, 235);\\r\\n color: rgb(23, 125, 125);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Pending\\r\\n {\\r\\n background-color: rgb(214, 167, 160);\\r\\n color: rgb(175, 86, 71);\\r\\n // width:6vw;\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Approve\\r\\n {\\r\\n background-color: rgb(171, 213, 171);\\r\\n color:rgb(14, 67, 14);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Reject\\r\\n {\\r\\n background-color: rgb(250, 171, 157);\\r\\n color: rgb(209, 33, 33);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".actionBtn {\\n font-size: 4em;\\n cursor: pointer;\\n}\\n\\n.snapshot {\\n text-align: center;\\n}\\n.snapshot img {\\n max-width: 800px;\\n max-height: 800px;\\n}\\n\\nul.links {\\n padding-bottom: 20px;\\n}\\n\\n.column {\\n float: left;\\n width: 94%;\\n margin-bottom: 8%;\\n margin-left: 10%;\\n}\\n\\n.column1 {\\n position: absolute;\\n bottom: 1%;\\n float: right;\\n width: 5%;\\n}\\n\\n/* Clear floats after the columns */\\n.row {\\n width: 100%;\\n background: chartreuse;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ERP/Sales/webcamera/webcamera.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,cAAA;EACA,eAAA;AACJ;;AACA;EACI,kBAAA;AAEJ;AADI;EACI,gBAAA;EACA,iBAAA;AAGR;;AAAA;EACI,oBAAA;AAGJ;;AADA;EAEI,WAAA;EACA,UAAA;EACA,iBAAA;EACC,gBAAA;AAGL;;AADA;EACI,kBAAA;EACA,UAAA;EACA,YAAA;EACA,SAAA;AAIJ;;AADE,mCAAA;AACF;EAEI,WAAA;EACA,sBAAA;AAGJ\",\"sourcesContent\":[\".actionBtn {\\r\\n font-size: 4em;\\r\\n cursor: pointer;\\r\\n}\\r\\n.snapshot{\\r\\n text-align: center;\\r\\n img{\\r\\n max-width: 800px;\\r\\n max-height: 800px;\\r\\n }\\r\\n}\\r\\nul.links{\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n.column {\\r\\n // position:absolute;\\r\\n float: left;\\r\\n width: 94%;\\r\\n margin-bottom:8%;\\r\\n margin-left:10%;\\r\\n }\\r\\n.column1 {\\r\\n position:absolute;\\r\\n bottom:1%;\\r\\n float: right;\\r\\n width: 5%;\\r\\n // background: red;\\r\\n } \\r\\n /* Clear floats after the columns */\\r\\n.row {\\r\\n // display: table;\\r\\n width:100%;\\r\\n background: chartreuse;\\r\\n\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ETS/DateWiseReport/datewisereport/datewisereport.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAIK,WAAA;EACA,YAAA;AAHL;;AAQG;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AALL\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab {\\r\\n // position: absolute;\\r\\n // top: 25px;\\r\\n //@at-root: 70px; \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n //display: flex;\\r\\n \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ETS/EffortAuthorize/effortauthorize/effortauthorize.component.scss\"],\"names\":[],\"mappings\":\"AAEA;EAEI,WAAA;EACA,YAAA;AAFJ;;AAOE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAJJ\",\"sourcesContent\":[\"\\r\\n\\r\\n.custom-mat-mini-fab {\\r\\n \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n \\r\\n \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ETS/EffortCostReport/effortcostreport/effortcostreport.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAIK,WAAA;EACA,YAAA;AAFL;;AAOG;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAJL\",\"sourcesContent\":[\".custom-mat-mini-fab {\\r\\n // position: absolute;\\r\\n // top: 25px;\\r\\n //@at-root: 70px; \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n //display: flex;\\r\\n \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"table {\\n width: 100%;\\n background-color: #ffffff;\\n color: #000000;\\n /* font-family: verdana; */\\n font-size: 11px;\\n border-top: 0.1em solid silver;\\n border-top: 0.1em solid silver;\\n border-bottom: 0.1em solid silver;\\n border-left: 0.1em solid silver;\\n border-right: 0.1em solid silver;\\n max-height: 300px;\\n}\\n\\n.search-div {\\n margin-bottom: 0px;\\n margin-right: 0px;\\n display: flex;\\n align-items: center;\\n justify-content: space-around;\\n}\\n\\n.card-container-right {\\n float: right;\\n display: inline;\\n}\\n\\n.button-row {\\n padding-right: 0px;\\n padding-left: 5px;\\n}\\n\\n/* .mat-cell{\\n font-size: 11px;\\n\\n}\\n\\nth.mat-sort-header-sorted {\\n background-color: cornflowerblue; \\n color: black;\\n} */\\n.silver {\\n color: red;\\n}\\n\\n.dot {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n display: inline-block;\\n}\\n\\n.a {\\n counter-increment: Serial;\\n}\\n\\ntr:nth-child(even) {\\n background-color: whitesmoke;\\n}\\n\\n.mat-cell {\\n min-height: 18px;\\n color: #DCDCDC;\\n /* text-align: center; */\\n border-right: 0.1em solid silver;\\n}\\n\\n/* .mat-header-cell, .mat-sort-header {\\nbackground-color:cornflowerblue ;\\n} */\\n:host ::ng-deep .mat-sort-header-container {\\n display: flex;\\n justify-content: center;\\n font-size: medium;\\n font-weight: bold;\\n text-decoration: underline;\\n}\\n\\ntd {\\n overflow: hidden;\\n width: 20px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n text-align: center;\\n}\\n\\n.mat-column-Name {\\n /* flex: 6rem;\\n width:50px; */\\n text-align: left;\\n}\\n\\n.mat-header-row, .mat-row {\\n min-height: 5px;\\n}\\n\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column1 {\\n float: left;\\n width: 60%;\\n padding: 10px;\\n /* height: 300px; Should be removed. Only for demonstration */\\n}\\n\\n.column3 {\\n float: left;\\n width: 2%;\\n /* padding: 10px; */\\n /* height: 300px; Should be removed. Only for demonstration */\\n}\\n\\n.column2 {\\n float: left;\\n width: 38%;\\n padding: 10px;\\n /* height: 300px; Should be removed. Only for demonstration */\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Employee/AttendanceReport/empattendanceview/empattendanceview.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;EACA,yBAAA;EACA,cAAA;EACA,0BAAA;EACA,eAAA;EACA,8BAAA;EACA,8BAAA;EACA,iCAAA;EACA,+BAAA;EACA,gCAAA;EACA,iBAAA;AACJ;;AAEE;EACE,kBAAA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;EACA,6BAAA;AACJ;;AACE;EACE,YAAA;EACA,eAAA;AAEJ;;AACE;EACE,kBAAA;EACA,iBAAA;AAEJ;;AAAE;;;;;;;;GAAA;AASA;EAEA,UAAA;AAEF;;AACE;EACE,YAAA;EACA,WAAA;EACA,kBAAA;EACA,qBAAA;AAEJ;;AAAE;EAEE,yBAAA;AAEJ;;AAAE;EACE,4BAAA;AAGJ;;AADE;EACA,gBAAA;EACA,cAAA;EACA,wBAAA;EACA,gCAAA;AAIF;;AAFE;;GAAA;AAIA;EACA,aAAA;EACA,uBAAA;EACA,iBAAA;EACA,iBAAA;EACA,0BAAA;AAIF;;AAFE;EACA,gBAAA;EACA,WAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;AAKF;;AAHE;EACA;gBAAA;EAEA,gBAAA;AAMF;;AAJE;EACA,eAAA;AAOF;;AALE;EACA,WAAA;EACA,cAAA;EACA,WAAA;AAQF;;AANE;EACA,WAAA;EACA,UAAA;EACA,aAAA;EACA,6DAAA;AASF;;AAPE;EACA,WAAA;EACA,SAAA;EACA,mBAAA;EACA,6DAAA;AAUF;;AARE;EACA,WAAA;EACA,UAAA;EACA,aAAA;EACA,6DAAA;AAWF\",\"sourcesContent\":[\"table {\\r\\n width: 100%;\\r\\n background-color: #ffffff;\\r\\n color:#000000;\\r\\n /* font-family: verdana; */\\r\\n font-size:11px;\\r\\n border-top: 0.1em solid silver;\\r\\n border-top: 0.1em solid silver;\\r\\n border-bottom: 0.1em solid silver;\\r\\n border-left: 0.1em solid silver;\\r\\n border-right: 0.1em solid silver; \\r\\n max-height: 300px;\\r\\n \\r\\n }\\r\\n .search-div{\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-around;\\r\\n }\\r\\n .card-container-right{\\r\\n float:right;\\r\\n display: inline;\\r\\n \\r\\n }\\r\\n .button-row{\\r\\n padding-right: 0px;\\r\\n padding-left: 5px;\\r\\n }\\r\\n /* .mat-cell{\\r\\n font-size: 11px;\\r\\n \\r\\n }\\r\\n \\r\\n th.mat-sort-header-sorted {\\r\\n background-color: cornflowerblue; \\r\\n color: black;\\r\\n } */\\r\\n .silver\\r\\n {\\r\\n color:red;\\r\\n }\\r\\n \\r\\n .dot {\\r\\n height: 15px;\\r\\n width: 15px;\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n }\\r\\n .a\\r\\n {\\r\\n counter-increment: Serial; \\r\\n }\\r\\n tr:nth-child(even) { \\r\\n background-color:whitesmoke; \\r\\n } \\r\\n .mat-cell {\\r\\n min-height: 18px;\\r\\n color:#DCDCDC;\\r\\n /* text-align: center; */\\r\\n border-right: 0.1em solid silver;\\r\\n }\\r\\n /* .mat-header-cell, .mat-sort-header {\\r\\n background-color:cornflowerblue ;\\r\\n } */\\r\\n \\r\\n :host ::ng-deep .mat-sort-header-container {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n font-size: medium;\\r\\n font-weight: bold;\\r\\n text-decoration:underline;\\r\\n }\\r\\n td {\\r\\n overflow: hidden;\\r\\n width: 20px;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n text-align: center;\\r\\n }\\r\\n .mat-column-Name {\\r\\n /* flex: 6rem;\\r\\n width:50px; */\\r\\n text-align: left;\\r\\n }\\r\\n .mat-header-row, .mat-row {\\r\\n min-height: 5px;\\r\\n }\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 60%;\\r\\n padding: 10px;\\r\\n /* height: 300px; Should be removed. Only for demonstration */\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 2%;\\r\\n /* padding: 10px; */\\r\\n /* height: 300px; Should be removed. Only for demonstration */\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 38%;\\r\\n padding: 10px;\\r\\n /* height: 300px; Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n \\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".myDiv {\\n border: 1px outset silver;\\n border-style: dashed;\\n background-color: whitesmoke;\\n text-align: center;\\n padding: 10px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/Employee/DocumentRequest/uploaddocrequest/uploaddocrequest.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,yBAAA;EACA,oBAAA;EACA,4BAAA;EACA,kBAAA;EACA,aAAA;AACJ\",\"sourcesContent\":[\".myDiv {\\r\\n border: 1px outset silver;\\r\\n border-style: dashed;\\r\\n background-color: whitesmoke ; \\r\\n text-align: center;\\r\\n padding: 10px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n align-items: flex-start;\\n}\\n\\n.example-radio-button {\\n margin: 5px;\\n}\\n\\n.labelradio {\\n font-weight: normal;\\n font-size: small;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/CRMDateControl/crmdatecontrol/crmdatecontrol.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,aAAA;EACA,sBAAA;EACA,cAAA;EACA,uBAAA;AACJ;;AAEE;EACE,WAAA;AACJ;;AAEE;EACE,mBAAA;EACA,gBAAA;AACJ\",\"sourcesContent\":[\".example-radio-group {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 15px 0;\\r\\n align-items: flex-start;\\r\\n }\\r\\n \\r\\n .example-radio-button {\\r\\n margin: 5px;\\r\\n }\\r\\n\\r\\n .labelradio{\\r\\n font-weight: normal;\\r\\n font-size: small;\\r\\n\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n align-items: flex-start;\\n}\\n\\n.example-radio-button {\\n margin: 5px;\\n}\\n\\n.labelradio {\\n font-weight: normal;\\n font-size: small;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/DateControl/datecontrol/datecontrol.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,aAAA;EACA,sBAAA;EACA,cAAA;EACA,uBAAA;AACJ;;AAEE;EACE,WAAA;AACJ;;AAEE;EACE,mBAAA;EACA,gBAAA;AACJ\",\"sourcesContent\":[\".example-radio-group {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 15px 0;\\r\\n align-items: flex-start;\\r\\n }\\r\\n \\r\\n .example-radio-button {\\r\\n margin: 5px;\\r\\n }\\r\\n\\r\\n .labelradio{\\r\\n font-weight: normal;\\r\\n font-size: small;\\r\\n\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.column2 {\\n float: left;\\n width: 5%;\\n padding: 10px;\\n}\\n\\n.column3 {\\n float: left;\\n width: 45%;\\n padding: 10px;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column4 {\\n float: left;\\n width: 15%;\\n padding: 10px;\\n border: 1px solid rgb(189, 188, 188);\\n border-radius: 5px;\\n margin: 1%;\\n}\\n\\n.column5 {\\n float: left;\\n width: 30%;\\n padding: 10px;\\n text-align: right;\\n align-items: end;\\n}\\n\\n.column6 {\\n float: left;\\n width: 70%;\\n padding: 5px;\\n font-size: 8px;\\n}\\n\\n.column7 {\\n float: left;\\n width: 30%;\\n padding: 5px;\\n font-size: 8px;\\n}\\n\\n.container {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n padding: 0;\\n margin: 0;\\n}\\n\\n.row1 {\\n width: 100%;\\n flex: 1; /* Allow the first row to grow and fill available space */\\n}\\n\\n.row2 {\\n width: 100%;\\n height: auto; /* Allow the second row to adjust its height based on content */\\n}\\n\\n.example-headers-align .mat-expansion-panel-header-description {\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.example-headers-align .mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.total-amount-row {\\n background-color: #f5f5f5; /* Light gray background */\\n font-weight: bold; /* Bold text */\\n color: #333; /* Darker text color */\\n}\\n\\n.tablecontent {\\n font-size: 12px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EOS/eosposting/eosposting.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;EACA,UAAA;EACA,aAAA;AACJ;;AAEE;EACE,WAAA;EACA,SAAA;EACA,aAAA;AACJ;;AAEE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AACJ;;AAGE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;AAAJ;;AAEE;EACE,WAAA;EACA,UAAA;EACA,aAAA;EACA,oCAAA;EACA,kBAAA;EACA,UAAA;AACJ;;AAGE;EACE,WAAA;EACC,UAAA;EACA,aAAA;EACA,iBAAA;EACA,gBAAA;AAAL;;AAOE;EACE,WAAA;EACA,UAAA;EACA,YAAA;EACA,cAAA;AAJJ;;AAOE;EACE,WAAA;EACA,UAAA;EACA,YAAA;EACA,cAAA;AAJJ;;AAaE;EACE,WAAA;EACA,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,SAAA;AAXJ;;AAcE;EACE,WAAA;EACA,OAAA,EAAA,yDAAA;AAXJ;;AAeE;EACE,WAAA;EACA,YAAA,EAAA,+DAAA;AAZJ;;AAeE;EACE,8BAAA;EACA,mBAAA;AAZJ;;AAeE;EACE,gBAAA;AAZJ;;AAcE;EACE,yBAAA,EAAA,0BAAA;EACA,iBAAA,EAAA,cAAA;EACA,WAAA,EAAA,sBAAA;AAXJ;;AAaE;EAEE,eAAA;AAXJ\",\"sourcesContent\":[\".column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n // border: 1px solid rgb(189, 188, 188);\\r\\n // border-radius: 5px;\\r\\n // margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column6 {\\r\\n float: left;\\r\\n width: 70%;\\r\\n padding: 5px;\\r\\n font-size:8px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column7 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 5px;\\r\\n font-size:8px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n // .row1, .row2 {\\r\\n // width: 100%;\\r\\n // height: 50%; /* Set height for each row */\\r\\n // //overflow: auto; /* Enable scrolling if content overflows */\\r\\n // }\\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n //height: 100%; /* Set height for the container */\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n //overflow: auto; /* Enable scrolling if content overflows */\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n .example-headers-align .mat-expansion-panel-header-description {\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n }\\r\\n \\r\\n .example-headers-align .mat-mdc-form-field + .mat-mdc-form-field {\\r\\n margin-left: 8px;\\r\\n }\\r\\n .total-amount-row {\\r\\n background-color: #f5f5f5; /* Light gray background */\\r\\n font-weight: bold; /* Bold text */\\r\\n color: #333; /* Darker text color */\\r\\n }\\r\\n .tablecontent\\r\\n {\\r\\n font-size: 12px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table-striped {\\n width: 100%;\\n border-collapse: collapse;\\n}\\n\\n.table-striped tbody tr:nth-child(even) {\\n background-color: #f2f2f2; /* Example color for even rows */\\n}\\n\\n/* Define styles for odd rows */\\n.table-striped tbody tr:nth-child(odd) {\\n background-color: #fff; /* Example color for odd rows */\\n}\\n\\n.table-striped th,\\n.table-striped td {\\n border: 1px solid #ddd; /* Add border */\\n padding: 2px; /* Adjust padding as needed */\\n margin: 5px;\\n}\\n\\n.pagination-button {\\n padding: 5px 10px;\\n margin: 2px 2px;\\n background-color: #9f9fa0;\\n color: #201f1f;\\n border: none;\\n border-radius: 4px;\\n cursor: pointer;\\n}\\n\\n.pagination-button:hover {\\n background-color: #cbcdce;\\n}\\n\\n.pagination-button.active {\\n /* Styles for the active button */\\n background-color: #e5e6e7; /* Active background color */\\n}\\n\\n.NotPaid {\\n background-color: rgb(197, 235, 235);\\n color: rgb(23, 125, 125);\\n padding: 2%;\\n font-weight: 500;\\n align-items: center;\\n text-align: center;\\n}\\n\\n.Partial {\\n background-color: rgb(214, 167, 160);\\n color: rgb(175, 86, 71);\\n padding: 2%;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\\n\\n.Paid {\\n background-color: rgb(171, 213, 171);\\n color: rgb(14, 67, 14);\\n padding: 2%;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\\n\\n.column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.column2 {\\n float: left;\\n width: 5%;\\n padding: 10px;\\n}\\n\\n.column3 {\\n float: left;\\n width: 45%;\\n padding: 10px;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column4 {\\n float: left;\\n width: 15%;\\n padding: 10px;\\n border: 1px solid rgb(189, 188, 188);\\n border-radius: 5px;\\n margin: 1%;\\n}\\n\\n.column5 {\\n float: left;\\n width: 30%;\\n padding: 10px;\\n text-align: right;\\n align-items: end;\\n}\\n\\n.container {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n height: 100%; /* Set height for the container */\\n padding: 0;\\n margin: 0;\\n}\\n\\n.row1 {\\n width: 100%;\\n flex: 1; /* Allow the first row to grow and fill available space */\\n}\\n\\n.row2 {\\n width: 100%;\\n height: auto; /* Allow the second row to adjust its height based on content */\\n}\\n\\n/* Adjust the height of the mat-select */\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EOS/eosreport/eosreport.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEI,WAAA;EAEA,yBAAA;AADJ;;AAGE;EACE,yBAAA,EAAA,gCAAA;AAAJ;;AAGE,+BAAA;AACA;EACE,sBAAA,EAAA,+BAAA;AAAJ;;AAEE;;EAEE,sBAAA,EAAA,eAAA;EACA,YAAA,EAAA,6BAAA;EACA,WAAA;AACJ;;AAGE;EACE,iBAAA;EACA,eAAA;EACA,yBAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAAJ;;AAGE;EACE,yBAAA;AAAJ;;AAEE;EACE,iCAAA;EACA,yBAAA,EAAA,4BAAA;AACJ;;AAEE;EAEA,oCAAA;EACA,wBAAA;EAEA,WAAA;EAEA,gBAAA;EACA,mBAAA;EACA,kBAAA;AAFF;;AAIE;EAEE,oCAAA;EACF,uBAAA;EAEA,WAAA;EAEA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AAJF;;AAME;EAEE,oCAAA;EACF,sBAAA;EAEA,WAAA;EAEA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AANF;;AAQE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AALJ;;AAQE;EACE,WAAA;EACA,SAAA;EACA,aAAA;AALJ;;AAQE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AALJ;;AASE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;AANJ;;AAQE;EACE,WAAA;EACA,UAAA;EACA,aAAA;EACA,oCAAA;EACA,kBAAA;EACA,UAAA;AALJ;;AASE;EACE,WAAA;EACC,UAAA;EACA,aAAA;EACA,iBAAA;EACA,gBAAA;AANL;;AAmBE;EACE,WAAA;EACA,aAAA;EACA,sBAAA;EACA,YAAA,EAAA,iCAAA;EACA,UAAA;EACA,SAAA;AAhBJ;;AAmBE;EACE,WAAA;EACA,OAAA,EAAA,yDAAA;AAhBJ;;AAoBE;EACE,WAAA;EACA,YAAA,EAAA,+DAAA;AAjBJ;;AAqBE,wCAAA\",\"sourcesContent\":[\".table-striped\\r\\n{\\r\\n width: 100%;\\r\\n // height: 60vh;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 2px; /* Adjust padding as needed */\\r\\n margin: 5px;\\r\\n //text-align: left; /* Align text to the left */\\r\\n }\\r\\n\\r\\n .pagination-button {\\r\\n padding: 5px 10px;\\r\\n margin: 2px 2px;\\r\\n background-color: #9f9fa0;\\r\\n color: #201f1f;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .pagination-button:hover {\\r\\n background-color: #cbcdce;\\r\\n }\\r\\n .pagination-button.active {\\r\\n /* Styles for the active button */\\r\\n background-color: #e5e6e7; /* Active background color */\\r\\n }\\r\\n\\r\\n .NotPaid\\r\\n {\\r\\n background-color: rgb(197, 235, 235);\\r\\n color: rgb(23, 125, 125);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n //height:2.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Partial\\r\\n {\\r\\n background-color: rgb(214, 167, 160);\\r\\n color: rgb(175, 86, 71);\\r\\n // width:6vw;\\r\\n padding:2%;\\r\\n // height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Paid\\r\\n {\\r\\n background-color: rgb(171, 213, 171);\\r\\n color:rgb(14, 67, 14);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n //height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n // border: 1px solid rgb(189, 188, 188);\\r\\n // border-radius: 5px;\\r\\n // margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n // .row1, .row2 {\\r\\n // width: 100%;\\r\\n // height: 50%; /* Set height for each row */\\r\\n // //overflow: auto; /* Enable scrolling if content overflows */\\r\\n // }\\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%; /* Set height for the container */\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n //overflow: auto; /* Enable scrolling if content overflows */\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n\\r\\n /* Adjust the height of the mat-select */\\r\\n// .custom-mat-select .mat-select-trigger {\\r\\n// height: 28px; /* Adjust the height as needed */\\r\\n// }\\r\\n \\r\\n// /* Optional: Adjust the font size to maintain proportions */\\r\\n// .custom-mat-select .mat-select-trigger .mat-select-placeholder {\\r\\n// font-size: 14px; /* Adjust the font size as needed */\\r\\n// }\\r\\n\\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".form-container {\\n display: flex;\\n width: 100%;\\n}\\n\\n.form-grid {\\n display: grid;\\n grid-template-columns: repeat(2, 1fr);\\n width: 100%;\\n}\\n\\n.form-field {\\n width: 100%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/EmpAccounts/empaccounts/empaccounts.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,aAAA;EAEA,WAAA;AAAJ;;AAGE;EACE,aAAA;EACA,qCAAA;EAEA,WAAA;AADJ;;AAIE;EACE,WAAA;AADJ\",\"sourcesContent\":[\".form-container {\\r\\n display: flex;\\r\\n //justify-content: center;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .form-grid {\\r\\n display: grid;\\r\\n grid-template-columns: repeat(2, 1fr);\\r\\n //gap: 16px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .form-field {\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"mat-form-field {\\n width: 100%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Goals/goals2/goals2.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,WAAA;AAAF\",\"sourcesContent\":[\"mat-form-field\\r\\n{\\r\\n width:100%;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".img1 {\\n border-radius: 50%;\\n height: 100px;\\n}\\n\\n.img2 {\\n border-radius: 50%;\\n height: 50px;\\n}\\n\\n.text-area {\\n width: 100%;\\n}\\n\\nmat-form-field {\\n width: 100%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Goals/hrgoalslist/hrgoalslist.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,kBAAA;EACA,aAAA;AACJ;;AACE;EACE,kBAAA;EACA,YAAA;AAEJ;;AAAE;EAEE,WAAA;AAEJ;;AAAE;EAEE,WAAA;AAEJ\",\"sourcesContent\":[\".img1 {\\r\\n border-radius: 50%;\\r\\n height:100px;\\r\\n }\\r\\n .img2 {\\r\\n border-radius: 50%;\\r\\n height:50px;\\r\\n }\\r\\n .text-area\\r\\n {\\r\\n width:100%;\\r\\n }\\r\\n mat-form-field\\r\\n {\\r\\n width:100%;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"::ng-deep mat-grid-tile .mat-figure {\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n display: flex;\\n height: 100%;\\n padding: 0;\\n margin: 0;\\n justify-content: flex-start !important;\\n align-items: flex-start !important;\\n}\\n\\n.columnleft {\\n width: 65%;\\n float: left;\\n}\\n\\n.columnright {\\n width: 25%;\\n float: right;\\n}\\n\\n/* Clear floats after the columns */\\n.row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveApproval/leaverequest/leaverequest.component.scss\"],\"names\":[],\"mappings\":\"AAGA;EAGE,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,kBAAA;EACA,aAAA;EAGA,YAAA;EACA,UAAA;EAEA,SAAA;EACA,sCAAA;EACA,kCAAA;AAPF;;AAWA;EACI,UAAA;EACA,WAAA;AARJ;;AAWE;EACE,UAAA;EACA,YAAA;AARJ;;AAYE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AATJ\",\"sourcesContent\":[\"\\r\\n\\r\\n\\r\\n::ng-deep mat-grid-tile .mat-figure {\\r\\n // align-items: initial; /*vertical alignment*/\\r\\n // justify-content: initial; /*horizontal alignment*/\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n position: absolute;\\r\\n display: flex;\\r\\n // align-items: center;\\r\\n // justify-content: center;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n\\r\\n margin: 0;\\r\\n justify-content: flex-start !important ;\\r\\n align-items: flex-start !important;\\r\\n}\\r\\n\\r\\n\\r\\n.columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n /* Clear floats after the columns */\\r\\n .row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n \\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"::ng-deep mat-grid-tile .mat-figure {\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n display: flex;\\n height: 100%;\\n padding: 0;\\n margin: 0;\\n justify-content: flex-start !important;\\n align-items: flex-start !important;\\n}\\n\\n.columnleft {\\n width: 65%;\\n float: left;\\n}\\n\\n.columnright {\\n width: 25%;\\n float: right;\\n}\\n\\n/* Clear floats after the columns */\\n.row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.column {\\n float: left;\\n width: 30%;\\n padding: 1%;\\n}\\n\\n.content {\\n display: inline-block;\\n margin-left: 2%;\\n width: 95%;\\n border: 1px solid rgb(224, 228, 227);\\n border-radius: 15px;\\n background-color: rgb(244, 248, 248);\\n}\\n\\n.content1 {\\n width: 100%;\\n font-weight: 500;\\n border-top-left-radius: 15px;\\n border-top-right-radius: 15px;\\n background-color: rgb(210, 211, 211);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveApproval/newleavedirectapproval/newleavedirectapproval.component.scss\"],\"names\":[],\"mappings\":\"AAGA;EAGE,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,kBAAA;EACA,aAAA;EAGA,YAAA;EACA,UAAA;EAEA,SAAA;EACA,sCAAA;EACA,kCAAA;AAPF;;AAUA;EACE,UAAA;EACA,WAAA;AAPF;;AAUA;EACE,UAAA;EACA,YAAA;AAPF;;AAWA,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AARF;;AAWA;EACE,WAAA;EACA,UAAA;EACA,WAAA;AARF;;AAWA;EACE,qBAAA;EACA,eAAA;EACA,UAAA;EACA,oCAAA;EACA,mBAAA;EACA,oCAAA;AARF;;AAUA;EAEE,WAAA;EACA,gBAAA;EACA,4BAAA;EACA,6BAAA;EACA,oCAAA;AARF\",\"sourcesContent\":[\"\\r\\n\\r\\n\\r\\n::ng-deep mat-grid-tile .mat-figure {\\r\\n // align-items: initial; /*vertical alignment*/\\r\\n // justify-content: initial; /*horizontal alignment*/\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n position: absolute;\\r\\n display: flex;\\r\\n // align-items: center;\\r\\n // justify-content: center;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n\\r\\n margin: 0;\\r\\n justify-content: flex-start !important ;\\r\\n align-items: flex-start !important;\\r\\n}\\r\\n\\r\\n.columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n}\\r\\n.columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n}\\r\\n\\r\\n/* Clear floats after the columns */\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".columnleft {\\n width: 65%;\\n float: left;\\n}\\n\\n.columnright {\\n width: 25%;\\n float: right;\\n}\\n\\n/* Clear floats after the columns */\\n.row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.column {\\n float: left;\\n width: 30%;\\n padding: 1%;\\n}\\n\\n.content {\\n display: inline-block;\\n margin-left: 2%;\\n width: 95%;\\n border: 1px solid rgb(224, 228, 227);\\n border-radius: 15px;\\n background-color: rgb(244, 248, 248);\\n}\\n\\n.content1 {\\n width: 100%;\\n font-weight: 500;\\n border-top-left-radius: 15px;\\n border-top-right-radius: 15px;\\n background-color: rgb(210, 211, 211);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveApproval/newleaverequest/newleaverequest.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,UAAA;EACA,WAAA;AACJ;;AAEE;EACE,UAAA;EACA,YAAA;AACJ;;AAGE,mCAAA;AACF;EACE,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AAAF;;AAGA;EACE,WAAA;EACA,UAAA;EACA,WAAA;AAAF;;AAGA;EACE,qBAAA;EACA,eAAA;EACA,UAAA;EACA,oCAAA;EACA,mBAAA;EACA,oCAAA;AAAF;;AAEA;EAEE,WAAA;EACA,gBAAA;EACA,4BAAA;EACA,6BAAA;EACA,oCAAA;AAAF\",\"sourcesContent\":[\".columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n /* Clear floats after the columns */\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".columnleft {\\n width: 65%;\\n float: left;\\n}\\n\\n.columnright {\\n width: 25%;\\n float: right;\\n}\\n\\n/* Clear floats after the columns */\\n.row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.column {\\n float: left;\\n width: 30%;\\n padding: 1%;\\n}\\n\\n.content {\\n display: inline-block;\\n margin-left: 2%;\\n width: 95%;\\n border: 1px solid rgb(224, 228, 227);\\n border-radius: 15px;\\n background-color: rgb(244, 248, 248);\\n}\\n\\n.content1 {\\n width: 100%;\\n font-weight: 500;\\n border-top-left-radius: 15px;\\n border-top-right-radius: 15px;\\n background-color: rgb(210, 211, 211);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/LeaveManagement/leave-management/leave-management.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,UAAA;EACA,WAAA;AACJ;;AAEE;EACE,UAAA;EACA,YAAA;AACJ;;AAGE,mCAAA;AACF;EACE,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AAAF;;AAGA;EACE,WAAA;EACA,UAAA;EACA,WAAA;AAAF;;AAGA;EACE,qBAAA;EACA,eAAA;EACA,UAAA;EACA,oCAAA;EACA,mBAAA;EACA,oCAAA;AAAF;;AAEA;EAEE,WAAA;EACA,gBAAA;EACA,4BAAA;EACA,6BAAA;EACA,oCAAA;AAAF\",\"sourcesContent\":[\".columnleft{\\r\\n width: 65%;\\r\\n float: left;\\r\\n\\r\\n }\\r\\n .columnright {\\r\\n width: 25%;\\r\\n float: right;\\r\\n \\r\\n }\\r\\n\\r\\n /* Clear floats after the columns */\\r\\n.row {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width:30%;\\r\\n padding:1%;\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: inline-block;\\r\\n margin-left: 2%;\\r\\n width:95%;\\r\\n border: 1px solid rgb(224, 228, 227);\\r\\n border-radius: 15px;\\r\\n background-color: rgb(244, 248, 248);\\r\\n}\\r\\n.content1\\r\\n{\\r\\n width:100%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius:15px;\\r\\n border-top-right-radius:15px;\\r\\n background-color: rgb(210, 211, 211);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table1 {\\n display: table;\\n width: 100%;\\n border-collapse: collapse;\\n}\\n\\n.table-row {\\n display: table-row;\\n}\\n\\n.table-cell {\\n display: table-cell;\\n padding: 1px;\\n border: 0.5px solid #ccc;\\n}\\n\\nlabel {\\n display: block;\\n margin-bottom: 5px;\\n}\\n\\ninput[type=text] {\\n width: 100%;\\n padding: 4px;\\n box-sizing: border-box;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n}\\n\\ninput[type=checkbox] {\\n margin-right: 8px;\\n}\\n\\nselect {\\n width: 100%;\\n padding: 4px;\\n border-radius: 4px;\\n border: 1px solid #ccc;\\n font-size: 12px;\\n}\\n\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/PSTemplate/pstemplate/pstemplate.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,cAAA;EACA,WAAA;EACA,yBAAA;AACJ;;AAEE;EACE,kBAAA;AACJ;;AAEE;EACE,mBAAA;EACA,YAAA;EACC,wBAAA;AACL;;AACE;EACE,cAAA;EACA,kBAAA;AAEJ;;AACE;EACE,WAAA;EACA,YAAA;EACA,sBAAA;EACA,sBAAA;EACA,kBAAA;AAEJ;;AAAE;EACE,iBAAA;AAGJ;;AADE;EACE,WAAA;EACA,YAAA;EACA,kBAAA;EACA,sBAAA;EACA,eAAA;AAIJ;;AAFE;EACE,WAAA;EACA,cAAA;EACA,WAAA;AAKJ;;AAHE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AAMJ\",\"sourcesContent\":[\".table1 {\\r\\n display: table;\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n }\\r\\n \\r\\n .table-row {\\r\\n display: table-row;\\r\\n }\\r\\n \\r\\n .table-cell {\\r\\n display: table-cell;\\r\\n padding: 1px;\\r\\n border: 0.5px solid #ccc;\\r\\n }\\r\\n label {\\r\\n display: block;\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n \\r\\n input[type=\\\"text\\\"] {\\r\\n width: 100%;\\r\\n padding: 4px;\\r\\n box-sizing: border-box;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n }\\r\\n input[type=\\\"checkbox\\\"] {\\r\\n margin-right: 8px;\\r\\n }\\r\\n select {\\r\\n width: 100%;\\r\\n padding: 4px;\\r\\n border-radius: 4px;\\r\\n border: 1px solid #ccc;\\r\\n font-size: 12px;\\r\\n }\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.column2 {\\n float: left;\\n width: 5%;\\n padding: 10px;\\n}\\n\\n.column3 {\\n float: left;\\n width: 45%;\\n padding: 10px;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column4 {\\n float: left;\\n width: 15%;\\n padding: 4px;\\n border: 1px solid rgb(189, 188, 188);\\n border-radius: 5px;\\n margin: 1%;\\n font-weight: 500;\\n}\\n\\n.column5 {\\n float: left;\\n width: 30%;\\n padding: 4px;\\n text-align: right;\\n align-items: end;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Payslip Report/payslipreport/payslipreport.component.scss\",\"webpack://./src/app/components/HR/Payslip%20Report/payslipreport/payslipreport.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;EACA,UAAA;EACA,aAAA;ACCJ;;ADEE;EACE,WAAA;EACA,SAAA;EACA,aAAA;ACCJ;;ADEE;EACE,WAAA;EACA,UAAA;EACA,aAAA;ACCJ;;ADGE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;ACAJ;;ADEE;EACE,WAAA;EACA,UAAA;EACA,YAAA;EACA,oCAAA;EACA,kBAAA;EACA,UAAA;EACA,gBAAA;ACCJ;;ADGE;EACE,WAAA;EACC,UAAA;EACA,YAAA;EACA,iBAAA;EACA,gBAAA;ACAL\",\"sourcesContent\":[\".column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 4px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n font-weight:500;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 4px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n\\r\\n // border: 1px solid rgb(189, 188, 188);\\r\\n // border-radius: 5px;\\r\\n // margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\",\".column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.column2 {\\n float: left;\\n width: 5%;\\n padding: 10px;\\n}\\n\\n.column3 {\\n float: left;\\n width: 45%;\\n padding: 10px;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column4 {\\n float: left;\\n width: 15%;\\n padding: 4px;\\n border: 1px solid rgb(189, 188, 188);\\n border-radius: 5px;\\n margin: 1%;\\n font-weight: 500;\\n}\\n\\n.column5 {\\n float: left;\\n width: 30%;\\n padding: 4px;\\n text-align: right;\\n align-items: end;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.column2 {\\n float: left;\\n width: 5%;\\n padding: 10px;\\n}\\n\\n.column3 {\\n float: left;\\n width: 45%;\\n padding: 10px;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column4 {\\n float: left;\\n width: 15%;\\n padding: 10px;\\n border: 1px solid rgb(189, 188, 188);\\n border-radius: 5px;\\n margin: 1%;\\n}\\n\\n.column5 {\\n float: left;\\n width: 30%;\\n padding: 10px;\\n text-align: right;\\n align-items: end;\\n}\\n\\n.container {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n padding: 0;\\n margin: 0;\\n}\\n\\n.row1 {\\n width: 100%;\\n flex: 1; /* Allow the first row to grow and fill available space */\\n}\\n\\n.row2 {\\n width: 100%;\\n height: auto; /* Allow the second row to adjust its height based on content */\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/SalaryHike/empsalaryhikeposting/empsalaryhikeposting.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;EACA,UAAA;EACA,aAAA;AACJ;;AAEE;EACE,WAAA;EACA,SAAA;EACA,aAAA;AACJ;;AAEE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AACJ;;AAGE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;AAAJ;;AAEE;EACE,WAAA;EACA,UAAA;EACA,aAAA;EACA,oCAAA;EACA,kBAAA;EACA,UAAA;AACJ;;AAGE;EACE,WAAA;EACC,UAAA;EACA,aAAA;EACA,iBAAA;EACA,gBAAA;AAAL;;AAaE;EACE,WAAA;EACA,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,SAAA;AAXJ;;AAcE;EACE,WAAA;EACA,OAAA,EAAA,yDAAA;AAXJ;;AAeE;EACE,WAAA;EACA,YAAA,EAAA,+DAAA;AAZJ\",\"sourcesContent\":[\".column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n // border: 1px solid rgb(189, 188, 188);\\r\\n // border-radius: 5px;\\r\\n // margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n // .row1, .row2 {\\r\\n // width: 100%;\\r\\n // height: 50%; /* Set height for each row */\\r\\n // //overflow: auto; /* Enable scrolling if content overflows */\\r\\n // }\\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n //height: 100%; /* Set height for the container */\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n //overflow: auto; /* Enable scrolling if content overflows */\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/ShiftManagement/shifttimepunchreport/shifttimepunchreport.component.scss\"],\"names\":[],\"mappings\":\"AACA;EACI,WAAA;EACA,YAAA;AAAJ;;AAGE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAAJ\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Timepunch/timepunch/timepunch.component.scss\"],\"names\":[],\"mappings\":\"AACA;EACI,WAAA;EACA,YAAA;AAAJ;;AAGE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAAJ\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-column-EmpName {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 23% !important;\\n width: 23% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/Timepunchleaveposting/timepunchleaveposting/timepunchleaveposting.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADF;;AAGA;EACI,WAAA;EACA,YAAA;AAAJ;;AAGE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAAJ\",\"sourcesContent\":[\".mat-column-EmpName {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 23% !important;\\r\\n width: 23% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n\\r\\n word-break: break-word;\\r\\n\\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n}\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".example-container {\\n width: 500px;\\n max-width: 100%;\\n margin: 0 25px 25px 0;\\n display: inline-block;\\n vertical-align: top;\\n}\\n\\n.example-list {\\n border: solid 1px #ccc;\\n min-height: 60px;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden;\\n display: block;\\n border-radius: 20px;\\n}\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px;\\n height: 13px;\\n margin-bottom: 5px;\\n border-radius: 20px;\\n}\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\n}\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n}\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.example-box:last-child {\\n border: none;\\n}\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/authorizegroup/authorizegroup.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,YAAA;EACA,eAAA;EACA,qBAAA;EACA,qBAAA;EACA,mBAAA;AACJ;;AAEE;EACE,sBAAA;EACA,gBAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,cAAA;EACA,mBAAA;AACJ;;AAEE;EACE,kBAAA;EACA,6BAAA;EACA,0BAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,8BAAA;EACA,sBAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,kBAAA;EACA,mBAAA;AACJ;;AAEE;EACE,sBAAA;EACA,kBAAA;EACA,qHAAA;AACJ;;AAIE;EACE,UAAA;AADJ;;AAIE;EACE,sDAAA;AADJ;;AAIE;EACE,YAAA;AADJ;;AAIE;EACE,sDAAA;AADJ\",\"sourcesContent\":[\".example-container {\\r\\n width: 500px;\\r\\n max-width: 100%;\\r\\n margin: 0 25px 25px 0;\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n }\\r\\n \\r\\n .example-list {\\r\\n border: solid 1px #ccc;\\r\\n min-height: 60px;\\r\\n background: white;\\r\\n border-radius: 4px;\\r\\n overflow: hidden;\\r\\n display: block;\\r\\n border-radius: 20px;\\r\\n }\\r\\n \\r\\n .example-box {\\r\\n padding: 20px 10px;\\r\\n border-bottom: solid 1px #ccc;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n box-sizing: border-box;\\r\\n cursor: move;\\r\\n background: white;\\r\\n font-size: 14px;\\r\\n height: 13px;\\r\\n margin-bottom: 5px;\\r\\n border-radius: 20px;\\r\\n }\\r\\n \\r\\n .cdk-drag-preview {\\r\\n box-sizing: border-box;\\r\\n border-radius: 4px;\\r\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\r\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\r\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\r\\n }\\r\\n \\r\\n .cdk-drag-placeholder {\\r\\n opacity: 0;\\r\\n }\\r\\n \\r\\n .cdk-drag-animating {\\r\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n }\\r\\n \\r\\n .example-box:last-child {\\r\\n border: none;\\r\\n }\\r\\n \\r\\n .example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\r\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".action-buttons {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.action-buttons button {\\n margin-right: 5px;\\n}\\n\\n.group-header-cell {\\n /* Add your custom styles for group header cells here */\\n background-color: whitesmoke; /* Example background color */\\n font-weight: bold; /* Example font weight */\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/dynamicTable/dynamic-table-component/dynamic-table-component.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAA;EACA,mBAAA;AACF;;AAEA;EACE,iBAAA;AACF;;AACA;EACE,uDAAA;EACA,4BAAA,EAAA,6BAAA;EACA,iBAAA,EAAA,wBAAA;AAEF\",\"sourcesContent\":[\".action-buttons {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n}\\r\\n\\r\\n.action-buttons button {\\r\\n margin-right: 5px;\\r\\n}\\r\\n.group-header-cell {\\r\\n /* Add your custom styles for group header cells here */\\r\\n background-color: whitesmoke; /* Example background color */\\r\\n font-weight: bold; /* Example font weight */\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"table {\\n width: 100%;\\n}\\n\\n.mat-paginator-range-label {\\n display: none;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 50%;\\n}\\n\\n/* Border */\\n.mat-form-field-appearance-outline .mat-form-field-outline {\\n color: rgb(255, 255, 255);\\n /* background-color: white; */\\n}\\n\\n/* Font color */\\ninput.mat-input-element {\\n color: rgb(0, 0, 0);\\n}\\n\\n#customers {\\n font-family: Arial, Helvetica, sans-serif;\\n border-collapse: collapse;\\n width: 100%;\\n}\\n\\n#customers td, #customers th {\\n border: 1px solid #ddd;\\n padding: 0px;\\n}\\n\\n#customers tr:nth-child(even) {\\n background-color: #f2f2f2;\\n}\\n\\n#customers tr:hover {\\n background-color: #ddd;\\n}\\n\\n#customers th {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n text-align: center;\\n background-color: #777877;\\n color: white;\\n}\\n\\n.input, select {\\n width: 100%;\\n background-color: white;\\n padding: 12px 20px;\\n margin: 8px 0;\\n display: inline-block;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n box-sizing: border-box;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/leavetypeconfiguration/leavetypeconfiguration.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;AACJ;;AAEE;EACI,aAAA;AACN;;AAEE;EACE,eAAA;EACA,UAAA;AACJ;;AAGE,WAAA;AACA;EACE,yBAAA;EACA,6BAAA;AAAJ;;AAEE,eAAA;AACA;EACE,mBAAA;AACJ;;AAGE;EACE,yCAAA;EACA,yBAAA;EACA,WAAA;AAAJ;;AAGE;EACE,sBAAA;EACA,YAAA;AAAJ;;AAGE;EAA8B,yBAAA;AAChC;;AACE;EAAqB,sBAAA;AAGvB;;AADE;EACE,iBAAA;EACA,oBAAA;EACA,kBAAA;EACA,yBAAA;EACA,YAAA;AAIJ;;AADE;EACE,WAAA;EACA,uBAAA;EACA,kBAAA;EACA,aAAA;EACA,qBAAA;EACA,sBAAA;EACA,kBAAA;EACA,sBAAA;AAIJ\",\"sourcesContent\":[\"table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-paginator-range-label {\\r\\n display: none;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 50%;\\r\\n }\\r\\n \\r\\n \\r\\n /* Border */\\r\\n .mat-form-field-appearance-outline .mat-form-field-outline {\\r\\n color: rgb(255, 255, 255);\\r\\n /* background-color: white; */\\r\\n }\\r\\n /* Font color */\\r\\n input.mat-input-element {\\r\\n color: rgb(0, 0, 0);\\r\\n }\\r\\n \\r\\n\\r\\n #customers {\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n border-collapse: collapse;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n #customers td, #customers th {\\r\\n border: 1px solid #ddd;\\r\\n padding: 0px;\\r\\n }\\r\\n \\r\\n #customers tr:nth-child(even){background-color: #f2f2f2;}\\r\\n \\r\\n #customers tr:hover {background-color: #ddd;}\\r\\n \\r\\n #customers th {\\r\\n padding-top: 12px;\\r\\n padding-bottom: 12px;\\r\\n text-align: center;\\r\\n background-color: #777877;\\r\\n color: white;\\r\\n }\\r\\n\\r\\n .input, select {\\r\\n width: 100%;\\r\\n background-color: white;\\r\\n padding: 12px 20px;\\r\\n margin: 8px 0;\\r\\n display: inline-block;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n box-sizing: border-box;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table-striped {\\n width: 100%;\\n border-collapse: collapse;\\n}\\n\\n.table-striped tbody tr:nth-child(even) {\\n background-color: #f2f2f2; /* Example color for even rows */\\n}\\n\\n/* Define styles for odd rows */\\n.table-striped tbody tr:nth-child(odd) {\\n background-color: #fff; /* Example color for odd rows */\\n}\\n\\n.table-striped th,\\n.table-striped td {\\n border: 1px solid #ddd; /* Add border */\\n padding: 2px; /* Adjust padding as needed */\\n margin: 5px;\\n}\\n\\n.pagination-button {\\n padding: 5px 10px;\\n margin: 2px 2px;\\n background-color: #9f9fa0;\\n color: #201f1f;\\n border: none;\\n border-radius: 4px;\\n cursor: pointer;\\n}\\n\\n.pagination-button:hover {\\n background-color: #cbcdce;\\n}\\n\\n.pagination-button.active {\\n /* Styles for the active button */\\n background-color: #e5e6e7; /* Active background color */\\n}\\n\\n.NotPaid {\\n background-color: rgb(224, 252, 252);\\n color: rgb(23, 125, 125);\\n padding: 2%;\\n font-weight: 500;\\n align-items: center;\\n text-align: center;\\n}\\n\\n.Partial {\\n background-color: rgb(252, 204, 196);\\n color: rgb(175, 86, 71);\\n padding: 2%;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\\n\\n.Paid {\\n background-color: rgb(206, 245, 206);\\n color: rgb(14, 67, 14);\\n padding: 2%;\\n font-weight: 500;\\n align-items: center;\\n align-content: center;\\n text-align: center;\\n}\\n\\n.column1 {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.column2 {\\n float: left;\\n width: 5%;\\n padding: 10px;\\n}\\n\\n.column3 {\\n float: left;\\n width: 45%;\\n padding: 10px;\\n}\\n\\n/* Clear floats after the columns */\\n.row:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n\\n.column4 {\\n float: left;\\n width: 15%;\\n padding: 10px;\\n border: 1px solid rgb(189, 188, 188);\\n border-radius: 5px;\\n margin: 1%;\\n}\\n\\n.column5 {\\n float: left;\\n width: 30%;\\n padding: 10px;\\n text-align: right;\\n align-items: end;\\n}\\n\\n.container {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n height: 100%; /* Set height for the container */\\n padding: 0;\\n margin: 0;\\n}\\n\\n.row1 {\\n width: 100%;\\n flex: 1; /* Allow the first row to grow and fill available space */\\n}\\n\\n.row2 {\\n width: 100%;\\n height: auto; /* Allow the second row to adjust its height based on content */\\n}\\n\\n/* Adjust the height of the mat-select */\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/payslip/payslip.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEI,WAAA;EAEA,yBAAA;AADJ;;AAGE;EACE,yBAAA,EAAA,gCAAA;AAAJ;;AAGE,+BAAA;AACA;EACE,sBAAA,EAAA,+BAAA;AAAJ;;AAEE;;EAEE,sBAAA,EAAA,eAAA;EACA,YAAA,EAAA,6BAAA;EACA,WAAA;AACJ;;AAGE;EACE,iBAAA;EACA,eAAA;EACA,yBAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAAJ;;AAGE;EACE,yBAAA;AAAJ;;AAEE;EACE,iCAAA;EACA,yBAAA,EAAA,4BAAA;AACJ;;AAEE;EAEA,oCAAA;EACA,wBAAA;EAEA,WAAA;EAEA,gBAAA;EACA,mBAAA;EACA,kBAAA;AAFF;;AAIE;EAEE,oCAAA;EACF,uBAAA;EAEA,WAAA;EAEA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AAJF;;AAME;EAEE,oCAAA;EACF,sBAAA;EAEA,WAAA;EAEA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;AANF;;AAQE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AALJ;;AAQE;EACE,WAAA;EACA,SAAA;EACA,aAAA;AALJ;;AAQE;EACE,WAAA;EACA,UAAA;EACA,aAAA;AALJ;;AASE,mCAAA;AACA;EACE,WAAA;EACA,cAAA;EACA,WAAA;AANJ;;AAQE;EACE,WAAA;EACA,UAAA;EACA,aAAA;EACA,oCAAA;EACA,kBAAA;EACA,UAAA;AALJ;;AASE;EACE,WAAA;EACC,UAAA;EACA,aAAA;EACA,iBAAA;EACA,gBAAA;AANL;;AAmBE;EACE,WAAA;EACA,aAAA;EACA,sBAAA;EACA,YAAA,EAAA,iCAAA;EACA,UAAA;EACA,SAAA;AAhBJ;;AAmBE;EACE,WAAA;EACA,OAAA,EAAA,yDAAA;AAhBJ;;AAoBE;EACE,WAAA;EACA,YAAA,EAAA,+DAAA;AAjBJ;;AAqBE,wCAAA\",\"sourcesContent\":[\".table-striped\\r\\n{\\r\\n width: 100%;\\r\\n // height: 60vh;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n .table-striped tbody tr:nth-child(even) {\\r\\n background-color: #f2f2f2; /* Example color for even rows */\\r\\n }\\r\\n \\r\\n /* Define styles for odd rows */\\r\\n .table-striped tbody tr:nth-child(odd) {\\r\\n background-color: #fff; /* Example color for odd rows */\\r\\n }\\r\\n .table-striped th,\\r\\n .table-striped td {\\r\\n border: 1px solid #ddd; /* Add border */\\r\\n padding: 2px; /* Adjust padding as needed */\\r\\n margin: 5px;\\r\\n //text-align: left; /* Align text to the left */\\r\\n }\\r\\n\\r\\n .pagination-button {\\r\\n padding: 5px 10px;\\r\\n margin: 2px 2px;\\r\\n background-color: #9f9fa0;\\r\\n color: #201f1f;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .pagination-button:hover {\\r\\n background-color: #cbcdce;\\r\\n }\\r\\n .pagination-button.active {\\r\\n /* Styles for the active button */\\r\\n background-color: #e5e6e7; /* Active background color */\\r\\n }\\r\\n\\r\\n .NotPaid\\r\\n {\\r\\n background-color: rgb(224, 252, 252);\\r\\n color: rgb(23, 125, 125);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n //height:2.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Partial\\r\\n {\\r\\n background-color: rgb(252, 204, 196);\\r\\n color: rgb(175, 86, 71);\\r\\n // width:6vw;\\r\\n padding:2%;\\r\\n // height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .Paid\\r\\n {\\r\\n background-color: rgb(206, 245, 206);\\r\\n color:rgb(14, 67, 14);\\r\\n //width:6vw;\\r\\n padding:2%;\\r\\n //height:3.5vh;\\r\\n font-weight:500;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n text-align: center;\\r\\n }\\r\\n .column1 {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column2 {\\r\\n float: left;\\r\\n width: 5%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column3 {\\r\\n float: left;\\r\\n width: 45%;\\r\\n padding: 10px;\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n /* Clear floats after the columns */\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n .column4 {\\r\\n float: left;\\r\\n width: 15%;\\r\\n padding: 10px;\\r\\n border: 1px solid rgb(189, 188, 188);\\r\\n border-radius: 5px;\\r\\n margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n .column5 {\\r\\n float: left;\\r\\n width: 30%;\\r\\n padding: 10px;\\r\\n text-align: right;\\r\\n align-items: end;\\r\\n // border: 1px solid rgb(189, 188, 188);\\r\\n // border-radius: 5px;\\r\\n // margin:1%;\\r\\n\\r\\n // height: 300px; /* Should be removed. Only for demonstration */\\r\\n }\\r\\n \\r\\n // .row1, .row2 {\\r\\n // width: 100%;\\r\\n // height: 50%; /* Set height for each row */\\r\\n // //overflow: auto; /* Enable scrolling if content overflows */\\r\\n // }\\r\\n .container {\\r\\n width:100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%; /* Set height for the container */\\r\\n padding:0;\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n .row1 {\\r\\n width:100%;\\r\\n flex: 1; /* Allow the first row to grow and fill available space */\\r\\n //overflow: auto; /* Enable scrolling if content overflows */\\r\\n }\\r\\n \\r\\n .row2 {\\r\\n width:100%;\\r\\n height: auto; /* Allow the second row to adjust its height based on content */\\r\\n }\\r\\n \\r\\n\\r\\n /* Adjust the height of the mat-select */\\r\\n// .custom-mat-select .mat-select-trigger {\\r\\n// height: 28px; /* Adjust the height as needed */\\r\\n// }\\r\\n \\r\\n// /* Optional: Adjust the font size to maintain proportions */\\r\\n// .custom-mat-select .mat-select-trigger .mat-select-placeholder {\\r\\n// font-size: 14px; /* Adjust the font size as needed */\\r\\n// }\\r\\n\\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\\n\\n.mat-column-Date {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 8% !important;\\n width: 8% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-EMPID {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 8% !important;\\n width: 8% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Leavetype {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 8% !important;\\n width: 8% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/timepuchreport/consolidatetimepunchrptlist/consolidatetimepunchrptlist.component.scss\"],\"names\":[],\"mappings\":\"AACA;EACI,WAAA;EACA,YAAA;AAAJ;;AAGE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAAJ;;AAEE;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADJ;;AAIE;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHJ;;AAME;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AALJ\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n .mat-column-Date {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-EMPID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Leavetype {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/HR/timepuchreport/timepunchotreportlist/timepunchotreport/timepunchotreport.component.scss\"],\"names\":[],\"mappings\":\"AACA;EACI,WAAA;EACA,YAAA;AAAJ;;AAGE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAAJ\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"::ng-deep .dx-htmleditor-content img {\\n vertical-align: middle;\\n padding-right: 10px;\\n}\\n\\n::ng-deep .value-content {\\n margin-top: 20px;\\n overflow: auto;\\n height: 110px;\\n width: 100%;\\n white-space: pre-wrap;\\n}\\n\\n::ng-deep .options {\\n margin-top: 20px;\\n padding: 20px;\\n background-color: rgba(191, 191, 191, 0.15);\\n box-sizing: border-box;\\n width: 100%;\\n}\\n\\ntr:nth-child(even) {\\n background-color: #f2f2f2;\\n}\\n\\n.custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\\n\\n.prefix {\\n margin-right: 8px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/CustomsReport/aspentaskbyreport/aspentaskbyreport.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,sBAAA;EACA,mBAAA;AACJ;;AAEA;EACI,gBAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;EACA,qBAAA;AACJ;;AAEA;EACI,gBAAA;EACA,aAAA;EACA,2CAAA;EACA,sBAAA;EACA,WAAA;AACJ;;AACA;EAAoB,yBAAA;AAGpB;;AAAA;EAII,WAAA;EACA,YAAA;AAAJ;;AAKE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAFJ;;AAKE;EACE,iBAAA;AAFJ\",\"sourcesContent\":[\"::ng-deep .dx-htmleditor-content img {\\r\\n vertical-align: middle;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n::ng-deep .value-content {\\r\\n margin-top: 20px;\\r\\n overflow: auto;\\r\\n height: 110px;\\r\\n width: 100%;\\r\\n white-space: pre-wrap;\\r\\n}\\r\\n\\r\\n::ng-deep .options {\\r\\n margin-top: 20px;\\r\\n padding: 20px;\\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n box-sizing: border-box;\\r\\n width: 100%;\\r\\n}\\r\\ntr:nth-child(even) {background-color: #f2f2f2;}\\r\\n\\r\\n\\r\\n.custom-mat-mini-fab {\\r\\n // position: absolute;\\r\\n // top: 25px;\\r\\n //@at-root: 70px; \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n //display: flex;\\r\\n \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n\\r\\n .prefix{ \\r\\n margin-right: 8px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"::ng-deep .dx-htmleditor-content img {\\n vertical-align: middle;\\n padding-right: 10px;\\n}\\n\\n::ng-deep .value-content {\\n margin-top: 20px;\\n overflow: auto;\\n height: 110px;\\n width: 100%;\\n white-space: pre-wrap;\\n}\\n\\n::ng-deep .options {\\n margin-top: 20px;\\n padding: 20px;\\n background-color: rgba(191, 191, 191, 0.15);\\n box-sizing: border-box;\\n width: 100%;\\n}\\n\\ntr:nth-child(even) {\\n background-color: #f2f2f2;\\n}\\n\\n.custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\\n\\n.prefix {\\n margin-right: 8px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/CustomsReport/taskby/taskby.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,sBAAA;EACA,mBAAA;AACJ;;AAEA;EACI,gBAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;EACA,qBAAA;AACJ;;AAEA;EACI,gBAAA;EACA,aAAA;EACA,2CAAA;EACA,sBAAA;EACA,WAAA;AACJ;;AACA;EAAoB,yBAAA;AAGpB;;AAAA;EAII,WAAA;EACA,YAAA;AAAJ;;AAKE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAFJ;;AAKE;EACE,iBAAA;AAFJ\",\"sourcesContent\":[\"::ng-deep .dx-htmleditor-content img {\\r\\n vertical-align: middle;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n::ng-deep .value-content {\\r\\n margin-top: 20px;\\r\\n overflow: auto;\\r\\n height: 110px;\\r\\n width: 100%;\\r\\n white-space: pre-wrap;\\r\\n}\\r\\n\\r\\n::ng-deep .options {\\r\\n margin-top: 20px;\\r\\n padding: 20px;\\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n box-sizing: border-box;\\r\\n width: 100%;\\r\\n}\\r\\ntr:nth-child(even) {background-color: #f2f2f2;}\\r\\n\\r\\n\\r\\n.custom-mat-mini-fab {\\r\\n // position: absolute;\\r\\n // top: 25px;\\r\\n //@at-root: 70px; \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n //display: flex;\\r\\n \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n\\r\\n .prefix{ \\r\\n margin-right: 8px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.column {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.outer {\\n width: 450px;\\n height: 250px;\\n border: 2px solid gray;\\n}\\n\\n.inner {\\n width: 100px;\\n height: 100px;\\n background-color: crimson;\\n display: inline-block;\\n margin: 2px;\\n}\\n\\n.icon1 {\\n font-size: 15px;\\n}\\n\\n.mat-column-CreatedDate {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 17% !important;\\n width: 17% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Type {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Priority {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 8% !important;\\n width: 8% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Status {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-TicketID {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 7% !important;\\n width: 7% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/CustomsReport/taskbyview/taskbyview.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEI,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AAAJ;;AAEA;EAEI,WAAA;EACA,UAAA;EACA,aAAA;AAAJ;;AAGA;EACI,YAAA;EACA,aAAA;EACA,sBAAA;AAAJ;;AAEE;EACE,YAAA;EACA,aAAA;EACA,yBAAA;EACA,qBAAA;EACA,WAAA;AACJ;;AACE;EACE,eAAA;AAEJ;;AAEE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADJ;;AAIE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHJ;;AAME;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AALJ;;AAQE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAPJ;;AAUE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AATJ;;AAYE;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAXJ\",\"sourcesContent\":[\".row\\r\\n{\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n.column\\r\\n{\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.outer{\\r\\n width: 450px;\\r\\n height: 250px;\\r\\n border: 2px solid gray;\\r\\n }\\r\\n .inner{\\r\\n width : 100px;\\r\\n height : 100px;\\r\\n background-color: crimson;\\r\\n display: inline-block;\\r\\n margin: 2px;\\r\\n }\\r\\n .icon1 {\\r\\n font-size: 15px;\\r\\n }\\r\\n\\r\\n \\r\\n .mat-column-CreatedDate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 17% !important;\\r\\n width: 17% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Type {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Priority {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-TicketID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 7% !important;\\r\\n width: 7% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\\n\\n.prefix {\\n margin-right: 8px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Helpdesk/helpdesktaskby/helpdesktaskby.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAIK,WAAA;EACA,YAAA;AAFL;;AAOG;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAJL;;AAOG;EACE,iBAAA;AAJL\",\"sourcesContent\":[\".custom-mat-mini-fab {\\r\\n // position: absolute;\\r\\n // top: 25px;\\r\\n //@at-root: 70px; \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n //display: flex;\\r\\n \\r\\n }\\r\\n \\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n \\r\\n .prefix{ \\r\\n margin-right: 8px;\\r\\n }\\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".myDiv {\\n border: 1px outset silver;\\n border-style: dashed;\\n background-color: whitesmoke;\\n text-align: center;\\n padding: 10px;\\n}\\n\\n.mat-column-ActivityDate {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 30% !important;\\n width: 30% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 35% !important;\\n width: 35% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.photo-overlay-container {\\n display: inline-block;\\n}\\n\\n.overlay-details {\\n position: absolute;\\n bottom: 10px;\\n left: 10px;\\n color: silver;\\n font-size: 14px;\\n}\\n\\n.overlay-details p {\\n margin: 0;\\n text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);\\n}\\n\\n.div {\\n width: 25%;\\n height: 15%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Ticket/attachment/attachment.component.scss\"],\"names\":[],\"mappings\":\"AAEA;EACE,yBAAA;EACA,oBAAA;EACA,4BAAA;EACA,kBAAA;EACA,aAAA;AADF;;AAIA;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHF;;AAsBA;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AArBF;;AAwBA;EAEE,qBAAA;AAtBF;;AAyBA;EACE,kBAAA;EACA,YAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;AAtBF;;AAyBA;EACE,SAAA;EACA,2CAAA;AAtBF;;AAwBA;EAEE,UAAA;EACA,WAAA;AAtBF\",\"sourcesContent\":[\"\\r\\n\\r\\n.myDiv {\\r\\n border: 1px outset silver;\\r\\n border-style: dashed;\\r\\n background-color: whitesmoke ; \\r\\n text-align: center;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.mat-column-ActivityDate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 30% !important;\\r\\n width: 30% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n\\r\\n word-break: break-word;\\r\\n\\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n}\\r\\n\\r\\n// .mat-column-Comment {\\r\\n// word-wrap: break-word !important;\\r\\n// white-space: unset !important;\\r\\n// flex: 0 0 35% !important;\\r\\n// width: 35% !important;\\r\\n// overflow-wrap: break-word;\\r\\n// word-wrap: break-word;\\r\\n// }\\r\\n// word-break: break-word;\\r\\n\\r\\n// -ms-hyphens: auto;\\r\\n// -moz-hyphens: auto;\\r\\n// -webkit-hyphens: auto;\\r\\n// hyphens: auto;\\r\\n// }\\r\\n\\r\\n.mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 35% !important;\\r\\n width: 35% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n\\r\\n word-break: break-word;\\r\\n\\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n}\\r\\n\\r\\n.photo-overlay-container {\\r\\n // position: relative;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.overlay-details {\\r\\n position: absolute;\\r\\n bottom: 10px;\\r\\n left: 10px;\\r\\n color: silver;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.overlay-details p {\\r\\n margin: 0;\\r\\n text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n.div\\r\\n{\\r\\n width:25%;\\r\\n height:15%;\\r\\n // margin-left:40%;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.column {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.outer {\\n width: 450px;\\n height: 250px;\\n border: 2px solid gray;\\n}\\n\\n.inner {\\n width: 100px;\\n height: 100px;\\n background-color: crimson;\\n display: inline-block;\\n margin: 2px;\\n}\\n\\n.icon1 {\\n font-size: 15px;\\n}\\n\\n.mat-column-CreatedDate {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 17% !important;\\n width: 17% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Type {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Priority {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 8% !important;\\n width: 8% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Status {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-TicketID {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 7% !important;\\n width: 7% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Ticket/itsuserhomepage/itsuserhomepage.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEI,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AAAJ;;AAEA;EAEI,WAAA;EACA,UAAA;EACA,aAAA;AAAJ;;AAGA;EACI,YAAA;EACA,aAAA;EACA,sBAAA;AAAJ;;AAEE;EACE,YAAA;EACA,aAAA;EACA,yBAAA;EACA,qBAAA;EACA,WAAA;AACJ;;AACE;EACE,eAAA;AAEJ;;AAEE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADJ;;AAIE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHJ;;AAME;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AALJ;;AAQE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAPJ;;AAUE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AATJ;;AAYE;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAXJ\",\"sourcesContent\":[\".row\\r\\n{\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n.column\\r\\n{\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.outer{\\r\\n width: 450px;\\r\\n height: 250px;\\r\\n border: 2px solid gray;\\r\\n }\\r\\n .inner{\\r\\n width : 100px;\\r\\n height : 100px;\\r\\n background-color: crimson;\\r\\n display: inline-block;\\r\\n margin: 2px;\\r\\n }\\r\\n .icon1 {\\r\\n font-size: 15px;\\r\\n }\\r\\n\\r\\n \\r\\n .mat-column-CreatedDate {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 17% !important;\\r\\n width: 17% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Type {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Priority {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 8% !important;\\r\\n width: 8% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-TicketID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 7% !important;\\r\\n width: 7% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-column-TicketID {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 17% !important;\\n width: 17% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Type {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 15% !important;\\n width: 15% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Project {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 17% !important;\\n width: 17% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Ticket/quickadd/quickadd.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADJ;;AAIE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHJ;;AAME;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AALJ;;AAQE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAPJ\",\"sourcesContent\":[\".mat-column-TicketID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 17% !important;\\r\\n width: 17% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Type {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 15% !important;\\r\\n width: 15% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Project {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 17% !important;\\r\\n width: 17% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"::ng-deep .dx-htmleditor-content img {\\n vertical-align: middle;\\n padding-right: 10px;\\n}\\n\\n::ng-deep .value-content {\\n margin-top: 20px;\\n overflow: auto;\\n height: 110px;\\n width: 100%;\\n white-space: pre-wrap;\\n}\\n\\n::ng-deep .options {\\n margin-top: 20px;\\n padding: 20px;\\n background-color: rgba(191, 191, 191, 0.15);\\n box-sizing: border-box;\\n width: 100%;\\n}\\n\\ntr:nth-child(even) {\\n background-color: #f2f2f2;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Ticket/ticket/ticket.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,sBAAA;EACA,mBAAA;AACJ;;AAEA;EACI,gBAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;EACA,qBAAA;AACJ;;AAEA;EACI,gBAAA;EACA,aAAA;EACA,2CAAA;EACA,sBAAA;EACA,WAAA;AACJ;;AACA;EAAoB,yBAAA;AAGpB\",\"sourcesContent\":[\"::ng-deep .dx-htmleditor-content img {\\r\\n vertical-align: middle;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n::ng-deep .value-content {\\r\\n margin-top: 20px;\\r\\n overflow: auto;\\r\\n height: 110px;\\r\\n width: 100%;\\r\\n white-space: pre-wrap;\\r\\n}\\r\\n\\r\\n::ng-deep .options {\\r\\n margin-top: 20px;\\r\\n padding: 20px;\\r\\n background-color: rgba(191, 191, 191, 0.15);\\r\\n box-sizing: border-box;\\r\\n width: 100%;\\r\\n}\\r\\ntr:nth-child(even) {background-color: #f2f2f2;}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n width: 100%;\\n}\\n\\n.column {\\n float: left;\\n width: 50%;\\n padding: 10px;\\n}\\n\\n.outer {\\n width: 450px;\\n height: 250px;\\n border: 2px solid gray;\\n}\\n\\n.inner {\\n width: 100px;\\n height: 100px;\\n background-color: crimson;\\n display: inline-block;\\n margin: 2px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/Ticket/ticketlist/ticketlist.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEI,WAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AAAJ;;AAEA;EAEI,WAAA;EACA,UAAA;EACA,aAAA;AAAJ;;AAGA;EACI,YAAA;EACA,aAAA;EACA,sBAAA;AAAJ;;AAEE;EACE,YAAA;EACA,aAAA;EACA,yBAAA;EACA,qBAAA;EACA,WAAA;AACJ\",\"sourcesContent\":[\".row\\r\\n{\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n}\\r\\n.column\\r\\n{\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.outer{\\r\\n width: 450px;\\r\\n height: 250px;\\r\\n border: 2px solid gray;\\r\\n }\\r\\n .inner{\\r\\n width : 100px;\\r\\n height : 100px;\\r\\n background-color: crimson;\\r\\n display: inline-block;\\r\\n margin: 2px;\\r\\n }\\r\\n\\r\\n \\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".root {\\n display: flex;\\n flex-direction: column;\\n overflow-x: auto;\\n height: 70vh;\\n width: 100%;\\n}\\n\\n.board {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n width: 100%;\\n min-height: 0;\\n}\\n\\n.board-wrapper {\\n display: flex;\\n flex-grow: 1;\\n overflow-x: auto;\\n width: 100%;\\n}\\n\\n.board-columns {\\n font-family: Verdana;\\n display: flex;\\n flex-grow: 1;\\n font-size: 12px;\\n}\\n\\n.board-column {\\n display: flex;\\n font-family: Verdana;\\n flex-direction: column;\\n font-size: 11px;\\n flex-grow: 1;\\n flex-basis: 0;\\n width: 200px;\\n margin: 5px;\\n padding: 1px;\\n border-radius: 4px;\\n background: #e9eaec;\\n}\\n\\n.board-column:not(:first-child) {\\n margin-left: 0;\\n}\\n\\n.column-title {\\n font-size: 13px;\\n font-family: Verdana;\\n padding: 5px 2px 2px 2px;\\n margin-bottom: 10px;\\n}\\n\\n.tasks-container {\\n font-family: Verdana;\\n flex-grow: 1;\\n overflow-y: auto;\\n}\\n\\n.task {\\n font-family: Verdana;\\n display: flex;\\n padding: 8px 5px;\\n background: white;\\n border-bottom: solid 1px #ddd;\\n border-radius: 4px;\\n margin-bottom: 5px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.05), 0 3px 14px 2px rgba(0, 0, 0, 0.05);\\n}\\n\\n.taskSub {\\n font-family: Verdana;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 150px;\\n font-weight: bold;\\n color: #69696a;\\n}\\n\\n.taskOther {\\n font-family: Verdana;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 150px;\\n color: #69696a;\\n padding-top: 3px;\\n}\\n\\n.two_chars {\\n font-family: Verdana;\\n width: 2ch;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n border-radius: 70%;\\n}\\n\\n.taskimg {\\n border-radius: 60%;\\n width: 20px;\\n}\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\n}\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n}\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.tasks-container.cdk-drop-list-dragging .task:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.Blue {\\n background-color: blue;\\n width: 5px;\\n height: 15px;\\n}\\n\\n.Red {\\n background-color: red;\\n width: 5px;\\n}\\n\\n.Green {\\n background-color: green;\\n width: 5px;\\n}\\n\\n.priorityColumn {\\n width: 100px;\\n}\\n\\n.ReqTypeRadius {\\n font-family: verdana;\\n border: 0px solid rgb(135, 134, 134);\\n padding: 0px;\\n}\\n\\n.rowCount {\\n font-family: verdana;\\n width: 30px;\\n height: 14px;\\n font-size: 11px;\\n padding: 1px;\\n border-radius: 50px;\\n}\\n\\n.rows {\\n display: flex;\\n align-items: center;\\n}\\n\\n.rows :not(:first-child) {\\n margin-left: -8px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/kanbanboard/kanbanboard.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAA;EACA,sBAAA;EACA,gBAAA;EACA,YAAA;EAEA,WAAA;AAAF;;AAGA;EACE,aAAA;EACA,sBAAA;EACA,YAAA;EACA,WAAA;EACA,aAAA;AAAF;;AAKA;EACE,aAAA;EACA,YAAA;EACA,gBAAA;EACA,WAAA;AAFF;;AAKA;EACE,oBAAA;EACA,aAAA;EACA,YAAA;EACA,eAAA;AAFF;;AAOA;EACE,aAAA;EACA,oBAAA;EACA,sBAAA;EACA,eAAA;EACA,YAAA;EACA,aAAA;EACA,YAAA;EAEA,WAAA;EACA,YAAA;EAEA,kBAAA;EACA,mBAAA;AANF;;AASA;EACE,cAAA;AANF;;AASA;EACE,eAAA;EACA,oBAAA;EACA,wBAAA;EAEA,mBAAA;AAPF;;AAWA;EACE,oBAAA;EACA,YAAA;EACA,gBAAA;AARF;;AAWA;EACE,oBAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;EACA,6BAAA;EACA,kBAAA;EACA,kBAAA;EAEA,kFAAA;AATF;;AAaA;EACE,oBAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,gBAAA;EACA,iBAAA;EACA,cAAA;AAVF;;AAaA;EACE,oBAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,gBAAA;EACA,cAAA;EACA,gBAAA;AAVF;;AAaA;EACE,oBAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,uBAAA;EACA,kBAAA;AAVF;;AAaA;EACE,kBAAA;EACA,WAAA;AAVF;;AAaA;EACE,sBAAA;EACA,kBAAA;EACA,qHAAA;AAVF;;AAeA;EACE,UAAA;AAZF;;AAeA;EACE,sDAAA;AAZF;;AAeA;EACE,sDAAA;AAZF;;AAgBA;EACE,sBAAA;EACA,UAAA;EACA,YAAA;AAbF;;AAeE;EACA,qBAAA;EACA,UAAA;AAZF;;AAcE;EACA,uBAAA;EACA,UAAA;AAXF;;AAaA;EACE,YAAA;AAVF;;AAaA;EACE,oBAAA;EACA,oCAAA;EACA,YAAA;AAVF;;AAeA;EACE,oBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;AAZF;;AAgBA;EACE,aAAA;EACA,mBAAA;AAbF;;AAkBA;EACE,iBAAA;AAfF\",\"sourcesContent\":[\".root {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow-x: auto;\\r\\n height: 70vh; \\r\\n //background-color: red;\\r\\n width: 100%;\\r\\n \\r\\n}\\r\\n.board {\\r\\n display: flex; \\r\\n flex-direction: column;\\r\\n flex-grow: 1;\\r\\n width: 100%;\\r\\n min-height: 0;\\r\\n \\r\\n \\r\\n}\\r\\n\\r\\n.board-wrapper {\\r\\n display: flex;\\r\\n flex-grow: 1;\\r\\n overflow-x: auto;\\r\\n width: 100%;\\r\\n\\r\\n}\\r\\n.board-columns {\\r\\n font-family: Verdana;\\r\\n display: flex;\\r\\n flex-grow: 1;\\r\\n font-size: 12px;\\r\\n\\r\\n //width: 90vw;\\r\\n}\\r\\n\\r\\n.board-column {\\r\\n display: flex;\\r\\n font-family: Verdana;\\r\\n flex-direction: column;\\r\\n font-size: 11px;\\r\\n flex-grow: 1;\\r\\n flex-basis: 0;\\r\\n width: 200px;\\r\\n //max-width: 300px;\\r\\n margin: 5px;\\r\\n padding: 1px;\\r\\n\\r\\n border-radius: 4px;\\r\\n background: #e9eaec;\\r\\n}\\r\\n\\r\\n.board-column:not(:first-child) {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.column-title {\\r\\n font-size: 13px;\\r\\n font-family: Verdana;\\r\\n padding:5px 2px 2px 2px;\\r\\n // text-transform: uppercase;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n.tasks-container {\\r\\n font-family: Verdana;\\r\\n flex-grow: 1;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.task {\\r\\n font-family: Verdana;\\r\\n display: flex;\\r\\n padding: 8px 5px;\\r\\n background: white;\\r\\n border-bottom: solid 1px #ddd;\\r\\n border-radius: 4px;\\r\\n margin-bottom: 5px;\\r\\n //border-left: 6px solid red;\\r\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.05),\\r\\n 0 3px 14px 2px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n.taskSub{\\r\\n font-family: Verdana;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n max-width: 150px;\\r\\n font-weight: bold;\\r\\n color: #69696a;\\r\\n}\\r\\n\\r\\n.taskOther{\\r\\n font-family: Verdana;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n max-width: 150px; \\r\\n color: #69696a;\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.two_chars{\\r\\n font-family: Verdana;\\r\\n width: 2ch;\\r\\n overflow: hidden;\\r\\n white-space: nowrap;\\r\\n text-overflow: ellipsis;\\r\\n border-radius:70%;\\r\\n}\\r\\n\\r\\n.taskimg {\\r\\n border-radius: 60%;\\r\\n width:20px;\\r\\n}\\r\\n\\r\\n.cdk-drag-preview {\\r\\n box-sizing: border-box;\\r\\n border-radius: 4px;\\r\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\r\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\r\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.cdk-drag-placeholder {\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.cdk-drag-animating {\\r\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n}\\r\\n\\r\\n.tasks-container.cdk-drop-list-dragging .task:not(.cdk-drag-placeholder) {\\r\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n}\\r\\n\\r\\n\\r\\n.Blue{\\r\\n background-color: blue;\\r\\n width:5px;\\r\\n height: 15px;\\r\\n }\\r\\n .Red{\\r\\n background-color: red;\\r\\n width:5px;\\r\\n }\\r\\n .Green{\\r\\n background-color: green;\\r\\n width:5px;\\r\\n }\\r\\n.priorityColumn{\\r\\n width:100px;\\r\\n}\\r\\n\\r\\n.ReqTypeRadius {\\r\\n font-family: verdana;\\r\\n border: 0px solid rgb(135, 134, 134);\\r\\n padding:0px;\\r\\n //border-radius: 90px;\\r\\n}\\r\\n\\r\\n\\r\\n.rowCount {\\r\\n font-family: verdana;\\r\\n width: 30px;\\r\\n height: 14px;\\r\\n font-size: 11px; \\r\\n padding:1px;\\r\\n border-radius: 50px;\\r\\n}\\r\\n\\r\\n\\r\\n.rows {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.rows :not(:first-child) {\\r\\n margin-left: -8px;\\r\\n }\\r\\n\\r\\n // .rows :nth-child(n+3){\\r\\n // display: none;\\r\\n // }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"code, kbd, pre {\\n background-color: #cfc;\\n color: navy;\\n font-family: Consolas, Monaco, \\\"Andale Mono\\\", \\\"DejaVu Sans Mono\\\", monospace;\\n font-size: smaller;\\n}\\n\\npre {\\n line-height: 1.5em;\\n margin-bottom: 1.5em;\\n margin-top: 1.5em;\\n overflow: auto;\\n padding: 0.75em 1.625em;\\n}\\n\\n.box-list {\\n border: dashed black 1px;\\n display: inline-flex;\\n align-items: center;\\n flex-direction: column;\\n /* when cdkDropListOrientation=\\\"horizontal\\\" comment out flex properties below: */\\n /* flex-direction: row; */\\n margin: 0.5em;\\n padding: 0.5em 0;\\n width: 95%;\\n height: 270px;\\n overflow-y: scroll;\\n scrollbar-width: thin;\\n}\\n\\n.box-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.drag-box {\\n background-color: rgb(184, 184, 182);\\n border: dashed rgb(245, 48, 4) 1px;\\n cursor: move;\\n display: flex;\\n box-sizing: border-box;\\n flex-grow: 1;\\n justify-content: center;\\n margin: 0.25em;\\n padding: 0.25em;\\n width: 90%;\\n height: 30px;\\n}\\n\\n.cdk-drag {\\n /* this is the animation that fires for the drag */\\n transition: transform 150ms ease;\\n}\\n\\n.cdk-drag-animating {\\n /* this is the animation that fires for the drop */\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.cdk-drag-placeholder {\\n /* setting opacity to zero makes a blank space between list items during drag preview */\\n opacity: 0;\\n}\\n\\n.cdk-drag-preview {\\n background-color: greenyellow;\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\n opacity: 0.7;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/kanbanboardconfigpopup/kanbanboardconfigpopup.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,sBAAA;EACA,WAAA;EACA,2EAAA;EACA,kBAAA;AACF;;AAEA;EACE,kBAAA;EACA,oBAAA;EACA,iBAAA;EACA,cAAA;EACA,uBAAA;AACF;;AAEA;EACA,wBAAA;EACA,oBAAA;EACA,mBAAA;EACA,sBAAA;EACA,gFAAA;EACA,yBAAA;EACA,aAAA;EACA,gBAAA;EACA,UAAA;EACA,aAAA;EACA,kBAAA;EACA,qBAAA;AACA;;AAGA;EACA,sDAAA;AAAA;;AAGA;EACA,oCAAA;EACA,kCAAA;EACA,YAAA;EACA,aAAA;EACE,sBAAA;EACA,YAAA;EACA,uBAAA;EACF,cAAA;EACA,eAAA;EACA,UAAA;EACA,YAAA;AAAA;;AAGA;EACA,kDAAA;EACE,gCAAA;AAAF;;AAGA;EACA,kDAAA;EACA,sDAAA;AAAA;;AAGA;EACA,uFAAA;EACA,UAAA;AAAA;;AAGA;EACA,6BAAA;EACA,sBAAA;EACA,kBAAA;EACA,qHAAA;EAGA,YAAA;AAFA\",\"sourcesContent\":[\"code, kbd, pre {\\r\\n background-color: #cfc;\\r\\n color: navy;\\r\\n font-family: Consolas, Monaco, 'Andale Mono', 'DejaVu Sans Mono', monospace;\\r\\n font-size: smaller;\\r\\n}\\r\\n\\r\\npre {\\r\\n line-height: 1.5em;\\r\\n margin-bottom: 1.5em;\\r\\n margin-top: 1.5em;\\r\\n overflow: auto;\\r\\n padding: 0.75em 1.625em;\\r\\n}\\r\\n\\r\\n.box-list {\\r\\nborder: dashed black 1px;\\r\\ndisplay: inline-flex;\\r\\nalign-items: center;\\r\\nflex-direction: column;\\r\\n/* when cdkDropListOrientation=\\\"horizontal\\\" comment out flex properties below: */\\r\\n/* flex-direction: row; */\\r\\nmargin: .5em;\\r\\npadding: .5em 0;\\r\\nwidth: 95%;\\r\\nheight: 270px;\\r\\noverflow-y: scroll;\\r\\nscrollbar-width: thin;\\r\\n\\r\\n}\\r\\n\\r\\n.box-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\r\\ntransition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n}\\r\\n\\r\\n.drag-box {\\r\\nbackground-color: rgb(184, 184, 182);\\r\\nborder: dashed rgb(245, 48, 4) 1px;\\r\\ncursor: move;\\r\\ndisplay: flex;\\r\\n box-sizing: border-box;\\r\\n flex-grow: 1;\\r\\n justify-content: center;\\r\\nmargin: .25em;\\r\\npadding: .25em;\\r\\nwidth: 90%;\\r\\nheight: 30px;\\r\\n}\\r\\n\\r\\n.cdk-drag {\\r\\n/* this is the animation that fires for the drag */\\r\\n transition: transform 150ms ease;\\r\\n}\\r\\n\\r\\n.cdk-drag-animating {\\r\\n/* this is the animation that fires for the drop */\\r\\ntransition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n}\\r\\n\\r\\n.cdk-drag-placeholder {\\r\\n/* setting opacity to zero makes a blank space between list items during drag preview */\\r\\nopacity: 0;\\r\\n}\\r\\n\\r\\n.cdk-drag-preview {\\r\\nbackground-color: greenyellow;\\r\\nbox-sizing: border-box;\\r\\nborder-radius: 4px;\\r\\nbox-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\r\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\r\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\r\\nopacity: .7;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/kanbanboardfilter/kanbanboardfilter.component.scss\"],\"names\":[],\"mappings\":\"AACA;EACI,WAAA;EACA,YAAA;AAAJ;;AAGE;EACE,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AAAJ\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab { \\r\\n width: 33px;\\r\\n height: 33px; \\r\\n }\\r\\n\\r\\n .custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#customers {\\n font-family: Arial, Helvetica, sans-serif;\\n border-collapse: collapse;\\n}\\n\\n#customers td, #customers th {\\n border: 1px solid #ddd;\\n padding: 8px;\\n}\\n\\n#customers tr:nth-child(even) {\\n background-color: #f2f2f2;\\n}\\n\\n#customers tr:hover {\\n background-color: #ddd;\\n}\\n\\n#customers th {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n text-align: left;\\n background-color: #04AA6D;\\n color: white;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/kanbankeyvaluejsondataview/kanbankeyvaluejsondataview.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,yCAAA;EACA,yBAAA;AACJ;;AAGE;EACE,sBAAA;EACA,YAAA;AAAJ;;AAGE;EAA8B,yBAAA;AAChC;;AACE;EAAqB,sBAAA;AAGvB;;AADE;EACE,iBAAA;EACA,oBAAA;EACA,gBAAA;EACA,yBAAA;EACA,YAAA;AAIJ\",\"sourcesContent\":[\"#customers {\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n border-collapse: collapse;\\r\\n \\r\\n }\\r\\n \\r\\n #customers td, #customers th {\\r\\n border: 1px solid #ddd;\\r\\n padding: 8px;\\r\\n }\\r\\n \\r\\n #customers tr:nth-child(even){background-color: #f2f2f2;}\\r\\n \\r\\n #customers tr:hover {background-color: #ddd;}\\r\\n \\r\\n #customers th {\\r\\n padding-top: 12px;\\r\\n padding-bottom: 12px;\\r\\n text-align: left;\\r\\n background-color: #04AA6D;\\r\\n color: white;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".circle {\\n background-color: green;\\n border-radius: 50%;\\n height: 25px;\\n text-align: center;\\n width: 25px;\\n}\\n\\n.initials {\\n font-size: calc(25px / 2);\\n font-family: Calibri, \\\"Trebuchet MS\\\", sans-serif, \\\"Gill Sans\\\", \\\"Gill Sans MT\\\";\\n line-height: 1;\\n position: relative;\\n top: calc(25px / 6);\\n color: white;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/kanbanuserinitial/kanbanuserinitial.component.scss\"],\"names\":[],\"mappings\":\"AAEA;EACI,uBAAA;EACA,kBAAA;EACA,YAAA;EACA,kBAAA;EACA,WAAA;AADJ;;AAIA;EACI,yBAAA;EACA,6EAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,YAAA;AADJ\",\"sourcesContent\":[\"$avatar-size: 25px;\\r\\n\\r\\n.circle {\\r\\n background-color: green;\\r\\n border-radius: 50%;\\r\\n height: #{$avatar-size};\\r\\n text-align: center;\\r\\n width: #{$avatar-size};\\r\\n}\\r\\n\\r\\n.initials {\\r\\n font-size: calc(#{$avatar-size} / 2); // 50% of parent \\r\\n font-family: Calibri, 'Trebuchet MS', sans-serif, 'Gill Sans', 'Gill Sans MT';\\r\\n line-height: 1;\\r\\n position: relative;\\r\\n top: calc(#{$avatar-size} / 6); // 25% of parent \\r\\n color: white;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-mat-mini-fab {\\n width: 33px;\\n height: 33px;\\n}\\n\\n.custom-mat-icon {\\n font-size: 18px;\\n display: flex;\\n align-items: top;\\n justify-content: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/ITS/tickettreeview/tickettreeview.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAIG,WAAA;EACA,YAAA;AAHH;;AAQA;EACI,eAAA;EACA,aAAA;EACA,gBAAA;EACA,uBAAA;AALJ\",\"sourcesContent\":[\"\\r\\n.custom-mat-mini-fab {\\r\\n // position: absolute;\\r\\n // top: 25px;\\r\\n //@at-root: 70px; \\r\\n width: 33px;\\r\\n height: 33px;\\r\\n //display: flex;\\r\\n \\r\\n }\\r\\n\\r\\n.custom-mat-icon {\\r\\n font-size: 18px;\\r\\n display: flex;\\r\\n align-items: top;\\r\\n justify-content: center;\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-column-MerchantID {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 13% !important;\\n width: 13% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Type {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Status {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 10% !important;\\n width: 10% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/Client/merchantlist/merchantlist.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADJ;;AAIE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHJ;;AAME;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AALJ;;AAQE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAPJ\",\"sourcesContent\":[\".mat-column-MerchantID {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 13% !important;\\r\\n width: 13% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Type {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Status {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 10% !important;\\r\\n width: 10% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"table {\\n width: 100%;\\n}\\n\\ntr.example-detail-row {\\n height: 0;\\n}\\n\\ntr.example-element-row:not(.example-expanded-row):hover {\\n background: #777;\\n}\\n\\ntr.example-element-row:not(.example-expanded-row):active {\\n background: #efefef;\\n}\\n\\n.example-element-row td {\\n border-bottom-width: 0;\\n}\\n\\n.example-element-detail {\\n overflow: hidden;\\n display: flex;\\n}\\n\\n.example-element-diagram {\\n min-width: 80px;\\n border: 2px solid black;\\n padding: 8px;\\n font-weight: lighter;\\n margin: 8px 0;\\n height: 104px;\\n}\\n\\n.example-element-symbol {\\n font-weight: bold;\\n font-size: 40px;\\n line-height: normal;\\n}\\n\\n.example-element-description {\\n padding: 16px;\\n}\\n\\n.example-element-description-attribution {\\n opacity: 0.5;\\n}\\n\\n.inner-table {\\n width: 100%;\\n}\\n\\n.inner-table mat-form-field {\\n margin-top: 15px;\\n width: 100%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/nestedgrid/nestedgrid.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,WAAA;AACJ;;AAEE;EACE,SAAA;AACJ;;AAEE;EACE,gBAAA;AACJ;;AAEE;EACE,mBAAA;AACJ;;AAEE;EACE,sBAAA;AACJ;;AAEE;EACE,gBAAA;EACA,aAAA;AACJ;;AAEE;EACE,eAAA;EACA,uBAAA;EACA,YAAA;EACA,oBAAA;EACA,aAAA;EACA,aAAA;AACJ;;AAEE;EACE,iBAAA;EACA,eAAA;EACA,mBAAA;AACJ;;AAEE;EACE,aAAA;AACJ;;AAEE;EACE,YAAA;AACJ;;AAEE;EACE,WAAA;AACJ;;AAEE;EACE,gBAAA;EACA,WAAA;AACJ\",\"sourcesContent\":[\"table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n tr.example-detail-row {\\r\\n height: 0;\\r\\n }\\r\\n \\r\\n tr.example-element-row:not(.example-expanded-row):hover {\\r\\n background: #777;\\r\\n }\\r\\n \\r\\n tr.example-element-row:not(.example-expanded-row):active {\\r\\n background: #efefef;\\r\\n }\\r\\n \\r\\n .example-element-row td {\\r\\n border-bottom-width: 0;\\r\\n }\\r\\n \\r\\n .example-element-detail {\\r\\n overflow: hidden;\\r\\n display: flex;\\r\\n }\\r\\n \\r\\n .example-element-diagram {\\r\\n min-width: 80px;\\r\\n border: 2px solid black;\\r\\n padding: 8px;\\r\\n font-weight: lighter;\\r\\n margin: 8px 0;\\r\\n height: 104px;\\r\\n }\\r\\n \\r\\n .example-element-symbol {\\r\\n font-weight: bold;\\r\\n font-size: 40px;\\r\\n line-height: normal;\\r\\n }\\r\\n \\r\\n .example-element-description {\\r\\n padding: 16px;\\r\\n }\\r\\n \\r\\n .example-element-description-attribution {\\r\\n opacity: 0.5;\\r\\n }\\r\\n \\r\\n .inner-table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .inner-table mat-form-field {\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#customers {\\n font-family: Arial, Helvetica, sans-serif;\\n border-collapse: collapse;\\n background-color: #ebf0ee;\\n width: 100%;\\n}\\n\\n#customers td, #customers th {\\n border: 1px solid #ddd;\\n background-color: #ebf0ee;\\n padding: 8px;\\n}\\n\\n#customers tr:nth-child(even) {\\n background-color: #f2f2f2;\\n}\\n\\n#customers tr:hover {\\n background-color: #ddd;\\n}\\n\\n#customers th {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n text-align: left;\\n background-color: #6f7170;\\n color: white;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/ticketemailconfigexcelimport/excel-import-dialog/excel-import-dialog.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,yCAAA;EACA,yBAAA;EACA,yBAAA;EACA,WAAA;AACJ;;AAEE;EACE,sBAAA;EACA,yBAAA;EACA,YAAA;AACJ;;AAEE;EAA8B,yBAAA;AAEhC;;AAAE;EAAqB,sBAAA;AAIvB;;AAFE;EACE,iBAAA;EACA,oBAAA;EACA,gBAAA;EACA,yBAAA;EACA,YAAA;AAKJ\",\"sourcesContent\":[\"#customers {\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n border-collapse: collapse;\\r\\n background-color: #ebf0ee;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n #customers td, #customers th {\\r\\n border: 1px solid #ddd;\\r\\n background-color: #ebf0ee;\\r\\n padding: 8px;\\r\\n }\\r\\n \\r\\n #customers tr:nth-child(even){background-color: #f2f2f2;}\\r\\n \\r\\n #customers tr:hover {background-color: #ddd;}\\r\\n \\r\\n #customers th {\\r\\n padding-top: 12px;\\r\\n padding-bottom: 12px;\\r\\n text-align: left;\\r\\n background-color: #6f7170;\\r\\n color: white;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".centre {\\n text-align: center;\\n}\\n\\n.mat-column-eMail {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 50% !important;\\n width: 50% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 5% !important;\\n width: 5% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/ticketemailconfigexcelimport/ticketemailconfigexcelimport.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,kBAAA;AACJ;;AAEE;EACE,gCAAA;EACA,6BAAA;EACA,wBAAA;EACA,qBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AADJ;;AAIE;EACE,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAHJ\",\"sourcesContent\":[\".centre {\\r\\n text-align: center\\r\\n }\\r\\n\\r\\n .mat-column-eMail {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 50% !important;\\r\\n width: 50% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n \\r\\n .mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 5% !important;\\r\\n width: 5% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\\r\\n \\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Create three equal columns that floats next to each other */\\n.mat-column-Action {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 5% !important;\\n width: 5% !important;\\n overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/WorkFlow/ticketemailrulecreation/ticketemailrulecreation.component.scss\"],\"names\":[],\"mappings\":\"AAAA,8DAAA;AAEA;EACI,gCAAA;EACA,6BAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;EAEA,sBAAA;EAIA,qBAAA;EACA,aAAA;AAFJ\",\"sourcesContent\":[\"/* Create three equal columns that floats next to each other */\\r\\n\\r\\n.mat-column-Action {\\r\\n word-wrap: break-word !important;\\r\\n white-space: unset !important;\\r\\n flex: 0 0 5% !important;\\r\\n width: 5% !important;\\r\\n overflow-wrap: break-word;\\r\\n word-wrap: break-word;\\r\\n \\r\\n word-break: break-word;\\r\\n \\r\\n -ms-hyphens: auto;\\r\\n -moz-hyphens: auto;\\r\\n -webkit-hyphens: auto;\\r\\n hyphens: auto;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-ps\": 46235,\n\t\"./ar-ps.js\": 46235,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku-kmr\": 19619,\n\t\"./ku-kmr.js\": 19619,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["Component","HttpserviceService","DashboardComponent","constructor","service","JSON","parse","sessionStorage","getItem","ngOnInit","CID","GetDashboard","PriorityData","curUser","ds_dashboard","Table","LeaveData","Table2","StatusData","Table1","EffortData","Table3","leavedetails","Table4","Table5","Tag","Commonvisible","GGBCvisible","UserType","Leaveisvisible","Effortisvisible","__decorate","selector","template","__NG_CLI_RESOURCE__0","Directive","ViewContainerRef","DynamictabsDirective","viewContainer","MediaMatcher","ChangeDetectorRef","ViewChild","Renderer2","environment","TabsComponent","MenuidmappingService","themes","EmiteventserviceService","FullComponent","changeDetectorRef","media","menuIDMap","renderer","eventService","navBarBackgroundColor","lightmode","theme","mobileQuery","matchMedia","_mobileQueryListener","detectChanges","addListener","menuSelect$","subscribe","data","menuSelect","changeIcon","icon","ngOnDestroy","removeListener","tabvisible","ngAfterViewInit","addTab","item","menuid","menuid_","length","replace","tabsComponent","openTab2","name","getComponent","isDarkTemp","isDark","removeClass","document","body","addClass","current","setItem","isthemeTemp","_themes","args","ProfileComponent","PopupnotificationComponent","ChangePasswordComponent","MatDialogConfig","MatDialog","Router","AuthenticationService","BadInput","NotificationService","DocumentcontrolValidate","AppHeaderComponent","router","dialog","httpservice","notificationservice","service1","themeindex","color","themename","darklight","CurLedgerID","empname","split","undefined","username","ledgerid","loginphoto","badge","hidden","profiledetail","notificationdetail","ShowPopUp","getdocumentdetails","params","cid","flag","hide","GetExpiryDetails","result","errno","respdata","error","console","log","signout","clear","navigate","notification","dialogConfig","disableClose","autoFocus","dialogRef","open","ChangePassword","updateUserTheme","event","Flag","LedgerID","DarkLight","ThemeIndex","ThemeName","httpPost","Profile","toggleBadgeVisibility","EventEmitter","HostBinding","Input","Output","animate","state","style","transition","trigger","MenuListItemComponent","expanded","depth","onClickChild","emit","toggleMenu","isMenuOpen","status","onItemSelected","children","menuIDMapping","path","compName","filter","book","substring","animations","transform","HrpoliciesviewComponent","DatewisereportComponent","MerchantlistComponent","AssementgroupComponent","TimezonelistComponent","QuestionlistComponent","EmailconfigurationComponent","ProductconfiglistComponent","HrconfigurationComponent","EffortapprovalComponent","DocumentcontrollistComponent","ProjectallocationbyweekListComponent","EmpRegListComponent","EmployeeHierarchyListComponent","ProjectconfigurationListComponent","GroupListComponent","UserListComponent","EmpleaverequestComponent","TicketreportComponent","MonthlyreportComponent","CustomsreportComponent","LedgerstatementComponent","AdvancerequestComponent","TimesheetComponent","AttendancereportComponent","ExpensepostinglistComponent","TimepunchreportlistComponent","Injectable","EmpAttReportViewComponent","GoalslistComponent","TraininglistComponent","EmpleaverptComponent","LeavetypemasterComponent","LeaveManagementComponent","EntityconfigComponent","EstimationweeklyreportComponent","AuthMasterComponent","TypeofissuelistComponent","BranchlistComponent","ItempricelistComponent","NeworderlistComponent","StatuslistComponent","CategorylistComponent","LeavegrouplistComponent","ConsolidateEffortComponent","EffortauthorizeComponent","AttendanceComponent","TaskbyComponent","ITSHomepageComponent","ProjectAllocationByDayComponent","ResourceallocationbydayComponent","EmpTimesheetComponent","EmpattendanceviewComponent","CustomizeditemrptComponent","DocumentreqlistComponent","EmployeeOnBoardlistComponent","EmpdocreqlistComponent","ProjectcostComponent","EffortcostreportComponent","HelpdesktaskbyComponent","TimepunchComponent","TimepunchotreportComponent","TimepunchleavepostingComponent","MydocumentComponent","AuthorizegroupComponent","KanbanboardComponent","NewleavedirectapprovalComponent","HrgoalslistComponent","NewleaverequestComponent","TicketemailconfigexcelimportComponent","TicketemailrulecreationComponent","EffortauthconfigComponent","AspentaskbyreportComponent","AduitviewComponent","KanbanboardconfigComponent","ConsolidatetimepunchrptlistComponent","ShifttimepunchreportComponent","TickettreeviewComponent","ApprovalformlistComponent","TicketprefixconfigComponent","TicketlinklistComponent","PayslipComponent","EmpsalaryhikeComponent","PayslipreportComponent","EmpaccountsComponent","EmppayslippaymentComponent","PstemplatelistComponent","EmpcategoryComponent","DevxgridComponent","DevxkanbanboardComponent","EosreportComponent","LeavesalaryencashreportComponent","LicensecreatemainComponent","LicensereportComponent","TicketmanagerComponent","TaskbyviewComponent","LeaveGroupConfigComponent","notificationService","component","MenuID","count","comp","warn","providedIn","AppSidebarComponent","http","userid","getMenuitem","groupid","query","httpGet","removeEmptyProperties","navItems","objmenulist","stringify","ClickEvent","selected","obj","Object","keys","forEach","key","ContentChildren","ComponentFactoryResolver","GenericService","tabObj","_componentFactoryResolver","sharedService","ngAfterContentInit","title","isCloseable","componentFactory","resolveComponentFactory","viewContainerRef","dynamicTabPlaceholder","dynamicTabs","detach","componentRef","createComponent","temp","active","isClosable","push","tab","selectTab2","insert","hostView","closeTab","i","destroy","splice","closeActiveTab","TicketactivityviewComponent","WebcameraComponent","TicketComponent","TicketlistComponent","StatusComponent","TimezoneComponent","TypeofissueComponent","QuestionComponent","CurrentyearcarryforwardComponent","ProductconfigComponent","EntityComponent","LeavetypemasterviewComponent","DocumentdownloadComponent","DocumentcontrolComponent","AlternateempComponent","ProjecteffortComponent","HierarchyexcelimportComponent","EmployeeHierarchyComponent","ProjectconfigurationComponent","GroupComponent","UserComponent","LeaverequestComponent","LeaveApprovalComponent","AdvancerequestviewComponent","TimesheetviewComponent","HrpoliciesComponent","TrainingComponent","TrainingacessComponent","GoalsComponent","GoalaccessComponent","NgModule","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","CommonModule","ControlsModule","TimepunchreportComponent","ExpensepostingComponent","DialogColorcodeComponent","DialogleaveapprovalComponent","EmpRegComponent","ProjectallocationbyweekComponent","AuthMasterListComponent","BranchComponent","NeworderComponent","CategoryComponent","LeavegroupComponent","MerchantComponent","EmpprojectlistComponent","attachmentComponent","SampleComponent","ItsuserhomepageComponent","UploadprofilepicComponent","DocumentreqviewComponent","UploaddocrequestComponent","DownloaddocrequestComponent","EmployeeOnBoardComponent","OnboardapprovalComponent","TimesheetticketComponent","CommentComponent","DatecontrolComponent","Goals2Component","DialogtimepunchleavepostingComponent","EditotComponent","UpdatefingerprintComponent","NewpopupleavedirectapprovalComponent","LeavetypeconfigurationComponent","NestedgridComponent","ExcelImportDialogComponent","EditEmailTagListComponent","ResourceallocationbyweekComponent","CrmdatecontrolComponent","ResourceallocationbyweeklistComponent","LeavemgtelogComponent","KanbanboardfilterComponent","KanbanuserinitialComponent","KanbanboardconfigpopupComponent","KanbankeyvaluejsondataviewComponent","QuickaddComponent","LinkticketaschildComponent","ApprovalformfilterComponent","ApprovalformPostingComponent","DependencyrptComponent","TicketprefixdialogComponent","TicketlinkconfigComponent","MultiselectwithsearchComponent","MatSelectSearchComponent","VoucherforHRComponent","PayslippaymentfilterComponent","DynamicTableComponentComponent","EmpsalaryhikepostingComponent","PstemplateComponent","KanbanboardsearchComponent","WorklocationComponent","DialogformainformComponent","UserandgrouppermissionComponent","EospostingComponent","LeavesalaryencashpostingComponent","LicensecreatesubComponent","DialogforreportsComponent","ShowdetailsComponent","LinkLeaveTypePopupComponent","AddLeaveGroupPopUpComponent","ComponentsModule","declarations","imports","exports","schemas","DragDropModule","FormsModule","ReactiveFormsModule","MatAutocompleteModule","MatBadgeModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatStepperModule","MatDatepickerModule","MatDialogModule","MatExpansionModule","MatFormFieldModule","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatNativeDateModule","MatRippleModule","MatSelectModule","MatSidenavModule","MatSliderModule","MatSlideToggleModule","MatSnackBarModule","MatSortModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","MatTreeModule","CdkTableModule","A11yModule","BidiModule","CdkAccordionModule","ObserversModule","OverlayModule","PlatformModule","PortalModule","DatePipe","DxFormModule","DxDataGridModule","DxDropDownBoxModule","DxSelectBoxModule","DxDateBoxModule","DxButtonModule","DxSpeedDialActionModule","DxListModule","DxPopupModule","DxTreeListModule","DxTreeViewModule","DxTemplateModule","DxCheckBoxModule","DxToolbarModule","DxContextMenuModule","DxSortableModule","DxScrollViewModule","MAT_COLOR_FORMATS","NgxMatColorPickerModule","NGX_MAT_COLOR_FORMATS","CKEditorModule","MatSelectFilterModule","NgxMatSelectSearchModule","ColorSketchModule","providers","provide","useValue","BehaviorSubject","map","baseUrl","apiUrl","currentUserSubject","currentUser","asObservable","currentUserValue","value","login","password","applicationaccess","pipe","user","token","Photo","documentcount","TemplateGroupID","dtsiteid","CustomerSettings","next","success","errdesc","logout","getphoto","getSiteMaster","MatconformdialogComponent","DialogService","openConfirmDialog","msg","width","panelClass","message","Subject","menuSelectSubject","emitMenuSelect","HttpClient","saveAs","FileDownloadServiceService","downloadFile","fileUrl","get","responseType","observe","saveFile","blob","filename","Observable","XLSX","assignButtonVisibility","formRights","addflag","editflag","deleteflag","viewflag","approveflag","refreshflag","allempflag","inv","val","Options","toUpperCase","buttonVisibility","btnvisibility","create","observer","excelExport","sheetname","workSheet","utils","json_to_sheet","workBook","book_new","book_append_sheet","writeFile","getWeblink","conObj","localStorage","webLink","MatSnackBar","snackBar","duration","horizontalPosition","verticalPosition","config","Camera","CameraResultType","CameraSource","Filesystem","Directory","PhotoService","Promise","resolve","reject","reader","FileReader","onerror","onload","readAsDataURL","addNewToGallery","capturedPhoto","getPhoto","resultType","Uri","source","quality","height","savedImageFile","savePicture","photos","unshift","cameraPhoto","base64Data","readAsBase64","fileName","Date","getTime","savedFile","directory","Documents","filepath","webviewPath","webPath","response","fetch","convertBlobToBase64","AppErrorHandler","handleError","AppError","originalError","NotFoundError","throwError","catchError","ErrorInterceptor","authenticationService","intercept","request","handle","err","location","reload","statusText","JwtInterceptor","isLoggedIn","isApiUrl","url","startsWith","clone","setHeaders","HttpHeaders","Platform","plt","baseURL","post","httpPost2","headers","append","httpOptions","httpPost3","httpGet2","ErrorEvent","PreloadAllModules","RouterModule","LogInComponent","routes","AppRoutingModule","forRoot","preloadingStrategy","AppComponent","ErrorHandler","BrowserModule","BrowserTransferStateModule","RouteReuseStrategy","IonicModule","IonicRouteStrategy","FlexLayoutModule","BrowserAnimationsModule","HttpClientModule","HTTP_INTERCEPTORS","NgxImageCompressService","WebcamModule","DxPieChartModule","DxChartModule","DxPolarChartModule","AppModule","entryComponents","useClass","multi","bootstrap","MatSort","MatPaginator","MatTableDataSource","FormBuilder","UserService","generic","formBuilder","datePipe","dialogService","getddllist","getUserAgent","userAgent","navigator","dataSource","Griddata","sort","paginator","Submit","doFilter","filterValue","exportAsExcel","add","afterClosed","Edit","SlNo","Slno","View","downloadTextFile","text","Blob","type","link","createElement","window","URL","createObjectURL","href","download","appendChild","click","removeChild","revokeObjectURL","Download","CompanyName","static","Validators","MAT_DIALOG_DATA","MatDialogRef","Inject","savevisibile","downloadvisible","LicenseSubFormGroup","group","fcClient","required","fcNoofUsers","fcNoofCompanies","fcExpiryDate","fcServerID","fcCreatedBy","fcCreatedDate","fcCreatedPC","fcRestriction","fcComment","fcBatch","fcBin","fcSerial","controls","disable","EditData","setValue","curdate","changeclient","e","Existdata","Value","Editdata","Clients","PCName","Machine","filteredList5","slice","MachineName","invalid","showSpinner","curdatetime","time","toLocaleTimeString","hour12","Companyname","NumberofUsers","NumberofCompanies","ExpiryDate","ServerID","CreatedBy","CreatedDate","CreatedPC","Restriction","Comment","BatchTracking","BinTracking","SerialTracking","setTimeout","onCloseDialog","reset","close","onDownloadLicense","onClear","LicenseReportFormGroup","Pageload","Licensedata","onFocusedRowChanged","pid","onRowPrepared","rowType","Expired","rowElement","backgroundColor","Shortly","dialogRef1","Quit","empdetails","EmployeeDetails","actualleavedetails","AcutalLeaveDetails","LeaveDetails","EmpID","AliasName1","nationality","Nationality","mobileno","MobileNo","emailid","EMail","currentaddress","CurrentAddress","permentaddress","PermenantAddress","joindate","JoiningDate","designation","Designation","ChangeProfilePic","ledgerID","FormGroup","FormControl","minLength","confirmpassword","inactive","showpopup","timepunch","maincolor","secondarycolor","distance","lngcode","activedirectorypath","activedirectorydomain","activedirectoryuserid","companies","merchantid","templateid","timezoneid","usertype","worklocation","ERP","CRM_WEB","CRM_MA","DASHBOARD","initializeFormGroup","form","jsonData","populateForm","userID","getUser","userdata","Approved","SiteID","ApplicationAccess","erpValue","UserName","Password","GroupID","InActive","SetGeoLocation","ERPMainColor","ERPSecondaryColor","DefaultLngCode","ActiveDirectoryPath","ActiveDirectoryDomain","ActiveDirectoryUserID","TZID","WLID","setErrors","getUserList","setDefaultValues","patchValue","getUserDefaultLoads","tablename","condition","withinactive","delete","ChangePwd","fcPassword","fcNewPassword","fcConfirmPassword","CurUsername","UserID","NewPassword","res","HostListener","Workbook","exportDataGrid","my","at","of","items","action","parent","menu","targetId","found","findMenuId","onClickOutside","menuVisible","target","contains","contextMenu1","nativeElement","onResize","setDynamicHeight","windowHeight","innerHeight","dynamicHeight","onToolbarPreparing","toolbarOptions","widget","options","isFilterRowVisible","onValueChanged","Class","hideOnOutsideClick","getElementById","fromdate","todate","loaddata","onGridContentReady","isDataLoaded","applyFilter","gridContainer1","instance","Filterstring","filterString","trim","parsedFilter","clearFilter","updateFilterString","FilterString","changelayout","selectedLayoutName","selectedFilterName","Filterchange","Layout","flag_","layoutname","lablname","LayoutName","DefaultLayout","setDefault","flag1","saveGridLayout","saveFilterLauout","filterState","getCombinedFilter","saveGridFilter","setDefault1","menuID","userrights","_CID","_MenuID","_Flag","_FilterName","_FilterString","_DefaultLayout","_UserRights","_GroupRights","grouprights","_UpdatedBy","users","captureGridState","filteredColumns","columns","column","gridState","grid","formatting","formatting2","groupSummary","Summary","masterLayout","_GridLayoutName","_MasterGridLayoutXML","_ChildGridLayoutXML","loadGridLayout","tem","refresh","DatePicker","DateTypeFlag","frmdate","datetype","inferDataType","isNaN","Number","isoDatePattern","test","commonDatePattern","onGridInitialized","_Condition","FromDate","ToDate","t","toPromise","then","gridloyoutlist","GridLayOutName","gridfilterlist","FilterName","menuDetails","actioncolumnvisible","dynamicColumns","parsedGridState","MasterGridLayOutXML","layoutData","dataField","visible","visibleIndex","groupIndex","dataType","field","caption","applyGridLayout","addGroupColumn","columnField","find","col","clearGrouping","index","columnOption","removeGroupColumn","applySummary","summaryType","existingSummary","summary","addConditionalFormatting","formatColumn","backgroundCondition","formatStyle","applyFormatting","styles","f","evaluateCondition","cellElement","cssText","valueString","toString","numericCondition","match","operator","number","parseFloat","toLowerCase","onCellPrepared","onIconClick","someElement","currentTarget","isContextMenuVisible","stopPropagation","eventColumn","contextMenu","show","onMenuItemClick2","onMenuItemClick","itemData","onColorChange","hex","applyFontColor","applyBackgroundColor","onConditionChange","fontCondition","existingFontFormattingIndex","findIndex","format","existingFormattingIndex","onExporting","workbook","worksheet","addWorksheet","conditionalFormattingRules","customizeCell","gridCell","excelCell","cellValue","font","argb","rule","includes","bgColorMatch","fill","pattern","fgColor","fontColorMatch","groupField","groupValue","columnCount","cell","getCell","row","xlsx","writeBuffer","buffer","cancel","onActionClick","cellData","eventPosition","element","selectedRowData","onMenuHiding","onMenuItemClick1","clickedItem","menulist","PassingData","rowValue","otherForm","TicketID","TemplateID","ActiviteID","Permission","role","Name","shouldApplyHeaderFilter","groupmgtService","_snackBar","pageSize","getGroupMgtdata","GroupMgtForm","groupname","createddate","createdby","defaultsite","modifiedby","modifieddate","grouplevel","returnvalue","errormessage","openDialog","groupID","groupName","GroupmgtData","cID","GroupName","openBottomSheet","collecData","deleteGroupMgt","editTask","alert","GroupData","DxTreeViewComponent","_formBuilder","menuformsettings","showCheckBoxesModes","selectionModes","GroupNameFormGroup","firstCtrl","TreeDataFormGroup","secondCtrl","groupmgtdata","grpid","loadMenuGrouping","employees","treeViewSelectionChanged","syncSelection","treeViewContentReady","treeView","selectedEmployees","getSelectedNodes","node","parentid","showCheckBoxesModeValueChanged","showCheckBoxesMode","isSelectionModeDisabled","selectionMode","isRecursiveDisabled","selectionModeValueChanged","selectNodesRecursive","unselectAll","bindSelectedData","SetGroupMgtSubDetails","DefaultSiteID","Username","dtGroupData","ApplicationType","errordesc","Employee","Group","userlist","grouplist","arrayOfObjects","arrayOfObjects1","UserRights","GroupRights","history","gridpagesize","emitData","onEdit","btnVisilityData","formrights","addbtnvisible","editbtnvisible","deletebtnvisible","viewbtnvisible","listData","groupall","onSearchClear","searchKey","onCreate","useridold","updateRowData","Status","openUserComponent","_flag","onDelete","onsetting","fb","setStep","step","nextStep","prevStep","groups","languages","templategroupid","timezone","merchantlist","filteredList6","Usertype","companiesservice","siteid","AllowAccess","getSerializedString","selectedValues","onSubmit","valid","curDate","paramsFormValue","serializedString","paramsExtra","defaultsiteid","lastupdatedby","lastupdateddate","jsondt","assign","model","onClose","updateCompany","isUserInput","compid","_element","innerText","locate","geolocation","getCurrentPosition","position","lat","coords","latitude","long","longitude","loadScript","latDes","longDes","origin","destination","newUrl","win","focus","Add","addvisible","editvisible","isDisabled","edit","LoadData","WLList","GeoID","WorkLocation","Location","locationchange","save","InjectionToken","configurableDefaultOptions","MAT_SELECTSEARCH_DEFAULT_OPTIONS","MatSelectNoEntriesFoundDirective","MatSelectSearchClearDirective","A","DOWN_ARROW","END","ENTER","ESCAPE","HOME","NINE","SPACE","UP_ARROW","Z","ZERO","ViewportRuler","ChangeDetectionStrategy","ContentChild","ElementRef","forwardRef","Optional","NG_VALUE_ACCESSOR","MatOption","MatFormField","MatSelect","combineLatest","delay","startWith","switchMap","take","takeUntil","tap","MatSelectSearchComponent_1","_formControl","_options","_options$","getValue","matSelect","_viewportRuler","matOption","matFormField","defaultOptions","_","changes","toArray","optionsList$","valueChanges","optionsLength$","optionsLength","noEntriesFoundLabel","getOptionsLengthOffset","applyDefaultOptions","hasOwnProperty","disabled","_getHostElement","classList","setAttribute","openedChange","_onDestroy","opened","updateInputWidth","disableInitialFocus","_focus","clearSearchInput","_reset","previousFirstOption","currentFirstOption","keyManager","_keyManager","panelOpen","firstOptionIsChanged","compareWith","activeItem","option","setActiveItem","_showNoEntriesFound$","showNoEntriesFound","remove","change","initMultipleHandling","markForCheck","_emitSelectAllBooleanToParent","toggleAll","complete","_isToggleAllCheckboxVisible","multiple","showToggleAllCheckbox","_handleKeydown","keyCode","preventHomeEndKeyPropagation","enableClearOnEscapePressed","_handleKeyup","ariaActiveDescendantId","_getAriaActiveDescendant","id","unselectActiveDescendant","activeDescendant","searchSelectInput","writeValue","_lastExternalInputValue","onBlur","onTouched","registerOnChange","fn","registerOnTouched","panel","scrollTop","ngControl","previousSelectedValues","values","restoreSelectedValues","alwaysRestoreSelectedOptionsMulti","Array","isArray","optionValues","previousValue","some","v","_onChange","innerSelectSearch","panelElement","parentElement","clientWidth","removeAttribute","read","useExisting","changeDetection","OnPush","MatDividerModule","MatSelectSearchVersion","ReplaySubject","banks","loadCombo","filteredBanksCache","inputcomboValue","getPanelClass","FormName","multiselectedvalue","bankMultiCtrl","filteredBanksMulti","bankMultiFilterCtrl2","filterBanksMulti","setInitialValue","toggleSelectAll","selectAllValue","multiSelect","a","b","Valuemember","search","bank","Displaymember","indexOf","formname","updatePanelClass","VouNo","Description","VouDate","ApprovedStatus","Amount","RevNo","ApproveBy","RuleID","BPID","VouNO","ApproverStatus","ApproverComment","ht","ByPassApprove","JsonValue","ProjectID","TCDiscountAmount","TCItemTaxAmount","TCMiscAmount","setDate","today","getDate","priorDate","qtnstatus","param","closeDialog","Condition","dataSource1","Show","dt","onUpdate","ApprovedBy","openFilterDialog","right","onSearch","itemString","MenuName","searchQuery","currentPage","approvallist","updateSize","onCancel","configparam","DecimalPlace","decimalplace","decimalformat","loadItems","filteredOptions","myControl","_filter","onCompanySelect","itemcode","description","stock","wac","itemprice","SiteMasterData","Companylist","itemdesc","pluck","selecteditem","where","getItemPriceList","salesmanid","barcode","spinnervisible","itemDetails","ItemMaster","ItemPriceList","ShowWac","WacVisibility","ShowPricelist","PricelistVisibility","itemStockDetails","NeworderService","genericService","postFile","fileToUpload","customerLedger","customername","formData","FormData","newOrderService","imageCompress","loadCustomerAndSalesman","customernames","customers","Customers","selectedcustomer","customerSelection","customer","onClickFileInputButton","fileInput","selectFile","files","filesAmount","file","selectedFiles","event1","localUrl","compressImage","image","orientation","compressFile","imgResultAfterCompress","sizeOFCompressedImage","byteCount","imageName","imageBlob","dataURItoBlob","File","Error","dataURI","byteString","atob","arrayBuffer","ArrayBuffer","int8Array","Uint8Array","charCodeAt","viewImage","from","uploadedfile","result1","getBase64Image","imageUrl","OnSubmit","Caption","Image","buttonvisible","toLocaleDateString","getSalesmanOrder","addRow","addPhoto","photoService","addPhotoToGallery","setphotogallery","AliasName","removeImage","x","byteCharacters","byteNumbers","byteArray","onFileChange","ev","cellDates","wsname","SheetNames","ws","Sheets","sheet_to_json","dateNF","raw","dataString","JsonString","readAsBinaryString","datasource","CustomizedItemFormGroup","fcCompany","fcFromDate","fcToDate","Companies","changesite","SalesManID","ItemList","logEvent","startEdit","editRow","rowIndex","LoginFlag","rowdata","COMMA","EffortFormGroup","fcProject","fcEmployee","EforrtDataFormGroup","PageLoad","control","selectedprojectid","projectid","selectedEmployee","str","Projectlist","markAsPristine","markAsUntouched","input","employeelistselected","Math","random","removeFirst","array","toRemove","Employees","Project","allEmployees","filteredEmployees","SearchClear","dtProject","EffortDataGrids","Effortdata","TotHours","TotHrs","EffortHours","TotOTHours","TotOTHrs","OTHours","stepper","selectedIndex","addemployees","removeemployees","emp","optionActivated","$event","autocompleteTagsOptionActivated","selectedemployees","empInput","PICK_FORMATS","dateInput","month","year","day","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","fcProduct","fcCategory","fcStatus","OngoingDataGroup","allCategories","filteredProjects","allProjects","iscatgoryhiding","projects","addcat","categories","addprojects","cat","toppings","removeprojects","prj","catInput","selectedprojects","prjInput","_filterprojects","value1","filterprojectValue","Products","Product","Projects","Client","Category","tabIndex","DateType","Hours","Visiblelist","Visible","isTicketVisible","Visibility","isCategoryVisible","isProductVisible","isProjectVisible","isClientVisible","isStarttimeVisible","isEndtimeVisible","istickethiding","Position","isproducthiding","isprojecthiding","isclinethiding","OngoingEffort","OngoingDataGrids","TaskCount","TimepunchGroup","fcTimezone","Loaddetails","empid","displayFn","selectedproduct","employeelist","changetimezone","TimeZone","Employeelist","timezonelist","Timezonelist","list","DxDataGridComponent","toISOString","ApprovalFormGroup","EffortDataFormGroup","filteredOptions2","myControl1","employeeidname","projectdata","EffortApprovalDataGrids","selectedEmpID","EmployeeID","Companyid","onSelectionChange","AuthorizerID","Datasource","selectedEffortSlno","Save","removeIsHalfDay","IsHalfDay","removeName","removeClient","removeTicket","Ticket","removeEffortDate","EffortDate","removeStatus","removeStartTime","StartTime","removeEndTime","EndTime","removeCategoryName","CategoryName","FinalData","validateTime","calculateEffortStartTime","newData","currentRowData","startTime","endTime","stringDate","getFullYear","getMonth","padStart","getHours","getMinutes","getSeconds","difference","getTimezoneOffset","calculateEffortEndTime","onSelectionChanged","currentSelectedRowKeys","currentDeselectedRowKeys","allSelectedRowKeys","allSelectedRowsData","keydata","j","EffortApprovalDataGrid","CostReportFormGroup","fcGroupBy","CostReportDataFormGroup","filteredOptions1","_filter1","employeeid","selectedemployee","selectedEmployee1","CategoryType","GroupBy","setStateValue","bind","TimeSheetFormGroup","fcDate","onChangeEvent","Categorylist","Productlist","Clientlist","HomePage","Rolelist","Role","isRoleVisible","Table11","Table12","Table13","Table14","Table15","PreviousEffort","PrevEffort","CommonTask","rowData","GetStrucure","ticketdetails","parseInt","Field4","ProjectUID","MerchantLedgerID","Listarray","ApplicationDetails","Ticketdetails","MyTask","TaskList","TimeSheetTicketFormGroup","GetEmail","ConditionJson","EmailJson","TicketJson","temp5","EmailConfig","key1","keydata1","temp6","MonthlyReportFormGroup","fcMonth","fcYear","CustomDataFormGroup","Curmonthvalue","inputString","parts","lastPart","pop","join","Month","Year","MonthlyData","MonthlyLeaveData","Department","LeaveType","RtnStatus","Months","TicketReportFormGroup","fcTicketNo","TicketNo","TicketData","ITSdataSource","ITSData","Priority","priority","Createdby","Requeston","RequestOn","RequestType","date","AdvanceRequestFormGroup","Types","Type","Currency","AdvanceRequestlist","approvebtnvisible","exportbtnvisible","RequestID","ReqID","Delete","sdate","Prefix","AdvAmount","ApprovedAmt","MonthlyDeduct","DeductionMonthCount","StartDate","Approve","savebtnvisible","selectedReqID","AdvanceRequestViewFormGroup","fcType","fcDescription","fcAmtRequest","fcCurrency","fcApprovedAmt","fcMaxMonth","fcMonthlyDeductAmt","onReqIDChange","AmountRequested","ApprovedAmount","ApprovedDate","Monthydedamt","FormArray","ordersFormArray","AttendanceDataFormGroup","orders","columnDef","header","S","M","T","W","T1","F","S1","S2","M1","T2","W1","T3","F1","S3","S4","M2","T4","W2","T5","F2","S5","S6","M3","T6","W3","T7","F3","S7","S8","M4","T8","W4","T9","F4","S9","S10","M5","T10","c","AttendanceReportFormGroup","addCheckboxes","leavelist","getComboValue","summarydetails","getcolor1","getcolor2","getcolor","leavelist1","colorName","LID","ColorCode","gettimepunch","checkcode","Ledger","removeDisName","disName","removeCarryForward","IsCarryForward","yearlist","lid","checked","leaveid","newList","DocumentRequestlist","CDID","DocumentView","onUpload","cdid","Documentreqvalidate","postingdate","PostDate","TaskCategory","desc1","Desc1","desc2","Desc2","desc3","Desc3","desc4","Desc4","comment","startdate","enddate","DueDate","popupdays","PopUpDays","notifyflag","NotifyFlag","getdocumentcontrol","taskno","setdocumentcontrol","Taskno","downloadImage","AddFileDetails","Menuid","empvisible","DocumentRequestViewFormGroup","EmpName","DocType","DocComment","DocStatus","ReqDate","RequestDocType","RequestDate","DcValidate","downloadDocFile","slno","docname","FileName","DocFile","Comments","FilePath","Extension","PostingDate","modalRef","parentForm","fileUploadId","onFilesChange","onRemove","TaskID","getPath","Form","forms","inputName","elements","imgPath","FormType","fieldvisible","isvisible","Statuslist","updateClick","upload","onevent","bytes","char","flag2","fileUpload","onchange","extension","onClick","onlimit","limit","datasource1","store","AttendanceGroup","fcSubCategory","fcEffort","fcPostedBy","TimepunchDataGroup","Effortlist","Effort","getAttendancereport","Refresh","SubCategory","PostedBy","category","Subcategory","SubCategorylist","EmployeeList","Main","Templatelist","TemplateList","GeneralFormGroup","OnBoardTag","OnBoardTemplateID","LOCALE_ID","locale","dataset","ApprovalDetails","onTemplateSelect","addnewEmp","Approval","onRowPreparing","OnBoardID","Prefixlist","prefixlist","Ledgerlist","ledgerlist","griddata","documentno","prefix","rangeno","RangeNo","Expenseposting","fcPrefix","fcDocumentNo","fcVouDate","getExpenseposting","DocNo","DocDate","DtExpense","TotalAmt","Fromdate","ExpensepostingGroup","filterOption","datefilter","ApproveStatus","DocumentNo","LedgerStatementFormGroup","fcLedger","refreshbtnvisible","ReportName","GridData","updateEmployee","fcTimeZone","fcDepartment","fcLedgerid","categoryselect","onDialog","groupselect","EmpDataView","isgridvisible","Departments","submit","colorCtr","CRMDateControlFormGroup","fcCurrentDate","fcCurrentYear","Curisvisible","radioChange","Bydateisvisible","Bymonthisvisible","ByMonthYearvisible","CurrentYearvisible","todaycheck","bydatecheck","bymonthcheck","byyearcheck","BussinessDate","Table7","alldatecheck","rtnfromdate","myCurrentDate","myPastDate","lastsevencheck","Close","rtntodate","d","DateControlFormGroup","Table6","datalist","AccountSource","AccountGrid","Getstructure","gratuityvisible","_SiteID","_RefNo","objcsls","Daysinmonth1","Daysinmonth","daysinyear1","Daysinyear","Basicsalary","_BasicSalary","PerDayGratuity","_PerDayGratuity","TotDayGratuity","_TotalDaysGratuity","_LedgerID","_Comment","Assignlabels","Populate","_PostDate","_ExcludeEmergency","ExcludeEmergency","ContractType","leavedays","_LeaveDays","workdays","_NoofDays","perday","_PerDay","totaldays","_TotalLeaveDays","_FromDate","payslipmonth","daysinmonth","daysinyear","noofdays","monthleaveamt","_MonthlyLeaveAmount","perdayleaveamt","_PerDayLeaveAmount","finalleaveamt","_ChagLeaveAmt","EmpPassage","_PassageAmt","PerDayPassage","_PerDayPassageAmt","FinalPassage","_ChagPassageAmt","_CalcLastMonthSalary","_ChangeLastMonthSalary","_CalcLeaveAmt","_CalcPassageAmt","_Year","_Month","_Day","totalGratuityDays","postDate","twoDate","unpaidLeaveDays","unPaidLeaveDays","adjustedDays","ExcludeUnPaidLeave","addDays","Y_M_D_Diff","_JoiningDate","formatNumber","_BasicSalaryforGratuity","dateDiffInDays","_TotDays","_CalcGratuity","_ChangeGratuity","toFixed","_AdvOutStanding","_CalcEosAdvAmount","_ChagEosAdvAmount","_PSAmt","_PensionAmt","_LessAmt","TCDebit","onRowInserted","dataIndex","firstRowTCDebit","decimalPlaces","days","calculateYearMonthDayDifference","joiningDate","startDate","endDate","start","end","diffTime","diffDays","ceil","dateOne","dateTwo","dateOneObj","dateTwoObj","years","months","previousMonth","priceDecimalPoint","CalcAmount","_NetAmt","_TotalAmt","isforceNo","RefNo","dateStr","formattedDate","csLS","_FormPrefix","_BusinessPeriodID","DT_AccountLedger","onRowUpdating","onEditorPreparing","OnCellPrepared","fontWeight","recalculateAmounts","totalAmount","lessAmount","row1","onCellValueChanged","onRowUpdated","changeCategory","togglePanel","panelExpanded","onTabClick","Filter","Date1","PayLedger","Typelist","sumofearings","reduce","total","currentItem","Earnings","sumofdeduction","Deductions","sumofnetamount","NetAmount","sumofpaidamount","PaidAmount","PSRef","UntypedFormControl","UntypedFormGroup","fetchDataSource","Particulars","input_template","myFormGroup","onEmployeechanged","WPSlist","EmpTypeList","HikeCount","BankACNo","IBan","BankName","BeneficiaryCode","WPSID","WPSRoutingCode","ChequeName","formValues","twoColumnArray","HRType","str_SiteID","int_BusinessPeriodID","ObjEmpMain","str_EmpID","dtp_JoiningDate","str_BankACNo","str_IBan","str_BankName","str_BeneficiaryCode","str_ChequePrintName","dbl_MonthlyDeductable","int_DeductMonth","str_CreatedBy","dtp_CreatedDate","str_LastUpdatedBy","dtp_LastUpdatedDate","ObjEmpWPSDetails","str_WPSID","str_WPSType","EmpType","str_WPSRoutingCode","ObjEmpHR","dt_EmpHR","cd","cities","selectedCities","onSelect","addItem","createItem","DaysinMonth","LeaveSalary","Gratuity","DaysinYear","VacationDays","CarryForward","PassageAmount","formGroup","removeItem","removeAt","str_flag","initialValues","dt_empcategory","toggleTheme","isDarkTheme","EmpLeaveFormGroup","fcReturnStatus","fcLeaveType","LeaveDataFormGroup","LeaveDataGrids","Leavedata","LeaveID","LeaveDataDataGrid","changeMode","selectionChange","handleCheckboxChange","FullPay","fullpayCheckboxValue","VoucherNo","Mode","LedgerType","typevisible","categoryvisible","employeevisible","PSType","dt1","ID","rest","int_CID","dt_Main","str_Type","str_VoucherNo","str_FormPrefix","str_MenuID","str_LedgerID","int_RevNo","str_Flag","dtp_VoucherDate","str_Comment","str_Category","str_PSType","str_FrmDate","str_ToDate","data1","PaymentLedger","NetAmt","acc","PaidAmt","handleRowUpdating","dateObj","parts1","day1","month1","year1","dateObj1","formattedDate1","categorylist","PSTType","EmpRegValidate","FirstName","LastName","FamilyName","DOB","Gender","MaritalStatus","BloodGrp","FingerPrintID","Grade","DateofJoining","DateofRelieving","CreateLogin","AuthorizationGroup","PreFlatorStreet","PreArea","PreCity","PreState","PrePincode","PreCountry","PreTelephone","PreExtension","PreMobile1","PreMobile2","PreEmail1","PreEmail2","PerFlatorStreet","PerArea","PerCity","PerState","PerPincode","PerCountry","PerTelephone","PerExtension","BankACName","IBAN","BankACType","BankBranchName","TownCity","getEmployeeconfig","setprojectconfig","BloodGroup","Gname","TimeZoneID","RelievedDate","AuthGroupID","PreStreet","PreTown","PreTel","PerStreet","PerTown","PerTel","BankACHolderName","Branch","Town","subcategory","getEmployeeDetails","showInfo","AddNewEmployee","CostPerHour","CurDate","GenderName","loginvisible","Empid","forceid","useEmployeeID","readonly","getPageLoad","department","grade","authorizationgroup","dashgroupid","Table10","Table9","Table8","Categories","optionNationality","UploadImage","getEditPageLoad","intChkForceId","GoalID","_filteremployees","getGoalsdetails","currentdate","emplist","AssessmentType","newChip","chip","addEngineer","allowFreeTextAddEngineer","matAutocomplete","isOpen","selectEngineerByName","resetInputs","removeEngineer","engineer","chipSelectedEmployees","engineerSelected","engineerInput","filterOnValueChange","engineerName","allEngineersLessSelected","allEngineers","filterEngineer","engineerList","filteredEngineerList","engineersMatchingEngineerName","foundEngineer","highestEmployeeId","max","employee","GoalName","GoalDescription","EntryDate","groupenable","GoalStatus","CreateDate","MomentDateAdapter","MAT_MOMENT_DATE_ADAPTER_OPTIONS","DateAdapter","MAT_DATE_FORMATS","MAT_DATE_LOCALE","_moment","default","_rollupMoment","DomSanitizer","moment","MY_FORMATS","sanitizer","hideme","myFormGroup1","groupbtnvisible","chosenYearHandler","normalizedYear","ctrlValue","chosenMonthHandler","normalizedMonth","datepicker","onMangerSubmit","paramvalue","assessmentvalue","ColumnName","managerquestions","label","startOf","toDate","emptable","form_template","fd","loadmore","commentlist","commentvisible","onMore","rowindex","h","extravisable","Commentdetails","CommentList","onReportingEmployee","ProfileImage","Reportingemployees","ProfileName","assessmentType","Profilevisible","Post","Cancel","currentuserImage","GoalList","newList1","EmployeeQuestions","assessmentvisible","ReturnValue","NumberofRows","group123","Answer","ReportingEmployees","groupvisible","GroupLevel","Level","newList2","temp2","ManagerQuestions","group1","managervalue","managervisible","deps","LeaveTypeID","Annualleavepolicy","Years","DataSource","Carryforward","HalfDay","WorkingHrs","HrPolicyFormGroup","fcFullDay","fcHalfDay","fcWorkingHrs","full","Timezone","Days","filteredcolumn","WeekEnd","dtHolidays","eventName","editlist","AllWeekEnds","HoliDays","WorkingHours","LeaveApprovalService","isError","errorMessage","requestyear","dayslist","sessionlist","Session","daystatus","sessionVisible","returnVisible","getleavelist","getleaveapproval","validateDates","sDate","eDate","isValidDate","returndate","_frmdate","_todate","EmpUniqID","setleaveapproval","onDaysSelect","dayvalue","leavetype","GetLeaveDetails","SetLeaveDetails","getemployeelist","toggleNavbar","navbarOpen","toggle","popupVisible","onvaluechanged","DayStatus","RtnDate","ReturnDate","SessionType","params1","onView","approverdetails","otherdetails","session","formtype","LeavepostingelogFormGroup","onLeaveIDChange","Leavehistory","isReadonly","ApprovalByName","LeaveMgtFormGroup","fcRequestType","LeaveMgtDataFormGroup","isLeaveIDVisible","optionStatus","getLeaveData","LeaveStatus","AuthorisedBy","PageLoadLeavedata","onApprove","GridLeaveID","ApprovalLeaveType","onDecline","dataSource2","Leavelist","History","LeaveList","SelectedEmployee","HikeDetails","DT_SalaryTags","_LeaveID","_TillDate","Select","JoingDate","Yearlyleavetype","_YearlyLeaveType","_CarryForward","AccuredLeave","_AccuredAnnualLeave","LeaveToken","_LeaveTaken","AvailableLeave","_AvailableLeave","SalaryAmount","_SalaryAmount","_PerDayAmount","noofencashdays","CalenderDays","DT_EnCash","sum","Total","_VouNo","_EnCashDays","_CalendarDays","_dtpPostDate","InvoiceAccounts","Get_MatchedInvoice","NoOfLeavetoEnCash","PerDayLeaveAmount","WAGES","wages_","AdvType","sumOfPayNow","Wageslist","PayNow","Totalamt","Item","_Alias","_TotalAmount","DT_Wages","onRowInserted1","_AdvType","_FormType","objmain","str_PSRef","Payslipobj","dt_Wages","CustomText","Formula","Parameter","AffectNetAmount","Readonly","PSMainTag","newValue","str_VouNo","Revno","str_Prefix","str_Interval","Interval","str_Description","dt_PSTemplatesub","particularslist","cdr","age","email","loadUserPreferences","savedColumns","saveUserPreferences","onOptionChanged","fullName","columnIndex","isVisible","servicepath","isCompactMode","displayMode","str_EmpName","str_Categotry","dtp_FromDate","dtp_ToDate","dtp_Date","str_PaymentStaus","LastRow","PSNo","TotEaring","TOTEAR","TotDeduct","TOTDEDUT","TotAmount","NSAL","TotAbsAmt","AbsAmt","tooltip","str_Tag","columnsData","columnNames","tableData","onButtonClicked","Taglist","dbl_Percentage","Percentage","dt2","Ledgerid","drow","prop","dt_EmpDocumnet","str_ApprovedBy","dtp_ApprovedDate","bool_ApprovedStatus","onRowDoubleClick","customizeColumns","buttons","hint","fcDateType","fcShift","gettimepunchreport","LEDGERID","EMPID","onEditOT","OT","UpdateFingerprintID","Sync","AbsentList","Categoryid","CurrentMonth","CurrentYear","todate1","MonthYear","JoinType","AbsentGridData","ShiftID","isPunchOTvisible","isEffortOTvisible","isOTEditvisible","shiftname","date1","TimeSheetViewFormGroup","EditListarray","onMap","gettimepunchdata","PostLeave","PostTimepunch","applyFilter1","TName","TID","SDate","EDate","EndDate","TrainingList","strAuthID","strAuthName","AuthMasterlist","AuthorizeGroupID","AuthorizeGroupname","geteditvalues","addContrat","code","_selected","removeContract","intLevel","dt_GroupList","strUserID","strGroupID","EmployeeName","EmployeeGroup","level","intlevel","AuthMaster","AuthDetails","_row","AuthorizeGroupName","moveItemInArray","transferArrayItem","AuthFormGroup","fcFrom","fcTo","changefrom","getgroupempname","changeto","From","SearchData","To","dtAuth","drop","previousContainer","container","previousIndex","currentIndex","tableDataSource","ngOnChanges","getColumnIds","displayedColumns","getColumnIds1","buttonClicked","groupBy","checkGroupByColumn","groupByColumns","addGroups","filterPredicate","customFilterPredicate","performance","now","rootGroup","getSublevel","uniqueBy","currentColumn","subGroups","rowsInGroup","totalCounts","subGroup","concat","seen","k","groupHeaderClick","getDataRowVisible","groupRows","isGroup","LeaveTypeMaster","fcLeaveName","fcCarryForward","fcLeaveCode","fcEncashment","fcDayType","fcCFNoOfDays","fcCFExpiry","fcWeekEnds","fcHolidays","isTzidVisible","isStatusVisible","isALPIDVisible","newDynamic","accrual","NoOfMonthFromJoiningDate","dynamicArray","selectedLeaveName","SelectedValue","LeaveName","CarryForwardDays","LeaveDayType","LeaveDescription","LeaveCode","NoofDays","setEncash","Encashment","setWeekEnd","SetWeekEnd","setHolidays","SetHolidays","AccrualDat","carryForward","DayType","rowcount","Count","SetHoliday","DtAccrualLeaveData","deleteRow","DynamicGrid","ELEMENT_DATA","AccrualType","Day","AffectedYear","debounceTime","distinctUntilChanged","employeeFilterCtrl","filterText","filterEmployees","filteredEmployeelist","stepLabel","selectedStep","payslipgrid","selectedTabIndex","daysInMonth","getDaysInMonth","PayslipTemplateGrid","payslipobj","dynamicColumnNames","DT_PayslipTemplate","isDialogOpen","_PSRef","showme","isshowme","Build_PaySlipMainDT","Build_PaySlipSubDT","accot","DT_PaySlipMain","both","row2","date_PostDate","date_PSMonth","dt_PaySlipMain","dt_PaySlipSub","DT_PaySlipSub","dt_InvoiceAccounts","str_CurrencyCode","parentType","editorOptions","ADVDeduct","item1","item2","AmountType","dt_Employees","dt_Employee","dt_Absent","dt_SalPartWithGrossAmount","dt_OTHours","dt_WeekEnd","colindex","_DaysInMonth","dt_PayslipTemplateGrid","Columnname","editValue","columnName","Updated","PTagName","ATagName","HTagName","ETagName","DTagName","t1","Leavetype","DisableDataService","getFederalHolidays","disabledate","OTFormGroup","fcOT","Time","dateservice","comments","TPid","myDateFilter","dateRange","WAGES_","oldData","BalAmt","CustomsReportFormGroup","myControl2","fcIssue","fcLocation","fcPriority","fcBranch","fcSubject","fcTaskBy","fcTicketCatgory","fcSLA","_filter2","taskbyselect","FilterBy","Createddatevisible","Updateddatevisible","selectedemployee2","selectedEmpID1","Issues","Issue","ReqType","AssignTo","Reportby","TicketCategory","Taskdata","isColorCodeVisible","CreatedbySearchClear","RequestonSearchClear","ProjectSearchClear","onKey","eventID","opt","ClientName","className","fcInline","SLA","Dependencybtnvisible","SLAColorCode","ParentColorCode","Dependency","datepipe","Sortbyid","Sortbyname","TicketIDSubject","chunk_size","arr","matrix","firstFormGroup","convertNewLines","onSortSelect","SortID","onSortSelectLink","LinkSortID","TagID","SortBy","LinkIssueSortBy","panel2","countBy","TicketListSub","ticketlist1","UIPanel","ticketlist2","ticketlist3","ticketlist4","ticketlist5","TicketActivitylist","TicketActivity","menuListItems","TaskTemplate","WorkflowStatus","WorkFlowStatus","StatusName","FromStatusName","grouplist1","grouplist2","grouplist3","grouplist4","grouplist5","temp1","UIGroup","newList3","temp3","newList4","temp4","newList5","TicketLink","ChildIssues","linkedcount","childcount","WorkFlowUpdate","menuItem","Value2","ActivityID","ToStatusID","CreatorFlag","Activity","clickMenuItem","actvityflag","isEditable","geovisible","printvalue","Activityflag","Loaddetails1","GetReportValue","imagelist","DynImage","reportRequest","HeaderBanner","reportName","TableName","dataSet","parameters","Field5","Field11","sendMailFlag","fromMail","toMail","attachFileName","addLink","RemoveLink","buttonText","ticketno","ViewLink","tikcetid","subject","Viewchildticket","ChildQuickAdd","QuickAdd","RemoveChildissues","activeview","dataview","MatMenuListItem","MatWorkFlowStatus","tasks","Task_ID","Task_Assigned_Employee_ID","Task_Owner_ID","Task_Subject","Task_Start_Date","floor","Task_Due_Date","Task_Status","Task_Priority","Task_Completion","Task_Parent_ID","Service","getTasks","getEmployees","Httpservice","KanbanFormGroup","fcBoard","fcFilterDetails","vCID","Customer","BoardId","BoardID","lists","KeyColumn","Action","statuses","BoardData","statusid","BoardKeyColumn","UserBoardData","UserBoard","TaskData","Task","columnID","boardID","templateFilter","TemplateFilter","templateCoulmns","TemplateSubData","FilterDetails2","updatedTasks","task","assigneeObj","sys_assignee","onListReorder","fromIndex","toIndex","onTaskDragStart","fromData","beforeresult","beforeKeyColumnValue","ColumnID","onTaskDrop","toData","afterresult","afterKeyColumnValue","getInitials","firstName","lastName","firstInitial","secondInitial","setDefaultView","BoardRefresh","keycolumn","textdataFlag","isdefaultfilter","dtSelectedFilterData","multiselectinputData","templateColumns","sessionDt","sessionmultiselectinputvalue","dtdispalyvalue","DisplayValue","dtRequestOn","assigneesForTicket","ControlType","Column3","BeforeDragData","AfterDragData","FormFields","Branchisvisible","Tagvalue","Createbyisvisible","FilterByisvisible","Locationisvisible","Priorityisvisible","Productisvisible","Projectisvisible","Requestonisvisible","RequestTypeisvisible","CIDisvisible","Statusisvisible","Subisvisible","TicketCategoryisvisible","Typeofissueisvisible","fileDownloadService","geodetailsvisible","UploadImageMaxSize","UploadFileMaxSize","fileuploadcount","FileUploadCount","getLocation","GetFile","currentLatitude","currentLongitude","getLocationDetails","YOUR_API_KEY","results","currentLocationDetails","formatted_address","takePhoto","formatDate","coordinates","allowEditing","img","src","canvas","context","getContext","drawImage","fillStyle","fillText","photoUrl","toDataURL","fileSize","getBase64FileSize","PhotoVisible","base64String","padding","endsWith","padZero","hours","minutes","seconds","viewDocFile","AttachmentsRef","imageVisible","FileList","_error","downloadall","maxImageSize","maxOtherFileSize","Maxfilesize","allowedImageTypes","validFiles","invalidFiles","fileType","maxSize","size","finalfilecount","httpClient","uiColor","toolbarGroups","removePlugins","removeButtons","loadData","steppercount","viewissue","TicketapiUrl","FormPropertySettings","TagValue","TicketList","AddTemplate","tabgroups","homepage1","homepage2","homepage3","homepage4","homepage5","devicevisble","linkscount","createView","onAttachment","ArrowBack","ChildTicketAddFormGroup","fcTicket","pageLoad","Tickets","QuickAddFormGroup","splittedString","TaskPrefix","rtnprefix","PrefixText","PrefixID","Commentvisible","LabelName","Mandatory","MandatorySymbol","DefaultValue","mandatory","onValueTypeChanged","addedItems","editorValueType","valueChange","valueContent","_value","TaskListSub","validJsonString","multiselectinputvalue","displayMembers","result2","displayMembers2","result3","convertToDate","dateString","getCurrentDateFormatted","currentDate","parentData","parentID","ParentID","LoadCombo","onParentClick","changeEvents","index1","Created","onKeyPress","TagIdData","valueMembers","displayMember","is","mobileplatform","statusCellIndex","statusCell","querySelectorAll","Colorcode","DependencyReportFormGroup","SrcColorCode","DstColorCode","All","Pending","Ongoing","Completed","Board","Column","rCount","Tasks","ticketid","Assignee","dropGrid","board","previousContainerData","previousContData","currentData","containerData","previousContUserID","CurrentContUserID","bindData","boardid","sessiondata","ticketassigneedata","TicketAssigneeData","ticketID","LoadKanbanBoard","innerArrayLength","subj","keyColumnData","Sys_Assignee","assData","fnData","Sys_FirstName","lsData","Sys_LastName","l","ass","taskData","PriorityColor","Field3","RequestTypeColor","statusTypeColor","StatusID","Field1","Field2","Field6","Field7","Field8","Field9","Field10","Field12","Field13","Field14","Field15","Field16","Field17","Field18","Field19","Field20","Date2","Date3","Date4","datastatus","assigneedata","prioritydata","statusdata","customerdata","tempSta","temppri","tempproj","tempcli","tempassign","tempProject","tempStatus","tempPriority","tempAssignee","tempClient","Todate","dtClient","dtStatus","dtPriority","filterBoardData","selectedCustomer","selectedProject","selectedStatus","selectedPriority","filterData","finaldata","myArray","getAssigneesForTicket","ticketId","ticketData","entry","assignee","statusname","IndexValue","indexorder","newArray","NewUserID","resultString","User","KanbanBoardConfig","fcTemplateID","pCID","kanbanboarddatasource","Kanbanboard","CompanyID","CardViewData","InticativeRelease","InticativeSprint","jsondataView","jsonValue","KeyValuesJSON","PopUp","companydata","boardNmae","BoardName","InActiveData","userData","filterCardViewData","KanbanBoardConfigPopup","fcBoardType","fcBoardName","fcAllowUser","fcCardView","getBoardData","DeleteRecord","KeyColumnID","AllowUsers","ActiveData","removeDuplicateData","isChecked","onCheckboxChange","def","Default","KeyJSONValue","JsonAllowUser","boardType","array1","array2","array2Ids","Set","uniqueArray","has","TextDataFlag","KanbanBoardFilterFormGroup","StatusVisible","PiriorityVisible","AssigneeVisible","FilterSessionDataLoad","GetDefault","tempEmployee","ProjectName","getDefaultValues","tempPriority1","EntityID","ClientID","statusEntity","pirorityEntity","setdefault","resultPriority","resultStatus","resultClient","setdefault1","FilterDetails","FilterDetails1","tempp","filterDetailsArray","fromDate","ApplyFilter","sessionFilterData","idSet","TemplateColumnDt","filteredList2","tag","LoadKanbanBoardFilterSelection","AddFilterColumnFromGroup","AddFilterColumnCtrl","sessoinfilterData","ddlData","defaultOption","assessmentdisplay","sessionassessment","AddFilterColumn","ActvityStatus","MenuuID","setFavourite","onKeyfilterColumn","LabelName1","keyJSONvalue","bgColor","getInitialsBgColor","s","getSaturationByName","getLightnessByName","stringToHslColor","getInitialsTextColor","convertStringToHue","rgb","hslToRgb","r","g","yiq","yiq_contrasted_threshold","num","scaleBetween","unscaledNum","minAllowed","maxAllowed","min","saturation","lightness","hash","hue2rgb","p","q","round","TicketTreeViewFormGroup","fcFromData","fcToData","Company","tasksData","removeApproved","removecat1","EffortCat1","removecat2","EffortCat2","removeDesc","AuthStatus","NestedTreeControl","MatTreeNestedDataSource","ExcelData","approvergroupid","projectids","project","employeeOriginal","hirarchyMain","HierarchyGroupList","ApprovalGroupID","approvegroupname","ApprovalGroupName","treedeletevisible","approvegroupid","onLevelSelect","_data","foundParent","leveldesc","onEmployeeSelect","employeselect","valueToRemove","resultobj","flatMap","removeTreeEmployeeFromEmployeeList","empledgerInTree","filterArray","markedItemLevel","itemIndexinTree","markedItemLevelNo","levelToSkip","idsToSkip","indexforSkip","cindex","addTreeNode","subdata","subLevel","findParent","old","approvergroupname","isactive","authorisesub","hierarchy","typeid","findPosition","findFatherNode","currentFather","z","groupdelete","refreshTreeData","deleteNode","nodeToBeDeleted","deletedElement","elementPosition","confirm","EmployeeHierarchy1","MatAutocompleteTrigger","fruitCtrl","filteredFruits","exit","fruit","indx","fruitInput","EmpFormGroup","bookType","ExcelImportData","AppGroupID","evt","bstr","wb","ProjectFormGroup","fcStartWeekNo","fcEndWeekNo","fcWeekEnd","ProjectDataFormGroup","getWeekNo","selectedprojectname","RoleID","DepartmentID","StartWeekNo","EndWeekNo","SelectedCompanyID","curMonth","oneJan","numberOfDays","getDay","removeLedgerID","removeResourceAllocationID","ResourceAllocationID","ProjectAllocationDataGrids","excelImport","startweekno","endweekno","weekdiff","ProjectData","projectuid","rowSpan","innerHTML","RequireMatch","selection","incorrect","ProjectAllocationDataGrid","isExcel","isEmployee","lblStartWeekNo","lblEndWeekNo","EmployeeData","removeName_Allotted","Name_Allotted","ProjectAllocationDataGrids2","dtProjectAllocationData","LastUpdatedBy","LastUpdatedDate","rtnprojectid","rtndate","AlternateEmpFormGroup","fcGroupID","fcAuthorizer","fcRole","onprojectpageloadChange","AllotDate","ApproveGroupID","Authorizer","onprojectChange","ob","pdfMake","pdfFonts","vfs","CurUserName","getprojectlist","projectlist","getprojectemployee","projectUID","leavetypes","LeaveTypes","employeeleavelist","EmployeeLeaveList","EffortCateg1","Effortcateg1","EffortCateg2","Effortcateg2","Attendance","ChkStatus","effortdate","effort","addCustomItem","generatePdf","documentDefinition","getDocumentDefinition","createPdf","print","content","bold","fontSize","alignment","margin","projectname","getAttendance","decoration","jobTitle","italics","sign","tableHeader","table","widths","ed","EstimationFormGroup","EstimationDataFormGroup","Roles","fc","SearchClear1","ProjectDayFormGroup","ProjectDayDataFormGroup","ProjectDataByDay","AllocDayFormGroup","AllocDayDataFormGroup","ResourceData","disableflag","AssementGrouplist","cardvisible","btnsavevisible","LocationID","LocationName","fcLocationID","fcLocationName","branch","Branchlist","BranchID","BranchName","IsActive","catsid","CategoryID","catname","CategoryFormGroup","fcCategoryName","client","product","MerchantFormGroup","fcClientName","fcSince","fcAddress1","fcAddress2","fcPincode","fcZone","fcName","fcEmail","fcTelephone","fcMobile","fcSupportEmail","MerchantID","MerchantSince","CusActiveStatus","MerchantName","Address1","Address2","PoBox","CusTimeZone","Contact","Email","Tel","Mobile","SupportMailID","MerchantId","Clientsub","Since","Pincode","ContName","ConTel","SupportID","dtClientSubStatus","dtExample","Merchantlist","EntityList","AuthViewFormGroup","getEffortAuthdetails","changeledger","onCategorySelect","listvisible","categorytype","labelName","ondataSelect","btnaddvisible","btndeletevisible","Clear","tabChanged","selecttabindex","fruitCtrl1","List","filterdata","selected1","fruitInput1","entityid","Taglabel","effortvisible","EntityFormGroup","fcTag","fcReadonlyTag","fcAllowEffort","ReadonlyTag","AllowEffort","entitytype","EntityType","onConfiguration","ReadOnlyTag","setting","HRConfigTag","HRConfigList","ComboName","DisplayMember","httpService","fetchCompanyIDs","uniqueCidList","selectedCID","fetchLeaveGroupConfiguration","onChangeCID","LeaveGroupID","LeaveTypeIDs","groupedData","groupLeaveTypes","openAddLeaveGroupDialog","editElement","deleteElement","LeaveGroupName","grouped","curr","existingGroup","leaveDisplayName","LeaveDisplayNames","leaveTypeSelect","newLeaveGroupName","newLeaveGroupNameControl","leaveGroupData","leaveType","LeaveDisplayName","isSelected","leaveTypeDisplayName","leaveTypeSelectValues","toggleSelection","leaveTypeFilter","filteredLeaveTypes","Add_New_Leave_Group","leaveTypeIds","markAllAsTouched","markAsTouched","onClosePopup","levegrpid","grpname","LeavegroupFormGroup","fcGroupName","LeaveGrouplist","ALPID","AnnualLeavePolicyName","leaveGroupName","UpdateLeaveTypes","leaveTypeIdsString","ViewChildren","LeaveDatas","AccrualTypes","LoadLeaveLetails","LeaveData1","accuredData","leaveTypeData","getdata","showDetails","LeaveTypeData","LeaveTypeAccrualData","LeaveAccuredData","PaidLeave","dt_Holidays","dt_LeaveDetails","curSelecvalue","curdeSelecvalue","toggleRow","expandedElement","innerTables","innerSort","minHeight","NoOfMonthsFromJoingDate","digRef","btnvisible","LeaveTypeMasterView","fcLeaveID","fcPaidLeave","checkBoxesMode","selectedleavetype","LeaveTypeDetails","ProductID","ProductName","RegisterSince","ProductFormGroup","fcProductName","Register","ProductConfiglist","ProjectCostFormGroup","projectID","Emplist","Currencylist","dtProjectCost","ProjectconfigurationService","getprojectconfig","Sdate","Edate","ContactDesignation","ContactEmail","ContactMobile","ContactPerson","ContactTelephone","DayHours","entity","ProjectStatus","Dependancy","DependancyID","listarray","dayshours","getlocationlist","locationlist","PrjStatus","ProjectStatuslist","getmerchantlist","DaysHours","dayhours","Question","question","controltype","dateperiod","fcQuestions","fcControlType","fcDatePeriod","DatePeriod","Value1","Questions","Questionlist","ststusid","Statusid","StatusFormGroup","TypeID","OppType","TicketLinkFormGroup","fcOppType","TicketType","Diffenece","TimeDifference","CultureInfo","Country","Currencycode","ExchangeRate","CurrencyFlag","fcDiff","fcCultureInfo","fcCountry","fcCurrencycode","fcExchangeRate","fcCurrencyFlag","TimeID","CurCode","BaseCurFlag","CurrencyCode","TOIID","TOID","clientlist","typeFormGroup","Typeofissuelist","USERS","addresses","usersData","phone","street","zipCode","city","eMailTag","eMail","EmailTagFormGroup","fcTypeID","fcEmailTag","eMailId","exportToExcel","table_to_sheet","epltable","CompanyDetails","EmailTagConfig","ExcelImport","EmailTag","EmailRuleFormGroup","fcTemplate","fcActvitity","fcCommentDetails","fcConditionDetails","fcTypeName","fcCondition","fcRuleName","RuleNamereadonly","StepperTwoOpen","Template","ActvitityData","Actvitity","TypeNameData","TypeName","eMailTagData","CollectionData","NameData","ConditionData","CommentData","EmailRuleData","onTypeSelect","selectedData","TypeData","ResultData","More","ConditionDetails","CommentDetail","strComment","RuleName","CommentDetails","StartingNumber","StartingNum","TicketPrefixFormGroup","fcPrefixText","fcStartNumber","selectedRow","BusinessPeriodID","onRowClicked","ActivatedRoute","first","myFunction","route","loginForm","serverForm","protocol","ipaddress","apipath","currentapiObj","homebtn","ShowSettings","OpenLogin","apiObj","Protocol","ServerIP","APIPath","returnUrl","snapshot","queryParams","loading","readCID","submitted","production","bootstrapSettings","enableProdMode","platformBrowserDynamic","defineCustomElements","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[243,244,448]}