{"version":3,"file":"main.js","mappings":"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,EAAE,IAAI;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;;;;;;ACjBpB;AAGa;AACH;AAEzD,KAAK,CAAC,oFAA6B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;IACxF,6CAA6C;IAE7C,IAAI,6EAAsB,EAAE;QACxB,6DAAc,EAAE,CAAC;KACpB;IAED,sFAAsF;IACtF,uEAAuB;QACnB,EAAE,OAAO,EAAE,0DAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE;KAC5D,CAAC;SACG,eAAe,CAAC,sDAAS,CAAC;SAC1B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;;;;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","sources":["./libs/dop-pick-list/src/lib/dop-pick-list.component.ts","./libs/dop-pick-list/src/lib/dop-pick-list.component.html","./libs/dop-pick-list/src/lib/dop-pick-list.module.ts","./libs/dop-pick-list/src/lib/indeterminate-directive.ts","./libs/dop-pick-list/src/lib/picklist-translation.model.ts","./libs/dop-pick-list/src/lib/selected-item.model.ts","./libs/dop-pick-list/src/lib/tree-model.ts","./libs/dop-pick-list/src/public-api.ts","./libs/dop-session-revocation/src/lib/dop-session-revocation.config.ts","./libs/dop-session-revocation/src/lib/dop-session-revocation.module.ts","./libs/dop-session-revocation/src/lib/dop-session-revocation.service.ts","./libs/dop-session-revocation/src/public-api.ts","./libs/dop-tooltip/src/lib/dop-tooltip.directive.ts","./libs/dop-tooltip/src/lib/dop-tooltip.module.ts","./libs/dop-tooltip/src/libs.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/common/app-footer/app-footer.component.ts","./src/app/common/app-footer/app-footer.component.html","./src/app/common/app-header/app-header.component.ts","./src/app/common/app-header/app-header.component.html","./src/app/common/app-page-header/app-page-header.component.ts","./src/app/common/app-page-header/app-page-header.component.html","./src/app/common/common.module.ts","./src/app/common/components/app-confirm-dialog/app-confirm-dialog.component.ts","./src/app/common/components/app-confirm-dialog/app-confirm-dialog.component.html","./src/app/common/components/app-confirm-dialog/app-confirm-dialog.module.ts","./src/app/common/components/date-type/date-type.component.ts","./src/app/common/components/date-type/date-type.component.html","./src/app/common/components/date-type/dateType.module.ts","./src/app/common/components/enum-type/enum-type.component.ts","./src/app/common/components/enum-type/enum-type.component.html","./src/app/common/components/enum-type/enum-type.module.ts","./src/app/common/components/kebab-menu/kebab-menu.component.ts","./src/app/common/components/kebab-menu/kebab-menu.component.html","./src/app/common/components/kebab-menu/kebab-menu.module.ts","./src/app/common/extensions/array.extensions.ts","./src/app/common/extensions/string.extensions.ts","./src/app/common/global-constants/application-constants.ts","./src/app/common/global-constants/export-constants.ts","./src/app/common/global-constants/export-content-type.ts","./src/app/common/global-constants/index.ts","./src/app/common/global-constants/route-constants.ts","./src/app/common/models/global-error-event.model.ts","./src/app/common/pipes/custom-date-pipe.module.ts","./src/app/common/pipes/custom-date.pipe.ts","./src/app/common/pipes/date.service.ts","./src/app/common/services/cookie-state-service.ts","./src/app/common/static-classes/browser.finder.ts","./src/app/common/static-classes/converters.ts","./src/app/core/analytics/analytics-constants.ts","./src/app/core/analytics/analytics-service-provider.ts","./src/app/core/analytics/analytics-service.ts","./src/app/core/analytics/no-analytics-service.ts","./src/app/core/enums/HttpStatusCode.ts","./src/app/core/enums/access-types.ts","./src/app/core/enums/column-capability.ts","./src/app/core/enums/date-ranges.ts","./src/app/core/enums/display-template.ts","./src/app/core/enums/event.types.ts","./src/app/core/enums/graph-preference.ts","./src/app/core/enums/grid-template.ts","./src/app/core/enums/newBuildSteps.ts","./src/app/core/enums/oauth-event-types.ts","./src/app/core/enums/service-method.ts","./src/app/core/enums/sort-status.ts","./src/app/core/enums/test-status.ts","./src/app/core/enums/types.ts","./src/app/core/guards/auth-guard.message.service.ts","./src/app/core/guards/auth.guard.ts","./src/app/core/interceptor/error-handler.interceptor.ts","./src/app/core/interceptor/interceptor.message.service.ts","./src/app/core/interceptor/request-cache.service.ts","./src/app/core/interceptor/token-interceptor.ts","./src/app/core/services/app-config-service.ts","./src/app/core/services/auth.service.ts","./src/app/core/services/configuration-service.ts","./src/app/core/services/data.service.ts","./src/app/core/services/event.service.ts","./src/app/core/services/layout.service.ts","./src/app/core/store/ngrx-store.actions.ts","./src/app/core/store/ngrx-store.keys.ts","./src/app/core/store/ngrx-store.reducer.ts","./src/app/core/store/ngrx-store.service.ts","./src/app/features/results/buildNewResultView/assign-accounts/assign-accounts.component.ts","./src/app/features/results/buildNewResultView/assign-accounts/assign-accounts.component.html","./src/app/features/results/buildNewResultView/assign-fields/assign-fields.component.ts","./src/app/features/results/buildNewResultView/assign-fields/assign-fields.component.html","./src/app/features/results/buildNewResultView/buildNewResultView.component.ts","./src/app/features/results/buildNewResultView/buildNewResultView.component.html","./src/app/features/results/buildNewResultView/buildNewResultView.module.ts","./src/app/features/results/buildNewResultView/services/fieldDefinition.cached.service.ts","./src/app/features/results/buildNewResultView/services/fieldDefinition.service.ts","./src/app/features/results/graphsAndCharts/charts/chart.service.ts","./src/app/features/results/manageResultViews/manage-results-view-service.service.ts","./src/app/features/results/manageResultViews/manageResultViews.component.ts","./src/app/features/results/manageResultViews/manageResultViews.component.html","./src/app/features/results/manageResultViews/manageResultViews.module.ts","./src/app/features/results/resultView/error-event.model.ts","./src/app/features/results/resultView/resultgrid/grid-filter/tab.model.ts","./src/app/features/results/resultView/results-search.service.ts","./src/app/features/results/shared/field-configuration.service.ts","./src/app/features/results/shared/models/editResultView.model.ts","./src/app/features/results/shared/models/eventBuildNewResults.model.ts","./src/app/features/results/shared/models/eventEditResultView.model.ts","./src/app/features/results/shared/models/field-definition.model.ts","./src/app/features/results/shared/models/filter-definition.model.ts","./src/app/features/results/shared/models/result-viewconfiguration.model.ts","./src/app/features/results/shared/models/search-result.model.ts","./src/app/features/results/shared/results-kebab.service.ts","./src/app/features/results/shared/results-profile.service.ts","./src/app/shared/boolean-list/boolean-list.component.ts","./src/app/shared/boolean-list/boolean-list.component.html","./src/app/shared/loading/loading.component.ts","./src/app/shared/loading/loading.component.html","./src/app/shared/localizer/dynamic-localeId-provider.ts","./src/app/shared/models/app-route.enum.ts","./src/app/shared/models/configuration.model.ts","./src/app/shared/models/event.model.ts","./src/app/shared/models/gridColumn.model.ts","./src/app/shared/models/system-data-event.model.ts","./src/app/shared/models/user-profile.model.ts","./src/app/shared/number-range/number-range.component.ts","./src/app/shared/number-range/number-range.component.html","./src/app/shared/shared.module.ts","./src/app/shared/time-range/time-range.component.ts","./src/app/shared/time-range/time-range.component.html","./src/app/shared/translations/custom-translation-loader.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@angular/common/locales/global/ lazy ^\\.\\/.*\\.js$ namespace object"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { SelectedItemModel } from './selected-item.model';\r\nimport { PagedTreeModel, PickListRequestModel, TreeItem, TreeModel } from './tree-model';\r\nimport { PicklistTranslationModel } from './picklist-translation.model';\r\nimport { Observable, of, Subscription } from 'rxjs';\r\nimport { Datasource, IDatasource } from 'ngx-ui-scroll';\r\nimport { map } from 'rxjs/operators';\r\nimport { EventTypes } from 'src/app/core/enums/event.types';\r\nimport { EventService } from 'src/app/core/services/event.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n  selector: 'lib-dop-pick-list',\r\n  templateUrl: './dop-pick-list.component.html',\r\n  styleUrls: ['./dop-pick-list.component.scss']\r\n})\r\n// Virtual scroll works only for flat data as of now.\r\nexport class DopPickListComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\r\n\r\n  @Input() treeModel: TreeModel;\r\n  @Input() isEdit: boolean;\r\n  @Input() enableSearch: boolean;\r\n  @Input() enableSelectedSearch: boolean;\r\n  @Input() displaySelectionCheckbox: boolean;\r\n  @Input() enableVirtualScroll = false;\r\n  @Input() selectionBoxHeight: number;\r\n  @Input() selectionBoxWidth: number;\r\n  @Input() libTranslations: PicklistTranslationModel;\r\n  @Input() clientSideLoad = true;\r\n  @Input() searchOnKeyUp = false;\r\n  @Input() selectAllAssigned = false;\r\n  @Output() selectedItemsChange = new EventEmitter<SelectedItemModel[]>();\r\n  @Output() treeModelChange = new EventEmitter<TreeModel>();\r\n  @Input() dataSource: (requestModel: PickListRequestModel) => Observable<PagedTreeModel>;\r\n  allSelectedItemsChecked = false;\r\n  fewSelectedItemsChecked = false;\r\n  selectedListItems: SelectedItemModel[];\r\n  selectedAccountsList: Map<string,boolean> = new Map();\r\n  virtualDatasource: IDatasource;\r\n  displaySelectAll = false;\r\n  public searchKey = '';\r\n  public assignItemSearchKey = '';\r\n  private openBuildNewResultViewSubscription: Subscription;\r\n  private openEditResultViewSubscription: Subscription;\r\n  private totalResult: number;\r\n  get selectedItems(): SelectedItemModel[] {\r\n    return this.selectedListItems;\r\n  }\r\n\r\n  constructor(\r\n    private eventService: EventService){\r\n  }\r\n\r\n  @Input()\r\n  set selectedItems(value: SelectedItemModel[]) {\r\n    this.selectedListItems = value;\r\n    this.selectedItemsChange.emit(value);\r\n  }\r\n\r\n  @ViewChild('searchBox') searchBox: ElementRef;\r\n  @ViewChild('searchFieldBox') searchFieldBox: ElementRef;\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes.treeModel && changes.treeModel.currentValue.items && (\r\n      changes.treeModel.previousValue && changes.treeModel.previousValue.items.length === 0 &&\r\n      changes.treeModel.currentValue.items.length > 0)) {\r\n      this.setUpTreeView();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n      this.initDataSource();\r\n    }\r\n\r\n    this.onFieldsSearch();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.setUpTreeView();\r\n    this.openBuildNewResultViewSubscription = this.eventService.listen(EventTypes.BuildNewResultView)\r\n    .subscribe(() => {\r\n      this.searchKey='';\r\n      this.assignItemSearchKey ='';\r\n      this.displaySelectAll = false;\r\n    });\r\n    this.openEditResultViewSubscription = this.eventService.listen(EventTypes.EditResultView)\r\n    .subscribe(() => {\r\n      this.searchKey='';\r\n      this.assignItemSearchKey ='';\r\n      this.displaySelectAll = false;\r\n    });\r\n  }\r\n  \r\n  ngOnDestroy(): void {\r\n    if(this.openBuildNewResultViewSubscription)\r\n    {\r\n    this.openBuildNewResultViewSubscription.unsubscribe();\r\n  }\r\n  if(this.openEditResultViewSubscription)\r\n  {\r\n  this.openEditResultViewSubscription.unsubscribe();\r\n  }\r\n  }\r\n\r\n  private setUpTreeView() {\r\n    if (!this.isEdit) {\r\n      this.removeAll();\r\n    }\r\n    if (!this.treeModel.items) {\r\n      this.treeModel.items = [];\r\n    }\r\n\r\n    this.setTreeModel(this.treeModel);\r\n    this.expandAndUncheckAll();\r\n    this.treeModelChange.emit(this.treeModel);\r\n}\r\n\r\n  public setTreeModel(treeMdl: TreeModel, reloadDatasource?: boolean) {\r\n    treeMdl.items = this.mapTreeItemModel(treeMdl.items, 1);\r\n    treeMdl.isFlatData = !this.treeModel.items.some(x => x.items && x.items.length > 0);\r\n    this.treeModel = Object.assign(new TreeModel(), treeMdl);\r\n    if (reloadDatasource && this.clientSideLoad && this.virtualDatasource) {\r\n      this.virtualDatasource.adapter.reload(1);\r\n    }\r\n  }\r\n\r\n  private expandAndUncheckAll() {\r\n    this.treeModel.items.forEach((item: TreeItem) => {\r\n      item.expanded = true;\r\n      item.items.forEach((childItems: TreeItem) => {\r\n        childItems.selected = false;\r\n      });\r\n    });\r\n  }\r\n\r\n  get enableMoveRight(): boolean {\r\n    return this.treeModel.getSelectedItems().length > 0;\r\n  }\r\n\r\n  get enableMoveLeft(): boolean {\r\n    return this.selectedItems && this.selectedItems.some((item: SelectedItemModel) => {\r\n      return item.selectedToMove;\r\n    });\r\n  }\r\n\r\n  get enableReorder(): boolean {\r\n    return this.selectedItems && this.selectedItems.some((item: SelectedItemModel) => {\r\n      return item.selectedToMove;\r\n    }) && this.selectedItems.length > 1;\r\n  }\r\n\r\n  private mapTreeItemModel(items: TreeItem[], level: number) {\r\n    const mappedItems: TreeItem[] = [];\r\n    items.forEach((item: TreeItem) => {\r\n      const mappedItem = Object.assign(new TreeItem(), item);\r\n      item.selected = false;\r\n      mappedItem.level = mappedItem.level ?? level;\r\n      if (item.items && item.items.length > 0) {\r\n        mappedItem.items = this.mapTreeItemModel(item.items, level + 1);\r\n      }\r\n      mappedItems.push(mappedItem);\r\n    });\r\n    return mappedItems;\r\n  }\r\n\r\n  isChecked(ele: any, item: TreeItem) {\r\n    ele.indeterminate = false;\r\n    if (item.items && item.items.length > 0) {\r\n      if (item.items.every((child: TreeItem) => {\r\n        return child.selected;\r\n      })) {\r\n        item.selected = true;\r\n        return true;\r\n      } else if (item.items.some((child: TreeItem) => {\r\n        return child.selected;\r\n      })) {\r\n        ele.indeterminate = true;\r\n        return false;\r\n      } else {\r\n        return false;\r\n      }\r\n    }\r\n    return item.selected;\r\n  }\r\n\r\n  private setTemporaryMovement(item: TreeItem, selectedFieldsToMove: string[]) {\r\n    if (selectedFieldsToMove.indexOf(item.id) > -1) {\r\n      item.isAddedInDraft = item.isMoved;\r\n      item.isRemovedInDraft = !item.isMoved;\r\n    }\r\n  }\r\n\r\n  private setMovedTreeItem(\r\n    items: TreeItem[],\r\n    selectedItems: SelectedItemModel[],\r\n    isMovedBack: boolean,\r\n    selectedFieldsToMove: string[],\r\n    parentId: string = null) {\r\n    items.forEach((item: TreeItem) => {\r\n\r\n      this.setUnSelectedItem(selectedItems, item, isMovedBack, selectedFieldsToMove);\r\n      this.setSelectedItem(selectedItems, item, parentId, selectedFieldsToMove);\r\n      if (item.hasChildren()) {\r\n        this.setMovedTreeItem(item.items, selectedItems, isMovedBack, selectedFieldsToMove, item.id);\r\n      }\r\n    });\r\n  }\r\n\r\n  private setUnSelectedItem(selectedItems, item, isMovedBack, selectedFieldsToMove) {\r\n    selectedItems.forEach((selectedItem: SelectedItemModel) => {\r\n      if (selectedItem.parentId === item.id || selectedItem.id === item.id) {\r\n        if (selectedItem.parentId !== item.id) {\r\n          item.isMoved = !isMovedBack;\r\n          this.setTemporaryMovement(item, selectedFieldsToMove);\r\n        }\r\n        item.selected = false;\r\n      }\r\n    });\r\n  }\r\n\r\n  private setSelectedItem(selectedItems, item, parentId, selectedFieldsToMove) {\r\n    if (selectedItems.length === 0) {\r\n      if ((this.treeModel.isFlatData || item.level > 1) && (!this.treeModel.isTreeSeached || item.isSearched)) {\r\n        item.isMoved = true;\r\n        this.setTemporaryMovement(item, selectedFieldsToMove);\r\n        if (!this.selectedItems.some(x => x.id === item.id)) {\r\n          this.selectedItems.push(this.treeModel.mapSelectedItem(item, parentId));\r\n        }\r\n      }\r\n      item.selected = false;\r\n    }\r\n  }\r\n\r\n  moveRight() {\r\n    const resetSearch = this.selectedItems.length === 0;\r\n    this.selectedItems = this.selectedItems.concat(this.treeModel.getSelectedItems());\r\n    this.setMovedTreeItem(this.treeModel.items, this.selectedItems, false, this.treeModel.getSelectedItems().map(x => x.id));\r\n    if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n      this.virtualDatasource.adapter.reload(1);\r\n    }\r\n\r\n    this.onFieldsSearch();\r\n\r\n    this.treeModelChange.emit(this.treeModel);\r\n    if (this.enableSelectedSearch) {\r\n      if (resetSearch) {\r\n        this.assignItemSearchKey = '';\r\n      }\r\n      this.onSearchSelectedItems(this.assignItemSearchKey);\r\n      this.checkDisplaySelectAll();\r\n    }\r\n  }\r\n\r\n  moveLeft() {\r\n    const selectedToMoveItems = this.selectedItems.filter((item: SelectedItemModel) => {\r\n      return item.selectedToMove;\r\n    });\r\n\r\n    this.setMovedTreeItem(this.treeModel.items, selectedToMoveItems, true, selectedToMoveItems.map(x => x.id));\r\n    this.selectedItems = this.selectedItems.filter((item: SelectedItemModel) => {\r\n      return !item.selectedToMove;\r\n    });\r\n    if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n      this.virtualDatasource.adapter.reload(1);\r\n    }\r\n\r\n    this.onFieldsSearch();\r\n\r\n    this.treeModelChange.emit(this.treeModel);\r\n    if (this.enableSelectedSearch) {\r\n      this.onSearchSelectedItems(this.assignItemSearchKey);\r\n      this.checkDisplaySelectAll();\r\n    }\r\n  }\r\n\r\n  filterNonMovedItems(items: TreeItem[]) {\r\n    return items.filter((item: TreeItem) => {\r\n      return !item.isMoved && (!this.treeModel.isTreeSeached || item.isSearched);\r\n    });\r\n  }\r\n\r\n  addAll() {\r\n    // Do not clear on virtual scroll as more items can be added on scroll further\r\n    if (!this.enableVirtualScroll && !this.searchOnKeyUp) {\r\n      this.selectedItems = [];\r\n    }\r\n    const resetSearch = this.selectedItems.length === 0;\r\n    this.setMovedTreeItem(this.treeModel.items, [], false, this.treeModel.getAvailableItems().map(x => x.id));\r\n    if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n      this.virtualDatasource.adapter.reload(1);\r\n    }\r\n\r\n    this.onFieldsSearch();\r\n    this.treeModelChange.emit(this.treeModel);\r\n    if (this.enableSelectedSearch) {\r\n      if (resetSearch) {\r\n        this.assignItemSearchKey = '';\r\n      }\r\n      this.onSearchSelectedItems(this.assignItemSearchKey);\r\n      this.checkDisplaySelectAll();\r\n    }\r\n  }\r\n\r\n  removeAll() {\r\n    if (this.selectedItems && this.selectedItems.length === 0) {\r\n      return;\r\n    }\r\n    this.setMovedTreeItem(this.treeModel.items, this.selectedItems, true, this.selectedItems.map(x => x.id));\r\n    this.selectedItems = [];\r\n    if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n      this.virtualDatasource.adapter.reload(1);\r\n    }\r\n\r\n    this.onFieldsSearch();\r\n\r\n    this.treeModelChange.emit(this.treeModel);\r\n    if (this.enableSelectedSearch) {\r\n      this.onSearchSelectedItems(this.assignItemSearchKey);\r\n      this.checkDisplaySelectAll();\r\n    }\r\n  }\r\n  getDisplayableItems(items: SelectedItemModel[]) {\r\n    return this.isSelectedItemsSearched() ?\r\n      items.filter(x => !x.isHidden && x.isSearched)\r\n      : items.filter(x => !x.isHidden);\r\n  }\r\n\r\n  reorder(up: boolean) {\r\n    const selectedItemsToReorder = this.selectedItems.filter((item: SelectedItemModel) => {\r\n      return item.selectedToMove;\r\n    });\r\n\r\n    (up ? selectedItemsToReorder : selectedItemsToReorder.reverse()).forEach((item: SelectedItemModel) => {\r\n      const fromIndex = this.selectedItems.indexOf(item);\r\n      if ((up && fromIndex - 1 >= 0) || (!up && fromIndex + 1 <= this.selectedItems.length - 1)) {\r\n\r\n        const toIndex = up ? fromIndex - 1 : fromIndex + 1;\r\n        this.selectedItems.splice(fromIndex, 1);\r\n        this.selectedItems.splice(toIndex, 0, item);\r\n      }\r\n    });\r\n  }\r\n  private traverseAllChildNodesAndSearch(items: TreeItem[]) {\r\n    items.forEach((item: TreeItem) => {\r\n      if (!item.hasChildren()) {\r\n        if (this.treeModel.isTreeSeached && !item.isMoved) {\r\n          if (this.searchOnKeyUp) {\r\n            item.isSearched = item.name.toLowerCase().includes(this.treeModel.searchKey.toLowerCase());\r\n          } else {\r\n            item.isSearched = (item.id.toLowerCase().includes(this.treeModel.searchKey.toLowerCase()) ||\r\n              item.name.toLowerCase().includes(this.treeModel.searchKey.toLowerCase()));\r\n          }\r\n        } else {\r\n          item.isSearched = false;\r\n        }\r\n      } else {\r\n        this.traverseAllChildNodesAndSearch(item.items);\r\n      }\r\n    });\r\n  }\r\n\r\n  private clientSideSearch(searchKey: string) {\r\n    this.traverseAllChildNodesAndSearch(this.treeModel.items);\r\n  }\r\n\r\n  private setMovedFlag(items: TreeItem[]) {\r\n    items.forEach((item: TreeItem) => {\r\n      if (item.hasChildren()) {\r\n        this.setMovedFlag(item.items);\r\n      } else {\r\n        if (this.selectedItems.some(x => x.id === item.id)) {\r\n          item.isMoved = true;\r\n        }\r\n        item.isSearched = this.treeModel.isTreeSeached;\r\n      }\r\n    });\r\n  }\r\n  private clientSidePaging(start: number, end: number): TreeItem[] {\r\n    const data: TreeItem[] = [];\r\n    // Assuming this.treeModel.items contains searched data.\r\n    const items = this.filterNonMovedItems(this.treeModel.items);\r\n\r\n    for (let i = start - 1; i < (start - 1 + end) && i < items.length; i++) {\r\n      if (items[i]) {\r\n        data.push(items[i]);\r\n      }\r\n    }\r\n    return data;\r\n  }\r\n\r\n  private initDataSource(): void {\r\n    this.virtualDatasource = new Datasource({\r\n      get: (index, count) => {\r\n\r\n        const start = Math.max(1, index);\r\n        const end = index + count - 1;\r\n\r\n        if (this.clientSideLoad) {\r\n          this.clientSideSearch(this.searchKey);\r\n          return of(this.clientSidePaging(start, end));\r\n        } else {\r\n          if (this.searchKey === '') {\r\n            return of([]);\r\n          }\r\n          this.syncSelectedLists(index);\r\n          //Method itself return empty array if count is 0.\r\n          const checkedBeforeScroll = this.treeModel.getSelectedItems();\r\n          // For server load do the search and pagination together\r\n          return this.dataSource(new PickListRequestModel(start - 1, count + this.selectedItems.length, this.searchKey, this.selectedItems.map(x => x.id))).pipe(\r\n            map((response: PagedTreeModel) => {\r\n              this.totalResult = response.totalCount;\r\n              this.setMovedFlag(response.items);\r\n              response.items.forEach((item: TreeItem) => {                \r\n                checkedBeforeScroll?.forEach(checkedText => {\r\n                  if(item.id == checkedText.id)\r\n                  {\r\n                    item.selected = true;\r\n                  }\r\n                 });                \r\n                if (!this.treeModel.items.some(x => x.id === item.id)) {\r\n                  this.treeModel.items.push(item);\r\n                }\r\n              });\r\n              const accountToDisplay = this.filterNonMovedItems(response.items);\r\n              const initialCount = (index ==1) ? 0 : this.getInitialCount(response.items);\r\n              this.updateAccountList(response.items);\r\n              return accountToDisplay.slice(initialCount, initialCount + count);\r\n            }));\r\n        }\r\n      },\r\n      settings: {\r\n        minIndex: 1,\r\n        bufferSize: 6\r\n      }\r\n    });\r\n  }\r\n  \r\n  private clientSideSearchFields(checkedBeforeNewSearch : string[]): TreeItem[] {\r\n    const data: TreeItem[] = [];\r\n    this.treeModel.items.forEach((item) => {\r\n      const items = this.filterNonMovedItems(item.items);\r\n\r\n      if (items.length > 0) {\r\n        item.items.forEach(x => {\r\n          const res = items.filter(i => i === x).shift();\r\n          if (res) {\r\n            data.push(res);\r\n          } else {\r\n            x.selected = checkedBeforeNewSearch.includes(x.id);\r\n          }\r\n        });\r\n      } else {\r\n        item.selected = checkedBeforeNewSearch.includes(item.id);\r\n        item.items.forEach((x) => {\r\n            x.selected = checkedBeforeNewSearch.includes(x.id);\r\n        });\r\n      }\r\n    });\r\n\r\n    return data;\r\n  }\r\n\r\n  onFieldsSearch() {\r\n    if (this.searchOnKeyUp) {\r\n      this.onSearch(this.searchKey);\r\n    }\r\n  }\r\n\r\n\r\n  // virtual scroll is enabled only to flatdata as of now\r\n  public onSearch = (searchKey: string) => {\r\n    const checkedBeforeNewSearch = this.treeModel.getSelectedItems();\r\n    const selectedIds = checkedBeforeNewSearch?.map(x=> x.id);\r\n          \r\n    this.searchKey = searchKey;\r\n    this.treeModel.items.filter(x => x.hasChildren()).forEach(i => i.searchKey = searchKey);\r\n    this.treeModel.searchKey = searchKey;\r\n    this.treeModel.isTreeSeached = this.treeModel.searchKey !== '';\r\n    if (this.searchOnKeyUp) {\r\n      this.treeModel.items.forEach((x) => {\r\n        x.isSearched = searchKey === '' ? false : true\r\n      });\r\n    }\r\n    if (this.clientSideLoad) {\r\n      if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n        this.virtualDatasource.adapter.reload(1);\r\n      } else {\r\n        this.clientSideSearch(searchKey);\r\n        if (this.searchOnKeyUp) {          \r\n          return of(this.clientSideSearchFields(selectedIds));\r\n        }\r\n      }\r\n    } else {\r\n      if (this.dataSource) {\r\n        if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n          if(checkedBeforeNewSearch?.length ==0)\r\n          {\r\n          this.totalResult = 0 ;\r\n          this.treeModel.items = [];\r\n          }\r\n          else\r\n          {            \r\n          this.totalResult = checkedBeforeNewSearch.length !== undefined ?  checkedBeforeNewSearch.length : 0  ;\r\n          this.treeModel.items= this.treeModel.items.filter(x=> selectedIds.includes(x.id));          \r\n          }\r\n          this.virtualDatasource.adapter.reload(1);\r\n        } \r\n        else {\r\n          // Loading 100 only as of now\r\n          this.dataSource(new PickListRequestModel(0, 100, searchKey)).subscribe((res: PagedTreeModel) => {\r\n            this.setMovedFlag(res.items);\r\n            this.treeModel.items = res.items;\r\n          });\r\n        }\r\n      }\r\n    }\r\n\r\n    checkedBeforeNewSearch?.forEach(checkedText => {\r\n      this.treeModel.items.filter(x => x.id === checkedText.id).forEach(i => i.selected = true);\r\n     });               \r\n    \r\n  }\r\n\r\n  public resetSearch() {\r\n    this.searchBox.nativeElement.value = '';\r\n    if (this.searchFieldBox != undefined) {\r\n      this.searchFieldBox.nativeElement.value = '';\r\n    }\r\n    this.treeModel.isTreeSeached = false;\r\n    this.treeModel.searchKey = '';\r\n    this.searchKey = '';\r\n    if (this.treeModel.isFlatData && this.enableVirtualScroll) {\r\n      this.virtualDatasource.adapter.reload(1);\r\n    }\r\n  }\r\n\r\n  private isSelectedItemsSearched() {\r\n    return this.assignItemSearchKey && this.assignItemSearchKey !== '' ? true : false;\r\n  }\r\n\r\n  public onSearchSelectedItems(searhKey: string) {\r\n    this.assignItemSearchKey = searhKey;\r\n    this.selectedItems.forEach(item => {\r\n      if (!this.isSelectedItemsSearched()) {\r\n        item.isSearched = false;\r\n      } else {\r\n        if (!item.isHidden) {\r\n          item.isSearched = (item.id.toLowerCase().includes(searhKey.toLowerCase()) ||\r\n            item.name.toLowerCase().includes(searhKey.toLowerCase()));\r\n        } else {\r\n          item.isSearched = false;\r\n        }\r\n      }\r\n    });\r\n    this.checkDisplaySelectAll();\r\n    this.onSelectSelectedItem();\r\n  }\r\n\r\n  private checkDisplaySelectAll() {\r\n    this.displaySelectAll = this.selectAllAssigned && this.isSelectedItemsSearched()\r\n      && this.getDisplayableItems(this.selectedItems).length > 0;\r\n  }\r\n\r\n  public onSelectAllSearchedData(e) {\r\n    this.selectedItems.filter(x => !x.isHidden && x.isSearched).forEach(x => x.selectedToMove = e.target.checked);\r\n    this.fewSelectedItemsChecked = false;\r\n  }\r\n\r\n  public onSelectSelectedItem() {\r\n    this.allSelectedItemsChecked = this.isSelectedItemsSearched() && this.selectedItems.filter(x => !x.isHidden && x.isSearched).every(x => x.selectedToMove);\r\n    this.fewSelectedItemsChecked = this.isSelectedItemsSearched() && !this.allSelectedItemsChecked &&\r\n      this.selectedItems.some(x => !x.isHidden && x.isSearched && x.selectedToMove);\r\n  }\r\n\r\n  syncSelectedLists(index:number){\r\n    this.selectedItems.forEach( item =>{\r\n      if(!this.selectedAccountsList.has(item.id)){\r\n        this.selectedAccountsList.set(item.id, true);\r\n      }\r\n    });\r\n\r\n    this.selectedAccountsList.forEach((val, key) =>{\r\n      if(index==1) {\r\n        this.selectedAccountsList.set(key, true);\r\n      }\r\n      if(this.selectedItems.findIndex(a => a.id == key) == -1) {\r\n        this.selectedAccountsList.delete(key);\r\n      }\r\n    });\r\n  }\r\n\r\n  updateAccountList(items: TreeItem[]){\r\n    items.forEach(item =>{\r\n      if(this.selectedAccountsList.has(item.id)){\r\n        this.selectedAccountsList.set(item.id,!this.selectedAccountsList.get(item.id));\r\n      }\r\n    })\r\n  }\r\n\r\n  getInitialCount(items: TreeItem[]): number{\r\n    let count =0;\r\n    this.selectedAccountsList.forEach((val, key) =>{\r\n      if(items.findIndex(item => item.id == key) == -1 && !val)\r\n        count++;\r\n    });\r\n    return count;\r\n  }\r\n}\r\n","<div class=\"pickList-widget\" id=\"build_new_dialog\">\r\n  <div class=\"picklist-selectionBox\">\r\n    <div class=\"box-title-bar\" [style.width]=\"selectionBoxWidth+'px'\">\r\n      <span class=\"box-label\">\r\n        {{libTranslations.availableFieldsTitle}}\r\n      </span>\r\n      <span class=\"addRemoveLink\" *ngIf=\"treeModel.getAvailableItems().length>0\" (click)=\"addAll()\">{{libTranslations.addAllTitle||'Add all'}} <i class=\"ei ei-arrow-right\"></i></span>\r\n    </div>\r\n    <div [class.selectionBox]=\"!enableSearch\" [class.selectionBox-container]=\"enableSearch\" [style.height]=\"selectionBoxHeight +'px'\" [style.width]=\"selectionBoxWidth+'px'\" [style.max-height]=\"selectionBoxHeight +'px'\">\r\n      <div *ngIf='enableSearch'>\r\n        <div class=\"p-inputgroup-pick-list search-input m-r-12\">\r\n          <span class=\"p-inputgroup-addon-pick-list\"><i class=\"ei ei-magnifier ei-16\"></i></span>\r\n          <div *ngIf=\"searchOnKeyUp\">\r\n            <input id=\"searchField_{{treeModel.id}}\" class=\"p-inputtext\" #searchFieldBox style=\"padding-left:25px\" type=\"text\" pInputText size=\"50\" (keyup)=\"onSearch(searchFieldBox.value)\" placeholder=\"{{libTranslations.search ||'Search'}}\">\r\n            <i class=\"'p-button ei ei-cross clearSearch\" [class.hidden]=\"!searchFieldBox.value\" (click)=\"searchFieldBox.value='';onSearch('')\" title=\"Clear\"></i>\r\n          </div>\r\n          <div *ngIf=\"!searchOnKeyUp\">\r\n            <input id=\"searchField_{{treeModel.id}}\" class=\"p-inputtext\" #searchBox style=\"padding-left:25px\" type=\"text\" pInputText size=\"50\" (keyup.enter)=\"onSearch(searchBox.value)\" placeholder=\"{{libTranslations.searchBackgroundText ||'Enter search keyword'}}\">\r\n            <i class=\"'p-button ei ei-cross clearSearch\" [class.hidden]=\"!searchBox.value\" (click)=\"searchBox.value='';onSearch('')\" title=\"Clear\"></i>\r\n          </div>\r\n        </div>\r\n        <div *ngIf=\"libTranslations.searchTextNote\" class=\"search-note\">\r\n          <span class=\"text-light\">{{libTranslations.searchTextNote}}</span>\r\n        </div>\r\n      </div>\r\n      <ng-container *ngIf=\"treeModel.isFlatData; then listWithVirtualScroll; else treeviewOther\">\r\n      </ng-container>\r\n      <ng-template #listWithVirtualScroll>\r\n        <div [class.selectionBox-fields]=\"enableSearch\"\r\n             [style.margin-top]=\"enableSearch?'10px':''\">\r\n          <ul *ngIf=\"virtualDatasource\" id=\"{{treeModel.id}}\" class=\"treeview-container\" [style.height]=\"enableSearch? ((selectionBoxHeight-100) + 'px') :''\" style=\"overflow:auto;\" [style.width]=\"enableSearch? (selectionBoxWidth+'px'):''\">\r\n            <li *uiScroll=\"let item of virtualDatasource\" class=\"treenode\" style=\"display: block; width: 100%;\">\r\n              <div class=\"treenode-content\" style=\"margin-left:-21px;margin-right:-21px;padding-left:18px;margin-bottom:-4px\"\r\n                   [class.selected-node]=\"item.selected && !item.hasChildren()\" id=\"{{item.id}}\">\r\n                <div class=\"treecontent-first\">\r\n                  <input id=\"chk_{{item.id}}\" type=\"checkbox\" [(ngModel)]=\"item.selected\" class=\"tree-checkbox\" (click)=\"item.onSelect($event,treeModel)\" />\r\n                  <label for=\"chk_{{item.id}}\" title=\"{{item.name}}\">{{item.name}}</label>\r\n                </div>\r\n                <div class=\"treecontent-second\">\r\n                </div>\r\n              </div>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      </ng-template>\r\n      <ng-template #treeviewOther>\r\n        <div [class.selectionBox-fields]=\"enableSearch\"\r\n             [style.height]=\"enableSearch? ((selectionBoxHeight-(searchOnKeyUp?68:85)) + 'px') :''\"\r\n             [style.max-height]=\"enableSearch? ((selectionBoxHeight-(searchOnKeyUp?68:85))+'px'): ''\"\r\n             [style.width]=\"enableSearch? (selectionBoxWidth+'px'):''\"\r\n             [style.margin-top]=\"enableSearch?'10px':''\">\r\n          <ul id=\"{{treeModel.id}}\" class=\"treeview-container\" [style.height]=\"enableSearch? ((selectionBoxHeight-(searchOnKeyUp?78:90)) + 'px') :''\" style=\"overflow:auto;\" [style.width]=\"enableSearch? (selectionBoxWidth+'px'):''\">\r\n            <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: {list:filterNonMovedItems(treeModel.items),parentInd:0 } }\"></ng-container>\r\n            <ng-template #recursiveList let-data>\r\n              <li *ngFor=\"let item of data.list;index as i\" class=\"treenode\">\r\n                <div class=\"treenode-content\" [class.parent-node]=\"item.hasChildren()\" [class.heighlight-parent]=\"item.level===1 && !treeModel.isFlatData\"\r\n                     [style.width]=\"(selectionBoxWidth+2)+'px'\" [style.margin-left]=\"(item.level*(-21))+'px'\"\r\n                     [style.margin-right]=\"(item.level*(-21))+'px'\" [style.padding-left]=\"(item.level*18)+'px'\"\r\n                     style=\"margin-bottom:-4px;\" [class.selected-node]=\"item.selected && !item.hasChildren()\"\r\n                     id=\"{{item.id}}\">\r\n                  <div class=\"treecontent-first\">\r\n                    <input *ngIf=\"(item.level===1 && !item.allChildrenMoved() && item.hasSearched(searchKey)) || !item.hasChildren()\" id=\"chk_{{data.parentInd}}_{{i}}_{{item.id}}\" type=\"checkbox\" [(ngModel)]=\"item.selected\" class=\"tree-checkbox\" (click)=\"item.onSelect($event, null, searchKey)\" [indeterminate]=\"item.indeterminated\" />\r\n                    <label for=\"chk_{{data.parentInd}}_{{i}}_{{item.id}}\" title=\"{{item.name}}\">{{item.name}}</label>\r\n                  </div>\r\n                  <div class=\"treecontent-second\">\r\n                    <span *ngIf=\"item.items.length > 0 && item.expanded && !item.allChildrenMoved() && item.hasSearched(searchKey)\" class=\"toggle-btn\" (click)=\"item.onToggle()\"><i class=\"ei ei-lg ei-circle-minus\"></i></span>\r\n                    <span *ngIf=\"item.items.length > 0 && !item.expanded && !item.allChildrenMoved() && item.hasSearched(searchKey)\" class=\"toggle-btn\" (click)=\"item.onToggle()\"><i class=\"ei ei-lg ei-plus-circle\"></i></span>\r\n                  </div>\r\n                </div>\r\n                <ul *ngIf=\"item.items.length > 0 && item.expanded\">\r\n                  <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: {list:filterNonMovedItems(item.items),parentInd:data.parentInd+'_'+i}}\"></ng-container>\r\n                </ul>\r\n              </li>\r\n            </ng-template>\r\n          </ul>\r\n        </div>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n  <div class=\"pickList-movement\">\r\n    <button class=\"p-button p-component move-button m-w-auto\" [disabled]=\"!enableMoveRight\" (click)=\"moveRight()\"><i class=\"ei ei-arrow-right\" id=\"move_right\"></i></button>\r\n    <button class=\"p-button p-component move-button m-w-auto\" style=\"margin-top:5px;\" [disabled]=\"!enableMoveLeft\" (click)=\"moveLeft()\"><i class=\"ei ei-arrow-left\" id=\"move_left\"></i></button>\r\n  </div>\r\n  <div class=\"picklist-selectionBox\">\r\n    <div class=\"box-title-bar\" [style.width]=\"selectionBoxWidth+'px'\">\r\n      <span class=\"box-label\">\r\n        {{libTranslations.selectedItemsTitle}}\r\n      </span>\r\n      <span class=\"addRemoveLink\" (click)=\"removeAll()\" *ngIf=\"selectedItems && selectedItems.length>0\"><i class=\"ei ei-arrow-left\"></i> {{libTranslations.removeAllTitle||'Remove all'}}</span>\r\n    </div>\r\n    <div [class.selectionBox]=\"!enableSelectedSearch\" [class.selectionBox-container]=\"enableSelectedSearch\" [style.height]=\"selectionBoxHeight+'px'\" [style.max-height]=\"selectionBoxHeight+'px'\" [style.width]=\"selectionBoxWidth+'px'\">\r\n      <div *ngIf=\"selectedItems && selectedItems.length>0 && (enableSelectedSearch || displaySelectionCheckbox)\" class=\"action-bar\">\r\n        <div class=\"search-box\">\r\n          <div class=\"p-inputgroup-pick-list search-input m-r-12\" *ngIf=\"enableSelectedSearch\">\r\n            <span class=\"p-inputgroup-addon-pick-list\"><i class=\"ei ei-magnifier ei-16\"></i></span>\r\n            <input id=\"selectedItemsSearch_{{treeModel.id}}\" class=\"p-inputtext\" #assignedItemSearchBox style=\"padding-left:25px\" type=\"text\" pInputText size=\"50\"\r\n                   (keyup.enter)=\"onSearchSelectedItems(assignedItemSearchBox.value)\" [(ngModel)]=\"assignItemSearchKey\" placeholder=\"{{libTranslations.searchBackgroundText ||'Enter search keyword'}}\">\r\n            <i class=\"'p-button ei ei-cross clearSearch\" [class.hidden]=\"!assignedItemSearchBox.value\" (click)=\"assignedItemSearchBox.value='';onSearchSelectedItems('')\" title=\"Clear\"></i>\r\n          </div>\r\n          <div *ngIf=\"libTranslations.searchTextNote\" class=\"search-note\">\r\n            <span class=\"text-light\">{{libTranslations.searchTextNote}}</span>\r\n          </div>\r\n        </div>\r\n        <div *ngIf=\"displaySelectionCheckbox\" style=\"width:35%; display: table;\">\r\n          <span class=\"selectcheck-title\">\r\n            {{libTranslations.displaySelectionBoxTitle}}\r\n          </span>\r\n          <span [libDopTooltipDirective]=\"libTranslations.displaySelectionBoxNote\" [tooltipStyleClass]=\"'tooltip-top-yellow'\" tooltipPosition=\"top\">\r\n            <i class=\"ei ei-16 ei-info mr-4 mt-2\"></i>\r\n          </span>\r\n        </div>\r\n      </div>\r\n      <div [class.selectionBox-fields]=\"enableSelectedSearch\"\r\n           [style.height]=\"enableSelectedSearch? ((selectionBoxHeight-85) + 'px') :''\"\r\n           [style.max-height]=\"enableSelectedSearch? ((selectionBoxHeight-85)+'px'): ''\"\r\n           [style.width]=\"enableSelectedSearch? (selectionBoxWidth+'px'):''\"\r\n           [style.margin-top]=\"enableSelectedSearch?'10px':''\">\r\n        <ul class=\"treeview-container\" [style.height]=\"enableSelectedSearch? ((selectionBoxHeight-100) + 'px') :''\"\r\n            style=\"overflow:auto;\" [style.width]=\"enableSelectedSearch? (selectionBoxWidth+'px'):''\">\r\n          <li class=\"treenode\" *ngIf=\"displaySelectAll\">\r\n            <div style=\"display: flex;\">\r\n              <div class=\"treecontent\" [class.selected-check]=\"displaySelectionCheckbox\">\r\n                <input id=\"assignedListSelectAllChk\" type=\"checkbox\" class=\"tree-checkbox\" [(ngModel)]=\"allSelectedItemsChecked\"\r\n                       (change)=\"onSelectAllSearchedData($event)\" [indeterminate]=\"fewSelectedItemsChecked\"/>\r\n                <label for=\"assignedListSelectAllChk\">{{libTranslations.selectAll}}</label>\r\n              </div>\r\n            </div>\r\n          </li>\r\n          <li *ngFor=\"let item of getDisplayableItems(selectedItems);index as i\" class=\"treenode\">\r\n            <div style=\"display: flex;\">\r\n              <div class=\"treecontent\" [class.selected-check]=\"displaySelectionCheckbox\">\r\n                <input id=\"selectedChk_{{i}}_{{item.id}}\" type=\"checkbox\" [(ngModel)]=\"item.selectedToMove\" (change)=\"onSelectSelectedItem()\" class=\"tree-checkbox\" />\r\n                <label for=\"selectedChk_{{i}}_{{item.id}}\" title=\"{{item.name}}\">{{item.name}}</label>\r\n              </div>\r\n              <div *ngIf=\"displaySelectionCheckbox\" class=\"actioncheck-container\">\r\n                <input id=\"performActionChk_{{item.id}}\" type=\"checkbox\" [(ngModel)]=\"item.selectedForMoreAction\" class=\"tree-checkbox\" />\r\n                <label for=\"performActionChk_{{item.id}}\"></label>\r\n              </div>\r\n            </div>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"pickList-movement pickList-reorder\">\r\n    <button class=\"p-button p-component reorder-button m-w-auto\" [disabled]=\"!enableReorder\" (click)=\"reorder(true)\"><i class=\"ei ei-arrow-up\"></i></button>\r\n    <button class=\"p-button p-component reorder-button m-w-auto\" style=\"margin-top:5px;\" [disabled]=\"!enableReorder\" (click)=\"reorder(false)\"><i class=\"ei ei-arrow-down\"></i></button>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { DopPickListComponent } from './dop-pick-list.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IndeterminateDirective } from './indeterminate-directive';\r\nimport { UiScrollModule } from 'ngx-ui-scroll';\r\nimport { DopTooltipModule } from '../../../dop-tooltip/src/libs';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n  declarations: [DopPickListComponent, IndeterminateDirective],\r\n  imports: [\r\n    CommonModule,\r\n    FormsModule,\r\n    UiScrollModule,\r\n    DopTooltipModule,\r\n    TranslateModule\r\n  ],\r\n  providers: [TranslateService],\r\n  exports: [DopPickListComponent, IndeterminateDirective,\r\n    UiScrollModule\r\n  ]\r\n})\r\nexport class DopPickListModule { }\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({ selector: '[libIndeterminate]' })\r\nexport class IndeterminateDirective {\r\n    @Input()\r\n    set indeterminate(value) {\r\n        this.elem.nativeElement.indeterminate = value;\r\n    }\r\n    constructor(private elem: ElementRef) {\r\n    }\r\n}\r\n","export class PicklistTranslationModel {\r\n  availableFieldsTitle = '';\r\n  addAllTitle = '';\r\n  removeAllTitle = '';\r\n  selectedItemsTitle = '';\r\n  searchBackgroundText?= '';\r\n  searchTextNote?: string;\r\n  displaySelectionBoxTitle?= '';\r\n  displaySelectionBoxNote?= '';\r\n  selectAll?= '';\r\n  search='';\r\n}\r\n","export class SelectedItemModel {\r\n  id: string;\r\n  name: string;\r\n  parentId?: string;\r\n  dataItem?: any;\r\n  selectedToMove = false;\r\n  capability: Display;\r\n  isHidden?: boolean;\r\n  isSearched?: boolean;\r\n  selectedForMoreAction?: boolean;\r\n}\r\n\r\nexport class Display {\r\n  width: any;\r\n}\r\n","import { SelectedItemModel } from './selected-item.model';\r\n\r\nexport class TreeModel {\r\n  id: string;\r\n  isFlatData?= false;\r\n  isTreeSeached?= false;\r\n  searchKey?= '';\r\n  items: TreeItem[] = [];\r\n\r\n  public mapSelectedItem?(item: TreeItem, parentId: string): SelectedItemModel {\r\n    const selectedItem = new SelectedItemModel();\r\n    selectedItem.id = item.id;\r\n    selectedItem.name = item.name;\r\n    selectedItem.parentId = parentId;\r\n    selectedItem.dataItem = Object.assign({ isHidden: false }, item.dataItem);\r\n    return selectedItem;\r\n  }\r\n\r\n  public moveSelectedItemById?(items: TreeItem[], fieldIds: { [key: string]: boolean }[], pid: string) {\r\n    let dataitems: SelectedItemModel[] = [];\r\n    items.forEach((item: TreeItem) => {\r\n      if (fieldIds.some(field => item.id === Object.getOwnPropertyNames(field)[0] && field[item.id]) ) {\r\n        item.isMoved = true;\r\n        const dataItem = this.mapSelectedItem(item, pid);\r\n\r\n        if (fieldIds.some(field => item.id === Object.getOwnPropertyNames(field)[0] && !field[item.id])) {\r\n          dataItem.isHidden = true;\r\n          dataItem.dataItem.isHidden = true;\r\n          item.isMoved = false;\r\n        } else {\r\n          item.isMoved = true;\r\n          dataItem.isHidden = false;\r\n          dataItem.dataItem.isHidden = false;\r\n        }\r\n        dataitems.push(dataItem);\r\n      }\r\n      if (item.items.length > 0) {\r\n        dataitems = dataitems.concat(this.moveSelectedItemById(item.items, fieldIds, item.id));\r\n      }\r\n    });\r\n    const selectedFieldIds = fieldIds.map(x => Object.getOwnPropertyNames(x)[0]);\r\n    dataitems.sort((a, b) => {\r\n      return selectedFieldIds.indexOf(a.id) - selectedFieldIds.indexOf(b.id);\r\n    });\r\n    return dataitems;\r\n  }\r\n\r\n  private getSelectedChildren?(items: TreeItem[], selectedDataItems: SelectedItemModel[], parentid: string) {\r\n    items.forEach((item: TreeItem) => {\r\n      if ((this.isFlatData || item.level > 1) && item.selected && !item.isMoved) {\r\n        selectedDataItems.push(this.mapSelectedItem(item, parentid));\r\n      }\r\n      if (item.hasChildren()) {\r\n        this.getSelectedChildren(item.items, selectedDataItems, item.id);\r\n      }\r\n    });\r\n  }\r\n  getSelectedItems?() {\r\n    const selectedItems: SelectedItemModel[] = [];\r\n    this.getSelectedChildren(this.items, selectedItems, null);\r\n    return selectedItems;\r\n  }\r\n  private getAvailableChildren?(items: TreeItem[], availableItems: TreeItem[]) {\r\n    items.forEach((item: TreeItem) => {\r\n      if ((this.isFlatData || item.level > 1) && !item.isMoved) {\r\n        availableItems.push(item);\r\n      }\r\n      if (item.hasChildren()) {\r\n        this.getAvailableChildren(item.items, availableItems);\r\n      }\r\n    });\r\n  }\r\n  getAvailableItems?() {\r\n    const availableItems: TreeItem[] = [];\r\n    this.getAvailableChildren(this.items, availableItems);\r\n    return availableItems;\r\n  }\r\n\r\n  private resetDraftMode?(items: TreeItem[], confirm: boolean) {\r\n    items.forEach((item: TreeItem) => {\r\n      if (confirm) {\r\n        item.isAddedInDraft = false;\r\n        item.isRemovedInDraft = false;\r\n      } else {\r\n        if (item.isAddedInDraft) {\r\n          item.isMoved = false;\r\n        }\r\n        else if (item.isRemovedInDraft) {\r\n          item.isMoved = true;\r\n        }\r\n      }\r\n      if (item.hasChildren()) {\r\n        this.resetDraftMode(item.items, confirm);\r\n      }\r\n    });\r\n  }\r\n\r\n  private getMovedItems?(items: TreeItem[], movedItems: SelectedItemModel[], parentid: string) {\r\n    items.forEach((item: TreeItem) => {\r\n      if ((this.isFlatData || item.level > 1) && item.isMoved && !movedItems.some(x => x.id === item.id)) {\r\n        movedItems.push(this.mapSelectedItem(item, parentid));\r\n      }\r\n      if (item.hasChildren()) {\r\n        this.getMovedItems(item.items, movedItems, item.id);\r\n      }\r\n    });\r\n  }\r\n\r\n  confirmMovement?(): SelectedItemModel[] {\r\n    this.resetDraftMode(this.items, true);\r\n    const selectedItems: SelectedItemModel[] = [];\r\n    this.getMovedItems(this.items, selectedItems, null);\r\n    return selectedItems;\r\n  }\r\n\r\n  cancelMovement?() {\r\n    this.resetDraftMode(this.items, false);\r\n    const selectedItems: SelectedItemModel[] = [];\r\n    this.getMovedItems(this.items, selectedItems, null);\r\n    return selectedItems;\r\n  }\r\n  private resetTreeItemsToDefault?(items: TreeItem[]) {\r\n    items.forEach((item: TreeItem) => {\r\n      item.isMoved = false;\r\n      item.selected = false;\r\n      item = Object.assign(new TreeItem(), item);\r\n      if (item.hasChildren()) {\r\n        this.resetTreeItemsToDefault(item.items);\r\n      }\r\n    });\r\n  }\r\n\r\n  resetTreeItems?() {\r\n    this.resetTreeItemsToDefault(this.items);\r\n  }\r\n}\r\n\r\nexport class PickListRequestModel {\r\n  constructor(\r\n    public pageOffset: number,\r\n    public pageSize: number,\r\n    public searchKey = '',\r\n    public excludeList: string[] = []) {\r\n  }\r\n}\r\n\r\nexport class PagedTreeModel {\r\n  constructor(\r\n    public totalCount: number,\r\n    public items: TreeItem[]) {\r\n  }\r\n}\r\n\r\nexport class TreeItem {\r\n  id: string;\r\n  name: string;\r\n  items: TreeItem[] = [];\r\n  selected?: boolean;\r\n  dataItem?: any;\r\n  expanded?= true;\r\n  indeterminated?: boolean;\r\n  level?: number;\r\n  isMoved?= false;\r\n  isSearched?= false;\r\n  isAddedInDraft?: boolean;\r\n  isRemovedInDraft?: boolean;\r\n  private isSelected?: boolean;\r\n  searchKey?: string;\r\n  hasChildren?() {\r\n    return this.items && this.items.length > 0;\r\n  }\r\n\r\n  onSelect?(e: any, treeModel: TreeModel = null, searchKey = '') {\r\n    this.items.forEach((item: TreeItem) => {\r\n      if (this.isSearchKeyAvailable() && !item.hasChildren()) {\r\n        item.selected = item.isSearched ? e.target.checked : false;\r\n      } else {\r\n        item.selected = e.target.checked;\r\n      }\r\n    });\r\n    \r\n    if (treeModel) {\r\n      treeModel.items.find(x => x.id === this.id).selected = e.target.checked;\r\n    }\r\n    return this.dataItem;\r\n  }\r\n  onToggle?() {\r\n    if (this.items.length > 0) {\r\n      this.expanded = !this.expanded;\r\n    }\r\n  }\r\n  allChildrenMoved?(): boolean {\r\n    const childrenMoved = this.items.filter(x => x.isMoved);\r\n    return childrenMoved !== null ? this.items.length === childrenMoved.length : false;\r\n  }\r\n\r\n  hasSearched?(searchKey: string): boolean {\r\n    const childrenSearched = this.items.filter(x => x.isSearched);\r\n    return searchKey ==='' ? true : childrenSearched?.length > 0 ? true : false;\r\n  }\r\n\r\n  isSearchKeyAvailable?(): boolean {\r\n    return this.searchKey !== undefined && this.searchKey !== '';\r\n  }\r\n\r\n  constructor() {\r\n    Object.defineProperty(this, 'selected', {\r\n      get() { \r\n        return !this.hasChildren() ? this.isSelected :\r\n        this.isSearchKeyAvailable() ? \r\n        this.items.filter(x => x.isSearched).every((item: TreeItem) => {\r\n          return item.selected;\r\n        }) :       \r\n        this.items.every((item: TreeItem) => {\r\n          return item.selected;\r\n        });\r\n      },\r\n      set(value: boolean) {\r\n        this.isSelected = value;\r\n      }\r\n    });\r\n    Object.defineProperty(this, 'indeterminated', {\r\n      get() {\r\n        if (!this.hasChildren()) {\r\n          return false;\r\n        }\r\n        let selectedItems = this.items.filter(x => x.isSelected).length;\r\n        if (this.isSearchKeyAvailable()) {\r\n          selectedItems = this.items.filter(x => x.isSearched && x.isSelected).length;\r\n          return selectedItems > 0 && selectedItems !== this.items.filter(x => x.isSearched).length;\r\n        }\r\n        return selectedItems > 0 && selectedItems !== this.items.length;\r\n      }\r\n    });\r\n\r\n  }\r\n\r\n}\r\n","/*\r\n * Public API Surface of dop-pick-list\r\n */\r\n\r\nexport * from './lib/dop-pick-list.component';\r\nexport * from './lib/indeterminate-directive';\r\nexport * from './lib/dop-pick-list.module';\r\n","export class DopSessionRevocationConfig {\r\n    serviceBaseUrl: string;\r\n    sessionCheckInterval: number;\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { DopSessionRevocationService } from './dop-session-revocation.service';\r\n\r\n@NgModule({\r\n  imports: [BrowserModule, HttpClientModule],\r\n  providers: [DopSessionRevocationService],\r\n})\r\nexport class DopSessionRevocationModule {\r\n  static forRoot(): ModuleWithProviders<DopSessionRevocationModule> {\r\n    return {\r\n      ngModule: DopSessionRevocationModule,\r\n      providers: [],\r\n    };\r\n  }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { interval } from 'rxjs';\r\nimport { DopSessionRevocationConfig } from './dop-session-revocation.config';\r\nimport { NoProgressIndicator } from 'src/app/common/global-constants/application-constants';\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class DopSessionRevocationService {\r\n    private config: DopSessionRevocationConfig | undefined;\r\n    constructor(private httpClient: HttpClient) {}\r\n\r\n    configure(config: DopSessionRevocationConfig | undefined): void {\r\n        this.config = config;\r\n    }\r\n\r\n    revokeSession(sessionId: string, callback: (data: any) => void, errorCallback: (error: any) => void): void {\r\n        const httpOptions = {\r\n            headers: new HttpHeaders({\r\n                'Content-Type': 'application/json'\r\n            })\r\n        };\r\n\r\n        if (this.config) {\r\n            const url = this.config.serviceBaseUrl + 'session/revoke-session/' + sessionId;\r\n            this.httpClient.post(url, null, httpOptions).subscribe(\r\n                response => {\r\n                    callback(response);\r\n                },\r\n                error => {\r\n                    errorCallback(error);\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    checkSessionStatus(sessionId: string, callback: (data: any) => void, errorCallback: (error: any) => void): void {\r\n        if (this.config) {\r\n            interval(this.config.sessionCheckInterval * 1000).subscribe(() => {\r\n                const url = this.config?.serviceBaseUrl + 'session/' + sessionId + '/status';\r\n                const headers = {};\r\n                headers[NoProgressIndicator] = 'true';\r\n                \r\n                this.httpClient.get(url, { headers: headers }).subscribe(\r\n                    response => {\r\n                        callback(response);\r\n                    },\r\n                    error => {\r\n                        errorCallback(error);\r\n                    }\r\n                );\r\n            });\r\n        }\r\n    }\r\n}","/*\r\n * Public API Surface of dop-session-revocation\r\n */\r\n\r\nexport * from './lib/dop-session-revocation.service';\r\nexport *from './lib/dop-session-revocation.module';\r\nexport *from './lib/dop-session-revocation.config';","import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  NgZone,\r\n  OnDestroy\r\n} from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { DomHandler } from 'primeng/dom';\r\n\r\n@Directive({\r\n  selector: '[libDopTooltipDirective]'\r\n})\r\nexport class DopTooltipDirective implements AfterViewInit, OnDestroy {\r\n  // We can pass string, template or component\r\n  @Input('libDopTooltipDirective') content: string | (() => Observable<any>);\r\n\r\n  // Primeng tooltip inputs and fields\r\n  @Input() tooltipPosition = 'right';\r\n  @Input() displayOnEllipsis = false;\r\n  @Input() tooltipEvent = 'hover';\r\n\r\n  @Input() appendTo: any = 'body';\r\n\r\n  @Input() positionStyle: string;\r\n\r\n  @Input() tooltipStyleClass: string;\r\n\r\n  @Input() tooltipZIndex = 'auto';\r\n\r\n  @Input() showDelay: number;\r\n\r\n  @Input() hideDelay: number;\r\n\r\n  @Input() life: number;\r\n\r\n  //Used graphs for tooltip from graphs page , defaulted to others\r\n  @Input() from = 'others';\r\n  text: string;\r\n\r\n  @Input('tooltipDisabled') get disabled(): boolean {\r\n    return this.tooltipDisabled;\r\n  }\r\n  set disabled(val: boolean) {\r\n    this.tooltipDisabled = val;\r\n    this.deactivate();\r\n  }\r\n\r\n  tooltipDisabled: boolean;\r\n\r\n  container: any;\r\n\r\n  styleClass: string;\r\n\r\n  tooltipText: any;\r\n\r\n  showTimeout: any;\r\n\r\n  hideTimeout: any;\r\n\r\n  active: boolean;\r\n\r\n  mouseEnterListener: () => {\r\n\r\n  };\r\n\r\n  mouseLeaveListener: () => void;\r\n\r\n  clickListener: () => void;\r\n\r\n  focusListener: () => void;\r\n\r\n  blurListener: () => void;\r\n\r\n  resizeListener: any;\r\n  isDestroyed = false;\r\n  // end\r\n\r\n  constructor(\r\n    public el: ElementRef,\r\n    public zone: NgZone) {\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.zone.runOutsideAngular(() => {\r\n      if (this.tooltipEvent === 'hover') {\r\n        this.mouseEnterListener = this.onMouseEnter.bind(this);\r\n        this.mouseLeaveListener = this.onMouseLeave.bind(this);\r\n        this.clickListener = this.onClick.bind(this);\r\n        this.el.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\r\n        this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\r\n        this.el.nativeElement.addEventListener('click', this.clickListener);\r\n      }\r\n      else if (this.tooltipEvent === 'focus') {\r\n        this.focusListener = this.onFocus.bind(this);\r\n        this.blurListener = this.onBlur.bind(this);\r\n        this.el.nativeElement.addEventListener(\"focus\", this.focusListener,true);\r\n        this.el.nativeElement.addEventListener(\"blur\", this.blurListener,true);\r\n      }\r\n    });\r\n  }\r\n\r\n  onMouseEnter(e: Event) {\r\n    if (!this.container && !this.showTimeout) {\r\n      this.activate();\r\n    }\r\n  }\r\n\r\n  onMouseLeave(e: Event) {\r\n    this.deactivate();\r\n  }\r\n\r\n  onFocus(e: Event) {\r\n    this.activate();\r\n  }\r\n\r\n  onBlur(e: Event) {\r\n    this.deactivate();\r\n  }\r\n\r\n  onClick(e: Event) {\r\n    this.deactivate();\r\n  }\r\n\r\n  activate() {\r\n    if (this.displayOnEllipsis) {\r\n      if (this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth) {\r\n        this.activateDisplay();\r\n      }\r\n    } else {\r\n      this.activateDisplay();\r\n    }\r\n\r\n  }\r\n\r\n  private activateDisplay() {\r\n    this.active = true;\r\n    this.clearHideTimeout();\r\n\r\n    if (this.showDelay) {\r\n      this.showTimeout = setTimeout(() => { this.show(); }, this.showDelay);\r\n    }\r\n    else {\r\n      this.show();\r\n    }\r\n\r\n    if (this.life) {\r\n      const duration = this.showDelay ? this.life + this.showDelay : this.life;\r\n      this.hideTimeout = setTimeout(() => { this.hide(); }, duration);\r\n    }\r\n  }\r\n\r\n  deactivate() {\r\n    this.active = false;\r\n    this.clearShowTimeout();\r\n\r\n    if (this.hideDelay) {\r\n      this.clearHideTimeout();    // life timeout\r\n      this.hideTimeout = setTimeout(() => { this.hide(); }, this.hideDelay);\r\n    }\r\n    else {\r\n      this.hide();\r\n    }\r\n  }\r\n\r\n  create() {\r\n    if (this.container) {\r\n      this.clearHideTimeout();\r\n      this.remove();\r\n    }\r\n\r\n    this.container = document.createElement('div');\r\n    const tooltipArrow = document.createElement('div');\r\n    tooltipArrow.className = 'p-tooltip-arrow';\r\n    this.container.appendChild(tooltipArrow);\r\n\r\n    this.tooltipText = document.createElement('div');\r\n    this.tooltipText.className = 'p-tooltip-text p-shadow';\r\n    this.container.style.width = '20em';\r\n    if (this.text) {\r\n      this.updateText();\r\n    }\r\n\r\n    if (this.positionStyle) {\r\n      this.container.style.position = this.positionStyle;\r\n    }\r\n\r\n    this.container.appendChild(this.tooltipText);\r\n\r\n    if (this.appendTo === 'body') {\r\n      document.body.appendChild(this.container);\r\n\r\n    }\r\n    else if (this.appendTo === 'target') {\r\n      DomHandler.appendChild(this.container, this.el.nativeElement);\r\n    }\r\n    else {\r\n      DomHandler.appendChild(this.container, this.appendTo);\r\n    }\r\n\r\n    this.container.style.display = 'inline-block';\r\n  }\r\n\r\n  generateNgContent() {\r\n    if (typeof this.content === 'string') {\r\n      this.text = this.content;\r\n      this.adjustTooltip();\r\n      this.updateText();\r\n      return;\r\n    }\r\n\r\n    if (this.content instanceof Observable) {\r\n      return this.content.subscribe((message) => {\r\n        if (this.isDestroyed && !this.container) {\r\n          return;\r\n        }\r\n        this.text = message;\r\n        if (!this.container) {\r\n          this.create();\r\n        }\r\n        this.updateText();\r\n        this.adjustTooltip();\r\n      });\r\n    }\r\n  }\r\n\r\n  show() {\r\n    this.isDestroyed = false;\r\n    this.create();\r\n    this.generateNgContent();\r\n\r\n  }\r\n\r\n  private adjustTooltip() {\r\n    this.align();\r\n\r\n    DomHandler.fadeIn(this.container, 250);\r\n\r\n    if (this.tooltipZIndex === 'auto') {\r\n      this.container.style.zIndex = ++DomHandler.zindex;\r\n    }\r\n    else {\r\n      this.container.style.zIndex = this.tooltipZIndex;\r\n    }\r\n\r\n    this.bindDocumentResizeListener();\r\n  }\r\n\r\n  hide() {\r\n    this.isDestroyed = true;\r\n    this.remove();\r\n  }\r\n\r\n  updateText() {\r\n    this.tooltipText.innerHTML = this.text;\r\n  }\r\n\r\n  align() {\r\n    const position = this.tooltipPosition;\r\n\r\n    switch (position) {\r\n      case 'top':\r\n        this.alignTop();\r\n        if (this.isOutOfBounds()) {\r\n          this.alignBottom();\r\n          if (this.isOutOfBounds()) {\r\n            this.alignRight();\r\n\r\n            if (this.isOutOfBounds()) {\r\n              this.alignLeft();\r\n            }\r\n          }\r\n        }\r\n        break;\r\n\r\n      case 'bottom':\r\n        this.alignBottom();\r\n        if (this.isOutOfBounds()) {\r\n          this.alignTop();\r\n          if (this.isOutOfBounds()) {\r\n            this.alignRight();\r\n\r\n            if (this.isOutOfBounds()) {\r\n              this.alignLeft();\r\n            }\r\n          }\r\n        }\r\n        break;\r\n\r\n      case 'left':\r\n        this.alignLeft();\r\n        if (this.isOutOfBounds()) {\r\n          this.alignRight();\r\n\r\n          if (this.isOutOfBounds()) {\r\n            this.alignTop();\r\n\r\n            if (this.isOutOfBounds()) {\r\n              this.alignBottom();\r\n            }\r\n          }\r\n        }\r\n        break;\r\n\r\n      case 'right':\r\n        this.alignRight();\r\n        if (this.isOutOfBounds()) {\r\n          this.alignLeft();\r\n\r\n          if (this.isOutOfBounds()) {\r\n            this.alignTop();\r\n\r\n            if (this.isOutOfBounds()) {\r\n              this.alignBottom();\r\n            }\r\n          }\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  getHostOffset() {\r\n    if (this.appendTo === 'body' || this.appendTo === 'target') {\r\n      const offset = this.el.nativeElement.getBoundingClientRect();\r\n      const targetLeft = offset.left + DomHandler.getWindowScrollLeft();\r\n      const targetTop = offset.top + DomHandler.getWindowScrollTop();\r\n\r\n      return { left: targetLeft, top: targetTop };\r\n    }\r\n    else {\r\n      return { left: 0, top: 0 };\r\n    }\r\n  }\r\n\r\n  alignRight() {\r\n    this.preAlign('right');\r\n    const hostOffset = this.getHostOffset();\r\n    const left = hostOffset.left + DomHandler.getOuterWidth(this.el.nativeElement);\r\n    const top = hostOffset.top + (DomHandler.getOuterHeight(this.el.nativeElement) - DomHandler.getOuterHeight(this.container)) / 2;\r\n    this.container.style.left = left + 'px';\r\n    this.container.style.top = top + 'px';\r\n  }\r\n\r\n  alignLeft() {\r\n    this.preAlign('left');\r\n    const hostOffset = this.getHostOffset();\r\n    const left = hostOffset.left - DomHandler.getOuterWidth(this.container);\r\n    const top = hostOffset.top + (DomHandler.getOuterHeight(this.el.nativeElement) - DomHandler.getOuterHeight(this.container)) / 2;\r\n    this.container.style.left = left + 'px';\r\n    this.container.style.top = top + 'px';\r\n  }\r\n\r\n  alignTop() {\r\n    this.preAlign('top');\r\n    const hostOffset = this.getHostOffset();\r\n    const left = hostOffset.left + (DomHandler.getOuterWidth(this.el.nativeElement) - DomHandler.getOuterWidth(this.container)) / 2;\r\n    const top = hostOffset.top - DomHandler.getOuterHeight(this.container);\r\n    this.container.style.left = left + 'px';\r\n    this.container.style.top = top + 'px';\r\n  }\r\n\r\n  alignBottom() {\r\n    this.preAlign('bottom');\r\n    const hostOffset = this.getHostOffset();\r\n    const left = hostOffset.left + (DomHandler.getOuterWidth(this.el.nativeElement) - DomHandler.getOuterWidth(this.container) - (this.from==='graph'? 595 : 0)) / 2;\r\n    const top = hostOffset.top + DomHandler.getOuterHeight(this.el.nativeElement);\r\n    this.container.style.left = left + 'px';\r\n    this.container.style.top = top + 'px';\r\n  }\r\n\r\n  preAlign(position: string) {\r\n    if (this.container) {\r\n      this.container.style.left = -999 + 'px';\r\n      this.container.style.top = -999 + 'px';\r\n      const defaultClassName = 'p-tooltip p-component p-tooltip-' + position;\r\n      this.container.className = this.tooltipStyleClass ? defaultClassName + ' ' + this.tooltipStyleClass : defaultClassName;\r\n    }\r\n  }\r\n\r\n  isOutOfBounds(): boolean {\r\n    const offset = this.container.getBoundingClientRect();\r\n    const targetTop = offset.top;\r\n    const targetLeft = offset.left;\r\n    const width = DomHandler.getOuterWidth(this.container);\r\n    const height = DomHandler.getOuterHeight(this.container);\r\n    const viewport = DomHandler.getViewport();\r\n\r\n    return (targetLeft + width > viewport.width) || (targetLeft < 0) || (targetTop < 0) || (targetTop + height > viewport.height);\r\n  }\r\n\r\n  onWindowResize(e: Event) {\r\n    this.hide();\r\n  }\r\n\r\n  bindDocumentResizeListener() {\r\n    this.zone.runOutsideAngular(() => {\r\n      this.resizeListener = this.onWindowResize.bind(this);\r\n      window.addEventListener('resize', this.resizeListener);\r\n    });\r\n  }\r\n\r\n  unbindDocumentResizeListener() {\r\n    if (this.resizeListener) {\r\n      window.removeEventListener('resize', this.resizeListener);\r\n      this.resizeListener = null;\r\n    }\r\n  }\r\n\r\n  unbindEvents() {\r\n    if (this.tooltipEvent === 'hover') {\r\n      this.el.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\r\n      this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\r\n      this.el.nativeElement.removeEventListener('click', this.clickListener);\r\n    }\r\n    else if (this.tooltipEvent === 'focus') {\r\n      this.el.nativeElement.removeEventListener('focus', this.focusListener);\r\n      this.el.nativeElement.removeEventListener('blur', this.blurListener);\r\n    }\r\n\r\n    this.unbindDocumentResizeListener();\r\n  }\r\n\r\n  remove() {\r\n    if (this.container && this.container.parentElement) {\r\n      if (this.appendTo === 'body') {\r\n        document.body.removeChild(this.container);\r\n      }\r\n      else if (this.appendTo === 'target') {\r\n        this.el.nativeElement.removeChild(this.container);\r\n      }\r\n      else {\r\n        DomHandler.removeChild(this.container, this.appendTo);\r\n      }\r\n    }\r\n\r\n    this.unbindDocumentResizeListener();\r\n    this.clearTimeouts();\r\n    this.container = null;\r\n  }\r\n\r\n  clearShowTimeout() {\r\n    if (this.showTimeout) {\r\n      clearTimeout(this.showTimeout);\r\n      this.showTimeout = null;\r\n    }\r\n  }\r\n\r\n  clearHideTimeout() {\r\n    if (this.hideTimeout) {\r\n      clearTimeout(this.hideTimeout);\r\n      this.hideTimeout = null;\r\n    }\r\n  }\r\n\r\n  clearTimeouts() {\r\n    this.clearShowTimeout();\r\n    this.clearHideTimeout();\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.unbindEvents();\r\n    this.remove();\r\n  }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { DopTooltipDirective } from './dop-tooltip.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [DopTooltipDirective],\r\n  imports: [\r\n  ],\r\n  exports: [DopTooltipDirective]\r\n})\r\nexport class DopTooltipModule { }\r\n","/*\r\n * Public API Surface of dop-tooltip\r\n */\r\n\r\nexport * from './lib/dop-tooltip.directive';\r\nexport * from './lib/dop-tooltip.module';\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthenticationGuard } from './core/guards/auth.guard';\r\nimport { RouteConstants } from './common/global-constants/route-constants';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: RouteConstants.ResultsHomePath, loadChildren: () => import('./features/results/results.module').then(m => m.ResultsModule)\r\n    , canActivate: [AuthenticationGuard]\r\n  },\r\n  {\r\n    path: RouteConstants.ImpersonatePath,\r\n    loadChildren: () => import('./features/impersonate/impersonate.module').then(m => m.ImpersonateModule),\r\n    canActivate: [AuthenticationGuard]\r\n  }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forRoot(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit, ChangeDetectorRef, OnDestroy, AfterViewInit, Renderer2, AfterContentChecked, LOCALE_ID, Inject } from '@angular/core';\r\nimport { LayoutService } from './core/services/layout.service';\r\nimport { Layout } from './shared/models/layout.model';\r\nimport { AuthGuardMessageService } from './core/guards/auth-guard.message.service';\r\nimport { AuthService } from './core/services/auth.service';\r\nimport { InterceptorMessageService } from './core/interceptor/interceptor.message.service';\r\nimport { EventService } from './core/services/event.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { EventTypes } from './core/enums/event.types';\r\nimport { EventBuildNewResults } from './features/results/shared/models/eventBuildNewResults.model';\r\nimport { PullDownView } from './features/results/shared/models/pull-down.model';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { RouteConstants } from './common/global-constants';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\nimport { GlobalErrorEventModel } from './common/models/global-error-event.model';\r\nimport { ChartService } from './features/results/graphsAndCharts/charts/chart.service';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  templateUrl: './app.component.html',\r\n  styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n  layout: Layout = {\r\n    pageHeader: {\r\n      pageTitle: '',\r\n      pageIcon: '',\r\n      iconLink: '',\r\n      confirmDialogRequired: false,\r\n      pullDownItems: []\r\n    },\r\n    breadcrumbItems: []\r\n  } as Layout;\r\n  enableText = false;\r\n  loading = false;\r\n  isUserDataLoaded = false;\r\n  openAccessDeniedDialog = false;\r\n  openBuildNewResultsModal = false;\r\n  isBuildNewResultsModalEdit = false;\r\n  pullItems: PullDownView[];\r\n  displayTemplate = false;\r\n  unKnownProfile = false;\r\n  primeng: primeng = new primeng();\r\n  openGlobalErrorDialog = false;\r\n  isTimeoutError = false;\r\n  errorMessage = \"\";\r\n  technicalErrorReasonMessage=\"\";\r\n  technicalErrorSupportMessage=\"\";\r\n  correlationId=\"\";\r\n  retry: Function;\r\n  onCloseGlobalErrorDialog: Function;\r\n  userLanguage = 'en';\r\n  private userDeniedPermissionSubscription: Subscription;\r\n  private isUserDataLoaded$Subscription: Subscription;\r\n  private isLoadingSubscription: Subscription;\r\n  private isGraphLoadingSubscription: Subscription;\r\n  private openBuildNewResultViewSubscription: Subscription;\r\n  private setApplicationTitleSubscription: Subscription;\r\n  private globalErrorHandlingEventSubscripion: Subscription;\r\n  private isErrorDialogDisplayed = false;\r\n  constructor(\r\n    @Inject(LOCALE_ID) private locale: string,\r\n    private config: PrimeNGConfig,\r\n    private layoutService: LayoutService,\r\n    private authGuardMsgService: AuthGuardMessageService,\r\n    public authService: AuthService,\r\n    private interceptorMsgService: InterceptorMessageService,\r\n    private eventService: EventService,\r\n    private title: Title,\r\n    private translateService: TranslateService,\r\n    private chartService: ChartService,\r\n    private renderer: Renderer2) {\r\n    this.userDeniedPermissionSubscription = this.authGuardMsgService.userDeniedPermission.subscribe((data: boolean) => {\r\n      this.openAccessDeniedDialog = data;\r\n      this.profileCheck();\r\n    });\r\n    this.isUserDataLoaded$Subscription = this.authService.isUserDataLoaded$.subscribe(s => {\r\n      this.isUserDataLoaded = s;\r\n      this.userLanguage = this.authService.getUserLanguage();\r\n    });\r\n    this.isLoadingSubscription = this.interceptorMsgService.isLoading.subscribe(data => {\r\n      setTimeout(() => {\r\n        this.loading = data;\r\n      });\r\n    });\r\n\r\n    this.isGraphLoadingSubscription = this.chartService.isGraphLoading.subscribe(data => {\r\n      this.enableText = data;\r\n    })\r\n\r\n    this.title.setTitle(this.translateService.instant('eiResults'));\r\n\r\n    this.openBuildNewResultViewSubscription = this.eventService.listen(EventTypes.BuildNewResultView)\r\n      .subscribe((eventData: EventBuildNewResults) => {\r\n        this.openBuildNewResultsModal = true;\r\n        this.isBuildNewResultsModalEdit = eventData.isEdit;\r\n      });\r\n\r\n    this.globalErrorHandlingEventSubscripion = this.eventService.listen(EventTypes.GlobalServiceError)\r\n      .subscribe((eventData: GlobalErrorEventModel) => {\r\n        this.handleGlobalError(eventData);\r\n      });\r\n  }\r\n\r\n  async ngOnInit() {\r\n    this.layoutService.layoutChanges.subscribe((layout: Layout) => {\r\n      this.layout = layout;\r\n      this.displayTemplate = false;\r\n      this.translateService.setDefaultLang('en');\r\n      this.setLocale(this.locale);\r\n    });\r\n\r\n  }\r\n\r\n  private handleGlobalError(eventData: GlobalErrorEventModel) {\r\n    if (!this.isErrorDialogDisplayed) {\r\n      let closedFromRetry = false;\r\n      this.isTimeoutError= false;\r\n      this.chartService.setIsGraphLoading(false);\r\n      if (eventData.IsTimeout) {\r\n        this.isTimeoutError = true;\r\n        this.errorMessage = this.translateService.instant('eiTimeoutError');\r\n        this.retry = () => {\r\n          this.openGlobalErrorDialog = false;\r\n          this.isErrorDialogDisplayed = false;\r\n          closedFromRetry = true;\r\n          eventData.execute(true);\r\n        }\r\n      }\r\n      else{\r\n        this.technicalErrorReasonMessage = this.translateService.instant('eiTechnicalErrorReasonMessage');\r\n        this.technicalErrorSupportMessage = this.translateService.instant('eiTechnicalErrorSupportMessage');\r\n        this.correlationId = eventData.CorrelationId;\r\n      }\r\n      this.onCloseGlobalErrorDialog = () => {\r\n        this.openGlobalErrorDialog = false;\r\n        this.isErrorDialogDisplayed = false;\r\n        if (!closedFromRetry && eventData.IsTimeout) {\r\n          eventData.execute(false);\r\n\r\n        }\r\n      }\r\n\r\n      this.openGlobalErrorDialog = true;\r\n      this.isErrorDialogDisplayed = true;\r\n\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    const loader = this.renderer.selectRootElement('#loader');\r\n    this.renderer.setStyle(loader, 'display', 'none');\r\n  }\r\n\r\n  private profileCheck() {\r\n    const preconditionFailed = this.authService.isPreconditionFailure();\r\n    if (preconditionFailed) {\r\n      this.unKnownProfile = preconditionFailed;\r\n      this.openAccessDeniedDialog = !this.unKnownProfile;\r\n    }\r\n  }\r\n\r\n  setLocale(lang: string) {\r\n    this.translateService.use(lang);\r\n    let dayNamesMin: string[] = [];\r\n    let monthNames: string[] = [];\r\n    let monthNamesShort: string[] = [];\r\n    var days = this.translateService.instant('dayNamesMin');\r\n    dayNamesMin = JSON.parse(\"[\" + days + \"]\")\r\n    var months = this.translateService.instant('monthNames');\r\n    monthNames = JSON.parse(\"[\" + months + \"]\");\r\n    var monthShort = this.translateService.instant('monthNamesShort');\r\n    monthNamesShort = JSON.parse(\"[\" + monthShort + \"]\");\r\n    this.primeng = { dayNamesMin: dayNamesMin[0], monthNames: monthNames[0], monthNamesShort: monthNamesShort[0] };\r\n    this.config.setTranslation(this.primeng);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.userDeniedPermissionSubscription.unsubscribe();\r\n    this.isUserDataLoaded$Subscription.unsubscribe();\r\n    this.isLoadingSubscription.unsubscribe();\r\n    this.openBuildNewResultViewSubscription.unsubscribe();\r\n    this.setApplicationTitleSubscription.unsubscribe();\r\n    this.globalErrorHandlingEventSubscripion.unsubscribe();\r\n    this.isGraphLoadingSubscription.unsubscribe();\r\n  }\r\n\r\n  isLoggedIn(): boolean {\r\n    return this.authService.isLoggedIn();\r\n  }\r\n\r\n  closeErrorDialog() {\r\n    this.openAccessDeniedDialog = false;\r\n  }\r\n\r\n  retryProfile() {\r\n    this.unKnownProfile = false;\r\n    location.reload();\r\n  }\r\n\r\n  getPage() {\r\n    return window.location.href.includes(RouteConstants.GraphsAndChartsPath);\r\n  }\r\n\r\n\r\n}\r\nexport class primeng {\r\n  dayNamesMin: any;\r\n  monthNames: any;\r\n  monthNamesShort: any;\r\n}\r\n","<div class=\"layout-nav-top\" *ngIf=\"isLoggedIn() && isUserDataLoaded\">\r\n  <app-header class=\"app-header\"></app-header>\r\n  <p-breadcrumb *ngIf=\"layout.breadcrumbItems.length !== 0\" [model]=\"layout.breadcrumbItems\"></p-breadcrumb>\r\n  <div class=\"content\" [ngStyle]=\"{'margin-top': getPage() ? '75px' : '104px'}\">\r\n    <router-outlet></router-outlet>\r\n  </div>\r\n  <app-footer [userLanguage] = \"userLanguage\" class=\"app-footer\"></app-footer>\r\n</div>\r\n\r\n<app-loading [hidden]=\"!loading\" [enableSpinnerText]=\"enableText\"></app-loading>\r\n\r\n<div *ngIf=\"!unKnownProfile\">\r\n  <p-dialog [(visible)]=\"openAccessDeniedDialog\" [modal]=\"true\" [responsive]=\"true\" (onHide)=\"closeErrorDialog()\">\r\n    <p-header>\r\n      <i class=\"ei ei-warning orange\"></i>&nbsp; Access not granted\r\n    </p-header>\r\n    <div class=\"m-b-12\">\r\n      You have not been granted access for Results module.\r\n      <br><br>\r\n      Please contact your superior / admin to get access\r\n    </div>\r\n    <p-footer>\r\n      <div class=\"text-right\">\r\n        <button pButton class=\"p-button\" type=\"button\" label=\"Ok\" (click)=\"closeErrorDialog()\">\r\n        </button>\r\n      </div>\r\n    </p-footer>\r\n  </p-dialog>\r\n</div>\r\n\r\n<p-dialog [(visible)]=\"unKnownProfile\" [modal]=\"true\" [responsive]=\"true\" closable=\"false\">\r\n  <p-header>\r\n    <i class=\"ei ei-warning orange\"></i>&nbsp; Technical Error\r\n  </p-header>\r\n  <div class=\"m-b-12\">\r\n    Technical error occured, please try again.\r\n    <br><br>\r\n    If persisted please contact your superior / admin.\r\n  </div>\r\n  <p-footer>\r\n    <div class=\"text-right\">\r\n      <button pButton class=\"p-button\" type=\"button\" label=\"Try Again\" (click)=\"retryProfile()\">\r\n      </button>\r\n    </div>\r\n  </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"openGlobalErrorDialog\" [modal]=\"true\" [style]=\"{'overflow':'hidden',width:'500px','word-wrap':'break-word'}\" [responsive]=\"true\" (onHide)=\"onCloseGlobalErrorDialog()\">\r\n  <p-header>\r\n    <i class=\"ei ei-warning orange\"></i>&nbsp; {{'eiError'|translate}}\r\n  </p-header>\r\n  <div *ngIf='isTimeoutError' class=\"m-b-12\">\r\n    {{errorMessage}}\r\n  </div>\r\n  <div *ngIf='!isTimeoutError' class=\"m-b-12\">\r\n    {{technicalErrorReasonMessage}}\r\n    <br>\r\n    {{technicalErrorSupportMessage}}\r\n  </div>\r\n  <div *ngIf='!isTimeoutError' class=\"m-b-12\">\r\n    <span>{{'eiCorrelationId'|translate}}: {{correlationId}}</span>\r\n  </div>\r\n  <p-footer>\r\n    <div class=\"text-right\">\r\n      <button *ngIf='isTimeoutError' pButton class=\"p-button\" type=\"button\" label=\"{{'eiRetry'|translate}}\" (click)=\"retry()\">\r\n      </button>\r\n      <button *ngIf='!isTimeoutError' pButton class=\"p-button\" type=\"button\" label=\"{{'eiOk'|translate}}\" (click)=\"onCloseGlobalErrorDialog()\">\r\n      </button>\r\n    </div>\r\n  </p-footer>\r\n</p-dialog>\r\n<app-new-result-view [isEdit]=\"isBuildNewResultsModalEdit\" [(openBuildNewResultsModal)]=\"openBuildNewResultsModal\"></app-new-result-view>\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule, APP_INITIALIZER, Injector, inject, InjectionToken } from '@angular/core';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { LayoutService } from './core/services/layout.service';\r\nimport { ResultsCommonModule } from './common/common.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { RootReducer } from './core/store/ngrx-store.reducer';\r\nimport { AuthGuardMessageService } from './core/guards/auth-guard.message.service';\r\nimport { AuthService } from './core/services/auth.service';\r\nimport { StoreService } from './core/store/ngrx-store.service';\r\nimport { TokenInterceptor } from './core/interceptor/token-interceptor';\r\nimport { InterceptorMessageService } from './core/interceptor/interceptor.message.service';\r\nimport { BuildNewResultViewModule } from './features/results/buildNewResultView/buildNewResultView.module';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { AppConfigService } from './core/services/app-config-service';\r\nimport { CustomTranslationLoader } from './shared/translations/custom-translation-loader';\r\nimport { DataService } from './core/services/data.service';\r\nimport { ManageResultViewsModule } from './features/results/manageResultViews/manageResultViews.module';\r\nimport { RequestCache } from './core/interceptor/request-cache.service';\r\nimport { EventService } from './core/services/event.service';\r\nimport { LOCALE_ID } from '@angular/core';\r\nimport { DynamicLocaleIdProvider } from './shared/localizer/dynamic-localeId-provider';\r\nimport { AnalyticsService } from './core/analytics/analytics-service';\r\nimport { NoAnalytics } from './core/analytics/no-analytics-service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { DopSessionRevocationModule } from 'libs/dop-session-revocation/src/public-api';\r\nimport { SatPopoverModule } from '@ncstate/sat-popover';\r\nimport { MATOMO_CONFIGURATION, MatomoModule } from 'ngx-matomo';\r\nimport { ErrorHandlerInterceptor } from './core/interceptor/error-handler.interceptor';\r\nimport { ChartService } from './features/results/graphsAndCharts/charts/chart.service';\r\n\r\nexport let AppInjector: Injector;\r\n\r\nconst initConfig = (authService: AuthService) => {\r\n  return () => {\r\n    return authService.login();\r\n  };\r\n};\r\n\r\nexport const MATOMO_CONFIG = new InjectionToken<any>('My Backend Configuration');\r\n\r\nconst getServiceInstance = (appConfigService: AppConfigService, authService: AuthService, injector: Injector) => {\r\n  const implementations = AnalyticsService.GetImplementations();\r\n  if (appConfigService.configuration.analyticsSource\r\n    && implementations.hasOwnProperty(appConfigService.configuration.analyticsSource)\r\n    && implementations[appConfigService.configuration.analyticsSource]\r\n    && authService.getUserDetails()?.trackingConsent) {\r\n    // If User is disagreed to log analytics? return NoAnalyticsService instance with source 'None'\r\n    return injector.get(implementations[appConfigService.configuration.analyticsSource]);\r\n  } else {\r\n    return injector.get(NoAnalytics);\r\n  }\r\n}\r\n\r\nconst rxjsServices = [TokenInterceptor, InterceptorMessageService, ErrorHandlerInterceptor];\r\n\r\nexport function matomoConfigFactory(matomoConfig: any) {\r\n  return matomoConfig;\r\n}\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AppComponent\r\n  ],\r\n  imports: [\r\n    BrowserModule,\r\n    BrowserAnimationsModule,\r\n    OAuthModule.forRoot(),\r\n    StoreModule.forRoot({ state: RootReducer }),\r\n    AppRoutingModule,\r\n    HttpClientModule,\r\n    RouterModule,\r\n    StepsModule,\r\n    BreadcrumbModule,\r\n    ResultsCommonModule,\r\n    SharedModule,\r\n    DialogModule,\r\n    BuildNewResultViewModule,\r\n    ManageResultViewsModule,\r\n    SatPopoverModule,\r\n    TranslateModule.forRoot({\r\n      loader: {\r\n\r\n        provide: TranslateLoader,\r\n        useClass: CustomTranslationLoader,\r\n        deps: [HttpClient, AppConfigService, DataService, EventService]\r\n      }, extend: true\r\n    }),\r\n    DopSessionRevocationModule.forRoot(),\r\n    MatomoModule.forRoot()\r\n  ],\r\n  providers: [\r\n    CookieService,\r\n    LayoutService,\r\n    StoreService,\r\n    AuthGuardMessageService,\r\n    ...rxjsServices,\r\n    AuthService,\r\n    RequestCache,\r\n    ChartService,\r\n    { provide: APP_INITIALIZER, useFactory: initConfig, deps: [AuthService], multi: true },\r\n    {\r\n      provide: HTTP_INTERCEPTORS,\r\n      useClass: TokenInterceptor,\r\n      multi: true\r\n    },\r\n    {\r\n      provide: HTTP_INTERCEPTORS,\r\n      useClass: ErrorHandlerInterceptor,\r\n      multi: true\r\n    },\r\n    { provide: LOCALE_ID, useClass: DynamicLocaleIdProvider, deps: [AppConfigService] },\r\n    { provide: AnalyticsService, useFactory: getServiceInstance, deps: [AppConfigService, AuthService, Injector] },\r\n    {\r\n      provide: MATOMO_CONFIGURATION,\r\n      useFactory: matomoConfigFactory,\r\n      deps: [MATOMO_CONFIG]\r\n    }\r\n  ],\r\n  bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n  constructor(injector: Injector) {\r\n    AppInjector = injector;\r\n  }\r\n}\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { AppConfigService } from './../../core/services/app-config-service';\r\nimport { RouteConstants } from '../global-constants';\r\n\r\n@Component({\r\n  selector: 'app-footer',\r\n  templateUrl: './app-footer.component.html',\r\n  styleUrls: ['./app-footer.component.scss']\r\n})\r\nexport class AppFooterComponent {\r\n  constructor(\r\n    private readonly appConfig: AppConfigService,\r\n  ) { }\r\n  @Input() userLanguage: string;\r\n  currentYear = new Date().getFullYear();\r\n  version = this.appConfig.getResultsAppVersion();\r\n  isLanguageEnabled = this.appConfig.getLanguagePreference();\r\n\r\n  isGraphPage(){\r\n    return window.location.href.includes(RouteConstants.GraphsAndChartsPath);\r\n  }\r\n\r\n  getLanguageCode(): string {\r\n    return (this.userLanguage || \"\").toUpperCase(); \r\n  }\r\n}\r\n","<div [ngClass]=\"{'footer':!isGraphPage(), 'footer-graphs':isGraphPage()}\">\r\n  <span>© 2006-{{currentYear}} Eurofins Scientific</span>\r\n  <span> | </span>\r\n  <span>{{version}}</span>\r\n  <span *ngIf=\"isLanguageEnabled\">\r\n    <span> | </span>\r\n    {{ getLanguageCode() }}\r\n  </span>\r\n</div>","import { AppConfigService } from '../../core/services/app-config-service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { AuthService } from '../../core/services/auth.service';\r\nimport { StoreService, StoreKeys } from 'src/app/core/store/ngrx-store.service';\r\nimport { EventService } from '../../core/services/event.service';\r\nimport { EventTypes } from '../../core/enums/event.types';\r\nimport { ConfigurationService } from '../../core/services/configuration-service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { EventBuildNewResults } from '../../features/results/shared/models/eventBuildNewResults.model';\r\nimport { UserProfileModel } from '../../shared/models/user-profile.model';\r\nimport { RouteConstants } from '../global-constants/route-constants';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { AppRoute } from '../../shared/models/app-route.enum';\r\nimport { Layout } from 'src/app/shared/models/layout.model';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n\r\n@Component({\r\n  selector: 'app-header',\r\n  templateUrl: './app-header.component.html',\r\n  styleUrls: ['./app-header.component.scss']\r\n})\r\nexport class AppHeaderComponent implements OnInit {\r\n\r\n  navItems: MenuItem[];\r\n  userMenuItems: MenuItem[];\r\n  isReportManagementEnabled: boolean;\r\n  userOperations: string[];\r\n  userName = '';\r\n  menuItems = [];\r\n  activeRoute = -1;\r\n  appRoute = AppRoute;\r\n  layout: Layout = {\r\n    pageHeader: {\r\n      pageTitle: '',\r\n      pageIcon: '',\r\n      iconLink: '',\r\n      confirmDialogRequired: false,\r\n      pullDownItems: []\r\n    },\r\n    breadcrumbItems: []\r\n  } as Layout;\r\n  displayTemplate: boolean;\r\n\r\n  constructor(\r\n    private readonly appConfigService: AppConfigService,\r\n    private router: Router,\r\n    private authService: AuthService,\r\n    private storeService: StoreService,\r\n    private eventService: EventService,\r\n    private configurationService: ConfigurationService,\r\n    private translate: TranslateService,\r\n    private layoutService: LayoutService) {\r\n    this.eventService.listen(EventTypes.ConfigurationsLoaded).subscribe(() => {\r\n      this.setNavigationMenus();\r\n    });\r\n    this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event: any) => {\r\n      if (event.url.indexOf('impersonate') !== -1) {\r\n        this.activeRoute = this.appRoute.Impersonate;\r\n      }\r\n      this.setNavigationMenus();\r\n    });\r\n  }\r\n\r\n  async ngOnInit() {\r\n    this.getUserName();\r\n    this.configurationService.isConfigurationsLoaded$.subscribe((res: boolean) => {\r\n      if (res) {\r\n        this.setNavigationMenus();\r\n      }\r\n    });\r\n    this.layoutService.layoutChanges.subscribe((layout: Layout) => {\r\n      this.layout = layout;\r\n      this.displayTemplate = false;\r\n    });\r\n  }\r\n\r\n  getUserName() {\r\n    this.authService.isUserDataLoaded$.subscribe(_ => {\r\n      this.storeService.Get(StoreKeys.UserDetails).subscribe((data: UserProfileModel) => {\r\n        this.userName = data.name;\r\n      });\r\n    });\r\n  }\r\n\r\n  getSupportUri() {\r\n    if (this.menuItems.some(item => item.code === 'eolSupportAdvanced')) {\r\n      this.menuItems.filter(item => item.code === 'eolSupportAdvanced')\r\n        .forEach(item => {\r\n          this.redirectTo(item);\r\n        });\r\n    } else {\r\n      this.menuItems.filter((item) => item.code === 'eolSupport')\r\n        .forEach((item) => {\r\n          this.redirectTo(item);\r\n        });\r\n    }\r\n  }\r\n\r\n  redirectTo(item) {\r\n    this.router.navigate(['/']).then((result) => {\r\n      if (result != false) {\r\n        window.location.href = item.navigationUri;\r\n      }\r\n    });\r\n  }\r\n\r\n  logout(): void {\r\n    this.router.navigate(['/']).then((result) => {\r\n      if (result != false) {\r\n        this.authService.logout();\r\n      }\r\n    });\r\n  }\r\n\r\n  openNewResultViewModal() {\r\n    const eventData = new EventBuildNewResults();\r\n    eventData.isEdit = false;\r\n    eventData.isPreview = true;\r\n    this.eventService.broadCast(EventTypes.BuildNewResultView, eventData);\r\n  }\r\n\r\n  getEolHomePage() {\r\n    this.menuItems.filter(item => item.code === 'eolHome')\r\n      .forEach((item) => {\r\n        this.redirectTo(item);\r\n      });\r\n  }\r\n\r\n  private setNavigationMenus() {\r\n    this.navItems = [];\r\n    this.menuItems = this.configurationService.menuItems;\r\n    if (this.configurationService.configurations.useResults) {\r\n      this.navItems = [\r\n        {\r\n          label: this.translate.instant('eiResults'),\r\n          icon: 'ei ei-clipboard-text',\r\n          expanded: true,\r\n          styleClass: 'new-tag',\r\n          items: [\r\n            {\r\n              label: this.translate.instant('eiMyResults'),\r\n              icon: 'ei ei-clipboard-text',\r\n              routerLink: `/${RouteConstants.ResultsHomePath}`\r\n            },\r\n            {\r\n              label: this.translate.instant('eiManageResultViews'),\r\n              icon: 'ei ei-library ei-26',\r\n              routerLink: `/${RouteConstants.ManageResultViewPath}`\r\n            },\r\n            {\r\n              label: this.translate.instant('eiBuildNewResultView'),\r\n              icon: 'ei ei-plus text-primary ei-2x',\r\n              command: () => this.openNewResultViewModal()\r\n            },\r\n          ],\r\n        },\r\n      ];\r\n\r\n      if (this.configurationService.enableGraphsAndCharts && this.navItems.length > 0) {\r\n        this.navItems[0].items.push({\r\n          label: this.translate.instant('eiGraphsAndCharts'),\r\n          icon: 'ei ei-graph ei-26',\r\n          routerLink: `/${RouteConstants.GraphsAndChartsPath}`\r\n        });\r\n      }\r\n    }\r\n\r\n    const documentsMenuItem = this.menuItems.find(i => i.code === 'documents');\r\n    if (documentsMenuItem) {\r\n      this.navItems.push({\r\n        label: this.translate.instant('eiPortfolio'),\r\n        icon: 'ei ei-documents',\r\n        styleClass: 'new-tag',\r\n        command: () => {\r\n          this.router.navigate(['/']).then((result) => {\r\n            if (result != false) {\r\n              window.location.href = documentsMenuItem.navigationUri;\r\n            }\r\n          });\r\n        },\r\n      });\r\n    }\r\n\r\n    this.navItems.push({ separator: true });\r\n\r\n    if (this.authService.isImpersonatedUser()) {\r\n      this.navItems.push({\r\n        label: this.translate.instant('eiStopImpersonate'),\r\n        icon: 'ei ei-theater ei-26',\r\n        url: `${this.appConfigService.EolBaseUrl}stopimpersonate`,\r\n        target: '_self'\r\n      })\r\n    }\r\n\r\n    this.navItems = this.navItems.concat([\r\n      {\r\n        label: this.translate.instant('eiSupport'),\r\n        icon: 'ei ei-bubble-question ei-26',\r\n        command: () => this.getSupportUri()\r\n      },\r\n      {\r\n        label: this.userName, icon: 'ei ei-user ei-26',\r\n        items: [{\r\n          label: this.translate.instant('eiLogoff'),\r\n          icon: 'ei ei-exit ei-26',\r\n          command: () => this.logout()\r\n        }]\r\n      }\r\n    ]);\r\n  }\r\n  \r\n}\r\n","<p-menubar class=\"p-menubar-primary\" [model]=\"navItems\">\r\n  <div class=\"app-logo\">\r\n    <img class=\"full-logo\" (click)=\"getEolHomePage()\" height=\"34\" runat=\"server\"\r\n      src=\"assets/images/eurofins-logo-primary.png\" alt=\"Eurofins logo\" style=\"margin-top: 10px;\">\r\n    <app-page-header title=\"{{layout.pageHeader.pageTitle}}\" icon=\"{{layout.pageHeader.pageIcon}}\"\r\n      iconLink=\"{{layout.pageHeader.iconLink}}\" [(displayTemplate)]=\"displayTemplate\">\r\n    </app-page-header>\r\n  </div>\r\n</p-menubar>\r\n","import { Component, Input, Output, TemplateRef, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { PullDownView } from '../../features/results/shared/models/pull-down.model';\r\nimport { EventService } from 'src/app/core/services/event.service';\r\nimport { EventTypes } from 'src/app/core/enums/event.types';\r\nimport { ContentTemplate } from '../../features/results/resultView/pullDownData-event.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-page-header',\r\n  templateUrl: './app-page-header.component.html',\r\n  styleUrls: ['./app-page-header.component.scss']\r\n})\r\nexport class AppPageHeaderComponent implements OnDestroy {\r\n\r\n  @Input() title: string;\r\n  @Input() icon: string;\r\n  @Input() iconLink: string;\r\n  @Input() pulldownitems: PullDownView[];\r\n  @Input() displayTemplate: boolean;\r\n  @Output() displayTemplateChange = new EventEmitter<boolean>();\r\n  templateContent: TemplateRef<any>;\r\n  renderPageHeaderContentSubcription: Subscription;\r\n\r\n\r\n  constructor(\r\n    private eventService: EventService) {\r\n\r\n    this.renderPageHeaderContentSubcription = eventService.listen(EventTypes.RenderPageHeaderContent)\r\n    .subscribe((template: ContentTemplate) => {\r\n      this.templateContent = template.templateContent;\r\n      this.displayTemplate = template.displayTemplate;\r\n      this.displayTemplateChange.emit(true);\r\n    });\r\n\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.renderPageHeaderContentSubcription.unsubscribe();\r\n  }\r\n}\r\n","<div class=\"page-header\">\r\n  <span class=\"page-header-left flex-inline-body\">\r\n    <span class=\"flex-inline-body\">\r\n      <a class=\"page-icon\" style=\"cursor: pointer;\"><i class=\"{{icon}}\"></i></a>\r\n      <span class=\"page-title align-center\">{{title}}</span>\r\n    </span>\r\n    <ng-container *ngIf='displayTemplate' [ngTemplateOutlet]='templateContent'></ng-container>\r\n  </span>\r\n  <span class=\"page-header-right\"></span>\r\n</div>\r\n","import { DropdownModule } from 'primeng/dropdown';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TokenInterceptor } from '../core/interceptor/token-interceptor';\r\nimport { AppConfigService } from '../core/services/app-config-service';\r\nimport { AuthService } from '../core/services/auth.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { AppFooterComponent } from './app-footer/app-footer.component';\r\nimport { AppHeaderComponent } from './app-header/app-header.component';\r\nimport { AppPageHeaderComponent } from './app-page-header/app-page-header.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AppHeaderComponent,\r\n    AppFooterComponent,\r\n    AppPageHeaderComponent,\r\n  ],\r\n  imports: [\r\n    SharedModule,\r\n    DialogModule,\r\n    CommonModule,\r\n    DropdownModule\r\n  ],\r\n  exports: [\r\n    AppHeaderComponent,\r\n    AppFooterComponent,\r\n    AppPageHeaderComponent,\r\n    CommonModule,\r\n    FormsModule\r\n  ],\r\n  providers: [\r\n    AuthService,\r\n    {\r\n      provide: HTTP_INTERCEPTORS,\r\n      useClass: TokenInterceptor,\r\n      multi: true\r\n    }\r\n  ],\r\n})\r\n\r\nexport class ResultsCommonModule {\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-confirm-dialog',\r\n  templateUrl: './app-confirm-dialog.component.html',\r\n  styleUrls: ['./app-confirm-dialog.component.scss']\r\n})\r\n\r\nexport class AppConfirmDialogComponent implements OnInit {\r\n  @Input() public openDialog: boolean;\r\n  @Input() public header: string;\r\n  @Input() public width: number;\r\n  @Input() public height: number;\r\n  @Input() public scrollable: boolean;\r\n  @Input() public positiveButtonDisabled = false;\r\n  @Input() public positiveButtonLabel = 'eiYes';\r\n  @Input() public negativeButtonLabel = 'eiNo';\r\n  @Input() public toolTipMessage = '';\r\n\r\n  @Output() confirmYes: EventEmitter<any> = new EventEmitter();\r\n  @Output() confirmNo: EventEmitter<any> = new EventEmitter();\r\n  @Output() openDialogChange: EventEmitter<any> = new EventEmitter();\r\n\r\n  dialogHeight = 100;\r\n\r\n  constructor(private router: Router){\r\n  }\r\n\r\n  confirmYesClick(): void {\r\n    this.confirmYes.emit();\r\n  }\r\n\r\n  confirmNoClick(): void {\r\n    this.confirmNo.emit();\r\n    this.openDialogChange.emit(true);\r\n  }\r\n\r\n  resetDialog(): void {\r\n    this.openDialog = false;\r\n    this.openDialogChange.emit(false);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.scrollable) {\r\n      this.dialogHeight = this.height - 172;\r\n    }\r\n  }\r\n}\r\n","<p-dialog [(visible)]=\"openDialog\" [modal]=\"true\" [responsive]=\"true\" [style] = \"{'width': width, 'height': height}\" (onHide)=\"resetDialog()\" [baseZIndex]=\"2500\" appendTo=\"body\" [styleClass]=\"'confirm-dialog'\">\r\n  <p-header>\r\n    <i class=\"ei ei-warning orange \"></i>&nbsp;\r\n    {{header}}\r\n  </p-header>\r\n  <div id=\"cnf-dialog-content\" [ngStyle]=\"{'height' : scrollable ? (dialogHeight + 'px') : 'inherit'}\"\r\n    [ngClass]=\"{'overflow' : scrollable}\">\r\n    <ng-content></ng-content>\r\n  </div>\r\n  <p-footer>\r\n    <div class=\"text-right\">\r\n      <button id=\"cnf-dialog-yes\" pButton type=\"button\"  (click)=\"confirmYesClick()\" [disabled] = \"positiveButtonDisabled\"\r\n      [pTooltip]=\"toolTipMessage | translate\" [tooltipDisabled]=\"!positiveButtonDisabled\" tooltipPosition=\"top\">\r\n          {{positiveButtonLabel|translate}}\r\n      </button>\r\n      <button id=\"cnf-dialog-no\" pButton type=\"button\" class=\"p-button-tertiary\"  (click)=\"confirmNoClick()\">\r\n          {{negativeButtonLabel|translate}}\r\n      </button>\r\n    </div>\r\n  </p-footer>\r\n</p-dialog>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { AppConfirmDialogComponent } from '../../../common/components/app-confirm-dialog/app-confirm-dialog.component';\r\nimport { CustomTranslateModule } from '../../../shared/translations/custom-translate.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@NgModule({\r\n  declarations: [AppConfirmDialogComponent],\r\n  imports: [\r\n    CommonModule,\r\n    DialogModule,\r\n    ButtonModule,\r\n    TranslateModule,\r\n    TooltipModule,\r\n  ],\r\n  exports: [\r\n    AppConfirmDialogComponent,\r\n\r\n  ]\r\n})\r\nexport class AppConfirmDialogModule { }\r\n\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\nimport { Types } from '../../../core/enums/types';\r\nimport { AppConfigService } from 'src/app/core/services/app-config-service';\r\nimport { CustomDatePipe } from '../../pipes/custom-date.pipe';\r\n\r\n@Component({\r\n  selector: 'app-date-type',\r\n  templateUrl: './date-type.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DateTypeComponent implements OnInit {\r\n  @Input() value: string | any;\r\n  @Input() type?: Types;\r\n  @Input() isAFColumn?: boolean;\r\n  @Input() isTimeBeEnabled?: boolean;\r\n  @Input() tooltipDisabled = true;\r\n  constructor(\r\n    private readonly appConfig: AppConfigService,\r\n    private readonly datePipe: CustomDatePipe\r\n  ) { }\r\n  isDateEnabled: boolean;\r\n  isTimeEnabled: boolean;\r\n  disableStyle = false;\r\n  tooltipValue = '';\r\n  ngOnInit(): void {\r\n    if ((this.type != null && this.type.length > 0) && this.isAFColumn) {\r\n      this.isDateEnabled = !!((this.type === Types.Date || this.type === Types.DateTime));\r\n      this.isTimeEnabled = !!((this.type === Types.Time || this.type === Types.DateTime));\r\n      this.tooltipValue = this.getTooltipvalue(this.isDateEnabled, false, this.value);\r\n      if (this.type === Types.Time && this.value) {\r\n        this.disableStyle = true;\r\n        this.value = this.getTimevalue(this.value);\r\n        this.tooltipValue = this.getTooltipvalue(false, this.isTimeEnabled, this.value);\r\n      } else if (this.type === Types.DateTime && this.value) {\r\n        this.tooltipValue = this.tooltipValue + this.getTooltipvalue(false, this.isTimeEnabled, this.value);\r\n      }\r\n    } else {\r\n      this.isDateEnabled = true;\r\n      this.isTimeEnabled = (this.isAFColumn || this.isTimeBeEnabled) ? true : this.appConfig.getTimeEnabled();\r\n      this.tooltipValue = this.getTooltipvalue(this.isDateEnabled, this.isTimeBeEnabled, this.value);\r\n    }\r\n  }\r\n\r\n  getTimevalue(value): Date {\r\n    if (typeof value === \"string\") {\r\n      const splittime = this.value.replace('T', '').replace('Z', '').split(\":\").map(Number);\r\n      splittime.shift();\r\n      return new Date(0, 0, 0, ...splittime);\r\n    }\r\n    return new Date(0, 0, 0, this.value.hours, this.value.minutes, this.value.seconds, this.value.milliseconds);\r\n  }\r\n\r\n  getTooltipvalue(isDateEnabled, isTimeBeEnabled, value) {\r\n    return (isDateEnabled ? this.datePipe.transform(value, 'shortDate') : '')\r\n      + ' ' + (isTimeBeEnabled ? this.datePipe.transform(value, 'shortTime') : '');\r\n  }\r\n}\r\n","<span [pTooltip]=\"tooltipValue\" [tooltipStyleClass]=\"'w-auto'\" [tooltipDisabled]=\"tooltipDisabled\"\r\n  tooltipPosition=\"bottom\">\r\n  <span *ngIf=\"isDateEnabled\">\r\n    {{value | customDate: 'shortDate'}}\r\n  </span>\r\n  <span *ngIf=\"isTimeEnabled\" [ngClass]=\"{'text-light': !disableStyle }\">\r\n    {{value | customDate:'shortTime'}}\r\n  </span>\r\n</span>\r\n","import { NgModule } from '@angular/core';\r\nimport { DateTypeComponent } from './date-type.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CustomDatePipeModule } from 'src/app/common/pipes/custom-date-pipe.module';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n@NgModule({\r\n  declarations: [DateTypeComponent],\r\n  imports: [CommonModule, CustomDatePipeModule, TooltipModule],\r\n  exports: [DateTypeComponent]\r\n})\r\nexport class DateTypeModule { }\r\n","import { DisplayType } from './../../../core/enums/display-template';\r\nimport { FieldDescription } from '../../../features/results/shared/models/field-definition.model';\r\nimport { Component, OnInit, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-enum-type',\r\n  templateUrl: './enum-type.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class EnumTypeComponent implements OnInit {\r\n  @Input() enumValue: string;\r\n  @Input() fieldDescription: FieldDescription;\r\n  @Input() displayText = false;\r\n  @Output() IconClick = new EventEmitter();\r\n  @Output() IconHover = new EventEmitter();\r\n  constructor() { }\r\n  color: string;\r\n  icon: string;\r\n  text: string;\r\n  template: string;\r\n  displayType = DisplayType;\r\n  ngOnInit(): void {\r\n    this.text = this.fieldDescription.values[this.enumValue];\r\n    this.icon = this.fieldDescription.capabilities.enum[this.enumValue]?.icon;\r\n    this.color = this.fieldDescription.capabilities.enum[this.enumValue]?.color;\r\n    this.template = this.fieldDescription.capabilities.component.template;\r\n  }\r\n\r\n  onClickEnum()\r\n    {\r\n      this.IconClick.emit();\r\n    }\r\n\r\n  onHoverEnum()\r\n    {      \r\n      this.IconHover.emit();\r\n    }\r\n}\r\n","<span *ngIf=\"text && template === displayType.Badge\" class=\"p-badge\" [ngStyle]=\"{ 'color': color, 'border-color': color}\">{{text}}</span>\r\n\r\n<span *ngIf=\"template === displayType.Icon\" (click)=\"onClickEnum()\" (mouseover)=\"onHoverEnum()\"><i [class]=\"icon\" [style.color]=\"color\"></i><span *ngIf=\"displayText\" [ngStyle]=\"{ 'color': color}\"> {{text}}</span></span>\r\n","import { EnumTypeComponent } from './enum-type.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n  declarations: [EnumTypeComponent],\r\n  imports: [CommonModule],\r\n  exports: [EnumTypeComponent]\r\n})\r\nexport class EnumTypeModule {}\r\n","import { ChangeDetectionStrategy, Component, Input} from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n\r\n@Component({\r\n  selector: 'app-kebab-menu',\r\n  templateUrl: './kebab-menu.component.html',\r\n  styleUrls: ['./kebab-menu.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KebabMenuComponent {\r\n\r\n  @Input() menuItems: MenuItem[];\r\n  @Input() disabled = false;\r\n  constructor() { }\r\n}\r\n","<span class=\"flex-body ellipsis-menu\">\r\n  <p-menu #menu appendTo=\"body\" [popup]=\"true\" class=\"text-left menu-container\" [model]=\"menuItems\"></p-menu>\r\n  <a>\r\n    <i *ngIf=\"!disabled\" class=\"ei ei-kebab-more\" (click)=\"menu.toggle($event)\"></i>\r\n    <i *ngIf=\"disabled\" class=\"ei ei-kebab-more disable\"></i>\r\n  </a>\r\n</span>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { KebabMenuComponent } from './kebab-menu.component';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [KebabMenuComponent],\r\n  imports: [\r\n    CommonModule,\r\n    MenuModule,\r\n    ButtonModule\r\n  ],\r\n  exports: [KebabMenuComponent]\r\n})\r\nexport class KebabMenuModule { }\r\n","class Group<T>  {\r\n  keys: any;\r\n  members: T[] = [];\r\n  constructor(keys: any) {\r\n    this.keys = keys;\r\n  }\r\n}\r\n\r\nclass SortMeta {\r\n  field: string;\r\n  order: number; // 1 Asc or -1 Desc\r\n}\r\n\r\n/**\r\n * Use example : data.groupBy(['shape', 'color']);\r\n */\r\nif (!Array.prototype.groupBy) {\r\n  Array.prototype.groupBy = function <T>(this: Array<T>, keys: string[]): Group<T>[] {\r\n    const groups: { [key: string]: T[] } = {};\r\n    this.forEach(function (o: T) {\r\n      const keyObj: { [k: string]: any } = {};\r\n      keys.forEach(k => keyObj[k] = o[k] ?? '');\r\n      const group = JSON.stringify(keyObj);\r\n      groups[group] = groups[group] || [];\r\n      groups[group].push(o);\r\n    });\r\n    return Object.keys(groups).map(function (groupKey) {\r\n      const group = new Group<T>(JSON.parse(groupKey));\r\n      group.members = groups[groupKey];\r\n      return group;\r\n    }).clone();\r\n  };\r\n}\r\n\r\n/**\r\n * Use example : data.multsort([{field:'shape',order:1},{field:'color',order:-1}]);\r\n * OR only ascending sorting of all fields can be called as data.multsort(['shape','color'])\r\n */\r\nif (!Array.prototype.multiSort) {\r\n  const fieldSorter = function (fields: string[]) {\r\n    const dir = [];\r\n    const l = fields.length;\r\n    let i;\r\n    fields = fields.map(function (o, v) {\r\n      if (o[0] === '-') {\r\n        dir[v] = -1;\r\n        o = o.substring(1);\r\n      } else {\r\n        dir[v] = 1;\r\n      }\r\n      return o;\r\n    });\r\n\r\n    return function (a, b) {\r\n      for (i = 0; i < l; i++) {\r\n        const o = fields[i];\r\n        const firstData = Array.isArray(a[o]) ? (a[o].length > 0 ? a[o][0]?.toLowerCase() : '') : a[o]?.toLowerCase();\r\n        const secondData = Array.isArray(b[o]) ? (b[o].length > 0 ? b[o][0]?.toLowerCase() : '') : b[o]?.toLowerCase();\r\n        if (firstData > secondData) {\r\n          return dir[i];\r\n        }\r\n        if (firstData < secondData) {\r\n          return -(dir[i]);\r\n        }\r\n      }\r\n      return 0;\r\n    };\r\n  };\r\n  Array.prototype.multiSort = function <T>(this: Array<T>, sortMetaIndo: Array<SortMeta> | Array<string>) {\r\n    if (!sortMetaIndo || sortMetaIndo.length === 0) {\r\n      throw new console.error('Atleast one sort field must be provided');\r\n    }\r\n    const sortableFields = typeof (sortMetaIndo[0]) === 'string' ? sortMetaIndo as Array<string> :\r\n      (sortMetaIndo as Array<SortMeta>).map((sortItem: SortMeta) => sortItem.order === 1 ? sortItem.field : '-' + sortItem.field);\r\n    this.sort(fieldSorter(sortableFields));\r\n  };\r\n}\r\n\r\nif (!Array.prototype.singleSort) {\r\n  Array.prototype.singleSort = function <T>(this: Array<T>, sortOrder: number) {\r\n    this.sort((one, two) => (one > two ? (1 * sortOrder) : (-1 * sortOrder)));\r\n  };\r\n}\r\n\r\nif (!Array.prototype.distinct) {\r\n  Array.prototype.distinct = function <T>(this: Array<T>, keys?: string[]): T[] {\r\n    if (!keys) {\r\n      return [...new Set(this)]\r\n    }\r\n\r\n    const seen = [];\r\n    return this.filter(o => {\r\n      const key = keys.map(k => o[k]).join('|');\r\n      if (seen.indexOf(key) === -1) {\r\n        seen.push(key);\r\n        return true;\r\n      }\r\n      return false;\r\n    });\r\n  };\r\n}\r\n\r\nif (!Array.prototype.clone) {\r\n  Array.prototype.clone = function <T>(this: Array<T>): T[] {\r\n    const serialized = JSON.stringify(this);\r\n    return JSON.parse(serialized) as T[];\r\n  };\r\n}\r\n\r\ndeclare global {\r\n  interface Array<T> {\r\n    groupBy(this: Array<T>, keys: string[]): Group<T>[];\r\n    multiSort(this: Array<T>, sortFields: SortMeta[] | string[]);\r\n    singleSort(this: Array<T>, sortOrder: number);\r\n    distinct(this: Array<T>, keys?: string[]): T[];\r\n    clone(this: Array<T>): T[];\r\n  }\r\n}\r\n\r\nexport { };\r\n","declare global {\r\n  interface String {\r\n    replaceRouteVariables(...args: any[]): string;\r\n    matchesRoutePath(arg: string): boolean;\r\n    equals(arg: string);\r\n    len(char: string): number;\r\n    replaceAllOccurenceWith(char: string, replaceWith: string): string;\r\n  }\r\n}\r\n\r\nString.prototype.replaceRouteVariables = function (this: string, ...args: any[]): string {\r\n  let replacedText = this;\r\n  this.split('/').filter(x => x.startsWith(':')).forEach((chunk: string, index: number) => {\r\n    replacedText = replacedText.replace(chunk, args[index]);\r\n  });\r\n  return replacedText;\r\n};\r\n\r\nString.prototype.matchesRoutePath = function (this: string, arg: string): boolean {\r\n  return this.split('/').filter(x => !x.startsWith(':'))[0] === arg;\r\n};\r\n\r\nString.prototype.equals = function (this: string, arg: string): boolean {\r\n  return this && arg && this.toLowerCase() == arg.toLowerCase();\r\n}\r\n\r\nString.prototype.len = function (this: string, arg: string): number {\r\n  const word = this.toLowerCase();\r\n  const letter = arg.toLowerCase();\r\n  return word.lastIndexOf(letter) - word.indexOf(letter) + 1;\r\n};\r\n\r\nString.prototype.replaceAllOccurenceWith = function (this: string, char: string, replaceWith: string): string {\r\n  var firstIndex = this.toLowerCase().indexOf(char.toLowerCase());\r\n  var lastIndex = this.toLowerCase().lastIndexOf(char.toLowerCase());\r\n  var actualCharacter = this.charAt(firstIndex);\r\n  return this.substring(0, firstIndex) + replaceWith + this.substring(lastIndex + 1);\r\n}\r\n\r\nexport { };\r\n","export const EnableCacheHeaderName = 'cache-enabled';\r\nexport const NoProgressIndicator = 'loading-disabled';\r\nexport const HandleTimeout = 'handle-timeout';\r\nexport const HandleTechnicalError = 'handle-technical-error';\r\n\r\n","export class ExportConstants {\r\n  public static readonly Excel = 'Excel';\r\n  public static readonly Csv = 'CSV';\r\n  public static readonly AppliedCalculation = 'AppliedCalculation';\r\n  public static readonly Individuals = 'Individuals';\r\n  public static readonly ResultValue = 'ResultValue';\r\n  public static readonly Average = \"Average\";\r\n  public static readonly SeeExamples = \"SeeExample\";\r\n}\r\n","export class ExportContentType {\r\n    public static readonly ExcelContentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n    public static readonly CsvContentType = 'text/csv';\r\n}","export * from './export-constants';\r\nexport * from './route-constants';\r\n","export class RouteConstants {\r\n  public static readonly ResultsHomePath = '';\r\n  public static readonly ResultByViewCodePath = 'resultView/:code';\r\n  public static readonly ManageResultViewPath = 'manageResultViews';\r\n  public static readonly BuildNewResultViewPath = 'buildNewResultView';\r\n  public static readonly ResultViewPreviewPath = 'resultViewPreview';\r\n  public static readonly EditResultViewPath = 'editResultView';\r\n  public static readonly ImpersonatePath = 'impersonate';\r\n  public static readonly ImpersonateViewPath = '';\r\n  public static readonly GraphsAndChartsPath = 'graphsAndCharts';\r\n}\r\n\r\n","import { EventBaseData } from \"../../shared/models/event.model\";\r\nexport class GlobalErrorEventModel extends EventBaseData {\r\n  constructor(\r\n    public HttpStatus: number,\r\n    public IsTimeout: boolean, public CorrelationId ? :string) {\r\n    super();\r\n  }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CustomDatePipe } from \"./custom-date.pipe\";\r\n\r\n\r\n@NgModule({\r\n  declarations: [CustomDatePipe],\r\n  imports: [],\r\n  providers: [CustomDatePipe],\r\n  exports: [CustomDatePipe]\r\n})\r\nexport class CustomDatePipeModule { }\r\n","import { formatDate, FormatWidth, getLocaleDateFormat, getLocaleTimeFormat } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\r\nimport { DateService } from './date.service';\r\n\r\n@Pipe({\r\n  name: 'customDate'\r\n})\r\nexport class CustomDatePipe implements PipeTransform {\r\n\r\n  constructor(private dateService: DateService, @Inject(LOCALE_ID) private locale: string) { }\r\n\r\n  transform(value: Date | string | number | any, format?: string, timezone?: string, locale?: string): string\r\n    | null;\r\n  transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n  transform(value: Date | string | any, format?: string, locale?: string, timezone?: string): string {\r\n    if (value == null || value === '' || value !== value) {\r\n      return null;\r\n    }\r\n\r\n    let customFormat: string = null;\r\n    if (format === 'shortDate') {\r\n      customFormat = this.dateService.getCustomLocaleDateFormat(FormatWidth.Short);\r\n    } else if (format === 'short') {\r\n      customFormat = this.dateService.getCustomLocaleDateTimeFormat(FormatWidth.Short);\r\n    } else if (format === 'shortTime') {\r\n      customFormat = this.dateService.getCustomLocalTimeFormat(FormatWidth.Short);\r\n    } \r\n\r\n    try {\r\n\r\n      return formatDate(value, customFormat ?? format, locale || this.locale, timezone);\r\n\r\n    } catch (error) {\r\n      throw this.invalidPipeArgumentError(error.message);\r\n    }\r\n\r\n  }\r\n\r\n  invalidPipeArgumentError(message: any) {\r\n    console.log(message);\r\n  }\r\n}\r\n","import { FormatWidth, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleTimeFormat } from '@angular/common';\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { DateFormat } from 'src/app/core/enums/date-formats';\r\nimport { AppConfigService } from 'src/app/core/services/app-config-service';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DateService {\r\n  constructor(@Inject(LOCALE_ID) private locale: string,\r\n    private appConfig: AppConfigService) {\r\n  }\r\n\r\n  getCustomLocaleDateFormat(formatWidth: FormatWidth, isPrimeNgFormat: boolean = false) {\r\n    const localeFormat = getLocaleDateFormat(this.locale, formatWidth);\r\n    return this.getCustomFormat(localeFormat, isPrimeNgFormat);\r\n  }\r\n\r\n  getAcceptableDateFormats(): string[] {\r\n    let localeFormat = getLocaleDateFormat(this.locale, FormatWidth.Short);\r\n\r\n    if (localeFormat.len('y') < 4) {\r\n      localeFormat = localeFormat.replaceAllOccurenceWith('y', 'YYYY');\r\n    }\r\n\r\n    if (localeFormat.len('d') < 2) {\r\n      localeFormat = localeFormat.replaceAllOccurenceWith('d', 'dd');\r\n    }\r\n    if (localeFormat.len('m') < 2) {\r\n      localeFormat = localeFormat.replaceAllOccurenceWith('m', 'MM');\r\n    }\r\n\r\n    //Returning array as to support aditional formats in future\r\n    return [localeFormat];\r\n  }\r\n\r\n  getCustomLocaleDateTimeFormat(formatWidth: FormatWidth, isPrimeNgFormat: boolean = false) {\r\n\r\n    const shortTime = getLocaleTimeFormat(this.locale, formatWidth);\r\n    const shortDate = getLocaleDateFormat(this.locale, formatWidth);\r\n    const formatValue = this.formatDateTime(getLocaleDateTimeFormat(this.locale, formatWidth), [shortTime, shortDate]);\r\n\r\n    return this.getCustomFormat(formatValue, isPrimeNgFormat);\r\n  }\r\n\r\n  getCustomLocalTimeFormat(formatWidth: FormatWidth, isPrimeNgFormat: boolean = false) {\r\n    const localeTimeFormat = getLocaleTimeFormat(this.locale, formatWidth);\r\n    return this.getCustomFormat(localeTimeFormat, isPrimeNgFormat);\r\n  }\r\n\r\n  private formatDateTime(str, opt_values) {\r\n    if (opt_values) {\r\n      str = str.replace(/\\{([^}]+)}/g, function (match, key) {\r\n        return (opt_values != null && key in opt_values) ? opt_values[key] : match;\r\n      });\r\n    }\r\n    return str;\r\n  }\r\n\r\n  private getCustomFormat(value: string, isPrimeNgFormat: boolean): string {\r\n    const initialIndex = value.indexOf('y');\r\n    const lastindex = value.lastIndexOf('y');\r\n\r\n    if (isPrimeNgFormat) {\r\n      return (value.substring(0, initialIndex) + 'yy' + value.substring(lastindex + 1)).toLowerCase();\r\n    }\r\n\r\n    return initialIndex === -1 ? value : value.substring(0, initialIndex) + 'y' + value.substring(lastindex + 1);\r\n  }\r\n\r\n  public getModifiedDateWithFormat(val: string, minYear: number) {\r\n    const acceptableFormats = this.getAcceptableDateFormats();\r\n    let dateTime: DateTime;\r\n    acceptableFormats.forEach((x) => {\r\n      if (DateTime.fromFormat(val, x).isValid) {\r\n        dateTime = DateTime.fromFormat(val, x);\r\n        if (dateTime.year < minYear) {\r\n          dateTime = null;\r\n        }\r\n      }\r\n    });\r\n    return dateTime?.toJSDate();\r\n  }\r\n\r\n  public checkForInvalidDate(event: any) {\r\n    const regExp = /[a-zA-Z]/g;\r\n    const eventChar = event.target.value;\r\n    if (regExp.test(eventChar) && this.appConfig.formatCulture !== 'bg') {\r\n      event.target.value = eventChar.slice(0, -1);\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  public setDateOnCondition(value, currentDate, minDate, maxDate, minYear, enableFutureDate = false) {\r\n    if (!value) {\r\n      currentDate = null;\r\n      return currentDate;\r\n    }\r\n    if (!currentDate) {\r\n      currentDate = this.getModifiedDateWithFormat(value, minYear)\r\n    }\r\n    if (currentDate < minDate) {\r\n      currentDate = minDate\r\n    }\r\n    if (!enableFutureDate && currentDate > maxDate) {\r\n      currentDate = maxDate;\r\n    }\r\n    return currentDate\r\n  }\r\n\r\n  getDaysDiff(date1, date2): number {\r\n    // One day Time in ms (milliseconds)\r\n    let one_day = 1000 * 60 * 60 * 24;\r\n    let diff = Math.round((date2.getTime() - \r\n    date1.getTime()) / one_day);\r\n    // To remove the decimals from the (diff) \r\n    // resulting days value\r\n    return parseInt(diff?.toFixed(0));\r\n  }\r\n  getWeeksDiff(date1, date2): number {\r\n    return parseInt(Math.round(this.getDaysDiff(date1, date2)/7).toFixed(0));\r\n  }\r\n  getMonthDiff(date1, date2) {\r\n    let months;\r\n    months = (date2.getFullYear() - date1.getFullYear()) * 12;\r\n    months -= date1.getMonth();\r\n    months += date2.getMonth();\r\n    return months <= 0 ? 0 : months;\r\n  }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\n\r\nexport class CookieStateService {\r\n    constructor(private cookieService: CookieService) {\r\n    }\r\n\r\n    getState(): any {\r\n        const userStateCookie = 'userState';\r\n        const impersonatedCookieExists = this.cookieService.check(userStateCookie);\r\n        if (impersonatedCookieExists) {\r\n            const impersonatedDetails = atob(this.cookieService.get(userStateCookie));\r\n            return JSON.parse(impersonatedDetails);\r\n        }\r\n        return null;\r\n    }\r\n\r\n    removeUserStateCookie(): any {\r\n        let subDomains = [];\r\n        const path = '/';\r\n        const impersonatedCookieExists = this.cookieService.check('userState');\r\n        let domain = window.location.host;\r\n        subDomains = domain.split('.');\r\n        if (subDomains.length > 2) {\r\n            domain = subDomains.length >= 3 ?\r\n                '.' + subDomains[subDomains.length - 2] + '.' + subDomains[subDomains.length - 1]\r\n                : '.' + subDomains[subDomains.length - 1];\r\n        }\r\n        if (impersonatedCookieExists) {\r\n            this.cookieService.delete('userState', path, domain);\r\n        }\r\n    }\r\n}\r\n","export class BrowserFinder {\r\n  private static findBrowserName(browserType: string) {\r\n    const agent = window.navigator.userAgent.toLowerCase();\r\n    return agent.indexOf(browserType);\r\n  }\r\n\r\n  public static isIE() {\r\n    return this.findBrowserName('trident') > -1;\r\n  }\r\n\r\n  public static isEdge() {\r\n    return this.findBrowserName('edge') > -1;\r\n  }\r\n\r\n  public static isChrome() {\r\n    return this.findBrowserName('chrome') > -1 && !!(window as any).chrome;\r\n  }\r\n\r\n  public static isFirefox() {\r\n    return this.findBrowserName('firefox') > -1;\r\n  }\r\n\r\n  public static isSafari() {\r\n    return this.findBrowserName('safari') > -1;\r\n  }\r\n\r\n  public static isOpera() {\r\n    return this.findBrowserName('opr') > -1 && !!(window as any).opr;\r\n  }\r\n\r\n}\r\n","export class Converter {\r\n  public static FromTimeStringToDate(timeStr: string) {\r\n    var now = new Date();\r\n    now.setHours(parseInt(timeStr.substr(0, timeStr.indexOf(\":\"))));\r\n    now.setMinutes(parseInt(timeStr.substr(timeStr.indexOf(\":\") + 1)));\r\n    now.setSeconds(0);\r\n    return now;\r\n  }\r\n\r\n  public static ToTimeString(date: Date) {\r\n    return `${date.getHours()}:${date.getMinutes()}`;\r\n  }\r\n}\r\n","/**\r\n *Analytics service providers with configurable value\r\n * */\r\nexport enum AnalyticsSources {\r\n  NoAnalytics = \"None\"\r\n}\r\n\r\n/**\r\n * Any reusable static keys related to analytics can be kept here. Ex : Events like Click\r\n * */\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { AnalyticsService } from './analytics-service';\r\n\r\n@Injectable({\r\n  providedIn: \"root\"\r\n})\r\nexport class AnalyticsServiceProvider {\r\n  constructor(private injector: Injector) {\r\n  }\r\n\r\n  async initialize() {    \r\n    var provider = this.injector.get(AnalyticsService);\r\n\r\n    await provider.initialize();\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NoAnalytics } from './no-analytics-service';\r\n\r\n\r\n@Injectable()\r\nexport abstract class AnalyticsService {\r\n  static source: string\r\n  abstract initialize();\r\n\r\n  /**\r\n    * @param path /home\r\n    * @param title Homepage\r\n    * @param location '{ page_location }'\r\n    * @param options '{ ... custom dimentions }'\r\n    */\r\n  abstract logPageView(path: string, title?: string, location?: string, options?: Object);\r\n\r\n  /**\r\n    * @param action 'video_auto_play_start'\r\n    * @param category 'video_auto_play'\r\n    * @param label 'My promotional video'\r\n    * @param value An value to measure something\r\n    */\r\n  abstract logEvent(action: string, category?: string, label?: string, value?: number): void;\r\n\r\n  /**\r\n   * @param screen 'screen_name'\r\n   * @param appName 'app_name'\r\n   * @param appId 'app_id'\r\n   * @param appVersion 'app_version'\r\n   * @param installerId 'app_installer_id'\r\n   */\r\n  abstract logAppView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string): void;\r\n}\r\n\r\nexport namespace AnalyticsService {\r\n  type Constructor<T> = {\r\n    new(...args: any[]): T;\r\n    readonly prototype: T;\r\n  };\r\n  const implementations: { [key: string]: Constructor<AnalyticsService> } =\r\n  {\r\n    [NoAnalytics.source]: NoAnalytics\r\n  };\r\n  export function GetImplementations(): { [key: string]: Constructor<AnalyticsService> } {\r\n    return implementations;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AnalyticsSources } from './analytics-constants';\r\nimport { AnalyticsService } from './analytics-service';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class NoAnalytics implements AnalyticsService {\r\n  constructor() {\r\n  }\r\n  static source: string = AnalyticsSources.NoAnalytics\r\n  readonly LOG_MESSAGE = 'Analytics is disabled';\r\n  async initialize() {\r\n  }\r\n\r\n  logPageView(path: string, title?: string, location?: string, options?: Object): void {\r\n    console.log(this.LOG_MESSAGE);\r\n  }\r\n\r\n  logEvent(action: string, category?: string, label?: string, value?: number): void {\r\n    console.log(this.LOG_MESSAGE);\r\n  }\r\n\r\n  logAppView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string): void {\r\n    console.log(this.LOG_MESSAGE);\r\n  }\r\n}\r\n","\r\nexport enum HttpStatusCode {\r\n\r\n    /**\r\n     * The server has received the request headers and the client should proceed to send the request body\r\n     * (in the case of a request for which a body needs to be sent; for example, a POST request).\r\n     * Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient.\r\n     * To have a server check the request's headers, a client must send Expect: 100-continue as a header in its initial request\r\n     * and receive a 100 Continue status code in response before sending the body. The response 417 Expectation Failed\r\n     *  indicates the request should not be continued.\r\n     */\r\n    CONTINUE = 100,\r\n\r\n    /**\r\n     * The requester has asked the server to switch protocols and the server has agreed to do so.\r\n     */\r\n    SWITCHING_PROTOCOLS = 101,\r\n\r\n    /**\r\n     * A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request.\r\n     * This code indicates that the server has received and is processing the request, but no response is available yet.\r\n     * This prevents the client from timing out and assuming the request was lost.\r\n     */\r\n    PROCESSING = 102,\r\n\r\n    /**\r\n     * Standard response for successful HTTP requests.\r\n     * The actual response will depend on the request method used.\r\n     * In a GET request, the response will contain an entity corresponding to the requested resource.\r\n     * In a POST request, the response will contain an entity describing or containing the result of the action.\r\n     */\r\n    OK = 200,\r\n\r\n    /**\r\n     * The request has been fulfilled, resulting in the creation of a new resource.\r\n     */\r\n    CREATED = 201,\r\n\r\n    /**\r\n     * The request has been accepted for processing, but the processing has not been completed.\r\n     * The request might or might not be eventually acted upon, and may be disallowed when processing occurs.\r\n     */\r\n    ACCEPTED = 202,\r\n\r\n    /**\r\n     * SINCE HTTP/1.1\r\n     * The server is a transforming proxy that received a 200 OK from its origin,\r\n     * but is returning a modified version of the origin's response.\r\n     */\r\n    NON_AUTHORITATIVE_INFORMATION = 203,\r\n\r\n    /**\r\n     * The server successfully processed the request and is not returning any content.\r\n     */\r\n    NO_CONTENT = 204,\r\n\r\n    /**\r\n     * The server successfully processed the request, but is not returning any content.\r\n     * Unlike a 204 response, this response requires that the requester reset the document view.\r\n     */\r\n    RESET_CONTENT = 205,\r\n\r\n    /**\r\n     * The server is delivering only part of the resource (byte serving) due to a range header sent by the client.\r\n     * The range header is used by HTTP clients to enable resuming of interrupted downloads,\r\n     * or split a download into multiple simultaneous streams.\r\n     */\r\n    PARTIAL_CONTENT = 206,\r\n\r\n    /**\r\n     * The message body that follows is an XML message and can contain a number of separate response codes,\r\n     * depending on how many sub-requests were made.\r\n     */\r\n    MULTI_STATUS = 207,\r\n\r\n    /**\r\n     * The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response,\r\n     * and are not being included again.\r\n     */\r\n    ALREADY_REPORTED = 208,\r\n\r\n    /**\r\n     * The server has fulfilled a request for the resource,\r\n     * and the response is a representation of the result of one or more instance-manipulations applied to the current instance.\r\n     */\r\n    IM_USED = 226,\r\n\r\n    /**\r\n     * Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation).\r\n     * For example, this code could be used to present multiple video format options,\r\n     * to list files with different filename extensions, or to suggest word-sense disambiguation.\r\n     */\r\n    MULTIPLE_CHOICES = 300,\r\n\r\n    /**\r\n     * This and all future requests should be directed to the given URI.\r\n     */\r\n    MOVED_PERMANENTLY = 301,\r\n\r\n    /**\r\n     * This is an example of industry practice contradicting the standard.\r\n     * The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect\r\n     * (the original describing phrase was \"Moved Temporarily\"), but popular browsers implemented 302\r\n     * with the functionality of a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307\r\n     * to distinguish between the two behaviours. However, some Web applications and frameworks\r\n     * use the 302 status code as if it were the 303.\r\n     */\r\n    FOUND = 302,\r\n\r\n    /**\r\n     * SINCE HTTP/1.1\r\n     * The response to the request can be found under another URI using a GET method.\r\n     * When received in response to a POST (or PUT/DELETE), the client should presume that\r\n     * the server has received the data and should issue a redirect with a separate GET message.\r\n     */\r\n    SEE_OTHER = 303,\r\n\r\n    /**\r\n     * Indicates that the resource has not been modified since the version specified by the request headers\r\n     * If-Modified-Since or If-None-Match.\r\n     * In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.\r\n     */\r\n    NOT_MODIFIED = 304,\r\n\r\n    /**\r\n     * SINCE HTTP/1.1\r\n     * The requested resource is available only through a proxy, the address for which is provided in the response.\r\n     * Many HTTP clients (such as Mozilla and Internet Explorer) do not correctly handle responses with this status code,\r\n     *  primarily for security reasons.\r\n     */\r\n    USE_PROXY = 305,\r\n\r\n    /**\r\n     * No longer used. Originally meant \"Subsequent requests should use the specified proxy.\"\r\n     */\r\n    SWITCH_PROXY = 306,\r\n\r\n    /**\r\n     * SINCE HTTP/1.1\r\n     * In this case, the request should be repeated with another URI; however, future requests should still use the original URI.\r\n     * In contrast to how 302 was historically implemented, the request method is not allowed to be changed\r\n     * when reissuing the original request.\r\n     * For example, a POST request should be repeated using another POST request.\r\n     */\r\n    TEMPORARY_REDIRECT = 307,\r\n\r\n    /**\r\n     * The request and all future requests should be repeated using another URI.\r\n     * 307 and 308 parallel the behaviors of 302 and 301, but do not allow the HTTP method to change.\r\n     * So, for example, submitting a form to a permanently redirected resource may continue smoothly.\r\n     */\r\n    PERMANENT_REDIRECT = 308,\r\n\r\n    /**\r\n     * The server cannot or will not process the request due to an apparent client error\r\n     * (e.g., malformed request syntax, too large size, invalid request message framing, or deceptive request routing).\r\n     */\r\n    BAD_REQUEST = 400,\r\n\r\n    /**\r\n     * Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet\r\n     * been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the\r\n     * requested resource. See Basic access authentication and Digest access authentication. 401 semantically means\r\n     * \"unauthenticated\",i.e. the user does not have the necessary credentials.\r\n     */\r\n    UNAUTHORIZED = 401,\r\n\r\n    /**\r\n     * Reserved for future use. The original intention was that this code might be used as part of some form of digital\r\n     * cash or micro payment scheme, but that has not happened, and this code is not usually used.\r\n     * Google Developers API uses this status if a particular developer has exceeded the daily limit on requests.\r\n     */\r\n    PAYMENT_REQUIRED = 402,\r\n\r\n    /**\r\n     * The request was valid, but the server is refusing action.\r\n     * The user might not have the necessary permissions for a resource.\r\n     */\r\n    FORBIDDEN = 403,\r\n\r\n    /**\r\n     * The requested resource could not be found but may be available in the future.\r\n     * Subsequent requests by the client are permissible.\r\n     */\r\n    NOT_FOUND = 404,\r\n\r\n    /**\r\n     * A request method is not supported for the requested resource;\r\n     * for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.\r\n     */\r\n    METHOD_NOT_ALLOWED = 405,\r\n\r\n    /**\r\n     * The requested resource is capable of generating only content not acceptable according to the Accept headers\r\n     * sent in the request.\r\n     */\r\n    NOT_ACCEPTABLE = 406,\r\n\r\n    /**\r\n     * The client must first authenticate itself with the proxy.\r\n     */\r\n    PROXY_AUTHENTICATION_REQUIRED = 407,\r\n\r\n    /**\r\n     * The server timed out waiting for the request.\r\n     * According to HTTP specifications:\r\n     * \"The client did not produce a request within the time that the server was prepared to wait.\r\n     * The client MAY repeat the request without modifications at any later time.\"\r\n     */\r\n    REQUEST_TIMEOUT = 408,\r\n\r\n    /**\r\n     * Indicates that the request could not be processed because of conflict in the request,\r\n     * such as an edit conflict between multiple simultaneous updates.\r\n     */\r\n    CONFLICT = 409,\r\n\r\n    /**\r\n     * Indicates that the resource requested is no longer available and will not be available again.\r\n     * This should be used when a resource has been intentionally removed and the resource should be purged.\r\n     * Upon receiving a 410 status code, the client should not request the resource in the future.\r\n     * Clients such as search engines should remove the resource from their indices.\r\n     * Most use cases do not require clients and search engines to purge the resource, and a \"404 Not Found\" may be used instead.\r\n     */\r\n    GONE = 410,\r\n\r\n    /**\r\n     * The request did not specify the length of its content, which is required by the requested resource.\r\n     */\r\n    LENGTH_REQUIRED = 411,\r\n\r\n    /**\r\n     * The server does not meet one of the preconditions that the requester put on the request.\r\n     */\r\n    PRECONDITION_FAILED = 412,\r\n\r\n    /**\r\n     * The request is larger than the server is willing or able to process. Previously called \"Request Entity Too Large\".\r\n     */\r\n    PAYLOAD_TOO_LARGE = 413,\r\n\r\n    /**\r\n     * The URI provided was too long for the server to process. Often the result of too much data being encoded\r\n     * as a query-string of a GET request,\r\n     * in which case it should be converted to a POST request.\r\n     * Called \"Request-URI Too Long\" previously.\r\n     */\r\n    URI_TOO_LONG = 414,\r\n\r\n    /**\r\n     * The request entity has a media type which the server or resource does not support.\r\n     * For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.\r\n     */\r\n    UNSUPPORTED_MEDIA_TYPE = 415,\r\n\r\n    /**\r\n     * The client has asked for a portion of the file (byte serving), but the server cannot supply that portion.\r\n     * For example, if the client asked for a part of the file that lies beyond the end of the file.\r\n     * Called \"Requested Range Not Satisfiable\" previously.\r\n     */\r\n    RANGE_NOT_SATISFIABLE = 416,\r\n\r\n    /**\r\n     * The server cannot meet the requirements of the Expect request-header field.\r\n     */\r\n    EXPECTATION_FAILED = 417,\r\n\r\n    /**\r\n     * This code was defined in 1998 as one of the traditional IETF April Fools' jokes,\r\n     * in RFC 2324, Hyper Text Coffee Pot Control Protocol,\r\n     * and is not expected to be implemented by actual HTTP servers. The RFC specifies this code should be returned by\r\n     * teapots requested to brew coffee. This HTTP status is used as an Easter egg in some websites, including Google.com.\r\n     */\r\n    I_AM_A_TEAPOT = 418,\r\n\r\n    /**\r\n     * The request was directed at a server that is not able to produce a response (for example because a connection reuse).\r\n     */\r\n    MISDIRECTED_REQUEST = 421,\r\n\r\n    /**\r\n     * The request was well-formed but was unable to be followed due to semantic errors.\r\n     */\r\n    UNPROCESSABLE_ENTITY = 422,\r\n\r\n    /**\r\n     * The resource that is being accessed is locked.\r\n     */\r\n    LOCKED = 423,\r\n\r\n    /**\r\n     * The request failed due to failure of a previous request (e.g., a PROPPATCH).\r\n     */\r\n    FAILED_DEPENDENCY = 424,\r\n\r\n    /**\r\n     * The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field.\r\n     */\r\n    UPGRADE_REQUIRED = 426,\r\n\r\n    /**\r\n     * The origin server requires the request to be conditional.\r\n     * Intended to prevent \"the 'lost update' problem, where a client\r\n     * GETs a resource's state, modifies it, and PUTs it back to the server,\r\n     * when meanwhile a third party has modified the state on the server, leading to a conflict.\"\r\n     */\r\n    PRECONDITION_REQUIRED = 428,\r\n\r\n    /**\r\n     * The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.\r\n     */\r\n    TOO_MANY_REQUESTS = 429,\r\n\r\n    /**\r\n     * The server is unwilling to process the request because either an individual header field,\r\n     * or all the header fields collectively, are too large.\r\n     */\r\n    REQUEST_HEADER_FIELDS_TOO_LARGE = 431,\r\n\r\n    /**\r\n     * A server operator has received a legal demand to deny access to a resource or to a set of resources\r\n     * that includes the requested resource. The code 451 was chosen as a reference to the novel Fahrenheit 451.\r\n     */\r\n    UNAVAILABLE_FOR_LEGAL_REASONS = 451,\r\n\r\n    /**\r\n     * A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.\r\n     */\r\n    INTERNAL_SERVER_ERROR = 500,\r\n\r\n    /**\r\n     * The server either does not recognize the request method, or it lacks the ability to fulfill the request.\r\n     * Usually this implies future availability (e.g., a new feature of a web-service API).\r\n     */\r\n    NOT_IMPLEMENTED = 501,\r\n\r\n    /**\r\n     * The server was acting as a gateway or proxy and received an invalid response from the upstream server.\r\n     */\r\n    BAD_GATEWAY = 502,\r\n\r\n    /**\r\n     * The server is currently unavailable (because it is overloaded or down for maintenance).\r\n     * Generally, this is a temporary state.\r\n     */\r\n    SERVICE_UNAVAILABLE = 503,\r\n\r\n    /**\r\n     * The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.\r\n     */\r\n    GATEWAY_TIMEOUT = 504,\r\n\r\n    /**\r\n     * The server does not support the HTTP protocol version used in the request\r\n     */\r\n    HTTP_VERSION_NOT_SUPPORTED = 505,\r\n\r\n    /**\r\n     * Transparent content negotiation for the request results in a circular reference.\r\n     */\r\n    VARIANT_ALSO_NEGOTIATES = 506,\r\n\r\n    /**\r\n     * The server is unable to store the representation needed to complete the request.\r\n     */\r\n    INSUFFICIENT_STORAGE = 507,\r\n\r\n    /**\r\n     * The server detected an infinite loop while processing the request.\r\n     */\r\n    LOOP_DETECTED = 508,\r\n\r\n    /**\r\n     * Further extensions to the request are required for the server to fulfill it.\r\n     */\r\n    NOT_EXTENDED = 510,\r\n\r\n    /**\r\n     * The client needs to authenticate to gain network access.\r\n     * Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used\r\n     * to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot).\r\n     */\r\n    NETWORK_AUTHENTICATION_REQUIRED = 511\r\n}\r\n","export enum AccessTypes{\r\n  Private = 'private',\r\n  Public = 'public',\r\n  AllAccount = 'all-account',\r\n  Account = 'account'\r\n}\r\n","export enum ColumnCapability {\r\n  Sort = 'sort',\r\n  Filter = 'filter',\r\n  Exclude = 'exclude',\r\n  Search = 'search',\r\n  ListTextFilter = 'listTextFilter',\r\n  TextFilter = 'textFilter',\r\n  DateFilter = 'dateFilter',\r\n  RollingDateFilter = 'rollingDateFilter',\r\n  TimeFilter = 'timeFilter',\r\n  ListBoolFilter = 'listBoolFilter',\r\n  NumberFilter = 'numberFilter',\r\n  Display = 'display',\r\n  Tooltip = 'tooltip',\r\n  ExportOnly = 'exportOnly',\r\n  OpenSearch = 'openSearch',\r\n  CompositeListtextFilter = 'compositeListTextFilter'\r\n}\r\n\r\nexport enum SortOrder {\r\n  Ascending = 'asc',\r\n  Descending = 'desc'\r\n}\r\n\r\nexport enum Operation {\r\n  Equal = 'Equal',\r\n  NotEqual = 'NotEqual'\r\n}\r\n","export enum DateRange {\r\n  Today = 'Today',\r\n  Last = 'Last',\r\n  Current = 'Current',\r\n  Previous = 'Previous',\r\n  OneRollingYear = 'OneRollingYear',\r\n  CustomRange = 'CustomRange'\r\n}\r\n","export enum DisplayType{\r\n  Badge = 'badge',\r\n  Icon = 'icon'\r\n}\r\n","export enum EventTypes {\r\n  BuildNewResultView = 1,\r\n  ConfigurationsLoaded = 2,\r\n  UpdateDateFilterOption = 3,\r\n  UpdateBackTabDateRangeOptions = 4,\r\n  ClearChips = 5,\r\n  DefaultFilterLoad = 6,\r\n  RenderPageHeaderContent = 7,\r\n  LoadView = 8,\r\n  EditResultView = 9,\r\n  FieldConfigurationsChanged = 10,\r\n  DisplayNotification = 11,\r\n  CompareSample = 12,\r\n  DownloadExcel = 13,\r\n  UpdateSelectedFields = 14,\r\n  ServiceError = 15,\r\n  SystemDataLoaded = 16,\r\n  ExportJobCreated = 17,\r\n  GlobalServiceError = 18\r\n}\r\n","export enum GraphPreferenceType {\r\n  radio = \"radio\",\r\n  checkbox = \"checkbox\",\r\n  dropdown = \"dropdown\",\r\n}\r\n\r\nexport enum PreferencesIcons {\r\n  chart = \"ei-chart-growth\",\r\n  view = \"ei-graph\",\r\n  resultValues = \"ei-percent-circle\",\r\n}\r\n\r\nexport enum GraphTypes {\r\n  ParameterTrend = \"ParameterTrend\",\r\n  ResultConformity = \"ResultConformity\",\r\n  ReceivedSampleStatus = \"ReceivedSampleStatus\",\r\n}\r\n\r\nexport enum PreferencesTranslations {\r\n  chart = \"eiChartType\",\r\n  view = \"eiViewType\",\r\n  resultValues = \"eiResultValues\",\r\n  includeNotDetected = \"eiIncludeNotDetected\",\r\n  dimension = \"eiDimension\",\r\n  LineChartSmooth = \"eiLineChartSmooth\",\r\n  LineChartStraight = \"eiLineChartStraight\",\r\n  BarChart = \"eiBarChart\",\r\n  Scatter = \"eiScatter\",\r\n  Combined = \"eiCombined\",\r\n  Split = \"eiSplit\",\r\n  AverageValue = \"eiAverageValue\",\r\n  MaximumValue = \"eiMaximumValue\",\r\n  AllValues = \"eiAllValues\",\r\n  IncludeNotDetected = \"eiIncludeNotDetected\",\r\n  None = \"None\",\r\n  SamplingPoint = \"SamplingPointComposite\",\r\n  ProductMatrix = \"eiProductMatrix\",\r\n  SampleCode = \"\", //TBD\r\n  Project = \"\" //TBD\r\n}\r\n","export enum GridTemplate {\r\n  None = 'None',\r\n  Sample = 'Sample',\r\n  Order = 'Order'\r\n}\r\n","export enum NewBuildStepsSteps {\r\n  Fields,\r\n  Assign,\r\n  Name\r\n}\r\n\r\n","export enum OAuthInfoEventTypes {\r\n    Logout = 'logout',\r\n    TokenExpire = 'token_expires'\r\n}","export enum ServiceMethod {\r\n  ExportOptions = 1,\r\n  ExportSettings = 2,\r\n  PerformExport = 3,\r\n  QuickExport = 4,\r\n  QuickAssessment = 5,\r\n  AssessmentOptions = 6,\r\n  SampleAssessmentSummary = 7,\r\n  DownloadAssessment = 8\r\n}\r\n","export enum SortType{\r\n  Neutral = 'ei ei-sort',\r\n  Up = 'ei ei-caret-up',\r\n  Down = 'ei ei-caret-down'\r\n}\r\n","export enum TestStatus {\r\n  UnderRegistration = 'UnderRegistration',\r\n  Registered = 'Registered',\r\n  InProgress = 'InProgress',\r\n  Undervalidation = 'Undervalidation',\r\n  Validated = 'Validated',\r\n  Done = 'Done',\r\n  UnderRevalidation = 'UnderRevalidation',\r\n  ProvisionallyValidated = 'ProvisionallyValidated',\r\n  Cancelled = 'Cancelled'\r\n}\r\n","export enum Types {\r\n  Text = 'text',\r\n  Date = 'date',\r\n  Enum = 'enum',\r\n  Dates = 'dates',\r\n  Number = 'numerical',\r\n  Default = 'Default',\r\n  Collection = 'collection',\r\n  Link = \"link\",\r\n  DateTime = 'datetime',\r\n  Time = 'time',\r\n  Boolean = 'boolean',\r\n  Choices = 'choices'\r\n}\r\n\r\nexport enum DateTimeTypes {\r\n  Date = 'date',\r\n  Dates = 'dates',\r\n  DateTime = 'datetime',\r\n  Time = 'time'\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AuthGuardMessageService {\r\n\r\n    constructor() { }\r\n\r\n    public userDeniedPermission = new BehaviorSubject(false);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { map, filter } from 'rxjs/operators';\r\nimport { AuthGuardMessageService } from './auth-guard.message.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MatomoRouteTracker } from 'ngx-matomo';\r\nimport { AppConfigService } from '../services/app-config-service';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AuthenticationGuard implements CanActivate {\r\n\r\n  constructor(\r\n    private authService: AuthService,\r\n    private authGuardMessageService: AuthGuardMessageService,\r\n    private matomoTracker: MatomoRouteTracker,\r\n    private appConfigService: AppConfigService) {\r\n  }\r\n\r\n  canActivate(\r\n    route: ActivatedRouteSnapshot,\r\n    state: RouterStateSnapshot\r\n  ): Observable<boolean> {\r\n\r\n    if (environment.enableAuthentication) {\r\n      console.log('isLogged in? :', this.authService.isLoggedIn());\r\n      if (!this.authService.isLoggedIn()) { \r\n        // TODO: redirect to login page\r\n        return of(false);\r\n      } else {\r\n        return this.authService.isUserDataLoaded$.pipe(filter(x => x === true), map((isLoaded) => {\r\n          const userDetails = this.authService.getUserDetails();\r\n\r\n          if(this.authService.getUserDetails().policiesAccepted && this.authService.getUserDetails().analyticsEnabled){\r\n            this.matomoTracker.startTracking();\r\n          } else {\r\n            this.matomoTracker.stopTracking();\r\n          }\r\n\r\n          if (route.data.expectedRole !== undefined) {\r\n            // If User role is expected role allow to page\r\n            if (route.data.expectedRole.indexOf(userDetails.internal) > -1) {\r\n              this.sendErrorValue(false);\r\n              return true;\r\n            } else {\r\n              // Redirect to Home Page\r\n              this.sendErrorValue(true);\r\n              return false;\r\n            }\r\n          } else {\r\n            // Default behavior ie. user need not have specific permission to access page\r\n            this.sendErrorValue(false);\r\n            return true;\r\n          }\r\n        }));\r\n      }\r\n    }\r\n  }\r\n\r\n  sendErrorValue(value: boolean) {\r\n    const policiesAccepted = this.authService.getUserDetails().policiesAccepted;\r\n    if (typeof policiesAccepted === 'boolean' && !policiesAccepted) {\r\n      window.location.href = this.appConfigService.EolBaseUrl;\r\n    } else {\r\n      this.authGuardMessageService.userDeniedPermission.next(value);\r\n    }\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n  HttpHandler,\r\n  HttpRequest,\r\n  HttpEvent,\r\n  HttpInterceptor,\r\n  HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable, catchError, delay, switchMap } from 'rxjs';\r\nimport { EventService } from '../services/event.service';\r\nimport { EventTypes } from '../enums/event.types';\r\nimport { GlobalErrorEventModel } from '../../common/models/global-error-event.model';\r\nimport { InterceptorMessageService } from './interceptor.message.service';\r\nimport { HandleTechnicalError, HandleTimeout } from '../../common/global-constants/application-constants';\r\nimport { ChartService } from 'src/app/features/results/graphsAndCharts/charts/chart.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ErrorHandlerInterceptor implements HttpInterceptor {\r\n  private maxRetries = 1000;\r\n  private delayms = 100;\r\n  constructor(\r\n    private readonly eventService: EventService,\r\n    private readonly interceptorMsgService: InterceptorMessageService,\r\n    private readonly chartService: ChartService\r\n  ) { }\r\n\r\n  intercept(\r\n    request: HttpRequest<void>,\r\n    next: HttpHandler\r\n  ): Observable<HttpEvent<void>> {\r\n    return next.handle(request).pipe(\r\n      catchError((error: HttpErrorResponse) => {\r\n        this.chartService.setIsGraphLoading(false);\r\n        if (this.isTimeoutError(request, error)) {\r\n          this.handleLoading(false);\r\n\r\n          return this.handleRetry(request, next, error, 0);\r\n        } else if (error.status >= 500 && !error.error?.ErrorCode && this.handleErrorEnabled(request, HandleTechnicalError)) {\r\n          let globalErrorModel = new GlobalErrorEventModel(error.status, false, error.error?.reference);\r\n          this.eventService.broadCast(EventTypes.GlobalServiceError, globalErrorModel)\r\n          throw error;\r\n        }\r\n        else {\r\n          throw error;\r\n        }\r\n      })\r\n    )\r\n\r\n  }\r\n\r\n  private handleLoading(display: boolean) {\r\n    setTimeout(() => {\r\n      this.interceptorMsgService.isLoading.next(display);\r\n    })\r\n  }\r\n  private isTimeoutError(request: HttpRequest<void>, error: HttpErrorResponse) {\r\n    return error.status >= 500 && error.error?.ErrorCode === 'ER-003-DB' && this.handleErrorEnabled(request, HandleTimeout);\r\n  }\r\n\r\n  private handleErrorEnabled(request: HttpRequest<void>, headerName: string) {\r\n    return (request.headers.has(HandleTimeout) || request.headers.has(HandleTechnicalError)) &&\r\n      request.headers.get(headerName).toLowerCase() === 'true';\r\n  }\r\n\r\n\r\n  private handleRetry = (request: HttpRequest<void>, next: HttpHandler, previousError: HttpErrorResponse, retries: number): Observable<HttpEvent<any>> => {\r\n    if (retries >= this.maxRetries) {\r\n      throw 'Maximum retries reached';\r\n    }\r\n\r\n    let globalErrorModel = new GlobalErrorEventModel(previousError.status, true);\r\n    return this.eventService.tryListen(EventTypes.GlobalServiceError, globalErrorModel)\r\n      .pipe(switchMap((consent: boolean) => {\r\n        if (consent) {\r\n          this.handleLoading(true);\r\n          return next.handle(request).pipe(\r\n            catchError((error: HttpErrorResponse) => {\r\n              if (this.isTimeoutError(request, error)) {\r\n                this.handleLoading(false);\r\n                return this.handleRetry(request, next, error, retries + 1).pipe(delay(this.delayms));\r\n              } else {\r\n                throw error;\r\n              }\r\n            }));\r\n        } else {\r\n          throw previousError;\r\n        }\r\n      }));\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InterceptorMessageService {\r\n\r\n    constructor() { }\r\n\r\n    public isLoading = new BehaviorSubject(false);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpResponse } from '@angular/common/http';\r\n\r\n// Expiry time set to 30 minutes- 1800000 msec\r\nconst maxAge = 1800000;\r\n@Injectable()\r\nexport class RequestCache {\r\n\r\n  cache = new Map();\r\n\r\n  get(req: HttpRequest<any>): HttpResponse<any> | undefined {\r\n    const url = req.urlWithParams;\r\n    const cached = this.cache.get(url);\r\n\r\n    if (!cached) {\r\n      return undefined;\r\n    }\r\n\r\n    const isExpired = cached.lastRead < (Date.now() - maxAge);\r\n    const expired = isExpired ? 'expired ' : '';\r\n    return cached.response;\r\n  }\r\n\r\n  put(req: HttpRequest<any>, response: HttpResponse<any>): void {\r\n    const url = req.url;\r\n    const entry = { url, response, lastRead: Date.now() };\r\n    this.cache.set(url, entry);\r\n\r\n    const expired = Date.now() - maxAge;\r\n    this.cache.forEach(expiredEntry => {\r\n      if (expiredEntry.lastRead < expired) {\r\n        this.cache.delete(expiredEntry.url);\r\n      }\r\n    });\r\n  }\r\n\r\n  remove(url: string)\r\n  {\r\n    return this.cache.delete(url);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n  HttpHandler,\r\n  HttpRequest,\r\n  HttpEvent,\r\n  HttpInterceptor,\r\n  HttpErrorResponse,\r\n  HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { InterceptorMessageService } from './interceptor.message.service';\r\nimport { HttpStatusCode } from '../enums/HttpStatusCode';\r\nimport { BrowserFinder } from '../../common/static-classes/browser.finder';\r\nimport { RequestCache } from './request-cache.service';\r\nimport { EnableCacheHeaderName, NoProgressIndicator } from '../../common/global-constants/application-constants';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { CookieStateService } from 'src/app/common/services/cookie-state-service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n  UserId: string;\r\n  LanguageCode: string;\r\n  constructor(\r\n    private readonly authService: AuthService,\r\n    private interceptorMsgService: InterceptorMessageService,\r\n    private readonly cache: RequestCache,\r\n    private readonly cookieStateService: CookieStateService\r\n  ) { }\r\n\r\n  private requests: { RequestUri: string, Method: String, IgnoreProgress: boolean }[] = [];\r\n\r\n  removeRequest(req: HttpRequest<void>) {\r\n    const i = this.requests.findIndex(x => x.RequestUri === req.url && x.Method === req.method);\r\n    if (i >= 0) {\r\n      this.requests.splice(i, 1);\r\n    }\r\n\r\n    if (this.requests.length === 0 || this.requests.every(x => x.IgnoreProgress)) {\r\n      this.interceptorMsgService.isLoading.next(false);\r\n    }\r\n  }\r\n\r\n  intercept(\r\n    request: HttpRequest<void>,\r\n    next: HttpHandler\r\n  ): Observable<HttpEvent<void>> {\r\n    if (!this.isCachingEnabled(request)) {\r\n      return this.sendRequest(request, next, false) as Observable<HttpEvent<void>>;\r\n    }\r\n    const cachedResponse = this.cache.get(request);\r\n    return cachedResponse\r\n      ? of(cachedResponse)\r\n      : this.sendRequest(request, next, true, this.cache) as Observable<HttpEvent<void>>;\r\n  }\r\n\r\n  private sendRequest(\r\n    request: HttpRequest<void>,\r\n    next: HttpHandler,\r\n    isCacheEnabled: boolean,\r\n    cache?: RequestCache\r\n  ) {\r\n    request = this.setHeader(request);\r\n    this.requests.push({ RequestUri: request.url, Method: request.method, IgnoreProgress: request.headers.has(NoProgressIndicator) });\r\n    if (!request.headers.has(NoProgressIndicator)) {\r\n      this.interceptorMsgService.isLoading.next(true);\r\n    } else {\r\n      request.headers.delete(NoProgressIndicator);\r\n    }\r\n\r\n    return new Observable((observer) => {\r\n      // And subscribe to the original observable to ensure the HttpRequest is made\r\n      const subscription = next.handle(request).subscribe(\r\n        (event) => {\r\n          if (event instanceof HttpResponse) {\r\n            if (isCacheEnabled) {\r\n              cache.put(request, event);\r\n            }\r\n            this.removeRequest(request);\r\n            observer.next(event);\r\n          }\r\n        },\r\n        (err) => {\r\n          this.removeRequest(request);\r\n          observer.error(err);\r\n        },\r\n        () => {\r\n          this.removeRequest(request);\r\n          observer.complete();\r\n        }\r\n      );\r\n      // return teardown logic in case of cancelled requests\r\n      return () => {\r\n        this.removeRequest(request);\r\n        subscription.unsubscribe();\r\n      };\r\n    });\r\n  }\r\n\r\n  private setHeader(request: HttpRequest<void>) {\r\n    if (this.isHeaderUpdateRequired(request)) {\r\n      const impersonatedData = this.cookieStateService.getState();\r\n      if (BrowserFinder.isIE() && !this.isStaticFileRequest(request)) {\r\n        request = request.clone({\r\n          headers: request.headers\r\n            .set('Authorization', 'Bearer ' + this.authService.getAccessToken())\r\n            .set('Cache-Control', 'no-cache')\r\n            .set('Pragma', 'no-cache')\r\n            .set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT')\r\n            .set('If-Modified-Since', '0'),\r\n        });\r\n        if (impersonatedData && impersonatedData.isImpersonated) {\r\n          request = request.clone({\r\n            headers: request.headers.set(\r\n              'X-Impersonate',\r\n              impersonatedData.impersonatedEmail\r\n            ),\r\n          });\r\n        }\r\n      } else {\r\n        request = request.clone({\r\n          setHeaders: {\r\n            Authorization: 'Bearer ' + this.authService.getAccessToken(),\r\n          },\r\n        });\r\n        if (impersonatedData && impersonatedData.isImpersonated) {\r\n          request = request.clone({\r\n            setHeaders: {\r\n              'X-Impersonate': impersonatedData.impersonatedEmail,\r\n            },\r\n          });\r\n        }\r\n      }\r\n    }\r\n    return request;\r\n  }\r\n\r\n  isHeaderUpdateRequired(request: HttpRequest<void>): boolean {\r\n    return environment.enableAuthentication &&\r\n      request.url.indexOf(this.authService.issuerUri ?? 'openid-configuration') === -1;\r\n  }\r\n\r\n  isCachingEnabled(request: HttpRequest<void>) {\r\n    return (\r\n      request.headers.has(EnableCacheHeaderName) &&\r\n      request.headers.get(EnableCacheHeaderName).toLowerCase() === 'true'\r\n    );\r\n  }\r\n\r\n  sendLoadingValue(value: boolean) {\r\n    this.interceptorMsgService.isLoading.next(value);\r\n  }\r\n\r\n  private isStaticFileRequest(request: HttpRequest<void>) {\r\n    // Add any static file extenstion which need to be handled\r\n    return (\r\n      request.url.indexOf('.json') > -1 ||\r\n      request.url.indexOf('.html') > -1 ||\r\n      request.url.indexOf('.css') > -1\r\n    );\r\n  }\r\n\r\n  setLoadingValue(error: HttpErrorResponse) {\r\n    switch (error.status) {\r\n      case HttpStatusCode.BAD_REQUEST:\r\n      case HttpStatusCode.NOT_FOUND:\r\n      case HttpStatusCode.UNPROCESSABLE_ENTITY:\r\n      case HttpStatusCode.FORBIDDEN:\r\n        this.sendLoadingValue(false);\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\nimport { AppConfig } from '../../shared/models/app-config';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport { DopSessionRevocationConfig } from 'libs/dop-session-revocation/src/public-api';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AppConfigService {\r\n  authConfig: AuthConfig;\r\n  dopSessionConfig?: DopSessionRevocationConfig;\r\n  configuration: AppConfig;\r\n  userLanguageCode: string;\r\n  formatCulture: string;\r\n  AppConfigService: any;\r\n  wareHouseDate= '2010-01-01';\r\n  uiStartDate: string;\r\n\r\n  constructor(private http: HttpClient) { }\r\n  loadDefaultLangauge = false;\r\n  setConfiguration(): Promise<AppConfig> {\r\n    return new Promise((resolve, reject) => {\r\n      const path = environment.configurationPath;\r\n      this.http.get(path).toPromise().then((response: any) => {\r\n        this.configuration = response;\r\n        return resolve(this.configuration);\r\n      }).then(() => resolve(this.configuration))\r\n        .catch(() => reject());\r\n    });\r\n  }\r\n\r\n  setInit(){\r\n    this.http.head(this.configuration.apiConfig.resultsProfileServiceBaseUrl + 'warmup').subscribe();\r\n    this.http.head(this.configuration.apiConfig.resultsSearchServiceBaseUrl + 'warmup').subscribe();\r\n  }\r\n\r\n  setupAuthConfig(configuration: AppConfig): AuthConfig {\r\n    this.configuration = configuration;\r\n    return this.authConfig = new AuthConfig({\r\n      issuer: this.configuration.oauthConfiguration.issuer,\r\n      loginUrl: this.configuration.oauthConfiguration.loginUrl,\r\n      logoutUrl: this.configuration.oauthConfiguration.logoutUrl,\r\n      tokenEndpoint: this.configuration.oauthConfiguration.tokenEndpoint,\r\n      clientId: this.configuration.oauthConfiguration.clientId,\r\n      resource: this.configuration.oauthConfiguration.resource,\r\n      redirectUri: this.configuration.oauthConfiguration.redirectUri,\r\n      scope: this.configuration.oauthConfiguration.scope,\r\n      responseType: this.configuration.oauthConfiguration.responseType,\r\n      requestAccessToken: this.configuration.oauthConfiguration.requestAccessToken,\r\n      oidc: this.configuration.oauthConfiguration.oidc\r\n    });\r\n  }\r\n\r\n  getUIStartDate(): string {\r\n    // If the UIstart date is not available from configuration endpoint use the warehouse date\r\n    return this.uiStartDate ? this.uiStartDate : this.configuration.wareHouseDate;\r\n  }\r\n\r\n  getCompareSampleMaxLimit(): number {\r\n    return this.configuration.compareSampleMaxLimit;\r\n  }\r\n\r\n  getGroupByOrderScrollLength(): number {\r\n    return this.configuration.groupByOrderScrollLength;\r\n  }\r\n\r\n  getGroupBySampleScrollLength(): number {\r\n    return this.configuration.groupBySampleScrollLength;\r\n  }\r\n\r\n  getSpecificExportSampleLimit(): number {\r\n    return this.configuration.specificExportSampleLimit;\r\n  }\r\n\r\n  getAssessmentSampleLimit(): number {\r\n    return this.configuration.assessmentSampleLimit;\r\n  }\r\n\r\n  get EolBaseUrl(): string {\r\n    return this.configuration.apiConfig.eolBaseUrl;\r\n}\r\n\r\n  setCurrentCulture(cultureId: string) {\r\n    import(`/node_modules/@angular/common/locales/global/${cultureId}.js`)\r\n      .then(lang => {\r\n        if(lang?.default) {\r\n          registerLocaleData(lang.default)\r\n        }\r\n      },\r\n      () => {\r\n        import(`/node_modules/@angular/common/locales/global/${cultureId.split('-')[0]}.js`)\r\n        .then(lang => {\r\n          if(lang?.default) {\r\n            registerLocaleData(lang.default)\r\n          }\r\n        }); /* TODO : Need to log the culture on failure\r\n              can be done once we have logging in client side.\r\n            */\r\n      });\r\n  }\r\n\r\n  setSessionRevocationConfig(configuration: AppConfig) : DopSessionRevocationConfig | undefined {\r\n    this.configuration = configuration;\r\n    const dopSessionConfig: DopSessionRevocationConfig | undefined = configuration.dopSessionRevocationLibrary;\r\n    if (dopSessionConfig) {\r\n        this.dopSessionConfig = {\r\n            serviceBaseUrl: dopSessionConfig.serviceBaseUrl,\r\n            sessionCheckInterval: dopSessionConfig.sessionCheckInterval\r\n        };\r\n    }\r\n    return this.dopSessionConfig;\r\n}\r\n\r\n  getResultsAppVersion(): string {\r\n    return this.configuration.appVersionNumber;\r\n  }\r\n\r\n  getTimeEnabled(): boolean {\r\n    return this.configuration.isTimeEnabledForNativeFields;\r\n  }\r\n\r\n  getLanguagePreference(): boolean {\r\n    return this.configuration.showLanguageInFooter;\r\n  }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport {\r\n  OAuthService,\r\n  AuthConfig,\r\n  OAuthInfoEvent,\r\n  OAuthErrorEvent,\r\n  OAuthSuccessEvent,\r\n} from 'angular-oauth2-oidc';\r\nimport { AppConfigService } from 'src/app/core/services/app-config-service';\r\nimport { StoreService, StoreKeys } from '../store/ngrx-store.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BehaviorSubject, interval } from 'rxjs';\r\nimport { AppConfig } from '../../shared/models/app-config';\r\nimport { ConfigurationService } from './configuration-service';\r\nimport { EventService } from './event.service';\r\nimport { EventTypes } from '../enums/event.types';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UserProfileModel } from '../../shared/models/user-profile.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { AnalyticsServiceProvider } from '../analytics/analytics-service-provider';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { FieldDefinitionCachedService } from '../../features/results/buildNewResultView/services/fieldDefinition.cached.service';\r\nimport { SystemData } from '../../shared/models/system-data.model';\r\nimport { ResultsSearchService } from '../../features/results/resultView/results-search.service';\r\nimport { StoreKey } from '../store/ngrx-store.keys';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { OAuthInfoEventTypes } from '../enums/oauth-event-types';\r\nimport { CookieStateService } from 'src/app/common/services/cookie-state-service';\r\nimport { Router } from '@angular/router';\r\nimport { DopSessionRevocationConfig, DopSessionRevocationService } from 'libs/dop-session-revocation/src/public-api';\r\nimport { GraphTypes } from '../enums/graph-preference';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n  private configuration: AppConfig;\r\n  private authConfig: AuthConfig;\r\n  private userDetails: UserProfileModel;\r\n  isUserDataLoaded$ = new BehaviorSubject<boolean>(false);\r\n  dopSessionConfig?: DopSessionRevocationConfig;\r\n\r\n  constructor(\r\n    private appConfigService: AppConfigService,\r\n    private oauthService: OAuthService,\r\n    private storeService: StoreService,\r\n    private configurationService: ConfigurationService,\r\n    private eventService: EventService,\r\n    private translateService: TranslateService,\r\n    private analyticsService: AnalyticsServiceProvider,\r\n    private readonly fieldDefinitionService: FieldDefinitionCachedService,\r\n    private readonly resultSearchService: ResultsSearchService,\r\n    private readonly cookieService: CookieService,\r\n    private sessionRevocationService: DopSessionRevocationService,\r\n    private readonly cookieStateService: CookieStateService,\r\n    private router: Router,\r\n    @Inject(DOCUMENT) private document: Document\r\n  ) { }\r\n\r\n  async login() {\r\n    await this.setConfiguration();\r\n    if (environment.enableAuthentication) {\r\n      const data: any = await this.storeService\r\n        .Get(StoreKeys.UserDetails)\r\n        .toPromise();\r\n      if (!data) {\r\n        // Below OAuth events are logged to troubleshoot customer user intermittenet access issue.\r\n        this.oauthService.events.subscribe((event) => {\r\n          if (event instanceof OAuthInfoEvent) {\r\n            switch (event.type) {\r\n              case OAuthInfoEventTypes.Logout:\r\n                location.reload();\r\n                break;\r\n              case OAuthInfoEventTypes.TokenExpire:\r\n                this.logout();\r\n                break;\r\n\r\n              default:\r\n                console.log(\r\n                  'OAuthInfoEvent:',\r\n                  event.type,\r\n                  this.getValidIdTokenMessage()\r\n                );\r\n                break;\r\n            }\r\n          } else if (event instanceof OAuthErrorEvent) {\r\n            console.log(\r\n              'OAuthErrorEvent:',\r\n              event.type,\r\n              this.getValidIdTokenMessage()\r\n            );\r\n          } else if (event instanceof OAuthSuccessEvent) {\r\n            console.log(\r\n              'OAuthSuccessEvent:',\r\n              event.type,\r\n              this.getValidIdTokenMessage()\r\n            );\r\n          } else console.log(JSON.stringify(event));\r\n        });\r\n\r\n        return this.tryLogin().then(async () => {\r\n          let currentRedirectUri;\r\n          if (!this.oauthService.hasValidAccessToken()) {\r\n            if (\r\n              this.cookieService.check('logOutInitiated') &&\r\n              this.cookieService.get('logOutInitiated') == 'true'\r\n            ) {\r\n              this.oauthService.redirectUri =\r\n                this.appConfigService.configuration.oauthConfiguration.redirectUri;\r\n              this.cookieService.delete('logOutInitiated');\r\n            }\r\n            else {\r\n                this.oauthService.redirectUri = this.document.defaultView.location.href;\r\n            }\r\n\r\n            currentRedirectUri = this.oauthService.redirectUri;\r\n\r\n            if (!this.checkRedirectUrlMatching(currentRedirectUri)) {\r\n              this.createCookie(this.oauthService.redirectUri);\r\n              this.oauthService.redirectUri = this.appConfigService.configuration.oauthConfiguration.redirectUri;\r\n            }\r\n\r\n            this.oauthService.initLoginFlow();\r\n          }\r\n\r\n          if (this.oauthService.hasValidAccessToken()) {\r\n            await this.performPostAuthenticationChecks();\r\n          }\r\n\r\n          if (this.userDetails?.trackingConsent) {\r\n            await this.analyticsService.initialize();\r\n          }\r\n          if (this.cookieService.check('currentRedirectUri') && currentRedirectUri == undefined) {\r\n            this.router.navigate([this.getRoutePath(this.cookieService.get('currentRedirectUri'))]);\r\n            this.cookieService.delete('currentRedirectUri');\r\n          }\r\n        });\r\n      } else {\r\n        this.userDetails = data;\r\n        return Promise.resolve(true);\r\n      }\r\n    }\r\n\r\n    return Promise.resolve(true);\r\n  }\r\n\r\n  private tryLogin() {\r\n    // code = code flow + PKCE\r\n    return this.appConfigService.authConfig.responseType === 'code'\r\n      ? this.oauthService.loadDiscoveryDocumentAndTryLogin()\r\n      : this.oauthService.tryLogin();\r\n  }\r\n\r\n  async performPostAuthenticationChecks() {\r\n    await this.getInitialData().toPromise();\r\n    this.doSessionBackgroundCheck();\r\n    if (\r\n      this.configurationService.configurations &&\r\n      this.configurationService.configurations.useResults\r\n    ) {\r\n      this.fieldDefinitionService.setDefinitions();\r\n      //TBD: call below service for respective graphs\r\n      this.fieldDefinitionService.setResultsDefinitions(GraphTypes.ParameterTrend, StoreKeys.ParameterTrendFilterDefinitions, StoreKeys.ParameterTrendPrefDefinitions);\r\n      this.loadConfigurations();\r\n      this.resultSearchService.initializeSearch();\r\n    }\r\n  }\r\n\r\n  private getInitialData() {\r\n    const browserLanguage = this.translateService.getBrowserLang() || 'en';\r\n    return this.configurationService.getSystemInitialData(browserLanguage).pipe(\r\n      map((res: SystemData | { [key: string]: any }) => {\r\n        this.setLocalization(res, browserLanguage);\r\n        if (res?.menuItems || res?.profile || res?.translationDetail) {\r\n          this.eventService.broadCast(EventTypes.ConfigurationsLoaded);\r\n          this.getUserDetailsFromService(res);\r\n        } else {\r\n          this.userDetails = new UserProfileModel();\r\n          this.userDetails.trackingConsent = false;\r\n          this.userDetails.unknownProfile = true;\r\n          this.isUserDataLoaded$.next(true);\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  private loadConfigurations() {\r\n    this.configurationService.getConfigurations().subscribe((response: any) => {\r\n      this.storeService.Save(\r\n        StoreKey.ShowAggregatedColumnsinDownload,\r\n        response.showAggregatedColumnsinDownload,\r\n        true\r\n      );\r\n      this.storeService.Save(\r\n        StoreKey.UseSpecificExport,\r\n        response.useSpecificExport,\r\n        true\r\n      );\r\n      this.storeService.Save(\r\n        StoreKey.UseComplianceAssessment,\r\n        response.useComplianceAssessment,\r\n        true\r\n      );\r\n      this.storeService.Save(\r\n        StoreKey.EnableGraphsAndCharts,\r\n        response.enableGraphsAndCharts,\r\n        true\r\n      );\r\n      this.storeService.Save(\r\n        StoreKey.EnableParameterTrend,\r\n        response.enableParameterTrend,\r\n        true\r\n      );\r\n      this.storeService.Save(\r\n        StoreKey.EnableResultConformity,\r\n        response.enableResultsConformity,\r\n        true\r\n      );\r\n      this.storeService.Save(\r\n        StoreKey.EnableReceivedSampleStatus,\r\n        response.enableReceivedSampleStatus,\r\n        true\r\n      );\r\n      this.configurationService.enableGraphsAndCharts =\r\n        response.enableGraphsAndCharts;\r\n      this.configurationService.isConfigurationsLoaded$.next(true);\r\n      this.appConfigService.uiStartDate = response.uiStartDate ? response.uiStartDate : this.appConfigService.getUIStartDate();\r\n    });\r\n  }\r\n\r\n  getUserDetailsFromService(systemData: any) {\r\n    this.userDetails = systemData.profile;\r\n    this.userDetails.canManagePublicViews = systemData.canManagePublicViews;\r\n    this.storeService.Save(StoreKeys.UserDetails, systemData.profile, true);\r\n    this.isUserDataLoaded$.next(true);\r\n  }\r\n\r\n  private setLocalization(\r\n    systemData: SystemData | { [key: string]: any },\r\n    browserLanguage: string\r\n  ) {\r\n    // Langugae code is taken from server. Set language here to load the user language translations from server.\r\n    // If server fails translations will be loaded from client side using browser language or default to english.\r\n\r\n    if (systemData.translationDetail) {\r\n      this.translateService.setTranslation(\r\n        systemData.translationDetail.languageCode,\r\n        systemData.translationDetail.translations\r\n      );\r\n      this.translateService.currentLang =\r\n        systemData.translationDetail.languageCode;\r\n    } else {\r\n      this.translateService.setTranslation(browserLanguage, systemData);\r\n      this.translateService.currentLang = browserLanguage;\r\n    }\r\n  }\r\n\r\n  async setConfiguration() {\r\n    this.configuration = await this.appConfigService.setConfiguration();\r\n    this.authConfig = this.appConfigService.setupAuthConfig(this.configuration);\r\n    this.dopSessionConfig = this.appConfigService.setSessionRevocationConfig(this.configuration);\r\n\r\n    if (!this.isLoggedIn()) {\r\n      this.appConfigService.setInit();\r\n    }\r\n    this.oauthService.configure(this.authConfig);\r\n    this.sessionRevocationService.configure(this.dopSessionConfig);\r\n  }\r\n\r\n  getPostLogoutRedirectUrl() {\r\n    return this.oauthService.postLogoutRedirectUri;\r\n  }\r\n\r\n  getRedirectUrl(): string {\r\n    return this.oauthService.redirectUri;\r\n  }\r\n\r\n  getAccessToken(): string {\r\n    return this.oauthService.getAccessToken();\r\n  }\r\n\r\n  getIdToken(): string {\r\n    return this.oauthService.getIdToken();\r\n  }\r\n\r\n  getClaims() {\r\n    return this.oauthService.getIdentityClaims();\r\n  }\r\n\r\n  isLoggedIn() {\r\n    return (\r\n      this.oauthService.hasValidIdToken() &&\r\n      this.oauthService.hasValidAccessToken()\r\n    );\r\n  }\r\n\r\n  logout() {\r\n    var expirydate = new Date();\r\n    expirydate.setSeconds(expirydate.getSeconds() + 10);\r\n    this.cookieService.set('logOutInitiated', 'true', expirydate);\r\n\r\n    // Call revoke end point - do logout irrespective of response.\r\n    this.sessionRevocationService.revokeSession(\r\n      this.getSessionId(),\r\n      this.handleLogout,\r\n      this.handleLogout\r\n    );\r\n  }\r\n\r\n  handleLogout = () => {\r\n    this.cookieStateService.removeUserStateCookie();\r\n    this.oauthService.logOut(true);\r\n  };\r\n\r\n  doSessionBackgroundCheck() {\r\n    this.sessionRevocationService.checkSessionStatus(\r\n      this.getSessionId(),\r\n      (data) => {\r\n        if (data.isRevoked) this.handleLogout();\r\n      },\r\n      (error) => {\r\n        //do nothing/swallow the error.\r\n      }\r\n    );\r\n  }\r\n\r\n  getSessionId(): string {\r\n    const idClaims = this.oauthService.getIdentityClaims();\r\n    type ObjectKey = keyof typeof idClaims;\r\n    if (idClaims === null || idClaims === undefined) {\r\n      return null;\r\n    }\r\n    return idClaims['pi.sri' as ObjectKey];\r\n  }\r\n\r\n  getUserDetails() {\r\n    return this.userDetails;\r\n  }\r\n\r\n  isPreconditionFailure(): boolean {\r\n    return this.configurationService.preconditionFailed;\r\n  }\r\n\r\n  isImpersonatedUser(): boolean {\r\n    const impersonatedData = this.cookieStateService.getState();\r\n    return impersonatedData && impersonatedData.isImpersonated;\r\n  }\r\n\r\n  get issuerUri() {\r\n    return this.authConfig?.issuer;\r\n  }\r\n\r\n  private getValidIdTokenMessage(): string {\r\n    return `Id_Token_Expired: ${this.oauthService.hasValidIdToken()}`;\r\n  }\r\n\r\n  private getRoutePath(data) {\r\n    let redirectUri = this.appConfigService.configuration.oauthConfiguration.redirectUri;\r\n    return data.substring(redirectUri.length);\r\n  }\r\n\r\n  private checkRedirectUrlMatching(currentRedirectUri) {\r\n    if (currentRedirectUri != undefined && currentRedirectUri != this.appConfigService.configuration.oauthConfiguration.redirectUri)\r\n      return false;\r\n\r\n    return true;\r\n  }\r\n\r\n  private createCookie(uri: string) {\r\n    this.cookieService.set('currentRedirectUri', uri);\r\n  }\r\n\r\n  getUserLanguage() {\r\n    return this.userDetails.language;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../services/app-config-service';\r\nimport { BehaviorSubject, Observable, of, throwError } from 'rxjs';\r\nimport { ConfigurationModel } from '../../shared/models/configuration.model';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { DataService } from './data.service';\r\nimport { SystemData } from '../../shared/models/system-data.model';\r\nimport { HttpStatusCode } from '../enums/HttpStatusCode';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ConfigurationService {\r\n  constructor(\r\n    private appConfigService: AppConfigService,\r\n    private dataService: DataService) {\r\n  }\r\n\r\n  isConfigurationsLoaded$ = new BehaviorSubject<boolean>(false);\r\n  enableGraphsAndCharts: boolean;\r\n  preconditionFailed:boolean;\r\n\r\n  configurations: ConfigurationModel = new ConfigurationModel();\r\n  menuItems: any[] = [];\r\n\r\n  IsAdvancedSupportEnabled() {\r\n    const apiUrl = 'configuration/advancedSupportEnabled';\r\n    return this.getData<any>(apiUrl)\r\n      .pipe(\r\n        map((value: any) => {\r\n          return value;\r\n        }), catchError(error => this.errorHandl(error)));\r\n  }\r\n  getConfigurations() {\r\n    const apiUrl = 'configuration';\r\n    return this.getData<any>(apiUrl)\r\n      .pipe(\r\n        map((value: any) => {\r\n          return {\r\n            showAggregatedColumnsinDownload: value.data.useResultsAggregation,\r\n            useSpecificExport: value.data.useSpecificExport,\r\n            useComplianceAssessment: value.data.useComplianceAssessment,\r\n            enableGraphsAndCharts: value.data.enableGraphsAndCharts,\r\n            enableParameterTrend: value.data.enableParameterTrend,\r\n            enableResultsConformity: value.data.enableResultsConformity,\r\n            enableReceivedSampleStatus: value.data.enableReceivedSampleStatus,\r\n            uiStartDate: value.data.uiStartDate\r\n          };\r\n        }), catchError(error => this.errorHandl(error)));\r\n  }\r\n\r\n  getSystemInitialData(lang: string): Observable<SystemData | { [key: string]: any }> {\r\n    const api = `${this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl}system/workspace`;\r\n    return this.dataService.get(api, true).pipe(\r\n      map((res: SystemData) => {\r\n        this.setInfo(res);\r\n\r\n        return res;\r\n      }), catchError((err: any) => {\r\n        // On Error get translation from local\r\n        if (err.status === HttpStatusCode.FORBIDDEN \r\n          || err.status === HttpStatusCode.PRECONDITION_FAILED \r\n          || err.status === HttpStatusCode.INTERNAL_SERVER_ERROR || err.status === 0) {\r\n          console.log(err.message);\r\n          this.setInfo(err.error, err.status, lang);\r\n          if (err?.error?.translationDetail?.translations){\r\n            return of(err.error);\r\n          }\r\n          return this.dataService.get<{ [key: string]: any }>(`assets/translations/${lang}.json`, true);\r\n        } else {\r\n          return this.dataService.get<{ [key: string]: any }>(`assets/translations/${lang}.json`, true);\r\n        }\r\n      }));\r\n  }\r\n\r\n  private setInfo(res: SystemData, status = 200, browserLanguage?: string) {\r\n    if (status != 200 && !res?.menuItems) {\r\n      this.configurations.useResults = false;\r\n      this.preconditionFailed = status === HttpStatusCode.PRECONDITION_FAILED \r\n                                || status === HttpStatusCode.INTERNAL_SERVER_ERROR;\r\n      console.log('pre-condition failed', this.preconditionFailed);\r\n      return;\r\n    }\r\n    this.appConfigService.userLanguageCode = res.translationDetail.languageCode ?? browserLanguage;\r\n\r\n    this.appConfigService.formatCulture = res.translationDetail.formatLanguageCode ?? browserLanguage;\r\n    this.appConfigService.setCurrentCulture(this.appConfigService.formatCulture);\r\n\r\n    this.configurations.useResults = res.canAccessResults;\r\n    this.menuItems = res.menuItems;\r\n  }\r\n\r\n  // Error handling\r\n  errorHandl(error) {\r\n    this.configurations.useResults = false;\r\n    let errorMessage = '';\r\n    if (error.error instanceof ErrorEvent) {\r\n      // Get client-side error\r\n      errorMessage = error.error.message;\r\n    } else {\r\n      // Get server-side error\r\n      errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n    }\r\n    console.log(errorMessage);\r\n    return throwError(() => error);\r\n  }\r\n\r\n  private getData<T>(apiUrl: string): Observable<T> {\r\n    const url = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + apiUrl;\r\n    return this.dataService.get<T>(url, true);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, retry, catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DataService {\r\n  constructor(\r\n    private httpClient: HttpClient) {\r\n  }\r\n\r\n  get<TResponse>(apiUrl: string, includeFullResponse: boolean = false, options?: any): Observable<TResponse> {\r\n    return this.httpClient.get<TResponse>(apiUrl, options).pipe(map((res: any) => {\r\n      return includeFullResponse ? res as TResponse : res.data as TResponse;\r\n    }));\r\n  }\r\n\r\n  post<TRequest, TResponse>(apiUrl: string, request: TRequest, includeFullResponse: boolean = false, options?: any): Observable<TResponse> {\r\n    return this.httpClient.post<TResponse>(apiUrl, request, options).pipe(map((res: any) => {\r\n      return includeFullResponse ? res as TResponse : res.data as TResponse;\r\n    }));\r\n  }\r\n\r\n\r\n  put<TRequest, TResponse>(apiUrl: string, request: TRequest, includeFullResponse: boolean = false, options?: any): Observable<TResponse> {\r\n    return this.httpClient.put<TResponse>(apiUrl, request, options).pipe(map((res: any) => {\r\n      return includeFullResponse ? res as TResponse : res.data as TResponse;\r\n    }));\r\n  }\r\n\r\n  putRouteObject<TResponse>(apiUrl: string, includeFullResponse: boolean = false, options?: any): Observable<TResponse> {\r\n    return this.httpClient.put<TResponse>(apiUrl, null, options).pipe(map((res: any) => {\r\n      return includeFullResponse ? res as TResponse : res.data as TResponse;\r\n    }));\r\n  }\r\n\r\n  delete<TRequest>(apiUrl: string, request: TRequest) {\r\n    return this.httpClient.delete<TRequest>(apiUrl, request).pipe();\r\n  }\r\n\r\n  head(apiUrl: string) {\r\n    return this.httpClient.head(apiUrl).pipe();\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { EventModel, EventBaseData } from '../../shared/models/event.model';\r\nimport { EventTypes } from '../enums/event.types';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class EventService {\r\n  private $event: BehaviorSubject<EventModel> = new BehaviorSubject<EventModel>(null);\r\n\r\n  public broadCast(eventType: EventTypes, data?: EventBaseData): void {\r\n    this.$event.next({ Type: eventType, Data: data });\r\n  }\r\n\r\n  public tryListen(eventType: EventTypes, data?: EventBaseData): Observable<any> {\r\n    this.$event.next({ Type: eventType, Data: data });\r\n    return data.onAction;\r\n  }\r\n\r\n  public listen(eventType: EventTypes): Observable<EventBaseData> {\r\n    return this.$event.asObservable()\r\n      .pipe(\r\n        filter(e => e !== null && e.Type === eventType),\r\n        map(e => {\r\n          var res = Object.assign({}, e.Data);\r\n          if (e.Data) {\r\n            e.Data.isRead = true;\r\n          }\r\n          return res;\r\n        })\r\n      );\r\n  }\r\n}\r\n","import { Injectable, Output, EventEmitter } from '@angular/core';\r\nimport { Layout } from '../../shared/models/layout.model';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n\r\n  @Output() layoutChanges: EventEmitter<Layout> = new EventEmitter();\r\n  layout: Layout = {\r\n    pageHeader: {\r\n      pageTitle: '',\r\n      pageIcon: '',\r\n      iconLink: '',\r\n    },\r\n    breadcrumbItems: []\r\n  } as Layout;\r\n\r\n  constructor() { }\r\n\r\n  setPageHeader(pageTitle: string, pageIcon: string, iconLink: string, confirmDialogRequired: boolean = false) {\r\n    this.layout.pageHeader.pageTitle = pageTitle;\r\n    this.layout.pageHeader.pageIcon = pageIcon;\r\n    this.layout.pageHeader.iconLink = iconLink;\r\n    this.layout.pageHeader.confirmDialogRequired = confirmDialogRequired;\r\n    this.layoutChanges.emit(this.layout);\r\n  }\r\n\r\n  updateBreadcrumb(breadcrumbItems: MenuItem[]) {\r\n    this.layout.breadcrumbItems = breadcrumbItems;\r\n    this.layoutChanges.emit(this.layout);\r\n  }\r\n\r\n}\r\n","import { Action } from '@ngrx/store';\r\n\r\nexport enum ActionTypes {\r\n  save,\r\n  delete\r\n}\r\nexport class ActionEx implements Action {\r\n\r\n  readonly type: any;\r\n  payload: any;\r\n}\r\n\r\nexport class SetStoreState implements ActionEx {\r\n  readonly type = ActionTypes.save.toString();\r\n  constructor(public payload: any) { }\r\n}\r\n","export enum StoreKey {\r\n  // Add the Store Keys below\r\n  UserDetails,\r\n  UserPermission,\r\n  Definitions,\r\n  ParameterTrendFilterDefinitions,\r\n  ParameterTrendPrefDefinitions,\r\n  Fields,\r\n  SampleDetailFields,\r\n  OrderDetailFields,\r\n  ShowAggregatedColumnsinDownload,\r\n  UseSpecificExport,\r\n  UseComplianceAssessment,\r\n  EnableGraphsAndCharts,\r\n  EnableParameterTrend,\r\n  EnableResultConformity,\r\n  EnableReceivedSampleStatus,\r\n  GridData\r\n}\r\n","import { ActionTypes, ActionEx } from './ngrx-store.actions';\r\n\r\nexport const initialState: any = {};\r\n\r\nexport function RootReducer(state = initialState, action: ActionEx): any {\r\n\r\n    if (action.type === ActionTypes.save.toString()) {\r\n        return Object.assign({}, state, action.payload);\r\n    }\r\n    if (action.type === ActionTypes.delete.toString()) {\r\n        delete state[action.payload];\r\n        return state;\r\n    }\r\n    return state;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActionTypes } from './ngrx-store.actions';\r\nimport { AsyncSubject, Observable } from 'rxjs';\r\nimport { StoreKey } from './ngrx-store.keys';\r\nimport { Store } from '@ngrx/store';\r\nimport { FieldSearchResponse } from 'src/app/features/results/shared/models/filter-definition.model';\r\nexport const StoreKeys = StoreKey;\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class StoreService {\r\n    constructor(private store: Store<{ state: any }>) { }\r\n\r\n    Get(id: StoreKey): Observable<any> {\r\n        const subject = new AsyncSubject();\r\n        this.getValue(id).subscribe(data => {\r\n            subject.next(data);\r\n        });\r\n        subject.complete();\r\n        return subject;\r\n    }\r\n\r\n    GetByCode(code: string): Observable<FieldSearchResponse> {\r\n        const subject = new AsyncSubject<FieldSearchResponse>();\r\n        this.getValue(undefined, code).subscribe(data => {\r\n            subject.next(data);\r\n        });\r\n        subject.complete();\r\n        return subject;\r\n    }\r\n\r\n    GetMany(ids: StoreKey[]): Observable<any> {\r\n        const returnData: any = {};\r\n        const subject = new AsyncSubject();\r\n        for (const id of ids) {\r\n            this.getValue(id).subscribe(data => returnData[StoreKey[id]] = data);\r\n        }\r\n        subject.next(returnData);\r\n        subject.complete();\r\n        return subject;\r\n    }\r\n\r\n    Save(id: StoreKey, data: any, isAppLevel?: boolean) {\r\n        const payload: any = {};\r\n        payload[StoreKey[id]] = { data, isAppLevel: isAppLevel ? isAppLevel : false };\r\n        this.store.dispatch({ type: ActionTypes.save.toString(), payload });\r\n    }\r\n\r\n    SaveByCode(code: string, data: FieldSearchResponse, isAppLevel?: boolean) {\r\n        const payload: any = {};\r\n        payload[code] = { data, isAppLevel: isAppLevel ? isAppLevel : false };\r\n        this.store.dispatch({ type: ActionTypes.save.toString(), payload });\r\n    }\r\n\r\n    private getValue(id: StoreKey, code = ''): Observable<any> {\r\n        const input = StoreKey[id] ?? code;\r\n        const subject = new AsyncSubject();\r\n        this.store.select((s: any) => s.state[input])\r\n            .subscribe((state: any) => {\r\n                if (state) {\r\n                    const data = state.data;\r\n                    subject.next(data);\r\n                    subject.complete();\r\n                    if (state.isAppLevel === false) {\r\n                        this.store.dispatch({ type: ActionTypes.delete.toString(), payload: input });\r\n                    }\r\n                } else {\r\n                    subject.complete();\r\n                }\r\n            }).unsubscribe();\r\n        return subject;\r\n    }\r\n}\r\n","import { TreeModel, TreeItem, PagedTreeModel, PickListRequestModel } from 'libs/dop-pick-list/src/lib/tree-model';\r\nimport { Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FieldDefinitionService } from '../services/fieldDefinition.service';\r\nimport { AccountSearchRequest, AccountSearchResponse } from '../../shared/models/search-result.model';\r\nimport { SelectedItemModel } from '../../../../../../libs/dop-pick-list/src/lib/selected-item.model';\r\nimport { PicklistTranslationModel } from '../../../../../../libs/dop-pick-list/src/lib/picklist-translation.model';\r\nimport { AuthService } from '../../../../core/services/auth.service';\r\nimport { EventService } from '../../../../core/services/event.service';\r\nimport { EventTypes } from '../../../../core/enums/event.types';\r\nimport { EventBuildNewResults } from '../../shared/models/eventBuildNewResults.model';\r\nimport { DopPickListComponent } from '../../../../../../libs/dop-pick-list/src/public-api';\r\nimport { EditResultViewEvent } from '../../shared/models/eventEditResultView.model';\r\nimport { AccessTypes } from '../../../../core/enums/access-types';\r\nimport { ResultsProfileService } from '../../shared/results-profile.service';\r\nimport { ResultViewAccess, ResultViewAccessDetails } from '../../shared/models/result-view-access.model';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nconst timeOutInterval = 100;\r\nconst maxCount = 100;\r\n@Component({\r\n  selector: 'app-assign-accounts',\r\n  templateUrl: './assign-accounts.component.html',\r\n  styleUrls: ['./assign-accounts.component.scss']\r\n})\r\nexport class AssignAccountsComponent implements OnInit, OnDestroy {\r\n  allAccountOption = AccessTypes.AllAccount;\r\n  selectAccountOption = AccessTypes.Account;\r\n  publicOption = AccessTypes.Public;\r\n  types: any;\r\n  selectedItems: SelectedItemModel[] = [];\r\n  treeAccounts: TreeModel = new TreeModel();\r\n  pickListTranslations: PicklistTranslationModel = new PicklistTranslationModel();\r\n  clientSideLoading = true;\r\n  isInternal = false;\r\n  canManagePublicViews = false;\r\n\r\n  @Output() isEnabledContinue = new EventEmitter<boolean>();\r\n  private openBuildNewResultViewSubscription: Subscription;\r\n  private openEditResultViewSubscription: Subscription;\r\n  private isUserDataLoadedSubscription: Subscription;\r\n  @ViewChild('accountSelector') accountSelector: DopPickListComponent;\r\n  private selectedAccessType?: string;\r\n  get selectedType(): string {\r\n    return this.selectedAccessType;\r\n  }\r\n\r\n  set selectedType(value: string) {\r\n    if (this.selectedType === (AccessTypes.AllAccount || AccessTypes.Public) && value === AccessTypes.Account) {\r\n      this.resetAccountSelections();\r\n    }\r\n    this.selectedAccessType = value;\r\n  }\r\n\r\n  constructor(\r\n    private translateService: TranslateService,\r\n    private fieldDefinitionService: FieldDefinitionService,\r\n    private authService: AuthService,\r\n    private eventService: EventService,\r\n    private resultsProfileService: ResultsProfileService) {\r\n    this.treeAccounts.id = 'accountsSelectionPickList';\r\n    this.treeAccounts.items = [];\r\n\r\n    this.openBuildNewResultViewSubscription = this.eventService.listen(EventTypes.BuildNewResultView).\r\n      subscribe((eventData: EventBuildNewResults) => {\r\n        if (!(eventData.isEdit && eventData.isPreview)) {\r\n          this.resetAccountSelections(true);\r\n        }\r\n\r\n        if (!(this.treeAccounts && this.treeAccounts.items.length > 0)) {\r\n          this.isUserDataLoadedSubscription = this.authService.isUserDataLoaded$.subscribe(isLoaded => {\r\n            if (isLoaded) {\r\n              this.getAccountTreeView();\r\n            }\r\n          });\r\n        }\r\n        \r\n        if(!this.selectedType){\r\n          this.updateSelectedType();\r\n        }\r\n        this.setTranslations();\r\n      });\r\n\r\n    this.openEditResultViewSubscription = this.eventService.listen(EventTypes.EditResultView).\r\n      subscribe(_ => this.setTranslations());\r\n  }\r\n\r\n  private getAccountTreeView(callBack?: Function) {\r\n    this.checkUserProfile();\r\n    // For customer user client side will be enabled. For internal user server side will be called by passing observable to library\r\n    if (this.clientSideLoading) {\r\n      this.searchAccounts(new PickListRequestModel(0, 0)).subscribe((res: PagedTreeModel) => {\r\n        this.treeAccounts.items = res.items;\r\n\r\n        if (callBack) {\r\n          callBack();\r\n        }\r\n      });\r\n    } else {\r\n      if (callBack) {\r\n        callBack();\r\n      }\r\n    }\r\n  }\r\n\r\n  private resetAccountSelections(resetAccessType?: boolean) {\r\n    this.selectedItems = [];\r\n    if (resetAccessType) {\r\n      this.selectedType = undefined;\r\n    }\r\n    this.treeAccounts.isTreeSeached = false;\r\n    this.treeAccounts.searchKey = '';\r\n    this.treeAccounts.items.forEach(item => {\r\n      item.isMoved = false;\r\n      item.isSearched = false;\r\n    });\r\n\r\n    if (this.accountSelector) {\r\n      this.accountSelector.resetSearch();\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.setTranslations();\r\n  }\r\n\r\n  private checkUserProfile() {\r\n    const userDetail = this.authService.getUserDetails();\r\n    this.clientSideLoading = userDetail.internal ? false : true;\r\n    this.isInternal = userDetail.internal;\r\n    this.canManagePublicViews = userDetail.canManagePublicViews;\r\n    this.updateSelectedType();\r\n    this.setDateValues();\r\n  }\r\n\r\n  private updateSelectedType(){\r\n    if(this.isInternal && !this.canManagePublicViews) {\r\n      this.selectedType = this.selectAccountOption;\r\n    }\r\n  }\r\n\r\n  private setTranslations() {\r\n    this.translateService.get(['eiSearchForAccounts', 'eiAddAll', 'eiRemoveAll', 'eiSelectedAccounts', 'eiSearchWithAccountCodeOrNameOrCity', 'eiSeachTextNote','eiSelectAll','eiSearch'])\r\n      .subscribe((res) => {\r\n\r\n        this.pickListTranslations = {\r\n          availableFieldsTitle: res.eiSearchForAccounts,\r\n          addAllTitle: res.eiAddAll,\r\n          removeAllTitle: res.eiRemoveAll,\r\n          selectedItemsTitle: res.eiSelectedAccounts,\r\n          searchBackgroundText: res.eiSearchWithAccountCodeOrNameOrCity,\r\n          searchTextNote: res.eiSeachTextNote,\r\n          selectAll:res.eiSelectAll,\r\n          search:res.eiSearch\r\n        };\r\n      });\r\n  }\r\n\r\n  setDateValues() {\r\n    this.translateService.get(['eiAssignToAllAccounts', 'eiAssignToAllUsers', 'eiAssignSelectedAccounts'])\r\n      .subscribe(translations => {\r\n        this.types = [\r\n          {\r\n            value: 1, label: this.isInternal ? translations.eiAssignToAllUsers : translations.eiAssignToAllAccounts,\r\n            code: this.isInternal ? this.publicOption : this.allAccountOption\r\n          },\r\n          { value: 2, label: translations.eiAssignSelectedAccounts, code: this.selectAccountOption }\r\n        ];\r\n      });\r\n  }\r\n\r\n  public searchAccounts = (requestModel: PickListRequestModel): Observable<PagedTreeModel> => {\r\n    const searchRequest = new AccountSearchRequest(requestModel.pageOffset,\r\n      requestModel.pageSize, requestModel.searchKey, requestModel.excludeList);\r\n    return this.fieldDefinitionService.getAccounts(searchRequest)\r\n      .pipe(\r\n        map((response: AccountSearchResponse) => {\r\n          if (!response.data && response.data.length === 0) {\r\n            return;\r\n          }\r\n\r\n          const items: TreeItem[] = [];\r\n          const item = response.data[0].properties;\r\n          Object.getOwnPropertyNames(item).forEach((code: string) => {\r\n            const treeItem = new TreeItem();\r\n            treeItem.id = code;\r\n            treeItem.name = `${item[code]} (${code})`;\r\n            treeItem.dataItem = { code, name: treeItem.name };\r\n            items.push(treeItem);\r\n          });\r\n          return new PagedTreeModel(response.pagination.count, items);\r\n        }));\r\n  }\r\n\r\n  public editResults(eventData: EditResultViewEvent) {\r\n    if (this.treeAccounts.items && this.treeAccounts.items.length === 0) {\r\n      this.getAccountTreeView(_ => this.editResultView(eventData));\r\n    } else {\r\n      this.editResultView(eventData);\r\n    }\r\n  }\r\n\r\n  private editResultView(eventData: EditResultViewEvent) {\r\n    if (eventData.selectedItems.code || eventData.selectedItems.selectedViewCodeToClone) {\r\n      this.selectedItems = [];\r\n      const user = this.authService.getUserDetails();\r\n      if (user.internal) {\r\n        this.setAccountsForInternalUser(eventData);\r\n      }\r\n      else {\r\n        this.setAccountsForExternalUser(eventData);\r\n      }\r\n    }\r\n    else {\r\n      this.resetAccountSelections(true);\r\n    }\r\n  }\r\n\r\n  private setAccountsForInternalUser(eventData: EditResultViewEvent) {\r\n    if (this.treeAccounts) {\r\n      this.treeAccounts.items = [];\r\n      this.treeAccounts.isTreeSeached = false;\r\n    }\r\n\r\n    if (this.accountSelector) {\r\n      this.accountSelector.resetSearch();\r\n    }\r\n\r\n    if (eventData.selectedItems.accessType === AccessTypes.Account || !this.canManagePublicViews) {\r\n      this.selectedType = AccessTypes.Account;\r\n      this.resultsProfileService.getResultViewAccessDetails(\r\n        eventData.selectedItems.code ?? eventData.selectedItems.selectedViewCodeToClone, maxCount)\r\n        .subscribe((viewAccessResponse: ResultViewAccessDetails) => {\r\n\r\n          viewAccessResponse.items.forEach(item => {\r\n            setTimeout(this.setItems, timeOutInterval, item.code, `${item.name} (${item.code})`, this);\r\n          });\r\n\r\n        });\r\n    } else {\r\n      this.selectedType = AccessTypes.Public;\r\n    }\r\n  }\r\n\r\n  private setAccountsForExternalUser(eventData: EditResultViewEvent) {\r\n    if (eventData.selectedItems.accessType === AccessTypes.Account) {\r\n      this.selectedType = eventData.selectedItems.accessType;\r\n      this.resultsProfileService.getResultViewAccess(eventData.selectedItems.code ?? eventData.selectedItems.selectedViewCodeToClone)\r\n        .subscribe((viewAccessResponse: ResultViewAccess) => {\r\n\r\n          this.resetAccountSelections();\r\n          const selectedAccounts = viewAccessResponse.items.map(item => {\r\n            const obj = {};\r\n            obj[item] = this.treeAccounts.items.find(x => x.id === item)?.name ?? item;\r\n            return obj;\r\n          });\r\n\r\n          this.selectedItems = this.treeAccounts.moveSelectedItemById(this.treeAccounts.items, selectedAccounts, null);\r\n          this.accountSelector.setTreeModel(this.treeAccounts, true);\r\n        });\r\n    } else {\r\n      this.selectedType = AccessTypes.AllAccount;\r\n    }\r\n  }\r\n\r\n  private setItems(code: string, name: string, that: any) {\r\n    const selectedItem = new SelectedItemModel();\r\n    selectedItem.id = code;\r\n    selectedItem.name = name.indexOf(code) > -1 ? name : `${name} (${code})`;\r\n    selectedItem.isHidden = false;\r\n    selectedItem.dataItem = Object.assign({ isHidden: false }, { code, name });\r\n    that.selectedItems.push(selectedItem);\r\n  }\r\n\r\n  onSelectedItemsChange(value: SelectedItemModel[]) {\r\n    this.isEnabledContinue.emit(value.length > 0);\r\n  }\r\n\r\n  public onApply(): void {\r\n    // TODO : map selected accounts to save request\r\n  }\r\n\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.openBuildNewResultViewSubscription) {\r\n      this.openBuildNewResultViewSubscription.unsubscribe();\r\n    }\r\n    if (this.openEditResultViewSubscription) {\r\n      this.openEditResultViewSubscription.unsubscribe();\r\n    }\r\n    if (this.isUserDataLoadedSubscription) {\r\n      this.isUserDataLoadedSubscription.unsubscribe();\r\n    }\r\n  }\r\n}\r\n","<div *ngIf=\"((canManagePublicViews && isInternal) || !isInternal)\">\r\n  <div *ngFor=\"let type of types; let i=index\">\r\n    <div>\r\n      <p-radioButton name=\"assignType\" [value]=\"type.code\" [label]=\"type.label\" [(ngModel)]=\"selectedType\" class=\"left\"\r\n        [inputId]=\"type.code\"></p-radioButton>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div class=\"header-label\" *ngIf=\"!canManagePublicViews && isInternal\">\r\n  {{'eiAssignSelectedAccounts' | translate}}\r\n</div>\r\n<div>\r\n  <lib-dop-pick-list #accountSelector *ngIf=\"selectedType===selectAccountOption\"\r\n    [enableSearch]=\"true\" [enableSelectedSearch]=\"true\" [selectAllAssigned]=\"true\" [dataSource]=\"searchAccounts\"\r\n    [clientSideLoad]=\"clientSideLoading\" [selectionBoxHeight]=\"300\" [selectionBoxWidth]=\"360\"\r\n    [libTranslations]=\"pickListTranslations\" [(treeModel)]=\"treeAccounts\" [(selectedItems)]=\"selectedItems\"\r\n    [enableVirtualScroll]=\"true\" (selectedItemsChange)=\"onSelectedItemsChange($event)\"></lib-dop-pick-list>\r\n</div>","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SelectedItemModel } from '../../../../../../libs/dop-pick-list/src/lib/selected-item.model';\r\nimport { TreeItem, TreeModel } from '../../../../../../libs/dop-pick-list/src/lib/tree-model';\r\nimport { EventTypes } from '../../../../core/enums/event.types';\r\nimport { EventService } from '../../../../core/services/event.service';\r\nimport { LayoutService } from '../../../../core/services/layout.service';\r\nimport { Definitions } from '../../shared/models/definitions';\r\nimport { EventBuildNewResults } from '../../shared/models/eventBuildNewResults.model';\r\nimport { FieldDescription, FieldGroup } from '../../shared/models/field-definition.model';\r\nimport { ViewConfiguration } from '../../shared/models/result-viewconfiguration.model';\r\nimport { FieldConfigurationService } from '../../shared/field-configuration.service';\r\nimport { PicklistTranslationModel } from '../../../../../../libs/dop-pick-list/src/lib/picklist-translation.model';\r\nimport { FieldDefinitionCachedService } from '../services/fieldDefinition.cached.service';\r\nimport { EventUpdateSeletedField } from '../../shared/models/eventUpdateSeletedField.model';\r\nimport { ColumnCapability } from '../../../../core/enums/column-capability';\r\nimport { StoreKey } from 'src/app/core/store/ngrx-store.keys';\r\nimport { StoreService } from 'src/app/core/store/ngrx-store.service';\r\n\r\n@Component({\r\n  selector: 'app-assign-fields',\r\n  templateUrl: './assign-fields.component.html'\r\n})\r\nexport class AssignFieldsComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n  @Input() openBuildNewResultsModal: boolean;\r\n  @Input() isEdit: boolean;\r\n\r\n  @Output() isEnabledContinue = new EventEmitter<boolean>();\r\n\r\n  isOpen = false;\r\n  selectedItems: SelectedItemModel[] = [];\r\n  viewConfiguration: ViewConfiguration = new ViewConfiguration();\r\n  pickListTranslations: PicklistTranslationModel = new PicklistTranslationModel();\r\n  treeModel: TreeModel = new TreeModel();\r\n\r\n\r\n  private openBuildNewResultViewSubscription: Subscription;\r\n  private fieldConfigurationsChangedSubscription: Subscription;\r\n  private readonly updateSelectedItemsSubscription: Subscription;\r\n\r\n  public isPreview: boolean;\r\n  constructor(\r\n    private readonly storeService: StoreService,\r\n    private layoutService: LayoutService,\r\n    private translateService: TranslateService,\r\n    private fieldDefinitionService: FieldDefinitionCachedService,\r\n    private eventService: EventService,\r\n    private fieldConfigurationService: FieldConfigurationService) {\r\n    this.layoutService.setPageHeader(this.translateService.instant('eiBuildNewResultView'), 'ei ei-library ei-26', '/', true);\r\n\r\n    this.openBuildNewResultViewSubscription = this.eventService.listen(EventTypes.BuildNewResultView)\r\n      .subscribe((eventData: EventBuildNewResults) => {\r\n        this.isPreview = eventData.isPreview;\r\n        this.openBuildNewResultsModal = true;\r\n\r\n        if (!(eventData.isEdit && eventData.isPreview)) {\r\n          this.viewConfiguration = new ViewConfiguration();\r\n          this.selectedItems = [];\r\n          this.treeModel.resetTreeItems();\r\n        }\r\n\r\n        this.getFieldDefinitions();\r\n      });\r\n\r\n      this.updateSelectedItemsSubscription = this.eventService.listen(EventTypes.UpdateSelectedFields)\r\n      .subscribe((data: EventUpdateSeletedField) => {\r\n        if ( data.length > 0) {\r\n          this.selectedItems.sort((a,b) => {\r\n            return data.columns[a.id] - data.columns[b.id] \r\n          });\r\n        }\r\n      });\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.setTranslations();\r\n  }\r\n\r\n  private getFieldDefinitions(): Promise<void> {\r\n    if (!(this.treeModel && this.treeModel.items.length > 0 && this.fieldConfigurationsChangedSubscription)) {\r\n      return this.fieldDefinitionService.getDefinitions().then((definitions: Definitions) => {\r\n        this.treeModel = Object.assign(new TreeModel(), {\r\n          id: 'fieldSelectionPickList',\r\n          items: this.mapTreeModel(definitions.groups)\r\n        }\r\n        );\r\n        \r\n        if(this.treeModel.items.some(e => e.id == \"AdditionalFields\"))\r\n        {\r\n          this.treeModel.items.forEach(async (item: TreeItem) => {\r\n            if (item.id===\"AdditionalFields\") {\r\n              const user = await this.storeService.Get(StoreKey.UserDetails).toPromise();\r\n              item.items.sort( (a, b) => a.name.localeCompare(b.name, user.language, {'sensitivity': 'base'}));\r\n            }\r\n          });\r\n        }\r\n\r\n        if (!this.fieldConfigurationsChangedSubscription) {\r\n          this.fieldConfigurationsChangedSubscription = this.eventService.listen(EventTypes.FieldConfigurationsChanged)\r\n            .subscribe((viewConfiguration: ViewConfiguration) => {\r\n              this.viewConfiguration = viewConfiguration;\r\n            });\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  public editResults(eventData) {\r\n    if (this.treeModel.items && this.treeModel.items.length === 0) {\r\n      this.getFieldDefinitions().then(_ => this.editResultsFields(eventData));\r\n    } else {\r\n      this.editResultsFields(eventData);\r\n    }\r\n  }\r\n\r\n  private editResultsFields(eventData) {\r\n    this.selectedItems = [];\r\n    this.treeModel.resetTreeItems();\r\n    this.isPreview = eventData.isPreview;\r\n    this.isEdit = eventData.isEdit;\r\n    if (eventData.isEdit || (eventData.isPreview && !eventData.isReset)) {\r\n      this.viewConfiguration = new ViewConfiguration();\r\n      this.viewConfiguration.code = eventData.selectedItems.code;\r\n      this.viewConfiguration.name = eventData.selectedItems.name;\r\n      this.viewConfiguration.default = eventData.selectedItems.default;\r\n      this.viewConfiguration.template = eventData.selectedItems.fieldConfig.view.template;\r\n      this.viewConfiguration.configuration = eventData.selectedItems.fieldConfig;\r\n      const fields = Object.getOwnPropertyNames(eventData.selectedItems.fieldConfig?.fields)\r\n        .map((field) => {\r\n          const obj = {};\r\n          obj[field] = eventData.selectedItems.fieldConfig?.fields[field].exclude === undefined;\r\n          return obj;\r\n        });\r\n      this.selectedItems = this.treeModel.moveSelectedItemById(this.treeModel.items, fields, null);\r\n      this.selectedItems.forEach(si => {\r\n        if (eventData.selectedItems.fieldConfig?.fields[si.id][ColumnCapability.ExportOnly]) {\r\n          si.selectedForMoreAction = true;\r\n        }\r\n      });\r\n\r\n    }\r\n  }\r\n\r\n  private mapTreeModel(fieldGroups: FieldGroup[]): TreeItem[] {\r\n    const treeItems: TreeItem[] = [];\r\n    fieldGroups.forEach((fieldGroup: FieldGroup) => {\r\n      const treeItem = new TreeItem();\r\n      treeItem.id = fieldGroup.code;\r\n      treeItem.name = fieldGroup.name;\r\n      treeItem.items = [];\r\n      fieldGroup.fields.forEach((fieldDescription: FieldDescription) => {\r\n        treeItem.items.push({\r\n          id: fieldDescription.code,\r\n          name: fieldDescription.name,\r\n          dataItem: fieldDescription,\r\n          items: []\r\n        });\r\n      });\r\n      treeItems.push(treeItem);\r\n    });\r\n    return treeItems;\r\n  }\r\n\r\n  private setTranslations() {\r\n    this.translateService.get(['eiAvailableFields', 'eiAddAll', 'eiRemoveAll'\r\n      , 'eiSelectedFields', 'eiDownloadOnly','eiDownloadOnlyNote','eiSearch'])\r\n      .subscribe((res) => {\r\n\r\n        this.pickListTranslations = {\r\n          availableFieldsTitle: res.eiAvailableFields,\r\n          addAllTitle: res.eiAddAll,\r\n          removeAllTitle: res.eiRemoveAll,\r\n          selectedItemsTitle: res.eiSelectedFields,\r\n          displaySelectionBoxTitle: res.eiDownloadOnly,\r\n          displaySelectionBoxNote: res.eiDownloadOnlyNote,\r\n          searchTextNote: res.eiSeachTextNote,\r\n          search: res.eiSearch\r\n        };\r\n      });\r\n  }\r\n\r\n  confirmFieldMovement() {\r\n    return this.treeModel.confirmMovement();\r\n  }\r\n\r\n  cancelFieldMovement() {\r\n    return this.treeModel.cancelMovement();\r\n  }\r\n\r\n  ngOnChanges(simpleChanges: SimpleChanges) {\r\n    if (simpleChanges.openBuildNewResultsModal && simpleChanges.openBuildNewResultsModal.currentValue) {\r\n      this.setTranslations();\r\n    }\r\n  }\r\n\r\n  onSelectedItemsChange(value: SelectedItemModel[]) {\r\n    this.isEnabledContinue.emit(value.length > 0);\r\n  }\r\n\r\n  public onApply(): void {\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.openBuildNewResultViewSubscription.unsubscribe();\r\n    this.fieldConfigurationsChangedSubscription.unsubscribe();\r\n    this.updateSelectedItemsSubscription.unsubscribe();\r\n  }\r\n}\r\n","<lib-dop-pick-list *ngIf=\"openBuildNewResultsModal\" [enableSearch]=\"true\" [searchOnKeyUp]=\"true\" [displaySelectionCheckbox]=\"true\" [isEdit]=\"isEdit\" [(treeModel)]=\"treeModel\" [(selectedItems)]=\"selectedItems\"\r\n  [selectionBoxHeight]=\"350\" [selectionBoxWidth]=\"400\" [libTranslations]=\"pickListTranslations\" (selectedItemsChange)=\"onSelectedItemsChange($event)\"></lib-dop-pick-list>\r\n","import { EventTypes } from 'src/app/core/enums/event.types';\r\nimport { NewBuildStepsSteps } from 'src/app/core/enums/newBuildSteps';\r\nimport { AuthService } from 'src/app/core/services/auth.service';\r\nimport { EventService } from 'src/app/core/services/event.service';\r\nimport { StoreKeys, StoreService } from 'src/app/core/store/ngrx-store.service';\r\nimport { UserProfileModel } from 'src/app/shared/models/user-profile.model';\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router, UrlSegment } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SelectedItemModel } from '../../../../../libs/dop-pick-list/src/lib/selected-item.model';\r\nimport { RouteConstants } from '../../../common/global-constants/route-constants';\r\nimport { AccessTypes } from '../../../core/enums/access-types';\r\nimport { LayoutService } from '../../../core/services/layout.service';\r\nimport { FieldConfigurationService } from '../shared/field-configuration.service';\r\nimport { EventBuildNewResults } from '../shared/models/eventBuildNewResults.model';\r\nimport { EditResultViewEvent } from '../shared/models/eventEditResultView.model';\r\nimport { ResultsProfileService } from '../shared/results-profile.service';\r\nimport { AssignAccountsComponent } from './assign-accounts/assign-accounts.component';\r\nimport { AssignFieldsComponent } from './assign-fields/assign-fields.component';\r\nimport { ViewAccess } from '../shared/models/result-viewconfiguration.model';\r\nimport { Subscription } from 'rxjs';\r\nimport '../../../common/extensions/string.extensions';\r\n\r\n@Component({\r\n  selector: 'app-new-result-view',\r\n  templateUrl: './buildNewResultView.component.html',\r\n  styleUrls: ['./buildNewResultView.component.scss'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BuildNewResultViewComponent implements OnChanges, OnDestroy {\r\n\r\n  @Input() openBuildNewResultsModal: boolean;\r\n  @Input() isEdit: boolean;\r\n\r\n  @Output() openBuildNewResultsModalChange = new EventEmitter<boolean>();\r\n\r\n  @ViewChild(AssignFieldsComponent) fieldsNewResultViewComponent: AssignFieldsComponent;\r\n  @ViewChild(AssignAccountsComponent) assignNewResultViewComponent: AssignAccountsComponent;\r\n\r\n  isDownloadAllSelected = false;\r\n\r\n  isOpen = false;\r\n  isEnabledContinue = false;\r\n  isViewDefault = false;\r\n  modalHeader: string;\r\n  confirmationHeader: string;\r\n  makeDefaultViewLabel: string;\r\n  groupBy: string;\r\n  isInternal: boolean;\r\n  accounts: string[];\r\n  steps = NewBuildStepsSteps;\r\n  step = NewBuildStepsSteps.Fields;\r\n  isAllDownloadSelected = false;\r\n  public isPreview: boolean;\r\n  private editResultViewSubscription: Subscription;\r\n  private openBuildNewResultViewSubscription: Subscription;\r\n  private userDataLoadedSubscription: Subscription;\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private storeService: StoreService,\r\n    private authService: AuthService,\r\n    private layoutService: LayoutService,\r\n    private translateService: TranslateService,\r\n    private fieldConfigurationService: FieldConfigurationService,\r\n    private resultsProfileService: ResultsProfileService,\r\n    private eventService: EventService) {\r\n\r\n    this.route.url.subscribe((url: UrlSegment[]) => {\r\n      if (url.some(p => RouteConstants.BuildNewResultViewPath.matchesRoutePath(p.path))) {\r\n        const eventData = new EventBuildNewResults();\r\n        eventData.isEdit = false;\r\n        eventData.isPreview = true;\r\n        this.eventService.broadCast(EventTypes.BuildNewResultView, eventData);\r\n      }\r\n    });\r\n\r\n    this.layoutService.setPageHeader(this.translateService.instant('eiBuildNewResultView'), 'ei ei-library ei-26', '/', true);\r\n\r\n    this.editResultViewSubscription = this.eventService.listen(EventTypes.EditResultView)\r\n      .subscribe((eventData: EditResultViewEvent) => {\r\n        this.openBuildNewResultsModal = true;\r\n        this.isPreview = eventData.isPreview;\r\n        this.isEdit = eventData.isEdit;\r\n        this.fieldsNewResultViewComponent.editResults(eventData);\r\n        this.assignNewResultViewComponent.editResults(eventData);\r\n        if (eventData.isAssign) {\r\n          this.modalHeader = this.translateService.instant('eiAssignAccounts');\r\n          this.step = NewBuildStepsSteps.Assign;\r\n        } else {\r\n          this.setField();\r\n        }\r\n      });\r\n\r\n    this.userDataLoadedSubscription = this.authService.isUserDataLoaded$.subscribe(_ => {\r\n      this.storeService.Get(StoreKeys.UserDetails).subscribe((data: UserProfileModel) => {\r\n        this.isInternal = data.internal;\r\n        this.accounts = data.accounts;\r\n      });\r\n    });\r\n    this.openBuildNewResultViewSubscription = this.eventService.listen(EventTypes.BuildNewResultView)\r\n      .subscribe((eventData: EventBuildNewResults) => {\r\n        this.isAllDownloadSelected = false;\r\n        if (eventData.isAssign) {\r\n          this.setAssign();\r\n        }\r\n      });\r\n  }\r\n\r\n  ngOnChanges(simpleChanges: SimpleChanges) {\r\n    if (simpleChanges.openBuildNewResultsModal && simpleChanges.openBuildNewResultsModal.currentValue) {\r\n      this.confirmationHeader = this.translateService.instant('eiConfirmationModalHeader');\r\n      if (this.step === NewBuildStepsSteps.Fields) {\r\n        this.modalHeader = this.translateService.instant('eiSelectFields');\r\n      } else {\r\n        this.modalHeader = this.translateService.instant('eiAssignAccounts');\r\n      }\r\n      this.makeDefaultViewLabel = this.translateService.instant('eiMakeViewAsDefault');\r\n      this.groupBy = this.translateService.instant('eiGroupBy');\r\n    }\r\n  }\r\n\r\n  onIsContinueChange(value: boolean) {\r\n    this.isEnabledContinue = value;\r\n  }\r\n\r\n  onNextStep() {\r\n    if (this.step === NewBuildStepsSteps.Fields) {\r\n      this.setAssign();\r\n    } else if (this.step === NewBuildStepsSteps.Assign) {\r\n      this.onSave(false);\r\n    }\r\n  }\r\n\r\n  onPreviousStep() {\r\n    if (this.step === NewBuildStepsSteps.Name) {\r\n      this.setAssign();\r\n    } else if (this.step === NewBuildStepsSteps.Assign) {\r\n      this.setField();\r\n    }\r\n  }\r\n\r\n  setField() {\r\n    this.modalHeader = this.translateService.instant('eiSelectFields');\r\n    this.step = NewBuildStepsSteps.Fields;\r\n  }\r\n\r\n  setAssign() {\r\n    this.modalHeader = this.translateService.instant('eiAssignAccounts');\r\n    if (!this.assignNewResultViewComponent.selectedType && !this.isInternal) {\r\n      this.assignNewResultViewComponent.selectedType = AccessTypes.AllAccount;\r\n    }\r\n    if (!this.assignNewResultViewComponent.selectedType && this.isInternal) {\r\n      this.assignNewResultViewComponent.selectedType = AccessTypes.Public;\r\n    }\r\n\r\n    this.step = NewBuildStepsSteps.Assign;\r\n  }\r\n\r\n  resetSelectedFilters(selectedFilters: SelectedItemModel[]) {\r\n    selectedFilters = selectedFilters.concat(\r\n      this.fieldsNewResultViewComponent.selectedItems.filter(x => x.isHidden && !selectedFilters.some(y => y.id === x.id)));\r\n    const sortedList = this.fieldsNewResultViewComponent.selectedItems.map(x => x.id);\r\n    selectedFilters.sort((a, b) => {\r\n      return sortedList.indexOf(a.id) - sortedList.indexOf(b.id);\r\n    });\r\n    selectedFilters.forEach(filter => {\r\n      const selectedFilter = this.fieldsNewResultViewComponent.selectedItems.find(x => x.id === filter.id);\r\n      if (selectedFilter) {\r\n        filter.selectedForMoreAction = selectedFilter.selectedForMoreAction;\r\n      }\r\n    });\r\n    this.fieldsNewResultViewComponent.selectedItems = selectedFilters;\r\n  }\r\n\r\n  onSave(isPrivate: boolean) {\r\n    const selectedFilters = this.fieldsNewResultViewComponent.confirmFieldMovement();\r\n    this.resetSelectedFilters(selectedFilters);\r\n    const viewAccess = new ViewAccess();\r\n    if (this.isInternal && this.assignNewResultViewComponent?.selectedType === AccessTypes.Public) {\r\n      viewAccess.type = AccessTypes.Public;\r\n    }\r\n    else if (!this.isInternal && isPrivate ||\r\n      ((!this.assignNewResultViewComponent?.selectedType || this.assignNewResultViewComponent.selectedItems.length === 0)\r\n        && this.assignNewResultViewComponent?.selectedType !== AccessTypes.AllAccount)) {\r\n      viewAccess.type = AccessTypes.Private;\r\n    }\r\n    else if (!this.isInternal && !isPrivate && this.assignNewResultViewComponent?.selectedType === AccessTypes.AllAccount) {\r\n      viewAccess.type = this.assignNewResultViewComponent.selectedType;\r\n      viewAccess.items = this.accounts;\r\n    }\r\n    else {\r\n      viewAccess.type = this.assignNewResultViewComponent.selectedType;\r\n      viewAccess.items = this.assignNewResultViewComponent.selectedItems.map(x => x.id);\r\n    }\r\n\r\n    this.fieldConfigurationService.setViewConfiguration(this.fieldsNewResultViewComponent.viewConfiguration,\r\n      this.fieldsNewResultViewComponent.selectedItems.map(x => x.dataItem), null, null, viewAccess,\r\n      this.fieldsNewResultViewComponent.selectedItems.filter(x => x.selectedForMoreAction).map(x => x.id));\r\n\r\n    if (!this.fieldsNewResultViewComponent.isPreview ||\r\n      (this.fieldsNewResultViewComponent.viewConfiguration.name && this.fieldsNewResultViewComponent.viewConfiguration.code)) {\r\n      this.router.navigateByUrl('', { skipLocationChange: true }).then(() => {\r\n        this.router.navigate([RouteConstants.EditResultViewPath]);\r\n      });\r\n    }\r\n    else {\r\n      const viewConfiguration = this.fieldConfigurationService.getViewConfiguration();\r\n      viewConfiguration.template = viewConfiguration.configuration.view.template;\r\n\r\n      this.resultsProfileService.saveResultsView(viewConfiguration)\r\n        .subscribe((respone: string) => {\r\n          this.router.navigateByUrl('', { skipLocationChange: true }).then((result) => {\r\n            if (result != false)\r\n              this.router.navigate([RouteConstants.ResultViewPreviewPath]);\r\n          });\r\n        });\r\n    }\r\n\r\n    this.setClosedModalState();\r\n  }\r\n\r\n  public callDialogModule(): void {\r\n    this.isOpen = true;\r\n    this.isAllDownloadSelected = false;\r\n    this.confirmationHeader = this.translateService.instant('eiConfirmationModalHeader');\r\n  }\r\n\r\n  public onCloseDailog(event: Event): void {\r\n    this.isOpen = false;\r\n    this.isAllDownloadSelected = false;\r\n  }\r\n\r\n  public cancelAndSetClosedModalState() {\r\n    const selectedFilters = this.fieldsNewResultViewComponent.cancelFieldMovement()\r\n      .concat(this.fieldsNewResultViewComponent.selectedItems.filter(x => x.isHidden));\r\n    this.resetSelectedFilters(selectedFilters);\r\n    this.setClosedModalState();\r\n  }\r\n\r\n  public onNoButtonClickEvent(): void {\r\n    this.isOpen = false;\r\n    this.openBuildNewResultsModal = true;\r\n    this.isAllDownloadSelected = false;\r\n  }\r\n\r\n  public onYesButtonClickEvent(): void {\r\n    this.cancelAndSetClosedModalState();\r\n    this.router.navigate(['']);\r\n    this.isAllDownloadSelected = false;\r\n  }\r\n\r\n  setClosedModalState() {\r\n    this.isOpen = false;\r\n    this.openBuildNewResultsModal = false;\r\n    this.openBuildNewResultsModalChange.emit(false);\r\n    this.step = 0;\r\n  }\r\n\r\n  public isPreviewDisabled() {\r\n    return this.isDownloadAllChecked() === true ?\r\n      this.isAllDownloadSelected :\r\n      !(this.step === this.steps.Fields ?\r\n      (this.fieldsNewResultViewComponent && this.fieldsNewResultViewComponent.selectedItems.length > 0) :\r\n      (this.assignNewResultViewComponent &&\r\n        (this.assignNewResultViewComponent.selectedType === this.assignNewResultViewComponent.selectAccountOption ?\r\n          this.assignNewResultViewComponent.selectedItems.length > 0 : true)));\r\n  }\r\n\r\n  public isDownloadAllChecked() {\r\n    if (this.fieldsNewResultViewComponent && this.fieldsNewResultViewComponent.selectedItems.length > 0) {\r\n      this.isAllDownloadSelected = this.fieldsNewResultViewComponent.selectedItems.filter(x => !x.isHidden)\r\n        .every(x => x.selectedForMoreAction === true);\r\n    }\r\n    return this.isAllDownloadSelected;\r\n  }\r\n\r\n  public isContinueDisabled() {\r\n    let enable = false;\r\n\r\n    enable = this.step === this.steps.Fields && this.fieldsNewResultViewComponent\r\n      && this.fieldsNewResultViewComponent.selectedItems.length > 0 ? (this.isInternal ? true : false) : false;\r\n\r\n    if (this.step === this.steps.Assign && this.assignNewResultViewComponent && this.assignNewResultViewComponent.selectedType) {\r\n      if (this.isInternal) {\r\n        enable = this.assignNewResultViewComponent.selectedType === this.assignNewResultViewComponent.publicOption ||\r\n          (this.assignNewResultViewComponent.selectedType === this.assignNewResultViewComponent.selectAccountOption\r\n            && this.assignNewResultViewComponent.selectedItems.length > 0) ? true : false;\r\n\r\n      }\r\n      else {\r\n        enable = (this.assignNewResultViewComponent.selectedType === this.assignNewResultViewComponent.allAccountOption ||\r\n          (this.assignNewResultViewComponent.selectedType === this.assignNewResultViewComponent.selectAccountOption\r\n            && this.assignNewResultViewComponent.selectedItems.length > 0)) ? true : false;\r\n      }\r\n    }\r\n    return this.isDownloadAllChecked() === true ? this.isAllDownloadSelected : !enable;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.editResultViewSubscription.unsubscribe();\r\n    this.openBuildNewResultViewSubscription.unsubscribe();\r\n    this.userDataLoadedSubscription.unsubscribe();\r\n  }\r\n}\r\n","<p-dialog [(visible)]=\"openBuildNewResultsModal\" [modal]=\"true\" [responsive]=\"true\" (onHide)=\"cancelAndSetClosedModalState()\" [style]=\"{width: '1000px',height:'570px'}\" [baseZIndex]=\"2000\" [styleClass]=\"'build-new'\">\r\n  <p-header class=\"header\">\r\n    <i *ngIf=\"step!==steps.Fields\" class=\"ei ei-arrow-left\" (click)=\"onPreviousStep()\"></i>{{modalHeader}}\r\n  </p-header>\r\n  <div class=\"m-b-12\" class=\"modal-new-results\">\r\n    <app-assign-fields #addFields [hidden]=\"step!==steps.Fields\" [isEdit]=\"isEdit\" [(openBuildNewResultsModal)]=\"openBuildNewResultsModal\" (isEnabledContinue)=\"onIsContinueChange($event)\"></app-assign-fields>\r\n    <app-assign-accounts #assignAccounts [hidden]=\"step!==steps.Assign\" (isEnabledContinue)=\"onIsContinueChange($event)\"></app-assign-accounts>\r\n  </div>\r\n  <p-footer>\r\n    <div class=\"text-right\">\r\n      <button *ngIf=\"!isInternal && step===steps.Fields\" pButton class=\"p-button p-component p-button-text-only\" type=\"button\" label=\"Continue\" (click)=\"onNextStep()\" [disabled]=\"isPreviewDisabled()\" id=\"assign_button\">\r\n        {{'eiAssign' |translate}}\r\n      </button>\r\n      <button *ngIf=\"!isInternal && step===steps.Fields\" pButton class=\"p-button p-component p-button-text-only\" type=\"button\" label=\"Preview\" (click)=\"onSave(true)\" [disabled]=\"isPreviewDisabled()\" id=\"preview_button\">\r\n        {{'eiPreview' |translate}}\r\n      </button>\r\n      <div *ngIf='isDownloadAllChecked()' class=\"download-warning\">\r\n        {{'eiDownloadOnlyAlertInfo' |translate}}\r\n      </div>\r\n      <button *ngIf=\"isInternal || (!isInternal && step===steps.Assign)\" pButton class=\"p-button p-component p-button-text-only\" type=\"button\" label=\"Continue\" (click)=\"onNextStep()\" [disabled]=\"isContinueDisabled()\" id=\"continue_button\">\r\n        {{'eiContinue' |translate}}\r\n      </button>\r\n      <button pButton class=\"p-button-secondary p-button p-component p-button-text-only p-button-cutom-secondary\" type=\"button\" (click)=\"callDialogModule()\" id=\"cancel_button\">\r\n        {{'eiCancel'|translate}}\r\n      </button>\r\n    </div>\r\n  </p-footer>\r\n</p-dialog>\r\n<app-confirm-dialog [openDialog]=\"isOpen\" (openDialogChange)=\"onCloseDailog($event)\"  (confirmYes)=\"onYesButtonClickEvent()\"  (confirmNo)=\"onNoButtonClickEvent()\"  [header]= \"confirmationHeader\" [scrollable]=\"false\">{{'eiConfirmaionMessage'|translate}}</app-confirm-dialog>\r\n","import { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DopPickListModule } from '../../../../../libs/dop-pick-list/src/public-api';\r\nimport { ResultsCommonModule } from '../../../common/common.module';\r\nimport { AppConfirmDialogModule } from '../../../common/components/app-confirm-dialog/app-confirm-dialog.module';\r\nimport { AssignAccountsComponent } from './assign-accounts/assign-accounts.component';\r\nimport { AssignFieldsComponent } from './assign-fields/assign-fields.component';\r\nimport { BuildNewResultViewComponent } from './buildNewResultView.component';\r\nimport { FieldDefinitionService } from './services/fieldDefinition.service';\r\nimport { FieldDefinitionCachedService } from './services/fieldDefinition.cached.service';\r\n\r\n@NgModule({\r\n  declarations: [BuildNewResultViewComponent, AssignAccountsComponent, AssignFieldsComponent],\r\n  imports: [\r\n    ResultsCommonModule,\r\n    DialogModule,\r\n    TranslateModule,\r\n    AppConfirmDialogModule,\r\n    DopPickListModule,\r\n    RadioButtonModule,\r\n    CheckboxModule,\r\n    SelectButtonModule\r\n  ],\r\n  providers: [FieldDefinitionService, FieldDefinitionCachedService],\r\n  exports: [\r\n    BuildNewResultViewComponent,\r\n    ResultsCommonModule\r\n  ]\r\n})\r\nexport class BuildNewResultViewModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreKey } from 'src/app/core/store/ngrx-store.keys';\r\nimport { StoreKeys, StoreService } from 'src/app/core/store/ngrx-store.service';\r\nimport { EventTypes } from '../../../../core/enums/event.types';\r\nimport { GridTemplate } from '../../../../core/enums/grid-template';\r\nimport { EventService } from '../../../../core/services/event.service';\r\nimport { SystemDataLoadEvent } from '../../../../shared/models/system-data-event.model';\r\nimport { FieldConfigurationService } from '../../shared/field-configuration.service';\r\nimport { Definitions } from '../../shared/models/definitions';\r\nimport { FieldDescription } from '../../shared/models/field-definition.model';\r\nimport { FieldDefinitionService } from './fieldDefinition.service';\r\nimport { ResultsDefinitions } from '../../shared/models/graph-models/results-filter.model';\r\nimport { PreferenceDefinition } from '../../shared/models/graph-models/preference-definition.model';\r\n\r\n@Injectable()\r\nexport class FieldDefinitionCachedService {\r\n\r\n  constructor(\r\n    private storeService: StoreService,\r\n    private readonly fieldDefinitionService: FieldDefinitionService,\r\n    private readonly eventService: EventService,\r\n    private fieldConfigurationService: FieldConfigurationService\r\n  ) { }\r\n\r\n\r\n  async getDefinitions(): Promise<Definitions> {\r\n    return await this.storeService.Get(StoreKey.Definitions).toPromise().then(async data => {\r\n      if (!data) {\r\n        return await this.fieldDefinitionService.getDefinitions().toPromise().then((res: Definitions) => {\r\n          this.storeService.Save(StoreKey.Definitions, res, true);\r\n          return res;\r\n        });\r\n      }\r\n\r\n      return data;\r\n    });\r\n  }\r\n\r\n  async getGraphDefinitions(templateName: string, key: StoreKey): Promise<ResultsDefinitions> {\r\n    return await this.storeService.Get(key).toPromise().then(async data => {\r\n      if (!data) {\r\n        return await this.fieldDefinitionService.getDefinitionsForGraph(templateName).toPromise().then((res: ResultsDefinitions) => {\r\n          this.storeService.Save(key, res, true);\r\n          return res;\r\n        });\r\n      }\r\n\r\n      return data;\r\n    });\r\n  }\r\n\r\n  async getGraphPreferences(templateName: string, key: StoreKey): Promise<PreferenceDefinition> {\r\n    return await this.storeService.Get(key).toPromise().then(async data => {\r\n      if (!data) {\r\n        return await this.fieldDefinitionService.getPreferencesForGraph(templateName).toPromise().then((res: PreferenceDefinition) => {\r\n          this.storeService.Save(key, res, true);\r\n          return res;\r\n        });\r\n      }\r\n\r\n      return data;\r\n    });\r\n  }\r\n\r\n  setDefinitions() {\r\n    this.getDefinitions().then(() => {\r\n      this.fieldConfigurationService.isFieldDefinitionsLoaded = true;\r\n      this.eventService.broadCast(EventTypes.SystemDataLoaded, new SystemDataLoadEvent(true));\r\n    })\r\n  }\r\n\r\n  setResultsDefinitions(template: string, filterKey: StoreKey, prefKey: StoreKey) {\r\n    this.getGraphDefinitions(template, filterKey);\r\n    this.getGraphPreferences(template, prefKey);\r\n  }\r\n\r\n  async getFieldDetails(templateName: string): Promise<FieldDescription[]> {\r\n    const key = templateName === GridTemplate.Sample.toLowerCase() ? \r\n      StoreKey.SampleDetailFields : (templateName === GridTemplate.Order.toLowerCase() ? StoreKey.OrderDetailFields : StoreKeys.Fields);\r\n    let collectFields: FieldDescription[] = await this.storeService.Get(key).toPromise();\r\n    if (!collectFields) {\r\n      collectFields = await this.fieldDefinitionService.getFieldDetails(templateName).toPromise();\r\n      this.storeService.Save(key, collectFields, true);\r\n    }\r\n    return collectFields;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfigService } from 'src/app/core/services/app-config-service';\r\nimport { DataService } from 'src/app/core/services/data.service';\r\nimport { Definitions } from '../../shared/models/definitions';\r\nimport { FieldDescription } from '../../shared/models/field-definition.model';\r\nimport { AccountSearchRequest, AccountSearchResponse } from '../../shared/models/search-result.model';\r\nimport { ResultsDefinitions } from '../../shared/models/graph-models/results-filter.model';\r\nimport { PreferenceDefinition } from '../../shared/models/graph-models/preference-definition.model';\r\n\r\n@Injectable()\r\nexport class FieldDefinitionService {\r\n\r\n  constructor(\r\n    private dataService: DataService,\r\n    private appConfigService: AppConfigService) {\r\n  }\r\n\r\n  getDefinitions(): Observable<Definitions> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'system';\r\n    return this.dataService.get<Definitions>(apiUrl)\r\n      .pipe(\r\n        map((value: Definitions) => {\r\n          return value;\r\n        }));\r\n  }\r\n\r\n  getFieldDetails(templateName: string): Observable<FieldDescription[]> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'system/fields/details?template=' + templateName;\r\n    return this.dataService.get<FieldDescription[]>(apiUrl)\r\n      .pipe(\r\n        map((value: FieldDescription[]) => {\r\n          return value;\r\n        }));\r\n  }\r\n  getAccounts(searchRequest: AccountSearchRequest): Observable<AccountSearchResponse> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'data-catalog/accounts';\r\n    return this.dataService.put<AccountSearchRequest, AccountSearchResponse>(apiUrl, searchRequest, true)\r\n      .pipe(\r\n        map((value: AccountSearchResponse) => {\r\n          return value;\r\n        }));\r\n  }\r\n\r\n  getDefinitionsForGraph(templateName: string): Observable<any>{\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'system/filters?filterTemplate=' + templateName;\r\n    return this.dataService.get<ResultsDefinitions>(apiUrl)\r\n      .pipe(\r\n        map((value: ResultsDefinitions) => {\r\n          return value;\r\n        }));\r\n  }\r\n\r\n  getPreferencesForGraph(templateName: string): Observable<any> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'graphs/preferences?preferenceTemplate=' + templateName;\r\n    return this.dataService.get<PreferenceDefinition>(apiUrl)\r\n      .pipe(\r\n        map((value: PreferenceDefinition) => {\r\n          return value;\r\n        }));\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ChartPreference, ChartType, resultValue, viewType } from '../Models/chart-type';\r\nimport { ChartRequestModel, ChartResponseModel } from '../Models/graphDataModels';\r\nimport { AppConfigService } from '../../../../core/services/app-config-service';\r\nimport { DataService } from '../../../../core/services/data.service';\r\nimport { Observable, catchError, map, of, throwError, BehaviorSubject } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { HandleTechnicalError } from 'src/app/common/global-constants/application-constants';\r\n\r\n@Injectable()\r\nexport class ChartService {\r\n\r\n  public isGraphLoading = new BehaviorSubject(false);\r\n\r\n  constructor(private dataService: DataService, private appConfigService: AppConfigService) { }\r\n\r\n  getChartOptions() { }\r\n\r\n  getChartData(request: ChartRequestModel): Observable<ChartResponseModel> {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'analytics';\r\n\r\n    return this.dataService.put<typeof request, any>(url, request, true, { headers: this.getHeader() }\r\n    ).pipe(\r\n     map((response: ChartResponseModel) => {\r\n       return response;\r\n     })\r\n    );\r\n  }\r\n  \r\n  private getHeader() {\r\n    const headers = {};\r\n    headers[HandleTechnicalError] = 'true';\r\n    return headers;\r\n  }\r\n\r\n  setIsGraphLoading(loading: boolean) {\r\n    this.isGraphLoading.next(loading);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FieldDescription } from 'src/app/features/results/shared/models/field-definition.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SelectedItemModel } from 'libs/dop-pick-list/src/lib/selected-item.model';\r\nimport { FieldConfigurationService } from '../shared/field-configuration.service';\r\nimport { GridColumn } from 'src/app/shared/models/gridColumn.model';\r\nimport { ColumnCapability } from './../../../core/enums/column-capability';\r\nimport { Types } from 'src/app/core/enums/types';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ManageResultsViewServiceService {\r\n\r\n  fieldDesc: FieldDescription[] = [];\r\n  selectedItems: SelectedItemModel[] = [];\r\n  gridColumns: GridColumn[] = [];\r\n\r\n  constructor(\r\n    private translateService: TranslateService,\r\n    private fieldConfigurationService: FieldConfigurationService) {\r\n    this.fieldDesc = [];\r\n  }\r\n\r\n  setGridHeaders(isInternalUser: boolean) {\r\n    const viewCapability = { [ColumnCapability.Sort]: 'default', [ColumnCapability.Display]: { width: '130' }};\r\n    const viewName = new FieldDescription('name', this.translateService.instant('eiResultViewName'), Types.Default, null, viewCapability);\r\n\r\n    this.fieldDesc.push(viewName);\r\n\r\n    const classificationCapability = {\r\n      [ColumnCapability.Sort]: 'default', [ColumnCapability.Display]: { width: '150' },\r\n      enum: {\r\n        Shared: { icon: 'ei ei-users2 ei-color' }, Private: { icon: 'ei ei-user-lock ei-color' },\r\n        Public: { icon: 'ei ei-users ei-color' }\r\n      }, component: { template: 'icon' }\r\n    };\r\n    const classification = new FieldDescription(\r\n      'classification', this.translateService.instant('eiClassification'), Types.Enum,\r\n      {\r\n        Shared: this.translateService.instant('eiShared'), Private: this.translateService.instant('eiPrivate'),\r\n        Public: this.translateService.instant('eiPublic')\r\n      }, classificationCapability);\r\n\r\n    this.fieldDesc.push(classification);\r\n\r\n    const templateCapability = { [ColumnCapability.Sort]: 'default', [ColumnCapability.Display]: { width: '200' } };\r\n    const template = new FieldDescription('template', this.translateService.instant('eiGroupBy'), Types.Text, null, templateCapability);\r\n    template.isDataTranslatable=true;\r\n\r\n    this.fieldDesc.push(template);\r\n\r\n    if (isInternalUser) {\r\n      const assignedToCapability = {\r\n        [ColumnCapability.Sort]: 'default',\r\n        [ColumnCapability.Display]: { width: '200' },\r\n        [ColumnCapability.Tooltip]: 'default'\r\n      };\r\n      const assignedTo = new FieldDescription('share.scope',\r\n        this.translateService.instant('eiAssignedTo'),\r\n        Types.Text, null, assignedToCapability);\r\n      // TODO: change to assigned to\r\n      this.fieldDesc.push(assignedTo);\r\n    }\r\n\r\n    const viewedOnCapability = { [ColumnCapability.Sort]: 'default', [ColumnCapability.Display]: { width: '200' } };\r\n    const viewedOn = new FieldDescription('viewedOn', this.translateService.instant('eiLastViewed'), Types.Date, null, viewedOnCapability);\r\n\r\n    this.fieldDesc.push(viewedOn);\r\n\r\n    const createdByCapability = { [ColumnCapability.Sort]: 'default', [ColumnCapability.Display]: { width: '200' } };\r\n    const createdBy = new FieldDescription('createdBy', this.translateService.instant('eiCreatedBy'), Types.Text, null,\r\n      createdByCapability);\r\n\r\n    this.fieldDesc.push(createdBy);\r\n\r\n  }\r\n\r\n  getColumnConfiguration(isInternalUser: boolean): GridColumn[] {\r\n    this.setGridHeaders(isInternalUser);\r\n    return this.fieldConfigurationService.getColumnConfiguration(null, this.fieldDesc);\r\n  }\r\n}\r\n","import '../../../common/extensions/string.extensions';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { HttpStatusCode } from 'src/app/core/enums/HttpStatusCode';\r\nimport { FieldDescription } from 'src/app/features/results/shared/models/field-definition.model';\r\nimport { GridColumn } from 'src/app/shared/models/gridColumn.model';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { RouteConstants } from '../../../common/global-constants/route-constants';\r\nimport { EventTypes } from '../../../core/enums/event.types';\r\nimport { Types } from '../../../core/enums/types';\r\nimport { EventService } from '../../../core/services/event.service';\r\nimport { LayoutService } from '../../../core/services/layout.service';\r\nimport { EventBuildNewResults } from '../shared/models/eventBuildNewResults.model';\r\nimport { ManageResultView } from '../shared/models/manage-result-view.model';\r\nimport { ResultsProfileService } from '../shared/results-profile.service';\r\nimport { ManageResultsViewServiceService } from './manage-results-view-service.service';\r\nimport { StoreKeys, StoreService } from '../../../core/store/ngrx-store.service';\r\nimport { UserProfileModel } from '../../../shared/models/user-profile.model';\r\nimport { Access } from '../shared/models/access.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { AccessTypes } from '../../../core/enums/access-types';\r\nimport { SortType } from '../../../core/enums/sort-status';\r\nimport '../../../common/extensions/array.extensions';\r\nimport { ResultsKebabService } from '../shared/results-kebab.service';\r\n\r\nconst defaultSortFieldNameValue = 'viewedOn';\r\n@Component({\r\n  templateUrl: './manageResultViews.component.html',\r\n  styleUrls: ['./manageResultViews.component.scss'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ManageResultViewsComponent implements OnInit, OnDestroy {\r\n  views: ManageResultView[];\r\n  types = Types;\r\n  colHeader: GridColumn[] = [];\r\n  menuItems: MenuItem[];\r\n  defaultLabel: string;\r\n  assignLabel: string;\r\n  isOpen = false;\r\n  isCopyDialogOpen = false;\r\n  isEditDialogOpen = false;\r\n  code: string;\r\n  sortType = SortType;\r\n  configurationGuid: string;\r\n  openErrorDialog = false;\r\n  unableToSetDefaultview: boolean;\r\n  viewNotAvailble: boolean;\r\n  isAssignEventTriggered = false;\r\n  currentView: ManageResultView;\r\n  defaultSortField: string;\r\n  sortOrder: any;\r\n  SHARE_SCOPE = 'share.scope';\r\n  accessType: string = null;\r\n\r\n  constructor(\r\n    private layoutService: LayoutService,\r\n    private translateService: TranslateService,\r\n    private eventService: EventService,\r\n    private manageResultViewsService: ResultsProfileService,\r\n    private router: Router,\r\n    private manageResultService: ManageResultsViewServiceService,\r\n    private storeService: StoreService,\r\n    private editResultsService: ResultsKebabService ) {\r\n    this.loadResultsData();\r\n  }\r\n\r\n  public setDefaultView(selectedView: ManageResultView) {\r\n    this.code = selectedView.code;\r\n    this.manageResultViewsService.setDefaultView(selectedView.code)\r\n      .subscribe((respone: any) => {\r\n        this.loadResultsData();\r\n        selectedView.default = true;\r\n      },\r\n        (error: HttpErrorResponse) => {\r\n          this.openErrorDialog = true;\r\n          this.viewNotAvailble = error.status === HttpStatusCode.NOT_FOUND;\r\n          this.unableToSetDefaultview = !(error.status === HttpStatusCode.NOT_FOUND);\r\n        });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.layoutService.setPageHeader(this.translateService.instant('eiManageResultViews'), 'ei ei-library ei-26', '/', true);\r\n    this.storeService.Get(StoreKeys.UserDetails).subscribe((user: UserProfileModel) => {\r\n      this.colHeader = this.manageResultService.getColumnConfiguration(user.internal);\r\n    });\r\n\r\n    this.colHeader.forEach((col: GridColumn) => {\r\n      if (col.field !== defaultSortFieldNameValue) {\r\n        col.sortStatus = this.sortType.Neutral;\r\n      }\r\n      else {\r\n        col.sortStatus = this.sortType.Down;\r\n      }\r\n    });\r\n  }\r\n\r\n  public openNewResultViewModal(): void {\r\n    const eventData = new EventBuildNewResults();\r\n    eventData.isEdit = false;\r\n    eventData.isPreview = true;\r\n    setTimeout(() => this.eventService.broadCast(EventTypes.BuildNewResultView, eventData));\r\n  }\r\n\r\n  public openSaveAsResultViewModal(data: ManageResultView): void {\r\n    this.isAssignEventTriggered = false;\r\n    this.configurationGuid = data.code;\r\n    this.accessType = data.share?.type;\r\n    this.onCopyResultClick();\r\n  }\r\n\r\n  public openEditResultViewModal(data: ManageResultView): void {\r\n    this.isAssignEventTriggered = false;\r\n    this.configurationGuid = data.code;\r\n    this.currentView = data;\r\n    this.CheckDisplayDialog(data, false);\r\n  }\r\n\r\n  public onAssignClick(data: ManageResultView) {\r\n    this.isAssignEventTriggered = true;\r\n    this.configurationGuid = data.code;\r\n    this.currentView = data;\r\n    this.CheckDisplayDialog(data, true);\r\n  }\r\n\r\n  public getMenuItems(data: ManageResultView) {\r\n    const items = [];\r\n    items.push(\r\n      {\r\n        label: this.translateService.instant('eiAssignTo'), icon: 'ei ei-users-plus',\r\n        id:'assignMenu',command: (event: any) => { this.onAssignClick(data); }\r\n      },\r\n      {\r\n        label: this.translateService.instant('eiEdit'), icon: 'ei ei-fw ei-pencil',\r\n        id:'editMenu',\r\n        command: (event: any) => { this.openEditResultViewModal(data); }\r\n      },\r\n      {\r\n        label: this.translateService.instant('eiMakeDefault'), icon: 'ei ei-fw ei-stream-check',\r\n        id:'defaultMenu',command: (event: any) => { this.setDefaultView(data); }\r\n      },\r\n      {\r\n        label: this.translateService.instant('eiSaveAs'), icon: 'ei ei-fw ei-floppy-disk',\r\n        id: 'saveAs',\r\n        command: (event: any) => { this.openSaveAsResultViewModal(data); }\r\n      },\r\n      {\r\n        label: this.translateService.instant('eiDelete'), icon: 'ei ei-fw ei-trash2',\r\n        id: 'deleteMenu', disabled: data.permissions.delete === false,\r\n        title: data.permissions.delete === false ? this.translateService.instant('eiCanNotDelete') : '',\r\n        command: () => { this.onDeleteButtonClick(data); }\r\n      });\r\n    return items;\r\n  }\r\n\r\n  public loadResultsData(): void {\r\n    this.manageResultViewsService.getResultViews()\r\n      .subscribe((response: ManageResultView[]) => {\r\n        this.views = response;\r\n        this.views.forEach((view: ManageResultView) => {\r\n          view.menuItems = this.getMenuItems(view);\r\n        });\r\n      });\r\n  }\r\n\r\n  public onDeleteButtonClick(data: ManageResultView) {\r\n    this.code = data.code;\r\n    // show confirmation dialog\r\n    this.isOpen = true;\r\n  }\r\n\r\n  public onCloseDailog(event: Event): void {\r\n    this.isOpen = false;\r\n    this.isCopyDialogOpen = false;\r\n    this.isEditDialogOpen = false;\r\n  }\r\n\r\n  public onCopyResultClick(): void {\r\n    this.isCopyDialogOpen = false;\r\n    this.openErrorDialog = this.editResultsService.copyResultView(this.configurationGuid, this.isAssignEventTriggered,\r\n      false, this.accessType);\r\n    this.accessType = null;\r\n    this.viewNotAvailble = this.openErrorDialog;\r\n  }\r\n\r\n  public onEditResultClick(): void {\r\n    this.isEditDialogOpen = false;\r\n    this.editResultsService.loadViewModal(this.currentView, this.isAssignEventTriggered);\r\n  }\r\n\r\n  onOkClick() {\r\n    this.openErrorDialog = false;\r\n    this.router.navigateByUrl('', { skipLocationChange: true }).then(() => {\r\n      this.router.navigate([RouteConstants.ManageResultViewPath]);\r\n    });\r\n  }\r\n\r\n  public onYesButtonClickEvent(event: Event): void {\r\n    this.isOpen = false;\r\n    // call service for delete\r\n\r\n    this.manageResultViewsService.deleteResultView(this.code)\r\n      .subscribe((response: any) => {\r\n        this.loadResultsData();\r\n      });\r\n  }\r\n\r\n  public getResultConfiguration(code: string) {\r\n    this.router.navigate([RouteConstants.ResultByViewCodePath.replaceRouteVariables(code)]);\r\n  }\r\n\r\n  resolveDescription(field: string): FieldDescription {\r\n    const value = this.manageResultService.fieldDesc.find(x => x.code === field);\r\n    return value;\r\n  }\r\n\r\n  canDisplayTooltip(col: GridColumn, rowData: ManageResultView) {\r\n    if (!col.displayTooltip) {\r\n      return false;\r\n    }\r\n    if (rowData.classification === 'Shared' && rowData.share && rowData.share.scope <= 5) {\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  loadTooltipContent(rowData: ManageResultView) {\r\n    return this.manageResultViewsService.getAccounts(rowData.code).pipe(map((access: Access) => {\r\n      return access.items?.map(x => x.name ? `${x.name} (${x.code})` : `${x.code}`).join('</br>');\r\n    }));\r\n  }\r\n  getDisplayText(rowData: ManageResultView, col: GridColumn) {\r\n    if (col.field === this.SHARE_SCOPE) {\r\n      if (rowData.share.type === AccessTypes.Account || rowData.share.type === AccessTypes.AllAccount) {\r\n        if(rowData.share.scope>1){\r\n          return `${rowData.share.scope} ${this.translateService.instant('eiAccounts')}`;\r\n        }\r\n        else{\r\n          return `${rowData.share.scope} ${this.translateService.instant('eiAccount')}`;\r\n        }\r\n      } else if (rowData.share.type === AccessTypes.Public) {\r\n        return this.translateService.instant('eiAllUsers');\r\n      }\r\n      return '';\r\n    } else {\r\n      if(col.isDataTranslatable){\r\n        return this.translateService.instant(\"ei\"+rowData[col.field]);\r\n      }\r\n      return rowData[col.field];\r\n    }\r\n  }\r\n\r\n  customSort(col: GridColumn, clickEvent: any) {\r\n    const column: GridColumn = this.colHeader.find(x => x.field.toLowerCase() === col.field.toLowerCase());\r\n\r\n    this.colHeader.forEach((column: GridColumn) => {\r\n      if (col.field !== column.field) {\r\n        column.sortStatus = this.sortType.Neutral;\r\n      }\r\n    });\r\n\r\n    switch (col.sortStatus) {\r\n      case this.sortType.Neutral:\r\n        column.sortStatus = this.sortType.Up;\r\n        col.field === this.SHARE_SCOPE ? \r\n          this.views.sort((a, b) => { return a.share.scope > b.share.scope ? 1 : -1}) : this.setSortOrder(column.field);\r\n        break;\r\n      case this.sortType.Up:\r\n        column.sortStatus = this.sortType.Down;\r\n        col.field === this.SHARE_SCOPE ? \r\n          this.views.sort((a, b) => { return a.share.scope > b.share.scope ? -1 : 1}) : this.setSortOrder(`-${column.field}`);\r\n        break;\r\n      case this.sortType.Down:\r\n      default:\r\n        column.sortStatus = this.sortType.Neutral\r\n        this.colHeader.find(x => x.field === defaultSortFieldNameValue).sortStatus = this.sortType.Neutral;\r\n        this.setSortOrder(`-${defaultSortFieldNameValue}`);\r\n        break;\r\n    }\r\n\r\n  }\r\n\r\n  private CheckDisplayDialog(data: ManageResultView, isAssign: boolean): void {\r\n    if (!data.owned && data.permissions.edit) {\r\n      this.isEditDialogOpen = true;\r\n    } else if (!(data.owned && data.permissions.edit)) {\r\n      this.isCopyDialogOpen = true;\r\n    } else if (data.owned && data.permissions.edit) {\r\n      this.editResultsService.loadViewModal(data, isAssign);\r\n      this.isEditDialogOpen = this.isCopyDialogOpen = false;\r\n    }\r\n  }\r\n\r\n  setSortOrder(cloumn: string) {\r\n      this.views.multiSort([cloumn]);\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.manageResultService.fieldDesc = [];\r\n  }\r\n\r\n}\r\n","<div class=\"manage-results-view\">\r\n  <div class=\"fixed-top flex-body\">\r\n    <button class=\"align-right\" pButton icon=\"ei ei-plus\" label=\"{{'eiBuildNew'|translate}}\" iconPos=\"left\"\r\n      (click)=\"openNewResultViewModal()\" type=\"button\" appAEvent\r\n      appACategory=\"NRE_BuildNewResultsView_AccessBuildNewResultsView\" appAAction=\"click\">\r\n    </button>\r\n  </div>\r\n  <div class=\"scrollable-content\">\r\n    <div class=\"p-grid-row\" id=\"manage-grid\">\r\n      <p-table #viewsGridTable [columns]=\"colHeader\" [value]=\"views\" dataKey=\"Code\" [resizableColumns]=\"true\"\r\n        [reorderableColumns]=\"true\" [scrollable]=\"true\" scrollHeight=\"flex\">\r\n        <ng-template pTemplate=\"colgroup\" let-columns>\r\n          <colgroup>\r\n            <ng-container *ngFor=\"let col of columns\">\r\n              <col [style.width.px]=\"col.width\">\r\n            </ng-container>\r\n            <col style=\"width:52px\" />\r\n          </colgroup>\r\n        </ng-template>\r\n        <ng-template pTemplate=\"header\" let-columns>\r\n          <tr>\r\n            <ng-container *ngFor=\"let col of columns\">\r\n              <th [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"true\" pResizableColumn pReorderableColumn\r\n                [ngClass]=\"{ 'p-sortable-column':col.sort, 'p-highlight': (col.sortStatus !== sortType.Neutral)}\"\r\n                class=\"p-sortable-column p-highlight\" [ngStyle]=\"{'text-align':col.type === types.Enum ? '' : ''}\"\r\n                (click)=\"customSort(col,$event)\">\r\n                <span>\r\n                  {{col.header}}\r\n                  <span *ngIf=\"col.sort\" class=\"flex-inline-body m-l-4\"\r\n                    [ngClass]=\"{'m-r-auto' : col.type !== types.Text}\">\r\n                    <i class=\"p-sortable-column-icon {{col.sortStatus}}\"></i>\r\n                  </span>\r\n                </span>\r\n              </th>\r\n            </ng-container>\r\n            <th></th>\r\n          </tr>\r\n        </ng-template>\r\n        <ng-template pTemplate=\"body\" let-view let-columns=\"columns\">\r\n          <tr>\r\n            <td *ngFor=\"let col of columns\" [ngStyle]=\"{'text-align':col.type === types.Enum ? '' : ''}\">\r\n              <ng-container [ngSwitch]=\"col.type\">\r\n                <span *ngSwitchCase=\"types.Enum\">\r\n                  <app-enum-type [enumValue]=\"view[col.field]\" [fieldDescription]=\"resolveDescription(col.field)\"\r\n                    [displayText]=true></app-enum-type>\r\n                </span>\r\n                <span *ngSwitchCase=\"types.Date\">\r\n                  <app-date-type [value]=\"view[col.field]\" [isTimeBeEnabled] = \"false\"></app-date-type>\r\n                </span>\r\n                <span class=\"break-space\" *ngSwitchCase=\"types.Text\">\r\n                  <span class=\"break-word\" *ngIf=\"!canDisplayTooltip(col,view)\">{{getDisplayText(view,col)}}</span>\r\n                  <span class=\"break-word\" *ngIf=\"canDisplayTooltip(col,view)\"\r\n                    [libDopTooltipDirective]=\"loadTooltipContent(view)\">{{getDisplayText(view,col)}}</span>\r\n                </span>\r\n                <span *ngSwitchDefault><span style=\"cursor: pointer;\" (click)=\"getResultConfiguration(view.code)\"\r\n                    id={{view.name}}>\r\n                    <span style=\"color:#0072BC\">{{view.name}}</span>&nbsp;<i *ngIf=\"view.default\" class=\"default-label\">\r\n                      {{'eiDefault'|translate}}</i>\r\n                  </span></span>\r\n              </ng-container>\r\n            </td>\r\n            <td id=\"{{view.name + '_menu'}}\" class=\"text-right\">\r\n              <app-kebab-menu [menuItems]='view.menuItems'></app-kebab-menu>\r\n            </td>\r\n          </tr>\r\n        </ng-template>\r\n      </p-table>\r\n    </div>\r\n  </div>\r\n  <app-confirm-dialog [openDialog]=\"isOpen\" (openDialogChange)=\"onCloseDailog($event)\"\r\n    (confirmYes)=\"onYesButtonClickEvent($event)\"  (confirmNo)=\"onCloseDailog($event)\"\r\n     header=\"{{'eiConfirmationModalHeader'|translate}}\" [scrollable]=\"false\">{{'eiDeleteConfirmationMessage'|translate}}\r\n  </app-confirm-dialog>\r\n  <app-confirm-dialog [openDialog]=\"isCopyDialogOpen\" (openDialogChange)=\"onCloseDailog($event)\"\r\n    (confirmYes)=\"onCopyResultClick()\"  (confirmNo)=\"onCloseDailog($event)\"\r\n     header=\"{{'eiConfirmationModalHeader'|translate}}\" [scrollable]=\"false\">{{'eiCopyViewMessage'|translate}}\r\n  </app-confirm-dialog>\r\n  <app-confirm-dialog [openDialog]=\"isEditDialogOpen\" (openDialogChange)=\"onCloseDailog($event)\"\r\n    (confirmYes)=\"onEditResultClick()\"  (confirmNo)=\"onCloseDailog($event)\"\r\n    header=\"{{'eiConfirmationModalHeader'|translate}}\" [scrollable]=\"false\">{{'eiForceEditMessage'|translate}}\r\n</app-confirm-dialog>\r\n  <p-dialog [(visible)]=\"openErrorDialog\" [modal]=\"true\" [style]=\"{width: '480px'}\" [closable]=\"false\">\r\n    <p-header>\r\n      <i class=\"ei ei-warning orange\"></i>&nbsp;\r\n      {{'eiConfirmationModalHeader'|translate}}\r\n    </p-header>\r\n    <span *ngIf='unableToSetDefaultview'>\r\n      <p>{{'eiErrorSetDefaultView'|translate}}</p>\r\n    </span>\r\n    <span *ngIf='viewNotAvailble'>\r\n      <p>{{'eiErrorLoadView'|translate}}</p>\r\n    </span>\r\n    <p-footer>\r\n      <button pButton type=\"button\" (click)=\"onOkClick()\">\r\n        {{'eiOk'|translate}}\r\n      </button>\r\n    </p-footer>\r\n  </p-dialog>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { ManageResultViewsComponent } from './manageResultViews.component';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { TableModule } from 'primeng/table';\r\nimport { KebabMenuModule } from '../../../common/components/kebab-menu/kebab-menu.module';\r\nimport { AppConfirmDialogModule } from '../../../common/components/app-confirm-dialog/app-confirm-dialog.module';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EnumTypeModule } from '../../../common/components/enum-type/enum-type.module';\r\nimport { DateTypeModule } from '../../../common/components/date-type/dateType.module';\r\nimport { DopTooltipModule } from 'libs/dop-tooltip/src/libs';\r\n\r\n@NgModule({\r\n  declarations: [ManageResultViewsComponent],\r\n  imports: [\r\n    ButtonModule,\r\n    TableModule,\r\n    KebabMenuModule,\r\n    AppConfirmDialogModule,\r\n    CommonModule,\r\n    DialogModule,\r\n    TranslateModule,\r\n    EnumTypeModule,\r\n    DateTypeModule,\r\n    DopTooltipModule\r\n  ],\r\n  providers: [],\r\n  exports: [\r\n  ]\r\n})\r\nexport class ManageResultViewsModule { }\r\n","import { EventBaseData } from '../../../shared/models/event.model';\r\nimport { ServiceMethod } from '../../../core/enums/service-method';\r\n\r\nexport class ErrorEventModel extends EventBaseData {\r\n  constructor(\r\n    public serviceMethod: ServiceMethod,\r\n    public message?: string,\r\n    public title?: string,\r\n    public cancelable?: boolean,\r\n    public proceedable?: boolean,\r\n    public isTechnicalError?: boolean,\r\n    public isRead?: boolean) {\r\n    super(isRead);\r\n  }\r\n}\r\n","import { FilterDefinition, ListData, ListValue } from '../../../shared/models/filter-definition.model';\r\nimport { DynamicFilterOptions } from './dynamic-filter.model';\r\n\r\nexport class TabModel extends FilterDefinition {\r\n  dynamicFilters: DynamicFilterOptions[];\r\n  selectedOption?: DynamicFilterOptions;\r\n  isStatic: boolean;\r\n  isSelected: boolean;\r\n  selectedContent: TabContentModel;\r\n  searchContent: ListData[];\r\n  filterTextToKeywordView : any;\r\n  emptyResultsMessage : boolean = false;\r\n  hasMoreResults : boolean = false;\r\n  filterCategorySearchText: string =\"\";   \r\n  selectedValueForInput?: any;\r\n  showClear? = false;\r\n  dateRangeTextValue: any;\r\n  lastDateRangeMaxValueError: boolean;\r\n  displayText?: string;\r\n  filterOption?: string;\r\n  fromDateEmpty? = false;\r\n  toDateEmpty? = false;\r\n}\r\n\r\nexport abstract class TabContentModel {\r\n  level?: number;\r\n}\r\n\r\nexport class DateRangeContentModel extends TabContentModel {\r\n  type: string;\r\n  value: string;\r\n  isDateRange: boolean;\r\n  Dates?: Date[] = [];\r\n  label?: any;\r\n  textValue?: any;\r\n  unit?: string;\r\n}\r\n\r\nexport class TextContentModel extends TabContentModel {\r\n  selectedValues: ListValue[] = [];\r\n  filterText: string;  \r\n}\r\n\r\nexport class TimeRangeContentModel extends TabContentModel {\r\n  times: string[] = [];\r\n}\r\n\r\nexport class BooleanListContentModel extends TabContentModel {\r\n  selectedValues: ListValue[] = [];\r\n}\r\n\r\nexport class NumberRangeContentModel extends TabContentModel {\r\n  selectedValues: number[] = [];\r\n}\r\n","import { QuickAssessmentResponse, AssessmentSettingsResponse, SearchDataResponse, AttachmentResponse, AttachmentRequest } from './../shared/models/search-result.model';\r\nimport { FieldSearchResponse, ListValue } from '../shared/models/filter-definition.model';\r\nimport { SearchRequest, SearchResponse, SearchFieldResponse, SelectionRequest, FieldSearchRequest, AvailableExport, ExportSettings, ExportRequest, SampleAssessment } from '../shared/models/search-result.model';\r\nimport { AppConfigService } from './../../../core/services/app-config-service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { DataService } from '../../../core/services/data.service';\r\nimport { HttpParams, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { ListData } from 'src/app/features/results/shared/models/filter-definition.model';\r\nimport { ExportConstants } from '../../../common/global-constants';\r\nimport { HttpStatusCode } from '../../../core/enums/HttpStatusCode';\r\nimport { EventTypes } from '../../../core/enums/event.types';\r\nimport { EventService } from '../../../core/services/event.service';\r\nimport { AssessmentSettingsRequest } from '../shared/models/bcast-models/assessment-settings-request';\r\nimport { ErrorEventModel } from './error-event.model';\r\nimport { SearchComplianceAssessment } from './../shared/models/bcast-models/perform-assessment';\r\nimport { ServiceMethod } from '../../../core/enums/service-method';\r\nimport { ToastData } from 'src/app/shared/models/message.model';\r\nimport { HandleTechnicalError, HandleTimeout } from '../../../common/global-constants/application-constants';\r\nimport { TestStatus } from 'src/app/core/enums/test-status';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ResultsSearchService {\r\n  private responses: { [id: number]: Function } = {};\r\n\r\n  constructor(\r\n    private dataService: DataService,\r\n    private appConfigService: AppConfigService,\r\n    private translateService: TranslateService,\r\n    private eventService: EventService\r\n  ) {\r\n    this.setFunctionalErrors();\r\n  }\r\n\r\n  initializeSearch() {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'warmup';\r\n    this.dataService.head(url).subscribe();\r\n  }\r\n\r\n  SearchResults(request: SearchRequest): Observable<SearchDataResponse> {\r\n    const response = new SearchResponse();\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results';\r\n    return this.dataService.put<SearchRequest, SearchDataResponse>(url, request, true);\r\n  }\r\n\r\n  SearchResultsData(request: SearchRequest): Observable<SearchResponse> {\r\n    const response = new SearchResponse();\r\n    const headers = {};\r\n    headers[HandleTimeout] = 'true';\r\n    const headerInfo = new HttpHeaders(headers);\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results/stream';\r\n    return this.dataService.put<SearchRequest, any>(url, request, true, { headers: this.getHeader() }).pipe(\r\n      map((value: any) => {\r\n        const response = new SearchResponse();\r\n        if (value && value.length > 0) {\r\n          if (value[0].properties[\"Count\"]) {\r\n            response.count = value[0].properties[\"Count\"];\r\n          }\r\n          response.data = value;\r\n        }\r\n        return response;\r\n      })\r\n    );\r\n  }\r\n\r\n  SampleAttachmentList(request:  SelectionRequest) : Observable<AttachmentResponse>\r\n  {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results/samples/reports-attachments';\r\n    return this.dataService.put<SelectionRequest, AttachmentResponse>(url, request, true).pipe(\r\n      map((value: AttachmentResponse) => {\r\n        return value;\r\n      })\r\n    );\r\n  }\r\n\r\n  CompareSamplesData(request: SelectionRequest): Observable<any> {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'samples/compare/';\r\n    return this.dataService.put<SelectionRequest, any>(url, request, true, { headers: this.getHeader() }).pipe(\r\n      map((value: any) => {\r\n        let cancelled = [];\r\n        let nonCancelled = [];\r\n        value.data.map(obj => {\r\n          obj.references.map(ref => {\r\n            if (ref.TestStatus?.toLowerCase() === TestStatus.Cancelled.toLowerCase()) {\r\n              ref.ResultValue = this.translateService.instant(TestStatus.Cancelled);\r\n              if (cancelled.filter(x => x.TestCode === ref.TestCode && x.ParameterName === ref.ParameterName)?.length === 0) {\r\n                cancelled.push(ref);\r\n              }\r\n            } \r\n            else if (nonCancelled.filter(x => x.TestCode === ref.TestCode && x.ParameterName === ref.ParameterName)?.length === 0) {\r\n                nonCancelled.push(ref);\r\n            }\r\n          });\r\n\r\n          for (let i = 0; i < cancelled?.length; i++) {\r\n            const res = obj.references.filter(y => y.TestCode === cancelled[i].TestCode \r\n              && y.ParameterName === cancelled[i].ParameterName \r\n              && y.TestStatus?.toLowerCase() !== TestStatus.Cancelled.toLowerCase())[0];\r\n            if (res !== undefined) {\r\n              nonCancelled.push(res);\r\n            }\r\n          }\r\n        });\r\n\r\n        value.data.map(obj => {\r\n          obj.references.map(ref => {\r\n            if (ref.TestStatus?.toLowerCase() === TestStatus.Cancelled.toLowerCase()) {\r\n              const res = nonCancelled.filter(y => y.TestCode === ref.TestCode && y.ParameterName === ref.ParameterName)[0];\r\n              if (res !== undefined) {\r\n                ref.ResultUnit = res.ResultUnit;\r\n              }\r\n            }\r\n          });\r\n        });\r\n\r\n        const response = new SearchResponse();\r\n        response.count = value.pagination.count;\r\n        response.data = value.data;\r\n        return response;\r\n      })\r\n    );\r\n  }\r\n\r\n  DownloadAttachments(request: SelectionRequest): Observable<any> {\r\n    const headerInfo = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results/attachments/';\r\n    return this.dataService.put<SelectionRequest, any>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo });\r\n  }\r\n\r\n  getOrderAttachments(code: string, request: AttachmentRequest): Observable<any> {\r\n    const apiUrl =\r\n      `${this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl}results/orders/${code}/samples/reports-attachments`;\r\n    const headerInfo = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });\r\n\r\n    return this.dataService.post<AttachmentRequest, any>(apiUrl, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo });\r\n  }\r\n\r\n  DownloadARAttachments(request: AttachmentRequest): Observable<any> {\r\n    const headerInfo = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results/samples/reports-attachments/';\r\n    return this.dataService.post<AttachmentRequest, any>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo });\r\n  }\r\n\r\n  SearchFilterResults(field: string, filter?: string, selectedValues?: string[], selectedValuesCollection?: any[]): Observable<FieldSearchResponse> {\r\n    let request = new FieldSearchRequest(field, filter, selectedValues, selectedValuesCollection);\r\n    request.pagination.size = this.appConfigService.configuration.filterItemsPerPage;\r\n    //To check if there are more records\r\n    request.pagination.size = request.pagination.size + 1;\r\n    const url = this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results/field/';\r\n    return this.dataService.put<FieldSearchRequest, SearchFieldResponse>(url, request, true, { headers: this.getHeader() })\r\n      .pipe(\r\n        map((value: SearchFieldResponse) => {                \r\n          let response = new FieldSearchResponse();\r\n          response.hasMoreResults = value.data.length > this.appConfigService.configuration.filterItemsPerPage;\r\n          const items: ListData[] = [];\r\n          value.data.forEach((x) => {\r\n            const item = Object.keys(x.values).length > 0 ? new ListValue(x.values, x.text) : new ListValue(x.value, x.text);\r\n            if (selectedValues != undefined)\r\n              if (selectedValues?.indexOf(x.value) !== -1) {\r\n                item.isApplied = true;\r\n              }\r\n\r\n              if (selectedValuesCollection !== undefined)\r\n                if (selectedValuesCollection.find(s => JSON.stringify(s) === JSON.stringify(x.values)) !== undefined) {\r\n                  item.isApplied = true;\r\n                }\r\n            items.push(new ListData(item, item.text));\r\n          });\r\n          response.items = items;\r\n          return response;\r\n        }));\r\n  }\r\n\r\n  exportResult(request: SelectionRequest, exportFormat: string): Observable<any> {\r\n    const headerInfo = new HttpHeaders({\r\n      'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', accept: this.getAcceptHeader(exportFormat)\r\n    });\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'results/export/';\r\n    return this.dataService.put<SelectionRequest, any>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo });\r\n  }\r\n\r\n  availableAssessments(request: SelectionRequest): Observable<SampleAssessment> {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'bcast/assessments';\r\n    return this.dataService.put<SelectionRequest, SampleAssessment>(url, request, true).pipe(\r\n      catchError(error => this.handleError(error, ServiceMethod.AssessmentOptions)));\r\n  }\r\n\r\n  assessmentSettings(request: AssessmentSettingsRequest): Observable<AssessmentSettingsResponse[]> {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'bcast/assessments/settings';\r\n    return this.dataService.put<SelectionRequest, AssessmentSettingsResponse[]>(url, request, true).pipe(\r\n      catchError(error => this.handleError(error, ServiceMethod.SampleAssessmentSummary)));\r\n  }\r\n\r\n  performComplianceAssessment(request: SearchComplianceAssessment): Observable<any> {\r\n    const headerInfo = new HttpHeaders({ 'Access-Control-Allow-Origin': '*' });\r\n\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'assessments/bcast/compliance';\r\n    return this.dataService.put<SearchComplianceAssessment, any>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo })\r\n      .pipe(\r\n        catchError(error => this.handleError(error, ServiceMethod.DownloadAssessment)));\r\n  }\r\n\r\n  performQuickAssessment(request: SelectionRequest): Observable<QuickAssessmentResponse> {\r\n    const headerInfo = new HttpHeaders({ 'Access-Control-Allow-Origin': '*' });\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'assessments/bcast/compliance-quick';\r\n\r\n    return this.dataService.put<SelectionRequest, QuickAssessmentResponse>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo }).pipe(\r\n        map((value: any) => {\r\n          const response = new QuickAssessmentResponse();\r\n          response.fileResponse = value;\r\n          response.sampleCount = value.headers.get('x-dop-sample-count');\r\n          return response;\r\n        }),\r\n        catchError(error => this.handleError(error, ServiceMethod.QuickAssessment))\r\n      );\r\n  }\r\n\r\n  availableExportOptions(request: SelectionRequest): Observable<AvailableExport> {\r\n    const url =\r\n      this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl + 'bcast/exports';\r\n    return this.dataService.put<SelectionRequest, AvailableExport>(url, request, true)\r\n      .pipe(\r\n        catchError(error => this.handleError(error, ServiceMethod.ExportOptions)));\r\n  }\r\n\r\n  getExportSettings(request: SelectionRequest, exportCode: string): Observable<ExportSettings> {\r\n    const url =\r\n      `${this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl}bcast/exports/settings/${exportCode}`;\r\n    return this.dataService.put<SelectionRequest, ExportSettings>(url, request, true)\r\n      .pipe(\r\n        catchError(error => this.handleError(error, ServiceMethod.ExportSettings)));\r\n  }\r\n\r\n  performExport(request: ExportRequest): Observable<any> {\r\n    const headerInfo = new HttpHeaders({\r\n      'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'\r\n    });\r\n    const url =\r\n      `${this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl}exports/bcast/download`;\r\n    return this.dataService.put<ExportRequest, any>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo })\r\n      .pipe(\r\n        catchError(error => this.handleError(error, ServiceMethod.PerformExport)));\r\n  }\r\n\r\n  performQuickExport(request: SelectionRequest): Observable<any> {\r\n    const headerInfo = new HttpHeaders({ 'Access-Control-Allow-Origin': '*' });\r\n    const url =\r\n      `${this.appConfigService.configuration.apiConfig.resultsSearchServiceBaseUrl}exports/bcast/download-quick`;\r\n    return this.dataService.put<SelectionRequest, any>(url, request, true,\r\n      { observe: 'response', responseType: 'blob', headers: headerInfo })\r\n      .pipe(\r\n        catchError(error => this.handleError(error, ServiceMethod.QuickExport)));\r\n  }\r\n\r\n  async samplesCount(request: SelectionRequest): Promise<number> {\r\n    let countRequest = new SearchRequest(0, 1, true);\r\n    countRequest.fields = request.fields;\r\n    countRequest.search = request.search;\r\n    countRequest.template = 'Sample';\r\n    let response = await this.SearchResults(countRequest).toPromise();\r\n    return response.pagination.count;\r\n  }\r\n\r\n  private getAcceptHeader(exportFormat: string): string {\r\n    if (exportFormat === ExportConstants.Excel) {\r\n      return 'application/excel';\r\n    }\r\n    else if (exportFormat === ExportConstants.Csv) {\r\n      return 'text/csv';\r\n    }\r\n    else {\r\n      return 'application/json';\r\n    }\r\n  }\r\n\r\n  private setFunctionalErrors() {\r\n    const title = () => this.translateService.instant('eiErrorOccured');\r\n    this.responses[ServiceMethod.PerformExport] = () => new ErrorEventModel(ServiceMethod.PerformExport,\r\n      this.translateService.instant('eiBcastDownloadError'), title(), true, false);\r\n    this.responses[ServiceMethod.QuickExport] = () => new ErrorEventModel(ServiceMethod.PerformExport,\r\n      this.translateService.instant('eiQuickExportError'), title(), true, false);\r\n    this.responses[ServiceMethod.ExportSettings] = () => new ErrorEventModel(ServiceMethod.PerformExport,\r\n      this.translateService.instant('eiBcastExportSettingError'), title(), true, false);\r\n    this.responses[ServiceMethod.ExportOptions] = () => new ErrorEventModel(ServiceMethod.PerformExport,\r\n      this.translateService.instant('eiBcastExportError'), title(), true, true);\r\n    this.responses[ServiceMethod.QuickAssessment] = () => new ErrorEventModel(ServiceMethod.QuickAssessment,\r\n      this.translateService.instant('eiQuickAssessmentError'), title(), true, false);\r\n    this.responses[ServiceMethod.AssessmentOptions] = () => new ErrorEventModel(ServiceMethod.AssessmentOptions,\r\n      this.translateService.instant('eiComplianceAssessmentError'), title(), true, true);\r\n    this.responses[ServiceMethod.SampleAssessmentSummary] = () => new ErrorEventModel(ServiceMethod.SampleAssessmentSummary,\r\n      this.translateService.instant('eiSampleSummaryError'), title(), true, false);\r\n    this.responses[ServiceMethod.DownloadAssessment] = () => new ErrorEventModel(ServiceMethod.DownloadAssessment,\r\n      this.translateService.instant('eiComplianceReportError'), title(), true, false);\r\n  }\r\n\r\n  private getMessage = (serviceMehod: ServiceMethod, isFunctional: boolean): ErrorEventModel => {\r\n    if (isFunctional) {\r\n      return this.responses[serviceMehod]();\r\n    }\r\n    const title = this.translateService.instant('eiErrorOccured');\r\n    let message = this.translateService.instant('eiGenericError');\r\n    return new ErrorEventModel(serviceMehod, message, title, true, false, true);\r\n  }\r\n\r\n  private handleError(error: HttpErrorResponse, key: ServiceMethod): Observable<any> {\r\n    if (error.status === HttpStatusCode.BAD_REQUEST || error.status === HttpStatusCode.INTERNAL_SERVER_ERROR) {\r\n      this.eventService.broadCast(EventTypes.ServiceError, this.getMessage(key, error.status === HttpStatusCode.BAD_REQUEST));\r\n    }\r\n    return throwError(error);\r\n  }\r\n\r\n  private getHeader() {\r\n    const headers = {};\r\n    headers[HandleTimeout] = 'true';\r\n    headers[HandleTechnicalError] = 'true';\r\n    return headers;\r\n  }\r\n}\r\n","import { GridColumn } from './../../../shared/models/gridColumn.model';\r\nimport { TextContentModel, DateRangeContentModel, TimeRangeContentModel, BooleanListContentModel, NumberRangeContentModel} from './../resultView/resultgrid/grid-filter/tab.model';\r\nimport { GridTemplate } from './../../../core/enums/grid-template';\r\nimport { Configuration, ViewSetting, ViewConfiguration, ViewAccess } from './models/result-viewconfiguration.model';\r\nimport { FilterDefinition } from './models/filter-definition.model';\r\nimport { Definitions } from './models/definitions';\r\nimport { StoreService } from './../../../core/store/ngrx-store.service';\r\nimport { SortCapability, ListFilterCapability, DateFilterCapability, RollingDateFilterCapability, FieldDescription, TimeFilterCapability, BooleanFilterCapability, NumberFilterCapability, OpenSearchCapability, FieldGroup } from './models/field-definition.model';\r\nimport { Pagination, Search, SearchRequest } from './models/search-result.model';\r\nimport { ColumnCapability, SortOrder } from './../../../core/enums/column-capability';\r\nimport { FilterMetadata, LazyLoadEvent, SortMeta } from 'primeng/api';\r\nimport { Injectable } from '@angular/core';\r\nimport { StoreKey } from 'src/app/core/store/ngrx-store.keys';\r\nimport { EventService } from '../../../core/services/event.service';\r\nimport { EventTypes } from '../../../core/enums/event.types';\r\nimport { EventUpdateSeletedField } from './models/eventUpdateSeletedField.model';\r\nimport { DateRange } from 'src/app/core/enums/date-ranges';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FieldConfigurationService {\r\n  isFieldDefinitionsLoaded: boolean;\r\n  private viewConfiguration: ViewConfiguration = new ViewConfiguration();\r\n  public fieldDescription: FieldDescription[] = [];\r\n  private searchRequest: SearchRequest;\r\n  private filterColumns: FilterDefinition[];\r\n  private fieldGroups: FieldGroup[];\r\n  public savedWidth: { [key: string]: { [key: string]: any }; } = {};\r\n  public columnCapabilites: Set<string>;\r\n  settings: any;\r\n  constructor(\r\n    private storeService: StoreService,\r\n    private eventService: EventService\r\n  ) { \r\n    this.columnCapabilites = new Set([\r\n      ColumnCapability.ListTextFilter,\r\n      ColumnCapability.RollingDateFilter,\r\n      ColumnCapability.DateFilter, \r\n      ColumnCapability.Search,\r\n      ColumnCapability.OpenSearch,\r\n      ColumnCapability.TimeFilter,\r\n      ColumnCapability.NumberFilter, \r\n      ColumnCapability.ListBoolFilter\r\n    ])\r\n  }\r\n\r\n  private mapGridColumns(fieldDesc: FieldDescription[], isCustom: boolean): GridColumn[] {\r\n    const gridColumns = [];\r\n    fieldDesc.filter(f => !f.capabilities || !f.capabilities[ColumnCapability.ExportOnly])\r\n      .forEach((item: FieldDescription) => {\r\n        if (isCustom || !this.viewConfiguration.configuration.fields[item.code].exclude) {\r\n          const column = new GridColumn();\r\n          column.field = item.code;\r\n          column.header = item.name;\r\n          column.type = item.type;\r\n          column.subType = item.subtype;\r\n          column.domain = item.domain;\r\n          column.isDataTranslatable = item.isDataTranslatable;\r\n          column.sort = item?.capabilities?.hasOwnProperty(ColumnCapability.Sort);\r\n          column.filter = item?.capabilities?.hasOwnProperty(ColumnCapability.Filter);\r\n          column.displayTooltip = item?.capabilities?.hasOwnProperty(ColumnCapability.Tooltip);\r\n          column.isAFColumm = item.code.startsWith('AF_') ? true : false;\r\n          column.isResultValueColumn = (item.code == 'ResultValue') ? true : false;\r\n\r\n          const viewSetting = this.viewConfiguration?.configuration?.view;\r\n          if (!isCustom && viewSetting && viewSetting.display && viewSetting.display[item.code]) {\r\n            column.displayCapability = viewSetting.hasOwnProperty(ColumnCapability.Display);\r\n            column.width = viewSetting?.display[item.code].width;\r\n          }\r\n          else {\r\n            column.displayCapability = item?.capabilities?.hasOwnProperty(ColumnCapability.Display);\r\n            column.width = item?.capabilities?.display.width;\r\n          }\r\n\r\n          const selectedFields = this.viewConfiguration?.configuration?.fields;\r\n          if (!isCustom && column.sort && selectedFields && selectedFields[item.code]?.sort && item?.capabilities) {\r\n            column.sortCapability =\r\n              new SortCapability(selectedFields[item.code].sort.direction, selectedFields[item.code].sort.level);\r\n          }\r\n          gridColumns.push(column);\r\n        }\r\n      });\r\n    return gridColumns;\r\n  }\r\n\r\n  private mapFields(event: LazyLoadEvent, viewSetting?: any) {\r\n    this.viewConfiguration.configuration = this.viewConfiguration.configuration ?\r\n      this.viewConfiguration.configuration : new Configuration();\r\n\r\n      //set result view settings (display settings)\r\n    this.getViewSettings(viewSetting);\r\n    if (!this.filterColumns) {\r\n      this.storeService.Get(StoreKey.Definitions).subscribe((definitions: Definitions) => {\r\n        this.filterColumns = definitions.filters;\r\n        this.fieldGroups = definitions.groups;\r\n        this.mapFieldsConfigurations(event, this.settings);\r\n      });\r\n    }\r\n    else {\r\n      this.mapFieldsConfigurations(event, this.settings);\r\n    }\r\n    this.cleanViewConfiguration();\r\n    this.reorderSelectedItems();\r\n    this.transmitFieldConfigurationEvent();\r\n  }\r\n\r\n  private getViewSettings(viewSetting?: any) {\r\n    const displaySettings = this.viewConfiguration?.configuration?.view?.display;    \r\n\r\n    if (viewSetting != null && viewSetting != undefined) {\r\n      if (Object.keys(viewSetting).filter(x => x).length >= 1 && displaySettings != null &&\r\n      Object.keys(displaySettings).filter(x => x).length >= 1)\r\n      {\r\n        this.settings = Object.assign(displaySettings, viewSetting);\r\n      }\r\n      else {\r\n        this.settings = (Object.keys(viewSetting).filter(x => x).length >= 1) ?\r\n          viewSetting : displaySettings;\r\n      }\r\n    }\r\n    else {\r\n      this.settings = displaySettings;\r\n    }\r\n  }\r\n\r\n  private transmitFieldConfigurationEvent() {\r\n    this.eventService.broadCast(EventTypes.FieldConfigurationsChanged, this.viewConfiguration);\r\n  }\r\n\r\n  private reorderSelectedItems(gridColumnData?: EventUpdateSeletedField) {\r\n    const fieldsSort = {};\r\n\r\n    const fieldDescriptionSort = gridColumnData && gridColumnData.length > 0 ?\r\n      this.fieldDescription.sort((a, b) => { return gridColumnData.columns[a.code] - gridColumnData.columns[b.code] }) : null;\r\n\r\n    this.fieldDescription.forEach(item => {\r\n      if (this.viewConfiguration.configuration.fields.hasOwnProperty(item.code)) {\r\n        fieldsSort[item.code] = this.viewConfiguration.configuration.fields[item.code];\r\n      }\r\n    });\r\n\r\n    Object.getOwnPropertyNames(this.viewConfiguration.configuration.fields)\r\n      .filter(field => Object.getOwnPropertyNames(fieldsSort).indexOf(field) === -1)\r\n      .forEach(code => {\r\n        fieldsSort[code] = this.viewConfiguration.configuration.fields[code];\r\n      });\r\n\r\n    this.viewConfiguration.configuration.fields = fieldsSort;\r\n  }\r\n\r\n  updateFieldConfiguration(gridColumnData: EventUpdateSeletedField) {\r\n    this.reorderSelectedItems(gridColumnData);\r\n    this.transmitFieldConfigurationEvent();\r\n  }\r\n\r\n  private cleanViewConfiguration() {\r\n    const fieldCodes = Object.getOwnPropertyNames(this.viewConfiguration.configuration.fields);\r\n    fieldCodes.forEach(code => {\r\n      if (!this.fieldDescription.some(x => x.code === code) && this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.Search)) {\r\n        delete this.viewConfiguration.configuration.fields[code][ColumnCapability.Search];\r\n      }\r\n\r\n      if (!this.fieldDescription.some(x => x.code === code)\r\n        && !this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.Exclude)\r\n        && !this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.RollingDateFilter)\r\n        && !this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.DateFilter)\r\n        && !this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.ListTextFilter)\r\n        && !this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.OpenSearch)) {\r\n        delete this.viewConfiguration.configuration.fields[code];\r\n      }\r\n    });\r\n  }\r\n\r\n  private mapFieldsConfigurations(event: LazyLoadEvent, viewSetting?: any) {\r\n    this.fieldDescription.forEach((item: FieldDescription) => {\r\n      const capability: { [key: string]: any } = this.viewConfiguration.configuration.fields[item.code] ?? {};\r\n      if (item.capabilities.hasOwnProperty(ColumnCapability.Sort)) {\r\n        if (event?.multiSortMeta?.some(s => s.field === item.code)) {\r\n          let dir: string;\r\n          let level: number;\r\n          event.multiSortMeta.forEach((sort: SortMeta, index: number) => {\r\n            if (sort.field === item.code) {\r\n              dir = sort.order === 1 ? SortOrder.Ascending : SortOrder.Descending;\r\n              level = index;\r\n            }\r\n          });\r\n          const sortCapability = new SortCapability(dir, level);\r\n          capability[ColumnCapability.Sort] = sortCapability;\r\n        } else {\r\n          if (event?.multiSortMeta && capability.hasOwnProperty(ColumnCapability.Sort)) {\r\n            delete capability[ColumnCapability.Sort];\r\n          }\r\n        }\r\n      }\r\n      if (capability.hasOwnProperty(ColumnCapability.Exclude) && (item.isHidden !== undefined && !item.isHidden)) {\r\n        delete capability[ColumnCapability.Exclude];\r\n      }\r\n\r\n      if (item.capabilities.hasOwnProperty(ColumnCapability.Filter) && event?.filters) {\r\n        if (item.code in event?.filters) {\r\n          const filter = event.filters[item.code];\r\n          this.addFilterCapability(filter, capability, viewSetting, item.code);\r\n        }\r\n      }\r\n\r\n      if (item.capabilities.hasOwnProperty(ColumnCapability.Search) && event && event?.globalFilter !== null) {\r\n        capability[ColumnCapability.Search] = true;        \r\n      }\r\n\r\n      if (item.capabilities.hasOwnProperty(ColumnCapability.ExportOnly)) {\r\n        capability[ColumnCapability.ExportOnly] = true;\r\n      }\r\n      if (item.capabilities.hasOwnProperty(ColumnCapability.OpenSearch)) {\r\n        capability[ColumnCapability.OpenSearch] = true;\r\n      }\r\n      this.viewConfiguration.configuration.fields[item.code] = capability;\r\n    });\r\n\r\n    // add or remove or modify filter capability and exlude capability based on filter selected\r\n    this.filterColumns.forEach(filterColumn => {\r\n      const capability: { [key: string]: any } = this.viewConfiguration.configuration.fields[filterColumn.reference] ?? {};\r\n      if (event?.filters) {\r\n        if (filterColumn.reference in event?.filters) {\r\n          const filter = event.filters[filterColumn.reference];\r\n          this.addFilterCapability(filter, capability, viewSetting, filterColumn.code);\r\n          if (!this.fieldDescription.some(x => x.code === filterColumn.reference)\r\n            || this.fieldDescription.some(x => x.code === filterColumn.reference && x.isHidden)) {\r\n            capability[ColumnCapability.Exclude] = true;\r\n          }\r\n          this.viewConfiguration.configuration.fields[filterColumn.reference] = capability;\r\n        } else {\r\n          const filterType: string = this.hasFilterCapability(filterColumn.reference);\r\n          if (this.viewConfiguration.configuration.fields[filterColumn.reference] && filterType) {\r\n            if (this.viewConfiguration.configuration.fields[filterColumn.reference][ColumnCapability.Exclude]) {\r\n              // Exclude is true means field is added for filter purpose, hence Remove the field.\r\n              delete this.viewConfiguration.configuration.fields[filterColumn.reference];\r\n            } else {\r\n              // Remove only filter\r\n              delete this.viewConfiguration.configuration.fields[filterColumn.reference][filterType];\r\n            }\r\n          }\r\n        }\r\n      }\r\n    });\r\n    if (!this.viewConfiguration.configuration.view) {\r\n      this.viewConfiguration.configuration.view = new ViewSetting(GridTemplate.None, 'ReceptionDate', viewSetting);\r\n    }\r\n  }\r\n\r\n  private hasFilterCapability(code: string): string {\r\n    if (!this.viewConfiguration.configuration.fields[code]) {\r\n      return null;\r\n    }\r\n\r\n    if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.RollingDateFilter)) {\r\n      return ColumnCapability.RollingDateFilter;\r\n    } else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.DateFilter)) {\r\n      return ColumnCapability.DateFilter;\r\n    } else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.ListTextFilter)) {\r\n      return ColumnCapability.ListTextFilter;\r\n    } else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.Filter)) {\r\n      return ColumnCapability.Filter;\r\n    } else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.ListBoolFilter)) {\r\n      return ColumnCapability.ListBoolFilter;\r\n    } else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.TimeFilter)) {\r\n      return ColumnCapability.TimeFilter;\r\n    } else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.NumberFilter)) {\r\n      return ColumnCapability.NumberFilter;\r\n    }else if (this.viewConfiguration.configuration.fields[code].hasOwnProperty(ColumnCapability.OpenSearch)) {\r\n      return ColumnCapability.OpenSearch;\r\n    } else {\r\n      return null;\r\n    }\r\n  }\r\n\r\n  private addFilterCapability(filter: FilterMetadata, capability: { [key: string]: any }, viewSetting: any, filterColumnCode: string) {\r\n    if (filter.value instanceof TextContentModel && filter.value.selectedValues.length > 0) {\r\n      const listFilterCapability = new ListFilterCapability(filter.value.selectedValues.map(x => x.code), filter.value?.level ?? 0);\r\n      capability[ColumnCapability.ListTextFilter] = listFilterCapability;\r\n      delete capability[ColumnCapability.OpenSearch];\r\n    }\r\n    //Each text Tab will either have selected values or string Filter text\r\n    else if(typeof(filter.value) == 'string'  && filter.value !='' && filter.value!=undefined)\r\n    {\r\n      const openSearchCapability = new OpenSearchCapability(filter.value, 0);\r\n      capability[ColumnCapability.OpenSearch] = openSearchCapability;\r\n      delete capability[ColumnCapability.ListTextFilter];\r\n      const groupWithCapability = this.fieldGroups.find(group =>\r\n        group.fields.some(a =>\r\n          a.code.toLowerCase() === filterColumnCode.toLowerCase() &&\r\n          a.capabilities[ColumnCapability.Filter]?.searchMode === 'contains'\r\n        )\r\n      );\r\n\r\n      if (groupWithCapability) {\r\n        openSearchCapability.operation = 'contains';\r\n        capability[ColumnCapability.OpenSearch] = openSearchCapability;\r\n      }\r\n    }\r\n    else if (filter.value instanceof DateRangeContentModel) {\r\n      delete capability[ColumnCapability.DateFilter];\r\n      delete capability[ColumnCapability.RollingDateFilter];\r\n      if (filter.value.isDateRange) {\r\n        this.viewConfiguration.configuration.view = new ViewSetting(this.viewConfiguration.configuration.view.template, filter.value.type, viewSetting);\r\n      }\r\n      if (filter.value.value && filter.value.value !== '' && filter.value.value !== DateRange.CustomRange) {\r\n        let value = '';\r\n        if(filter.value.value === DateRange.Current || filter.value.value === DateRange.Previous) {\r\n          value = filter.value.value;\r\n        } else {\r\n          value = filter.value.textValue !== \"\" && filter.value.textValue !== undefined ? filter.value.textValue : filter.value.value;\r\n        }\r\n        const rollingFilterCapability = new RollingDateFilterCapability(value, filter.value?.level ?? 0, filter.value?.unit);\r\n        capability[ColumnCapability.RollingDateFilter] = rollingFilterCapability;\r\n      } \r\n      else if (filter.value.Dates?.length > 0) {\r\n        const dateFilterCapability = new DateFilterCapability(filter.value.Dates[0], filter.value.Dates[1], filter.value?.level ?? 0);\r\n        capability[ColumnCapability.DateFilter] = dateFilterCapability;\r\n      }\r\n    }\r\n    else if (filter.value instanceof TimeRangeContentModel) {\r\n      const timeFilterCapability = new TimeFilterCapability(filter.value.times[0], filter.value.times[1], filter.value?.level ?? 0);\r\n      capability[ColumnCapability.TimeFilter] = timeFilterCapability;\r\n    }\r\n    else if (filter.value instanceof BooleanListContentModel) {\r\n      const booleanFilterCapability = new BooleanFilterCapability(filter.value.selectedValues.map(x => x.code as boolean), filter.value?.level ?? 0);\r\n      capability[ColumnCapability.ListBoolFilter] = booleanFilterCapability;\r\n    }\r\n    else if (filter.value instanceof NumberRangeContentModel) {\r\n      const numberFilterCapability = new NumberFilterCapability(filter.value.selectedValues[0], filter.value.selectedValues[1], filter.value?.level ?? 0);\r\n      capability[ColumnCapability.NumberFilter] = numberFilterCapability;\r\n    }\r\n  }\r\n\r\n  GetSelectedFilters(search: Search): any {\r\n    const list: { [key: string]: any } = {};\r\n    Object.getOwnPropertyNames(this.viewConfiguration.configuration.fields).forEach(item => {\r\n      const capablityist = Object.getOwnPropertyNames(this.viewConfiguration.configuration.fields[item]);\r\n      if (capablityist.length > 0) {\r\n        capablityist.forEach(element => {\r\n          if (this.columnCapabilites.has(element)) {\r\n            list[item] = Object.assign({}, this.viewConfiguration.configuration.fields[item]);\r\n            (list[item] as { [key: string]: any })[ColumnCapability.Exclude] = true;\r\n\r\n            if (element === ColumnCapability.Search && search.text) {\r\n              (list[item] as { [key: string]: any })[ColumnCapability.Search] = true;\r\n            }\r\n            delete list[item][ColumnCapability.Sort];\r\n          }\r\n        });\r\n      }\r\n    });\r\n    return list;\r\n  }\r\n  private deleteExporOnly(field: any) {\r\n    if (field) {\r\n      if (field.capabilities && field.capabilities[ColumnCapability.ExportOnly]) {\r\n        delete field.capabilities[ColumnCapability.ExportOnly];\r\n      } else if (field[ColumnCapability.ExportOnly]) {\r\n        delete field[ColumnCapability.ExportOnly];\r\n      }\r\n    }\r\n  }\r\n\r\n  setViewConfiguration(\r\n    viewConfiguration: ViewConfiguration,\r\n    fieldDescription?: FieldDescription[],\r\n    event?: LazyLoadEvent,\r\n    viewSetting?: any,\r\n    viewAccess?: ViewAccess,\r\n    exportOnlyFileds?: string[]) {\r\n\r\n    if (exportOnlyFileds && fieldDescription) {\r\n      //reset if any item not selected\r\n      if (viewConfiguration.configuration) {\r\n        Object.getOwnPropertyNames(viewConfiguration.configuration.fields).forEach(se => {\r\n          let field = viewConfiguration.configuration.fields[se];\r\n          this.deleteExporOnly(field);\r\n\r\n          if (fieldDescription) {\r\n            let fieldDes = fieldDescription.find(x => x.code === se);\r\n            this.deleteExporOnly(fieldDes);\r\n          }\r\n        });\r\n      }\r\n\r\n      exportOnlyFileds.forEach(ef => {\r\n        const fieldDes = fieldDescription.find(x => x.code === ef);\r\n        if (fieldDes) {\r\n          const capability: { [key: string]: any } = {};\r\n          Object.getOwnPropertyNames(fieldDes.capabilities).forEach(c => capability[c] = fieldDes.capabilities[c]);\r\n\r\n          capability[ColumnCapability.ExportOnly] = true;\r\n          fieldDes.capabilities = capability;\r\n        }\r\n      });\r\n    }\r\n\r\n    this.viewConfiguration = viewConfiguration;\r\n    if (fieldDescription) {\r\n      this.fieldDescription = fieldDescription;\r\n    }\r\n\r\n    if (viewAccess) {\r\n      this.viewConfiguration.access = viewAccess;\r\n    }\r\n\r\n    if (fieldDescription || event) {\r\n      this.mapFields(event, viewSetting);\r\n    }\r\n  }\r\n\r\n  getViewConfiguration(): ViewConfiguration {\r\n    return this.viewConfiguration;\r\n  }\r\n\r\n  getColumnConfiguration(fieldDescription?: FieldDescription[], customFieldDesc?: FieldDescription[]): GridColumn[] {\r\n    if (fieldDescription) {\r\n      const fields = Object.keys(this.viewConfiguration.configuration.fields);\r\n      let fdesc: FieldDescription[] = [];\r\n      fieldDescription.filter(x => fields.some(f => f === x.code)).sort((a, b) => {\r\n        return fields.indexOf(a.code) - fields.indexOf(b.code);\r\n      }).forEach(fieldDes => {\r\n        if (this.viewConfiguration.configuration.fields[fieldDes.code][ColumnCapability.ExportOnly] ||\r\n          (this.viewConfiguration.configuration.fields[fieldDes.code].capabilities &&\r\n            this.viewConfiguration.configuration.fields[fieldDes.code].capabilities[ColumnCapability.ExportOnly])) {\r\n\r\n          const capability: { [key: string]: any } = {};\r\n          Object.getOwnPropertyNames(fieldDes.capabilities).forEach(c => capability[c] = fieldDes.capabilities[c]);\r\n          capability[ColumnCapability.ExportOnly] = true;\r\n          fieldDes = { ...fieldDes, capabilities: capability };\r\n        }\r\n        fdesc.push(fieldDes);\r\n      });\r\n\r\n      this.fieldDescription = fdesc\r\n    }\r\n    return this.mapGridColumns(customFieldDesc ?? this.fieldDescription, customFieldDesc !== undefined);\r\n  }\r\n\r\n  getFields(event: LazyLoadEvent, includeCount: boolean, paginationState: Pagination): SearchRequest {\r\n    this.mapFields(event);\r\n    this.searchRequest = new SearchRequest(paginationState.offset ?? 0, paginationState.size, includeCount, event.filters.global);\r\n    this.searchRequest.fields = this.viewConfiguration.configuration.fields;\r\n    return this.searchRequest;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class EditResultViewModel {\r\n  code: string;\r\n  name: string;\r\n  default: boolean;\r\n  fieldConfig: any;\r\n  accessType: string;\r\n  selectedViewCodeToClone: string;\r\n}\r\n","import { FieldConfiguration } from 'src/app/features/results/shared/models/field-definition.model';\r\nimport { EventBaseData } from '../../../../shared/models/event.model';\r\nimport { EditResultViewModel } from './editResultView.model';\r\n\r\nexport class EventBuildNewResults extends EventBaseData\r\n{\r\n  isEdit: boolean;\r\n  isPreview: boolean;\r\n  isAssign: boolean;\r\n}\r\n","import { EventBaseData } from '../../../../shared/models/event.model';\r\nimport { EditResultViewModel } from './editResultView.model';\r\n\r\nexport class EditResultViewEvent extends EventBaseData {\r\n  isEdit: boolean;\r\n  isPreview: boolean;\r\n  selectedItems?: EditResultViewModel;\r\n  isReset: boolean;\r\n  isAssign?: boolean;\r\n}\r\n","\r\nexport class FieldGroup {\r\n  code: string;\r\n  name: string;\r\n  fields: FieldDescription[];\r\n}\r\n\r\nexport class FieldDescription {\r\n  constructor(\r\n    public code: string,\r\n    public name: string,\r\n    public type: string,\r\n    public values: any,\r\n    public capabilities: { [key: string]: any },\r\n    public isHidden?: boolean,\r\n    public domain?: string,\r\n    public subtype?: string,\r\n    public isDataTranslatable?: boolean,\r\n  ) {\r\n  }\r\n}\r\n\r\nexport abstract class ICapability {\r\n  constructor(level: number) {\r\n    this.level = level;\r\n  }\r\n  level: number;\r\n}\r\nexport class SortCapability extends ICapability {\r\n  constructor(direction: string, level: number) {\r\n    super(level);\r\n    this.direction = direction;\r\n  }\r\n  direction: string;\r\n}\r\nexport class ListFilterCapability extends ICapability {\r\n  constructor(values: any[], level: number) {\r\n    super(level);\r\n    this.values = values;\r\n  }\r\n  values: any[];\r\n}\r\n\r\nexport class OpenSearchCapability extends ICapability {\r\n  constructor(text: string, level: number, operation?: string) {\r\n    super(level);\r\n    this.text = text;\r\n    this.operation = operation;\r\n  }\r\n  text: string;\r\n  operation?: string;\r\n}\r\n\r\nexport class TextFilterCapability extends ICapability {\r\n  constructor(public operation: string, public text: string, level: number) {\r\n    super(level);\r\n  }\r\n}\r\n\r\nexport class RollingDateFilterCapability extends ICapability {\r\n  constructor(value: string, level: number, unit?: string) {\r\n    super(level);\r\n    this.value = value;\r\n    if (unit !== undefined) {\r\n      this.unit = unit;\r\n    }\r\n  }\r\n  value: string;\r\n  unit?: string;\r\n}\r\nexport class DateFilterCapability extends ICapability {\r\n  constructor(from: Date, until: Date, level: number) {\r\n    super(level);\r\n    this.from = from;\r\n    this.until = until;\r\n  }\r\n  from: Date;\r\n  until: Date;\r\n}\r\n\r\nexport class TimeFilterCapability extends ICapability {\r\n  constructor(from: string, until: string, level: number) {\r\n    super(level);\r\n    this.from = from;\r\n    this.until = until;\r\n  }\r\n  from: string;\r\n  until: string;\r\n}\r\n\r\nexport class BooleanFilterCapability extends ICapability {\r\n  constructor(values: boolean[], level: number) {\r\n    super(level);\r\n    this.values = values;\r\n  }\r\n  values: any[];\r\n}\r\n\r\nexport class NumberFilterCapability extends ICapability {\r\n  constructor(from: number, until: number, level: number) {\r\n    super(level);\r\n    this.from = from;\r\n    this.until = until;\r\n  }\r\n  from: number;\r\n  until: number;\r\n}\r\n\r\nexport class FieldConfiguration {\r\n  constructor() {\r\n    this.fields = {};\r\n  }\r\n  fields: { [key: string]: { [key: string]: any } };\r\n}\r\n\r\n","export class FilterDefinition {\r\n  reference: string;\r\n  code?: string;\r\n  name: string;\r\n  type?: string;\r\n  values: any;\r\n  features: { [key: string]: any };\r\n  isHidden?: boolean;\r\n  hidden?: boolean;\r\n  dateType?: string;\r\n  referenceFields?: string[];\r\n  public get isAf() {\r\n    return this.code.startsWith('AF_');\r\n  }\r\n}\r\n\r\nexport class FilterFeatures {\r\n}\r\n\r\nexport class ListValue {\r\n  constructor(\r\n    public code: any,\r\n    public text: string\r\n  ) { }\r\n  isApplied?= false;\r\n\r\n  public equals(incoming: ListValue): boolean {\r\n    return this.code === incoming.code && this.text === incoming.text && this.isApplied === incoming.isApplied;\r\n  }\r\n}\r\n\r\nexport class FieldSearchResponse {\r\n  hasMoreResults: boolean;\r\n  items: ListData[];\r\n}\r\nexport class ListData {\r\n  constructor(listValues: ListValue, label: string) {\r\n    this.value = listValues;\r\n    this.label = label;\r\n  }\r\n  value: ListValue;\r\n  label: string;\r\n\r\n  public equals(incoming: ListData): boolean {\r\n    return this.value.equals(incoming.value) && this.label == incoming.label;\r\n  }\r\n}\r\n","import { EventBaseData } from '../../../../shared/models/event.model';\r\n\r\nexport class ViewConfiguration extends EventBaseData {\r\n  code: string;\r\n  name: string;\r\n  default: boolean;\r\n  configuration: Configuration;\r\n  template: string;\r\n  access: ViewAccess;\r\n  isPreviewToSaveTransition: boolean;\r\n}\r\n\r\nexport class ViewAccess {\r\n  constructor() {\r\n    this.items = [];\r\n  }\r\n  type: string;\r\n  items: string[];\r\n}\r\n\r\nexport class Configuration {\r\n  constructor() {\r\n    this.fields = {};\r\n  }\r\n  view: ViewSetting;\r\n  fields: { [key: string]: { [key: string]: any } };\r\n}\r\n\r\nexport class ViewSetting {\r\n  constructor(template: string, dateRange: string, display?: any) {\r\n    this.template = template;\r\n    this.dateRange = dateRange;\r\n    if (display) {\r\n      this.display = display;\r\n    }\r\n  }\r\n  template: string;\r\n  dateRange: string;\r\n  display?: { [key: string]: { [key: string]: any } };\r\n}\r\n\r\nexport class DisplayModel {\r\n  constructor(width: number) {\r\n    this.width = width;\r\n  }\r\n  width: number;\r\n}\r\nexport class Display extends DisplayModel {\r\n  constructor(width: number, field: string) {\r\n    super(width);\r\n    this.field = field;\r\n  }\r\n  field: string;\r\n}\r\n","import { FilterMetadata } from 'primeng/api';\r\nimport { ExportConstants } from 'src/app/common/global-constants';\r\nimport { ExportContentType } from 'src/app/common/global-constants/export-content-type';\r\nimport { GridTemplate } from '../../../../core/enums/grid-template';\r\nimport { AppliedSettings } from '../models/bcast-models/perform-assessment';\r\n\r\nexport class Pagination {\r\n  index: number;\r\n  size: number;\r\n  offset: number;\r\n}\r\n\r\nexport class PaginationResponse {\r\n  count: number;\r\n  current: number;\r\n  pages: number;\r\n  index: number;\r\n  size: number;\r\n}\r\n\r\nexport class Search {\r\n  text: string;\r\n  mode: string;\r\n}\r\n\r\nexport class SearchRequest {\r\n  constructor(offset: number, size: number, includeCount: boolean, globalFilter?: FilterMetadata) {\r\n    this.pagination = new Pagination();\r\n    this.pagination.index = size === 0 ? 0 : Math.round(offset / size);\r\n    this.pagination.offset = offset;\r\n    this.pagination.size = size;\r\n    this.search = new Search();\r\n    if (globalFilter) {\r\n      this.search.text = globalFilter.value;\r\n      this.search.mode = globalFilter.matchMode;\r\n    }\r\n    this.fields = {};\r\n    this.template = GridTemplate.None;\r\n    this.includeCount = includeCount;\r\n  }\r\n  pagination: Pagination;\r\n  search: Search;\r\n  fields: { [key: string]: { [key: string]: any } };\r\n  template: string;\r\n  includeCount: boolean;\r\n}\r\n\r\nexport class AccountSearchRequest {\r\n  constructor(offset: number, size: number, filterText?: string, excludeList: string[] = []) {\r\n    this.pagination = new Pagination();\r\n    this.pagination.offset = offset;\r\n    this.pagination.index = size === 0 ? 0 : Math.round(offset / size);\r\n    this.pagination.size = size;\r\n    this.search = new Search();\r\n    this.search.text = filterText ?? '';\r\n    this.assignedAccountCodes = excludeList;\r\n  }\r\n  assignedAccountCodes: string[];\r\n  pagination: Pagination;\r\n  search: Search;\r\n}\r\n\r\n\r\nexport class AccountSearchResponse {\r\n  data: RootSearchItem[];\r\n  pagination: PaginationResponse;\r\n}\r\n\r\nexport class SearchDataResponse {\r\n  data: RootSearchItem[];\r\n  pagination: PaginationResponse;\r\n}\r\n\r\nexport class RootSearchItem {\r\n  key: string;\r\n  stats: number[];\r\n  properties: { [key: string]: any };\r\n  references: { [key: string]: any }[];\r\n}\r\n\r\nexport class SearchResponse {\r\n  count: number;\r\n  data: any;\r\n}\r\n\r\nexport class FieldSearchItem {\r\n  value: string;\r\n  values: object;\r\n  text: string;\r\n}\r\n\r\nexport class SearchFieldResponse {\r\n  constructor() {\r\n    this.data = [];\r\n  }\r\n  data: FieldSearchItem[];\r\n}\r\n\r\nexport class AttachmentResponse {\r\n  constructor() {\r\n    this.data = [];\r\n  }\r\n  data: AttachmentItem[];\r\n}\r\n\r\nexport class AttachmentItem {\r\n  eurofinsSampleCode: string;\r\n  attachments: Attachment[];\r\n}\r\n\r\nexport class Attachment {\r\n  code: string;\r\n  name: string;\r\n}\r\n\r\n\r\n\r\nexport class SelectionRequest {\r\n  constructor(\r\n    selectAll: boolean,\r\n    selectionCode: string,\r\n    sampleKeys?: string[],\r\n    excludedsamples?: string[],\r\n    globalSearch?: Search,\r\n    fieldInfo?: any,\r\n    template?: string) {\r\n    this.selection = new SampleSelection(selectAll, selectionCode, sampleKeys, excludedsamples);\r\n    this.search = globalSearch;\r\n    this.fields = fieldInfo;\r\n    this.template = template ?? GridTemplate.None;\r\n  }\r\n  selection: SampleSelection;\r\n  search: Search;\r\n  fields: { [key: string]: { [key: string]: any } };\r\n  template: string;\r\n}\r\nexport class QuickRequest{\r\n  constructor(cultureCode: string)\r\n  {\r\nthis.CultureCode = cultureCode;\r\n  }\r\n  CultureCode: string;\r\n}\r\nexport class ExportRequest extends SelectionRequest {\r\n  constructor(\r\n    selectAll: boolean,\r\n    selectionCode: string,\r\n    exportCode: string,\r\n    resultExportSettings: AppliedSettings[],\r\n    cultureCode: string,\r\n    sampleKeys?: string[],\r\n    excludedsamples?: string[],\r\n    globalSearch?: Search,\r\n    fieldInfo?: any,\r\n    template?: string,\r\n  ) {\r\n    super(selectAll, selectionCode, sampleKeys, excludedsamples, globalSearch, fieldInfo, template);\r\n    this.resultExportRequest = new ResultExportRequest(exportCode, resultExportSettings,cultureCode);\r\n  }\r\n  resultExportRequest: ResultExportRequest;\r\n}\r\n\r\nexport class ResultExportRequest {\r\n  constructor(exportCode: string, appliedSettings: AppliedSettings[], CultureCode:string) {\r\n    this.exportCode = exportCode;\r\n    this.appliedSettings = appliedSettings;\r\n    this.CultureCode = CultureCode;\r\n  }\r\n  exportCode: string;\r\n  appliedSettings: AppliedSettings[];\r\n  CultureCode: string;\r\n}\r\n\r\nexport class ExportFormat {\r\n  constructor(contentType: string) {\r\n    this.contentType = contentType === ExportConstants.Csv \r\n      ? ExportContentType.CsvContentType : ExportContentType.ExcelContentType;\r\n  }\r\n  contentType: string;\r\n}\r\n\r\nexport class PivotSettings extends ExportFormat {\r\n  constructor(pivotType: PivotType, includeTestInfo: boolean, \r\n    includeParametersInfo: boolean, viewPreference : ViewPreference,\r\n    contentType: string) {\r\n    super(contentType);\r\n    this.pivotType = pivotType;\r\n    this.includeTestInfo = includeTestInfo;\r\n    this.includeParametersInfo = includeParametersInfo;\r\n    this.viewPreference = viewPreference;\r\n  }\r\n  pivotType: PivotType;\r\n  includeTestInfo: boolean;\r\n  includeParametersInfo: boolean;\r\n  viewPreference : ViewPreference;\r\n}\r\n\r\nexport enum PivotType {\r\n  TestAndParameter = 'TestAndParameter',\r\n  Test = 'Test',\r\n  Parameter = 'Parameter',\r\n}\r\n\r\nexport enum ViewPreference {\r\n  SampleAsRows = 'SampleAsRows',\r\n  SampleAsColumns = 'SampleAsColumns',\r\n}\r\n\r\nexport class FieldSearchRequest {\r\n  constructor(\r\n    field: string,\r\n    filter?: string,\r\n    selectedValues?: string[],\r\n    selectedValuesCollection?: any[]) {\r\n    this.search = new Search();\r\n    this.search.text = filter;\r\n    this.field = field;\r\n    this.mandatoryItems = selectedValues;\r\n    this.mandatoryItemsCollection = selectedValuesCollection;\r\n    this.pagination = new Pagination();\r\n    this.pagination.offset = 0;\r\n    this.pagination.size = 10;\r\n  }\r\n  field: string;\r\n  mandatoryItems?: string[];\r\n  mandatoryItemsCollection?: object;\r\n  pagination: Pagination;\r\n  search: Search;\r\n}\r\n\r\nexport class SampleSelection {\r\n  constructor(selectAll: boolean, selectionCode: string, sampleslist?: string[], excludedSamples?: string[]) {\r\n    this.selectAll = selectAll;\r\n    this.keys = sampleslist;\r\n    this.excludeKeys = excludedSamples;\r\n    this.selectionCode = selectionCode ?? 'EurofinsSampleCode';\r\n  }\r\n  selectAll: boolean;\r\n  keys: string[];\r\n  selectionCode: string;\r\n  excludeKeys: string[] = [];\r\n}\r\n\r\nexport class AttachmentRequest{\r\n  constructor(data : { [key: string]: any}){\r\n    this.data = data;\r\n  }\r\n  data: { [key: string]: any};\r\n}\r\n\r\nexport class AvailableExport {\r\n  constructor() {\r\n    this.exports = [];\r\n  }\r\n  exports: Export[];\r\n}\r\n\r\nexport class Export {\r\n  exportCode: string;\r\n  exportName: string;\r\n  hasSettings: boolean;\r\n}\r\n\r\nexport enum SettingType {\r\n  boolean = 'Boolean',\r\n  text = 'Text',\r\n  list = 'List',\r\n}\r\n\r\nexport class ExportSettings {\r\n  settings: Settings[] = [];\r\n}\r\n\r\nexport class Settings {\r\n  settingName: string;\r\n  settingCode: string;\r\n  settingType: SettingType;\r\n  defaultValue?: boolean | string = null;\r\n  items?: Item[];\r\n  get settingValue(): string {\r\n    return this.defaultValue?.toString();\r\n  }\r\n}\r\n\r\nexport class Item {\r\n  code: string;\r\n  name: string;\r\n}\r\n\r\nexport class PerformExportModel {\r\n  constructor(selectedSampleKeys: string[], isSelectAll: boolean, baseTable: any, selectedGroupBy: any, searchRequest: SearchRequest,\r\n    unselectedResults?: [], totalRecords?: number) {\r\n    this.selectedGroupBy = selectedGroupBy,\r\n      this.selectedSampleKeys = selectedSampleKeys,\r\n      this.baseTable = baseTable,\r\n      this.searchRequest = searchRequest,\r\n      this.unSelectedResults = unselectedResults,\r\n      this.totalRecords = totalRecords;\r\n    this.isSelectAll = isSelectAll;\r\n  }\r\n  isSelectAll: boolean = false;\r\n  baseTable: any;\r\n  selectedSampleKeys: string[] = [];\r\n  selectedGroupBy: any;\r\n  searchRequest: SearchRequest;\r\n  unSelectedResults?: any = [];\r\n  totalRecords?: number;\r\n}\r\n\r\nexport class SampleAssessment {\r\n  sampleCount: number;\r\n  assessmemts: Assessments[] = [];\r\n}\r\n\r\nexport class Assessments {\r\n  complianceAssessmentDataSetName: string;\r\n  complianceAssessmentDataSetCode: string;\r\n}\r\n\r\nexport class QuickAssessmentResponse {\r\n  fileResponse: any;\r\n  sampleCount: number;\r\n}\r\n\r\nexport class AssessmentSettingsResponse {\r\n  correctiveParameters: correctiveParameters[] = [];\r\n  datasetCode: string;\r\n  samples: AssessmentSamples[] = [];\r\n  settings: Settings[] = [];\r\n}\r\n\r\nexport class correctiveParameters {\r\n  correctiveCode: string;\r\n  correctiveName: string;\r\n}\r\n\r\nexport class AssessmentSamples {\r\n  eurofinsSampleCode: string;\r\n  salesLabCode: string;\r\n  projectCode: string;\r\n  yourSampleCode: string;\r\n  sampleDescription: string;\r\n  corrections: SampleCorrections[] = [];\r\n}\r\n\r\nexport class SampleCorrections {\r\n  correctiveValue: string;\r\n  resultValue: string;\r\n  correctiveParameter: correctiveParameters;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ManageResultView } from \"./models/manage-result-view.model\";\r\nimport { EditResultViewEvent } from 'src/app/features/results/shared/models/eventEditResultView.model';\r\nimport { EventService } from '../../../core/services/event.service';\r\nimport { EventTypes } from '../../../core/enums/event.types';\r\nimport { ViewConfiguration } from \"./models/result-viewconfiguration.model\";\r\nimport { EditResultViewModel } from \"./models/editResultView.model\";\r\nimport { ResultsProfileService } from \"./results-profile.service\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { HttpStatusCode } from \"../../../core/enums/HttpStatusCode\";\r\nimport { FieldConfigurationService } from \"./field-configuration.service\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class ResultsKebabService {\r\n\r\n  constructor(\r\n    private resultsProfileService: ResultsProfileService,\r\n    private eventService: EventService,\r\n    private editViewModel: EditResultViewModel,\r\n    private fieldConfigurationService: FieldConfigurationService\r\n  ) {\r\n    editViewModel = new EditResultViewModel();\r\n  }\r\n\r\n  loadViewModal(data: ManageResultView, isAssign: boolean): void {\r\n    this.editViewModel.name = data.name;\r\n    this.editViewModel.accessType = data.share?.type;\r\n    if (data.permissions.edit) {\r\n      this.editViewModel.code = data.code;\r\n      this.resultsProfileService.getFieldConfiguration(data.code)\r\n        .subscribe((response: ViewConfiguration) => {\r\n          this.editViewModel.fieldConfig = response.configuration;\r\n          this.editViewModel.default = data.default;\r\n          this.broadCastEvent(this.editViewModel, true, false, false, isAssign);\r\n        });\r\n    }\r\n  }\r\n\r\n  copyResultView(configurationGuid: string, isAssignEventTriggered: boolean, retianFilter = false, accessType?: string): boolean {\r\n    this.editViewModel.accessType = accessType ?? this.editViewModel.accessType;\r\n    if (!retianFilter || !this.fieldConfigurationService.getViewConfiguration()?.configuration) {\r\n      this.resultsProfileService.getFieldConfiguration(configurationGuid)\r\n        .subscribe((response: ViewConfiguration) => {\r\n          this.editViewModel.fieldConfig = response.configuration;\r\n          this.buildEditViewModel(configurationGuid, isAssignEventTriggered);\r\n        },\r\n          (error: HttpErrorResponse) => {\r\n            if (error.status === HttpStatusCode.NOT_FOUND) {\r\n              return true;\r\n            }\r\n          });\r\n    } else {\r\n      this.editViewModel.fieldConfig = this.fieldConfigurationService.getViewConfiguration().configuration;\r\n      this.buildEditViewModel(configurationGuid, isAssignEventTriggered);\r\n    }\r\n\r\n    return false;\r\n  }\r\n\r\n  private buildEditViewModel(configurationGuid: string, isAssignEventTriggered: boolean) {\r\n    this.editViewModel.default = false;\r\n    this.editViewModel.code = null;\r\n    this.editViewModel.name = null;\r\n    this.editViewModel.selectedViewCodeToClone = configurationGuid;\r\n    this.broadCastEvent(this.editViewModel, true, true, false, isAssignEventTriggered);\r\n    return false;\r\n  }\r\n\r\n  private broadCastEvent(data: any, isEdit: boolean, isPreview: boolean, isReset: boolean, isAssign?: boolean) {\r\n    const eventData = new EditResultViewEvent();\r\n    eventData.isEdit = isEdit;\r\n    eventData.isPreview = isPreview;\r\n    eventData.isReset = isReset;\r\n    eventData.isAssign = isAssign;\r\n    eventData.selectedItems = data;\r\n    this.eventService.broadCast(EventTypes.EditResultView, eventData);\r\n  }\r\n}\r\n","import { ManageResultView } from './models/manage-result-view.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { AppConfigService } from '../../../core/services/app-config-service';\r\nimport { ViewConfiguration } from './models/result-viewconfiguration.model';\r\nimport { ResultViewAccess, ResultViewAccessDetails } from '../shared/models/result-view-access.model';\r\nimport { DataService } from '../../../core/services/data.service';\r\nimport { map, retry, catchError } from 'rxjs/operators';\r\nimport { HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Access } from './models/access.model';\r\nimport { EnableCacheHeaderName, HandleTechnicalError } from '../../../common/global-constants/application-constants';\r\nimport { RequestCache } from '../../../core/interceptor/request-cache.service';\r\nimport { SavedGraphModel } from './models/graph-models/saved-graphs.model';\r\nimport { UserPreference } from './models';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ResultsProfileService {\r\n  profileApiBaseUrl: any;\r\n  constructor(\r\n    private dataService: DataService,\r\n    private appConfigService: AppConfigService,\r\n    private requestCache: RequestCache) {\r\n    this.profileApiBaseUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl;\r\n  }\r\n\r\n  saveResultsView(resultsView: ViewConfiguration): Observable<string> {\r\n    const apiUrl = this.profileApiBaseUrl + 'views';\r\n    return this.dataService.post<ViewConfiguration, string>(apiUrl, resultsView, false, { headers: this.getHeader() });\r\n  }\r\n\r\n  editResultsView(resultsView: ViewConfiguration): Observable<string> {\r\n    const apiUrl = this.profileApiBaseUrl + 'views/' + resultsView.code + '';\r\n    return this.dataService.put<ViewConfiguration, string>(apiUrl, resultsView, true);\r\n  }\r\n\r\n  getDefaultView(): Observable<ViewConfiguration> {\r\n    const apiUrl = this.profileApiBaseUrl + 'views/default';\r\n    return this.dataService.get(apiUrl)\r\n      .pipe(map((value: ViewConfiguration) => {\r\n        return value;\r\n      }), catchError((error: HttpErrorResponse) => {\r\n        if (error.status) {\r\n          this.errorHandle(error);\r\n        }\r\n        return throwError('Error-Occured');\r\n      }));\r\n  }\r\n\r\n  getFieldConfiguration(code: any): Observable<ViewConfiguration> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/' + code + '/configuration';\r\n    return this.dataService.get(apiUrl)\r\n      .pipe(\r\n        map((value: ViewConfiguration) => {\r\n          return value;\r\n        }), catchError(this.errorHandle));\r\n  }\r\n\r\n  getResultViews(): Observable<ManageResultView[]> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views';\r\n    return this.dataService.get(apiUrl, false, { headers: this.getHeader() })\r\n      .pipe(\r\n        map((value: ManageResultView[]) => {\r\n          return value;\r\n        }));\r\n  }\r\n\r\n  getChartsAndGraphsViews(): Observable<SavedGraphModel[]> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'graphs';\r\n    return this.dataService.get(apiUrl)\r\n      .pipe(\r\n        map((value: SavedGraphModel[]) => {\r\n          return value;\r\n        }), catchError(this.errorHandle));\r\n  }\r\n\r\n  deleteResultView(code){\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/' + code;\r\n    return this.dataService.delete(apiUrl, code)\r\n      .pipe(\r\n        retry(1),\r\n        catchError(this.errorHandle)\r\n      );\r\n  }\r\n\r\n  deleteGraphView(code) {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'graphs/' + code;\r\n    return this.dataService.delete(apiUrl, code)\r\n      .pipe(\r\n        retry(1),\r\n        catchError(this.errorHandle)\r\n      );\r\n  }\r\n\r\n  renameGraphView(code, renameRequest) {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'graphs/' + code + '/rename';\r\n    return this.dataService.put(apiUrl, renameRequest, true).pipe(catchError(this.errorHandle));;\r\n  }\r\n\r\n  setDefaultView(code) {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/';\r\n    return this.dataService.putRouteObject<string>(apiUrl + code + '/default', true)\r\n      .pipe(catchError(this.errorHandle));\r\n  }\r\n\r\n  getResultViewAccessDetails(code: any, count: number): Observable<ResultViewAccessDetails> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/' + code + '/access/account?count=' + count;\r\n    return this.dataService.get(apiUrl)\r\n      .pipe(\r\n        map((value: ResultViewAccessDetails) => {\r\n          return value;\r\n        }), catchError((error: HttpErrorResponse) => {\r\n          if (error.status) {\r\n            this.errorHandle(error);\r\n          }\r\n          return throwError('Error-Occured');\r\n        }));\r\n  }\r\n\r\n  getResultViewAccess(code: any): Observable<ResultViewAccess> {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/' + code + '/access';\r\n    return this.dataService.get(apiUrl)\r\n      .pipe(\r\n        map((value: ResultViewAccess) => {\r\n          return value;\r\n        }), catchError((error: HttpErrorResponse) => {\r\n          if (error.status) {\r\n            this.errorHandle(error);\r\n          }\r\n          return throwError('Error-Occured');\r\n        }));\r\n  }\r\n\r\n  removeAccountAccessCache(code: string) {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/' + code + '/access/account';\r\n    return this.requestCache.remove(apiUrl);\r\n  }\r\n\r\n  getAccounts(code: string) {\r\n    const apiUrl = this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl + 'views/';\r\n    const headers = {};\r\n    headers[EnableCacheHeaderName] = 'true';\r\n    const headerInfo = new HttpHeaders(headers);\r\n    return this.dataService.get<Access>(apiUrl + code + '/access/account', false, { headers: headerInfo })\r\n      .pipe(catchError(this.errorHandle));\r\n  }\r\n\r\n  savePreference(typeCode: string, preference: UserPreference) {\r\n    const apiUrl = `${this.profileApiBaseUrl}preferences/${typeCode}`;\r\n    return this.dataService.put(apiUrl, preference, true).pipe(catchError(this.errorHandle));;\r\n  }\r\n\r\n  getPreference(typeCode: string) {\r\n    const apiUrl = `${this.profileApiBaseUrl}preferences/${typeCode}`;\r\n    return this.dataService.get(apiUrl).pipe(catchError(this.errorHandle));\r\n  }\r\n\r\n  private getHeader() {\r\n    const headers = {};\r\n    headers[HandleTechnicalError] = 'true';\r\n    return headers;\r\n  }\r\n\r\n  // Error handling\r\n  errorHandle(error) {\r\n    let errorMessage = '';\r\n    if (error.error instanceof ErrorEvent) {\r\n      // Get client-side error\r\n      errorMessage = error.error.message;\r\n    } else {\r\n      // Get server-side error\r\n      errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n    }\r\n    console.log(errorMessage);\r\n    return throwError(error);\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { BooleanListContentModel, TabModel } from \"src/app/features/results/resultView/resultgrid/grid-filter/tab.model\";\r\nimport { ListValue } from \"src/app/features/results/shared/models/filter-definition.model\";\r\n\r\n@Component({\r\n  selector: 'app-boolean-list',\r\n  templateUrl: './boolean-list.component.html',\r\n  styleUrls: ['./boolean-list.component.scss']\r\n})\r\nexport class BooleanListComponent implements OnInit {\r\n  @Input() tab: TabModel;\r\n  @Output() dateChip: EventEmitter<any> = new EventEmitter();\r\n  options: any[];\r\n  selectedContent: BooleanListContentModel;\r\n  constructor(private translateService: TranslateService) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.selectedContent = new BooleanListContentModel();\r\n    if (this.tab.selectedContent instanceof (BooleanListContentModel)) {\r\n      setTimeout(() => {\r\n        this.selectedContent.selectedValues = (this.tab.selectedContent as BooleanListContentModel).selectedValues;\r\n        this.selectedContent.level = this.tab.selectedContent.level ?? null;\r\n      });\r\n    }\r\n\r\n    this.options = [\r\n      new ListValue(true, this.translateService.instant('eiYes')),\r\n      new ListValue(false, this.translateService.instant('eiNo'))\r\n    ];\r\n  }\r\n\r\n  onChange(e: any) {\r\n    this.tab.selectedContent = this.selectedContent;\r\n    this.dateChip.emit(this.tab);\r\n  }\r\n}\r\n","<p-listbox [options]=\"options\" [(ngModel)]=\"selectedContent.selectedValues\" [multiple]=\"true\" [checkbox]=\"true\" optionLabel=\"text\"\r\n           styleClass=\"p-listbox-no-highlight p-listbox-no-header\" (onChange)=\"onChange($event)\" inputId=\"booleanList\">\r\n  <ng-template let-filterItem let-i=\"index\" pTemplate=\"item\">\r\n    <span id=\"option_{{filterItem.code}}\">{{filterItem.text}}</span>\r\n  </ng-template>\r\n</p-listbox>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n  selector: 'app-loading',\r\n  templateUrl: './loading.component.html',\r\n  styleUrls: ['./loading.component.scss']\r\n})\r\nexport class LoadingComponent {\r\n\r\n  @Input() enableSpinnerText: boolean;\r\n\r\n  constructor(private translateService: TranslateService) { }\r\n\r\n  getFormattedTranslatedData(label: string) {\r\n    let translatedData: string = this.translateService.instant(label);\r\n    let dataParts = translatedData.split('$lineBreak$');\r\n    return dataParts.length > 1 ? dataParts[0] + \"<br>\" + dataParts[1] : dataParts[0];\r\n  }\r\n}\r\n","<div [ngClass]=\"{'p-component-overlay p-loading-mask p-dialog-mask':!enableSpinnerText, 'p-graph-component-overlay p-graph-dialog-mask':enableSpinnerText}\">\r\n<p-progressSpinner></p-progressSpinner>\r\n<div *ngIf=\"enableSpinnerText\" class=\"spinner-graph-text\" [innerHTML] = \"getFormattedTranslatedData('eiGraphSpinnerMessage')\"></div>\r\n</div>","import { AppConfigService } from '../../core/services/app-config-service';\r\n\r\nexport class DynamicLocaleIdProvider extends String {\r\n  constructor(protected service: AppConfigService) {\r\n    super('');\r\n  }\r\n\r\n  toString() {\r\n    return this.service.formatCulture;\r\n  }\r\n}\r\n","export enum AppRoute {\r\n    Impersonate\r\n}\r\n","export class ConfigurationModel {\r\n    useResults: boolean;\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\nimport { EventTypes } from '../../core/enums/event.types';\r\n\r\nexport class EventModel {\r\n  Type: EventTypes;\r\n  Data?: EventBaseData;\r\n}\r\n\r\nexport abstract class EventBaseData {\r\n  constructor(public isRead?: boolean) { }\r\n  source: string;\r\n  private readonly _onAction = new Subject<any>();\r\n  \r\n  onAction: Observable<any> = this._onAction.asObservable();\r\n\r\n  execute = (result?: any) => {\r\n    this._onAction.next(result);\r\n\r\n    setTimeout(() => {\r\n      this._onAction.complete();\r\n    }, 1000);\r\n  }\r\n}\r\n","import { SortCapability } from '../../features/results/shared/models/field-definition.model';\r\n\r\nexport class GridColumn {\r\n  field: string;\r\n  header: string;\r\n  sort: boolean;\r\n  filter: boolean;\r\n  type: string;\r\n  subType?: string;\r\n  sortCapability: SortCapability;\r\n  displayCapability: boolean;\r\n  displayTooltip?: boolean;\r\n  width: any;\r\n  sortStatus?: string;\r\n  domain: string;\r\n  isDataTranslatable?:boolean;\r\n  isAFColumm: boolean;\r\n  isResultValueColumn: boolean;\r\n  isFiltered: boolean;\r\n  filterTabCode?: string;\r\n}\r\n\r\n","import { EventBaseData } from \"./event.model\";\r\n\r\nexport class SystemDataLoadEvent extends EventBaseData {\r\n  constructor(\r\n    public isLoaded: boolean) {\r\n    super();\r\n  }\r\n}\r\n","export class UserProfileModel {\r\n  id: string;\r\n  name: string;\r\n  internal: boolean;\r\n  language: string;\r\n  instances: string[];\r\n  accounts?: string[];\r\n  trackingConsent : boolean;\r\n  unknownProfile = false;\r\n  policiesAccepted: boolean;\r\n  analyticsEnabled: boolean;\r\n  canManagePublicViews = false;\r\n}\r\n","import { NumberInput } from \"@angular/cdk/coercion\";\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChildren } from \"@angular/core\";\r\nimport { InputNumber } from \"primeng/inputnumber\";\r\nimport { NumberRangeContentModel, TabModel } from \"src/app/features/results/resultView/resultgrid/grid-filter/tab.model\";\r\n\r\n@Component({\r\n  selector: 'app-number-range',\r\n  templateUrl: './number-range.component.html',\r\n  styleUrls: ['./number-range.component.scss']\r\n})\r\nexport class NumberRangeComponent implements OnInit {\r\n  @Input() tab: TabModel;\r\n  @Output() dateChip: EventEmitter<any> = new EventEmitter();\r\n  min: number;\r\n  max: number;\r\n  constructor() {\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.tab.selectedContent instanceof (NumberRangeContentModel)) {\r\n      this.min = (this.tab.selectedContent as NumberRangeContentModel).selectedValues[0];\r\n      this.max = (this.tab.selectedContent as NumberRangeContentModel).selectedValues[1];\r\n    }\r\n  }\r\n\r\n  onBlurMinBox(minElement) {\r\n    //maxElement.min = this.min;\r\n    if (this.max && this.min > this.max) {\r\n      this.min = undefined;\r\n      minElement.value = undefined;\r\n      minElement.input.nativeElement.value = ''\r\n    }\r\n\r\n    this.setOrResetSelectedContent();\r\n\r\n  }\r\n\r\n  onBlurMaxBox(maxElement) {\r\n    if (this.min && this.min > this.max) {\r\n      this.max = undefined;\r\n      maxElement.value = undefined;\r\n      maxElement.input.nativeElement.value = ''\r\n    }\r\n    this.setOrResetSelectedContent();\r\n  }\r\n\r\n  private setOrResetSelectedContent() {\r\n    var selectedContent = this.tab.selectedContent as NumberRangeContentModel;\r\n    if (!selectedContent) {\r\n      selectedContent = new NumberRangeContentModel();\r\n    }\r\n    if ((!this.min && this.min !== 0) || (!this.max && this.max !== 0)) {\r\n      selectedContent.selectedValues = [];\r\n    } else {\r\n      selectedContent.selectedValues = [this.min, this.max];\r\n    }\r\n    this.tab.selectedContent = selectedContent;\r\n    this.dateChip.emit(this.tab);\r\n  }\r\n\r\n  resetValues(){\r\n    this.min = undefined;\r\n    this.max = undefined;\r\n  }\r\n}\r\n","<div class=\"container\">\r\n  <div class=\"one-row col-lg\">\r\n    <label for=\"numberStart\">{{'eiFrom'|translate}}</label>\r\n    <p-inputNumber #minEle [(ngModel)]=\"min\" inputId=\"numberStart\" mode=\"decimal\" [useGrouping]=\"false\" (onBlur)=\"onBlurMinBox(minEle)\">\r\n    </p-inputNumber>\r\n  </div>\r\n  <div class=\"one-row col-sm\">-</div>\r\n  <div class=\"one-row col-lg\">\r\n    <label for=\"numberEnd\">{{'eiTo'|translate}}</label>\r\n    <p-inputNumber #maxEle [(ngModel)]=\"max\" inputId=\"numberEnd\" mode=\"decimal\" [useGrouping]=\"false\" (onBlur)=\"onBlurMaxBox(maxEle)\">\r\n    </p-inputNumber>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LoadingComponent } from './loading/loading.component';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NumberRangeComponent } from './number-range/number-range.component';\r\nimport { BooleanListComponent } from './boolean-list/boolean-list.component';\r\nimport { TimeRangeComponent } from './time-range/time-range.component';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { CalendarModule } from 'primeng/calendar';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        LoadingComponent, TimeRangeComponent, BooleanListComponent, NumberRangeComponent\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        HttpClientModule,\r\n        FormsModule,\r\n        StepsModule,\r\n        BreadcrumbModule,\r\n        MenubarModule,\r\n        SplitButtonModule,\r\n        ListboxModule,\r\n        TranslateModule,\r\n        InputNumberModule,\r\n        CalendarModule,\r\n        ProgressSpinnerModule\r\n    ],\r\n    exports: [\r\n        HttpClientModule,\r\n        FormsModule,\r\n        StepsModule,\r\n        BreadcrumbModule,\r\n        MenubarModule,\r\n        SplitButtonModule,\r\n        LoadingComponent,\r\n        TimeRangeComponent,\r\n        BooleanListComponent,\r\n        NumberRangeComponent\r\n    ],\r\n})\r\nexport class SharedModule { }\r\n","import { FormatWidth } from \"@angular/common\";\r\nimport { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChildren } from \"@angular/core\";\r\nimport { Calendar } from \"primeng/calendar\";\r\nimport { CustomDatePipe } from \"src/app/common/pipes/custom-date.pipe\";\r\nimport { DateService } from \"src/app/common/pipes/date.service\";\r\nimport { Converter } from \"src/app/common/static-classes/converters\";\r\nimport { TabModel, TimeRangeContentModel } from \"src/app/features/results/resultView/resultgrid/grid-filter/tab.model\";\r\n\r\n@Component({\r\n  selector: 'app-time-range',\r\n  templateUrl: './time-range.component.html',\r\n  styleUrls: ['./time-range.component.scss']\r\n})\r\nexport class TimeRangeComponent implements OnInit, AfterViewInit {\r\n  @Input() tab: TabModel;\r\n  @Input() tooltipDisabled = true;\r\n  @Output() dateChip: EventEmitter<any> = new EventEmitter();\r\n  minTime: Date;\r\n  maxTime: Date;\r\n  timeFormat: string;\r\n  hourFormat: number;\r\n  @ViewChildren(Calendar, { emitDistinctChangesOnly: false }) public cals: Calendar[];\r\n  constructor(private dateService: DateService, private readonly datePipe: CustomDatePipe) {\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.timeFormat = this.dateService.getCustomLocalTimeFormat(FormatWidth.Short, true);\r\n    this.hourFormat = this.timeFormat.toLowerCase().indexOf('a') > -1 ? 12 : 24;\r\n    if (this.tab.selectedContent instanceof (TimeRangeContentModel)) {\r\n      var selectedContent = this.tab.selectedContent as TimeRangeContentModel;\r\n      if (selectedContent.times.length == 2) {\r\n        this.minTime = Converter.FromTimeStringToDate(selectedContent.times[0]);\r\n        this.maxTime = Converter.FromTimeStringToDate(selectedContent.times[1]);\r\n      }\r\n    }\r\n  }\r\n\r\n  resetValues() {\r\n    this.minTime = undefined;\r\n    this.maxTime = undefined;\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.cals.forEach(calendar => {\r\n      let elem = calendar.inputfieldViewChild.nativeElement;\r\n      elem.addEventListener('click', () => {\r\n        if (!elem.value) {\r\n          calendar.initTime(new Date());\r\n          calendar.value = new Date();\r\n        }\r\n      });\r\n    });\r\n  }\r\n\r\n  onMinTimeSelect(e: any, minTimeEle: Calendar) {\r\n    if (!this.minTime) {\r\n      minTimeEle.clearTimePickerTimer();\r\n      minTimeEle.value = undefined;\r\n    }\r\n\r\n    if (this.minTime) {\r\n      this.minTime.setSeconds(0);\r\n      this.minTime.setMilliseconds(0);\r\n    }\r\n\r\n    if (this.maxTime && this.minTime && this.maxTime < this.minTime) {\r\n      this.minTime = undefined;\r\n      minTimeEle.clearTimePickerTimer();\r\n      minTimeEle.value = undefined;\r\n    }\r\n    this.setOrResetSelectedContent();\r\n  }\r\n\r\n  onMaxTimeSelect(maxTimeEle: Calendar) {\r\n    if (!this.maxTime) {\r\n      maxTimeEle.clearTimePickerTimer();\r\n      maxTimeEle.value = undefined;\r\n    }\r\n    if (this.maxTime) {\r\n      this.maxTime.setSeconds(0);\r\n      this.maxTime.setMilliseconds(0);\r\n    }\r\n    if (this.minTime && this.maxTime && this.maxTime < this.minTime) {\r\n      this.maxTime = undefined;\r\n      maxTimeEle.clearTimePickerTimer();\r\n      maxTimeEle.value = undefined;\r\n    }\r\n    this.setOrResetSelectedContent();\r\n  }\r\n\r\n  private setOrResetSelectedContent() {\r\n    var selectedContent = this.tab.selectedContent as TimeRangeContentModel;\r\n    if (!selectedContent) {\r\n      selectedContent = new TimeRangeContentModel();\r\n    }\r\n    if (!this.minTime || !this.maxTime) {\r\n      selectedContent.times = [];\r\n    } else {\r\n      selectedContent.times = [Converter.ToTimeString(this.minTime), Converter.ToTimeString(this.maxTime)];\r\n    }\r\n    this.tab.selectedContent = selectedContent;\r\n    this.dateChip.emit(this.tab);\r\n  }\r\n\r\n  setTimeFormat(time: Date): string {\r\n    return this.datePipe.transform(time, 'shortTime');\r\n  }\r\n}\r\n","<div class=\"container\">\r\n  <div class=\"one-row col-lg\">\r\n    <label for=\"fromTime\">{{'eiFrom'|translate}}</label>\r\n    <p-calendar #timeMin inputId=\"fromTime\" class=\"control-gap panel-top\" [pTooltip]=\"setTimeFormat(minTime)\" [tooltipDisabled]=\"tooltipDisabled\" tooltipPosition=\"top\" [(ngModel)]=\"minTime\" [timeOnly]=\"true\" [dateFormat]=\"timeFormat\" [hourFormat]=\"hourFormat\" (onClickOutside)=\"onMinTimeSelect($event,timeMin)\" readonlyInput=\"true\"></p-calendar>\r\n  </div>\r\n  <div class=\"one-row col-sm\">-</div>\r\n  <div class=\"one-row col-lg\">\r\n    <label for=\"untilTime\">{{'eiTo'|translate}}</label>\r\n    <p-calendar #timeMax inputId=\"untilTime\" class=\"control-gap panel-top\" [pTooltip]=\"setTimeFormat(maxTime)\" [tooltipDisabled]=\"tooltipDisabled\" tooltipPosition=\"top\" [(ngModel)]=\"maxTime\" [timeOnly]=\"true\" [dateFormat]=\"timeFormat\" [hourFormat]=\"hourFormat\" (onClickOutside)=\"onMaxTimeSelect(timeMax)\" readonlyInput=\"true\"></p-calendar>\r\n  </div>\r\n</div>\r\n","import { Observable } from 'rxjs';\r\nimport { TranslateLoader } from '@ngx-translate/core';\r\nimport { AppConfigService } from '../../core/services/app-config-service';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { DataService } from '../../core/services/data.service';\r\nimport { EventService } from 'src/app/core/services/event.service';\r\nimport { EventTypes } from 'src/app/core/enums/event.types';\r\nexport class CustomTranslationLoader implements TranslateLoader {\r\n\r\n  constructor(\r\n    private http: HttpClient,\r\n    private appConfigService: AppConfigService,\r\n    private dataService: DataService,\r\n    private eventService: EventService) { }\r\n\r\n  public getTranslation(lang: string): Observable<any> {\r\n    const localSource = `assets/translations/${lang}.json`;\r\n    if (this.appConfigService.configuration.translationProvider === 'Api') {\r\n      const translationSource = `${this.appConfigService.configuration.apiConfig.resultsProfileServiceBaseUrl}configuration/translations`;\r\n      return this.dataService.get(translationSource).pipe(\r\n        map((res: any) => {\r\n          this.appConfigService.userLanguageCode = res.languageCode;\r\n\r\n          this.appConfigService.formatCulture = res.formatLanguageCode;\r\n          this.appConfigService.setCurrentCulture(this.appConfigService.formatCulture);\r\n\r\n          return res.translations;\r\n        }), catchError((err: any) => {\r\n          // On Error get translation from local\r\n          return this.http.get(localSource);\r\n        }));\r\n    }\r\n    return this.http.get(localSource);\r\n  }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n    production: false,\r\n    configurationPath: 'assets/app.config.json',\r\n    enableAuthentication: true\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error';  // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule, MATOMO_CONFIG } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nfetch(environment.configurationPath).then(response => response.json()).then((config: any) => {\r\n    // Here include the classic bootstrap process\r\n\r\n    if (environment.production) {\r\n        enableProdMode();\r\n    }\r\n\r\n    // Just add a provider for the config as an argument to platformBrowserDynamic() call:\r\n    platformBrowserDynamic([\r\n        { provide: MATOMO_CONFIG, useValue: config.matomoConfig },\r\n    ])\r\n        .bootstrapModule(AppModule)\r\n        .catch(err => console.error(err));\r\n});","var map = {\n\t\"./af-NA.js\": [\n\t\t23392,\n\t\t\"node_modules_angular_common_locales_global_af-NA_js\"\n\t],\n\t\"./af.js\": [\n\t\t89257,\n\t\t\"node_modules_angular_common_locales_global_af_js\"\n\t],\n\t\"./agq.js\": [\n\t\t86910,\n\t\t\"node_modules_angular_common_locales_global_agq_js\"\n\t],\n\t\"./ak.js\": [\n\t\t41890,\n\t\t\"node_modules_angular_common_locales_global_ak_js\"\n\t],\n\t\"./am.js\": [\n\t\t33575,\n\t\t\"node_modules_angular_common_locales_global_am_js\"\n\t],\n\t\"./ar-AE.js\": [\n\t\t5913,\n\t\t\"node_modules_angular_common_locales_global_ar-AE_js\"\n\t],\n\t\"./ar-BH.js\": [\n\t\t28769,\n\t\t\"node_modules_angular_common_locales_global_ar-BH_js\"\n\t],\n\t\"./ar-DJ.js\": [\n\t\t56867,\n\t\t\"node_modules_angular_common_locales_global_ar-DJ_js\"\n\t],\n\t\"./ar-DZ.js\": [\n\t\t33413,\n\t\t\"node_modules_angular_common_locales_global_ar-DZ_js\"\n\t],\n\t\"./ar-EG.js\": [\n\t\t41519,\n\t\t\"node_modules_angular_common_locales_global_ar-EG_js\"\n\t],\n\t\"./ar-EH.js\": [\n\t\t10158,\n\t\t\"node_modules_angular_common_locales_global_ar-EH_js\"\n\t],\n\t\"./ar-ER.js\": [\n\t\t21734,\n\t\t\"node_modules_angular_common_locales_global_ar-ER_js\"\n\t],\n\t\"./ar-IL.js\": [\n\t\t1927,\n\t\t\"node_modules_angular_common_locales_global_ar-IL_js\"\n\t],\n\t\"./ar-IQ.js\": [\n\t\t1334,\n\t\t\"node_modules_angular_common_locales_global_ar-IQ_js\"\n\t],\n\t\"./ar-JO.js\": [\n\t\t94395,\n\t\t\"node_modules_angular_common_locales_global_ar-JO_js\"\n\t],\n\t\"./ar-KM.js\": [\n\t\t31876,\n\t\t\"node_modules_angular_common_locales_global_ar-KM_js\"\n\t],\n\t\"./ar-KW.js\": [\n\t\t69901,\n\t\t\"node_modules_angular_common_locales_global_ar-KW_js\"\n\t],\n\t\"./ar-LB.js\": [\n\t\t83547,\n\t\t\"node_modules_angular_common_locales_global_ar-LB_js\"\n\t],\n\t\"./ar-LY.js\": [\n\t\t35223,\n\t\t\"node_modules_angular_common_locales_global_ar-LY_js\"\n\t],\n\t\"./ar-MA.js\": [\n\t\t72887,\n\t\t\"node_modules_angular_common_locales_global_ar-MA_js\"\n\t],\n\t\"./ar-MR.js\": [\n\t\t99765,\n\t\t\"node_modules_angular_common_locales_global_ar-MR_js\"\n\t],\n\t\"./ar-OM.js\": [\n\t\t82302,\n\t\t\"node_modules_angular_common_locales_global_ar-OM_js\"\n\t],\n\t\"./ar-PS.js\": [\n\t\t39788,\n\t\t\"node_modules_angular_common_locales_global_ar-PS_js\"\n\t],\n\t\"./ar-QA.js\": [\n\t\t79180,\n\t\t\"node_modules_angular_common_locales_global_ar-QA_js\"\n\t],\n\t\"./ar-SA.js\": [\n\t\t66676,\n\t\t\"node_modules_angular_common_locales_global_ar-SA_js\"\n\t],\n\t\"./ar-SD.js\": [\n\t\t86944,\n\t\t\"node_modules_angular_common_locales_global_ar-SD_js\"\n\t],\n\t\"./ar-SO.js\": [\n\t\t75092,\n\t\t\"node_modules_angular_common_locales_global_ar-SO_js\"\n\t],\n\t\"./ar-SS.js\": [\n\t\t61334,\n\t\t\"node_modules_angular_common_locales_global_ar-SS_js\"\n\t],\n\t\"./ar-SY.js\": [\n\t\t25268,\n\t\t\"node_modules_angular_common_locales_global_ar-SY_js\"\n\t],\n\t\"./ar-TD.js\": [\n\t\t62217,\n\t\t\"node_modules_angular_common_locales_global_ar-TD_js\"\n\t],\n\t\"./ar-TN.js\": [\n\t\t29941,\n\t\t\"node_modules_angular_common_locales_global_ar-TN_js\"\n\t],\n\t\"./ar-YE.js\": [\n\t\t22863,\n\t\t\"node_modules_angular_common_locales_global_ar-YE_js\"\n\t],\n\t\"./ar.js\": [\n\t\t96170,\n\t\t\"node_modules_angular_common_locales_global_ar_js\"\n\t],\n\t\"./as.js\": [\n\t\t24213,\n\t\t\"node_modules_angular_common_locales_global_as_js\"\n\t],\n\t\"./asa.js\": [\n\t\t19092,\n\t\t\"node_modules_angular_common_locales_global_asa_js\"\n\t],\n\t\"./ast.js\": [\n\t\t97545,\n\t\t\"node_modules_angular_common_locales_global_ast_js\"\n\t],\n\t\"./az-Cyrl.js\": [\n\t\t77569,\n\t\t\"node_modules_angular_common_locales_global_az-Cyrl_js\"\n\t],\n\t\"./az-Latn.js\": [\n\t\t62263,\n\t\t\"node_modules_angular_common_locales_global_az-Latn_js\"\n\t],\n\t\"./az.js\": [\n\t\t36181,\n\t\t\"node_modules_angular_common_locales_global_az_js\"\n\t],\n\t\"./bas.js\": [\n\t\t86804,\n\t\t\"node_modules_angular_common_locales_global_bas_js\"\n\t],\n\t\"./be-tarask.js\": [\n\t\t53170,\n\t\t\"node_modules_angular_common_locales_global_be-tarask_js\"\n\t],\n\t\"./be.js\": [\n\t\t31680,\n\t\t\"node_modules_angular_common_locales_global_be_js\"\n\t],\n\t\"./bem.js\": [\n\t\t44085,\n\t\t\"node_modules_angular_common_locales_global_bem_js\"\n\t],\n\t\"./bez.js\": [\n\t\t30478,\n\t\t\"node_modules_angular_common_locales_global_bez_js\"\n\t],\n\t\"./bg.js\": [\n\t\t2202,\n\t\t\"node_modules_angular_common_locales_global_bg_js\"\n\t],\n\t\"./bm.js\": [\n\t\t28188,\n\t\t\"node_modules_angular_common_locales_global_bm_js\"\n\t],\n\t\"./bn-IN.js\": [\n\t\t94898,\n\t\t\"node_modules_angular_common_locales_global_bn-IN_js\"\n\t],\n\t\"./bn.js\": [\n\t\t60892,\n\t\t\"node_modules_angular_common_locales_global_bn_js\"\n\t],\n\t\"./bo-IN.js\": [\n\t\t62187,\n\t\t\"node_modules_angular_common_locales_global_bo-IN_js\"\n\t],\n\t\"./bo.js\": [\n\t\t75633,\n\t\t\"node_modules_angular_common_locales_global_bo_js\"\n\t],\n\t\"./br.js\": [\n\t\t61356,\n\t\t\"node_modules_angular_common_locales_global_br_js\"\n\t],\n\t\"./brx.js\": [\n\t\t48719,\n\t\t\"node_modules_angular_common_locales_global_brx_js\"\n\t],\n\t\"./bs-Cyrl.js\": [\n\t\t1235,\n\t\t\"node_modules_angular_common_locales_global_bs-Cyrl_js\"\n\t],\n\t\"./bs-Latn.js\": [\n\t\t17228,\n\t\t\"node_modules_angular_common_locales_global_bs-Latn_js\"\n\t],\n\t\"./bs.js\": [\n\t\t96564,\n\t\t\"node_modules_angular_common_locales_global_bs_js\"\n\t],\n\t\"./ca-AD.js\": [\n\t\t76644,\n\t\t\"node_modules_angular_common_locales_global_ca-AD_js\"\n\t],\n\t\"./ca-ES-valencia.js\": [\n\t\t50749,\n\t\t\"node_modules_angular_common_locales_global_ca-ES-valencia_js\"\n\t],\n\t\"./ca-FR.js\": [\n\t\t5976,\n\t\t\"node_modules_angular_common_locales_global_ca-FR_js\"\n\t],\n\t\"./ca-IT.js\": [\n\t\t68754,\n\t\t\"node_modules_angular_common_locales_global_ca-IT_js\"\n\t],\n\t\"./ca.js\": [\n\t\t66810,\n\t\t\"node_modules_angular_common_locales_global_ca_js\"\n\t],\n\t\"./ccp-IN.js\": [\n\t\t60469,\n\t\t\"node_modules_angular_common_locales_global_ccp-IN_js\"\n\t],\n\t\"./ccp.js\": [\n\t\t21642,\n\t\t\"node_modules_angular_common_locales_global_ccp_js\"\n\t],\n\t\"./ce.js\": [\n\t\t5892,\n\t\t\"node_modules_angular_common_locales_global_ce_js\"\n\t],\n\t\"./ceb.js\": [\n\t\t82172,\n\t\t\"node_modules_angular_common_locales_global_ceb_js\"\n\t],\n\t\"./cgg.js\": [\n\t\t65653,\n\t\t\"node_modules_angular_common_locales_global_cgg_js\"\n\t],\n\t\"./chr.js\": [\n\t\t92273,\n\t\t\"node_modules_angular_common_locales_global_chr_js\"\n\t],\n\t\"./ckb-IR.js\": [\n\t\t76365,\n\t\t\"node_modules_angular_common_locales_global_ckb-IR_js\"\n\t],\n\t\"./ckb.js\": [\n\t\t23542,\n\t\t\"node_modules_angular_common_locales_global_ckb_js\"\n\t],\n\t\"./cs.js\": [\n\t\t60416,\n\t\t\"node_modules_angular_common_locales_global_cs_js\"\n\t],\n\t\"./cy.js\": [\n\t\t69834,\n\t\t\"node_modules_angular_common_locales_global_cy_js\"\n\t],\n\t\"./da-GL.js\": [\n\t\t23992,\n\t\t\"node_modules_angular_common_locales_global_da-GL_js\"\n\t],\n\t\"./da.js\": [\n\t\t84069,\n\t\t\"node_modules_angular_common_locales_global_da_js\"\n\t],\n\t\"./dav.js\": [\n\t\t2854,\n\t\t\"node_modules_angular_common_locales_global_dav_js\"\n\t],\n\t\"./de-AT.js\": [\n\t\t3919,\n\t\t\"node_modules_angular_common_locales_global_de-AT_js\"\n\t],\n\t\"./de-BE.js\": [\n\t\t5287,\n\t\t\"node_modules_angular_common_locales_global_de-BE_js\"\n\t],\n\t\"./de-CH.js\": [\n\t\t66044,\n\t\t\"node_modules_angular_common_locales_global_de-CH_js\"\n\t],\n\t\"./de-IT.js\": [\n\t\t33652,\n\t\t\"node_modules_angular_common_locales_global_de-IT_js\"\n\t],\n\t\"./de-LI.js\": [\n\t\t27274,\n\t\t\"node_modules_angular_common_locales_global_de-LI_js\"\n\t],\n\t\"./de-LU.js\": [\n\t\t86981,\n\t\t\"node_modules_angular_common_locales_global_de-LU_js\"\n\t],\n\t\"./de.js\": [\n\t\t20404,\n\t\t\"node_modules_angular_common_locales_global_de_js\"\n\t],\n\t\"./dje.js\": [\n\t\t66228,\n\t\t\"node_modules_angular_common_locales_global_dje_js\"\n\t],\n\t\"./doi.js\": [\n\t\t66468,\n\t\t\"node_modules_angular_common_locales_global_doi_js\"\n\t],\n\t\"./dsb.js\": [\n\t\t68340,\n\t\t\"node_modules_angular_common_locales_global_dsb_js\"\n\t],\n\t\"./dua.js\": [\n\t\t33827,\n\t\t\"node_modules_angular_common_locales_global_dua_js\"\n\t],\n\t\"./dyo.js\": [\n\t\t64244,\n\t\t\"node_modules_angular_common_locales_global_dyo_js\"\n\t],\n\t\"./dz.js\": [\n\t\t59837,\n\t\t\"node_modules_angular_common_locales_global_dz_js\"\n\t],\n\t\"./ebu.js\": [\n\t\t73205,\n\t\t\"node_modules_angular_common_locales_global_ebu_js\"\n\t],\n\t\"./ee-TG.js\": [\n\t\t54316,\n\t\t\"node_modules_angular_common_locales_global_ee-TG_js\"\n\t],\n\t\"./ee.js\": [\n\t\t34446,\n\t\t\"node_modules_angular_common_locales_global_ee_js\"\n\t],\n\t\"./el-CY.js\": [\n\t\t6997,\n\t\t\"node_modules_angular_common_locales_global_el-CY_js\"\n\t],\n\t\"./el.js\": [\n\t\t92546,\n\t\t\"node_modules_angular_common_locales_global_el_js\"\n\t],\n\t\"./en-001.js\": [\n\t\t550,\n\t\t\"node_modules_angular_common_locales_global_en-001_js\"\n\t],\n\t\"./en-150.js\": [\n\t\t69003,\n\t\t\"node_modules_angular_common_locales_global_en-150_js\"\n\t],\n\t\"./en-AE.js\": [\n\t\t52668,\n\t\t\"node_modules_angular_common_locales_global_en-AE_js\"\n\t],\n\t\"./en-AG.js\": [\n\t\t44912,\n\t\t\"node_modules_angular_common_locales_global_en-AG_js\"\n\t],\n\t\"./en-AI.js\": [\n\t\t5431,\n\t\t\"node_modules_angular_common_locales_global_en-AI_js\"\n\t],\n\t\"./en-AS.js\": [\n\t\t20797,\n\t\t\"node_modules_angular_common_locales_global_en-AS_js\"\n\t],\n\t\"./en-AT.js\": [\n\t\t42023,\n\t\t\"node_modules_angular_common_locales_global_en-AT_js\"\n\t],\n\t\"./en-AU.js\": [\n\t\t14592,\n\t\t\"node_modules_angular_common_locales_global_en-AU_js\"\n\t],\n\t\"./en-BB.js\": [\n\t\t55426,\n\t\t\"node_modules_angular_common_locales_global_en-BB_js\"\n\t],\n\t\"./en-BE.js\": [\n\t\t43163,\n\t\t\"node_modules_angular_common_locales_global_en-BE_js\"\n\t],\n\t\"./en-BI.js\": [\n\t\t64790,\n\t\t\"node_modules_angular_common_locales_global_en-BI_js\"\n\t],\n\t\"./en-BM.js\": [\n\t\t37555,\n\t\t\"node_modules_angular_common_locales_global_en-BM_js\"\n\t],\n\t\"./en-BS.js\": [\n\t\t43634,\n\t\t\"node_modules_angular_common_locales_global_en-BS_js\"\n\t],\n\t\"./en-BW.js\": [\n\t\t74221,\n\t\t\"node_modules_angular_common_locales_global_en-BW_js\"\n\t],\n\t\"./en-BZ.js\": [\n\t\t7817,\n\t\t\"node_modules_angular_common_locales_global_en-BZ_js\"\n\t],\n\t\"./en-CA.js\": [\n\t\t27763,\n\t\t\"node_modules_angular_common_locales_global_en-CA_js\"\n\t],\n\t\"./en-CC.js\": [\n\t\t31025,\n\t\t\"node_modules_angular_common_locales_global_en-CC_js\"\n\t],\n\t\"./en-CH.js\": [\n\t\t95347,\n\t\t\"node_modules_angular_common_locales_global_en-CH_js\"\n\t],\n\t\"./en-CK.js\": [\n\t\t82919,\n\t\t\"node_modules_angular_common_locales_global_en-CK_js\"\n\t],\n\t\"./en-CM.js\": [\n\t\t49834,\n\t\t\"node_modules_angular_common_locales_global_en-CM_js\"\n\t],\n\t\"./en-CX.js\": [\n\t\t87988,\n\t\t\"node_modules_angular_common_locales_global_en-CX_js\"\n\t],\n\t\"./en-CY.js\": [\n\t\t15484,\n\t\t\"node_modules_angular_common_locales_global_en-CY_js\"\n\t],\n\t\"./en-DE.js\": [\n\t\t47680,\n\t\t\"node_modules_angular_common_locales_global_en-DE_js\"\n\t],\n\t\"./en-DG.js\": [\n\t\t33879,\n\t\t\"node_modules_angular_common_locales_global_en-DG_js\"\n\t],\n\t\"./en-DK.js\": [\n\t\t96243,\n\t\t\"node_modules_angular_common_locales_global_en-DK_js\"\n\t],\n\t\"./en-DM.js\": [\n\t\t83271,\n\t\t\"node_modules_angular_common_locales_global_en-DM_js\"\n\t],\n\t\"./en-ER.js\": [\n\t\t29328,\n\t\t\"node_modules_angular_common_locales_global_en-ER_js\"\n\t],\n\t\"./en-FI.js\": [\n\t\t40305,\n\t\t\"node_modules_angular_common_locales_global_en-FI_js\"\n\t],\n\t\"./en-FJ.js\": [\n\t\t73465,\n\t\t\"node_modules_angular_common_locales_global_en-FJ_js\"\n\t],\n\t\"./en-FK.js\": [\n\t\t18835,\n\t\t\"node_modules_angular_common_locales_global_en-FK_js\"\n\t],\n\t\"./en-FM.js\": [\n\t\t33417,\n\t\t\"node_modules_angular_common_locales_global_en-FM_js\"\n\t],\n\t\"./en-GB.js\": [\n\t\t76945,\n\t\t\"node_modules_angular_common_locales_global_en-GB_js\"\n\t],\n\t\"./en-GD.js\": [\n\t\t14485,\n\t\t\"node_modules_angular_common_locales_global_en-GD_js\"\n\t],\n\t\"./en-GG.js\": [\n\t\t29343,\n\t\t\"node_modules_angular_common_locales_global_en-GG_js\"\n\t],\n\t\"./en-GH.js\": [\n\t\t78174,\n\t\t\"node_modules_angular_common_locales_global_en-GH_js\"\n\t],\n\t\"./en-GI.js\": [\n\t\t8137,\n\t\t\"node_modules_angular_common_locales_global_en-GI_js\"\n\t],\n\t\"./en-GM.js\": [\n\t\t72483,\n\t\t\"node_modules_angular_common_locales_global_en-GM_js\"\n\t],\n\t\"./en-GU.js\": [\n\t\t1034,\n\t\t\"node_modules_angular_common_locales_global_en-GU_js\"\n\t],\n\t\"./en-GY.js\": [\n\t\t58787,\n\t\t\"node_modules_angular_common_locales_global_en-GY_js\"\n\t],\n\t\"./en-HK.js\": [\n\t\t15267,\n\t\t\"node_modules_angular_common_locales_global_en-HK_js\"\n\t],\n\t\"./en-IE.js\": [\n\t\t55455,\n\t\t\"node_modules_angular_common_locales_global_en-IE_js\"\n\t],\n\t\"./en-IL.js\": [\n\t\t45685,\n\t\t\"node_modules_angular_common_locales_global_en-IL_js\"\n\t],\n\t\"./en-IM.js\": [\n\t\t9114,\n\t\t\"node_modules_angular_common_locales_global_en-IM_js\"\n\t],\n\t\"./en-IN.js\": [\n\t\t59444,\n\t\t\"node_modules_angular_common_locales_global_en-IN_js\"\n\t],\n\t\"./en-IO.js\": [\n\t\t15363,\n\t\t\"node_modules_angular_common_locales_global_en-IO_js\"\n\t],\n\t\"./en-JE.js\": [\n\t\t42687,\n\t\t\"node_modules_angular_common_locales_global_en-JE_js\"\n\t],\n\t\"./en-JM.js\": [\n\t\t24756,\n\t\t\"node_modules_angular_common_locales_global_en-JM_js\"\n\t],\n\t\"./en-KE.js\": [\n\t\t78286,\n\t\t\"node_modules_angular_common_locales_global_en-KE_js\"\n\t],\n\t\"./en-KI.js\": [\n\t\t49765,\n\t\t\"node_modules_angular_common_locales_global_en-KI_js\"\n\t],\n\t\"./en-KN.js\": [\n\t\t66777,\n\t\t\"node_modules_angular_common_locales_global_en-KN_js\"\n\t],\n\t\"./en-KY.js\": [\n\t\t36400,\n\t\t\"node_modules_angular_common_locales_global_en-KY_js\"\n\t],\n\t\"./en-LC.js\": [\n\t\t90997,\n\t\t\"node_modules_angular_common_locales_global_en-LC_js\"\n\t],\n\t\"./en-LR.js\": [\n\t\t2465,\n\t\t\"node_modules_angular_common_locales_global_en-LR_js\"\n\t],\n\t\"./en-LS.js\": [\n\t\t77738,\n\t\t\"node_modules_angular_common_locales_global_en-LS_js\"\n\t],\n\t\"./en-MG.js\": [\n\t\t8708,\n\t\t\"node_modules_angular_common_locales_global_en-MG_js\"\n\t],\n\t\"./en-MH.js\": [\n\t\t94697,\n\t\t\"node_modules_angular_common_locales_global_en-MH_js\"\n\t],\n\t\"./en-MO.js\": [\n\t\t71761,\n\t\t\"node_modules_angular_common_locales_global_en-MO_js\"\n\t],\n\t\"./en-MP.js\": [\n\t\t88382,\n\t\t\"node_modules_angular_common_locales_global_en-MP_js\"\n\t],\n\t\"./en-MS.js\": [\n\t\t46446,\n\t\t\"node_modules_angular_common_locales_global_en-MS_js\"\n\t],\n\t\"./en-MT.js\": [\n\t\t6051,\n\t\t\"node_modules_angular_common_locales_global_en-MT_js\"\n\t],\n\t\"./en-MU.js\": [\n\t\t94593,\n\t\t\"node_modules_angular_common_locales_global_en-MU_js\"\n\t],\n\t\"./en-MV.js\": [\n\t\t65680,\n\t\t\"node_modules_angular_common_locales_global_en-MV_js\"\n\t],\n\t\"./en-MW.js\": [\n\t\t10364,\n\t\t\"node_modules_angular_common_locales_global_en-MW_js\"\n\t],\n\t\"./en-MY.js\": [\n\t\t59736,\n\t\t\"node_modules_angular_common_locales_global_en-MY_js\"\n\t],\n\t\"./en-NA.js\": [\n\t\t67044,\n\t\t\"node_modules_angular_common_locales_global_en-NA_js\"\n\t],\n\t\"./en-NF.js\": [\n\t\t60774,\n\t\t\"node_modules_angular_common_locales_global_en-NF_js\"\n\t],\n\t\"./en-NG.js\": [\n\t\t71053,\n\t\t\"node_modules_angular_common_locales_global_en-NG_js\"\n\t],\n\t\"./en-NL.js\": [\n\t\t34484,\n\t\t\"node_modules_angular_common_locales_global_en-NL_js\"\n\t],\n\t\"./en-NR.js\": [\n\t\t1426,\n\t\t\"node_modules_angular_common_locales_global_en-NR_js\"\n\t],\n\t\"./en-NU.js\": [\n\t\t1402,\n\t\t\"node_modules_angular_common_locales_global_en-NU_js\"\n\t],\n\t\"./en-NZ.js\": [\n\t\t33044,\n\t\t\"node_modules_angular_common_locales_global_en-NZ_js\"\n\t],\n\t\"./en-PG.js\": [\n\t\t65054,\n\t\t\"node_modules_angular_common_locales_global_en-PG_js\"\n\t],\n\t\"./en-PH.js\": [\n\t\t32800,\n\t\t\"node_modules_angular_common_locales_global_en-PH_js\"\n\t],\n\t\"./en-PK.js\": [\n\t\t82026,\n\t\t\"node_modules_angular_common_locales_global_en-PK_js\"\n\t],\n\t\"./en-PN.js\": [\n\t\t21172,\n\t\t\"node_modules_angular_common_locales_global_en-PN_js\"\n\t],\n\t\"./en-PR.js\": [\n\t\t51099,\n\t\t\"node_modules_angular_common_locales_global_en-PR_js\"\n\t],\n\t\"./en-PW.js\": [\n\t\t42338,\n\t\t\"node_modules_angular_common_locales_global_en-PW_js\"\n\t],\n\t\"./en-RW.js\": [\n\t\t53165,\n\t\t\"node_modules_angular_common_locales_global_en-RW_js\"\n\t],\n\t\"./en-SB.js\": [\n\t\t892,\n\t\t\"node_modules_angular_common_locales_global_en-SB_js\"\n\t],\n\t\"./en-SC.js\": [\n\t\t35112,\n\t\t\"node_modules_angular_common_locales_global_en-SC_js\"\n\t],\n\t\"./en-SD.js\": [\n\t\t19923,\n\t\t\"node_modules_angular_common_locales_global_en-SD_js\"\n\t],\n\t\"./en-SE.js\": [\n\t\t17015,\n\t\t\"node_modules_angular_common_locales_global_en-SE_js\"\n\t],\n\t\"./en-SG.js\": [\n\t\t94069,\n\t\t\"node_modules_angular_common_locales_global_en-SG_js\"\n\t],\n\t\"./en-SH.js\": [\n\t\t27549,\n\t\t\"node_modules_angular_common_locales_global_en-SH_js\"\n\t],\n\t\"./en-SI.js\": [\n\t\t9414,\n\t\t\"node_modules_angular_common_locales_global_en-SI_js\"\n\t],\n\t\"./en-SL.js\": [\n\t\t99868,\n\t\t\"node_modules_angular_common_locales_global_en-SL_js\"\n\t],\n\t\"./en-SS.js\": [\n\t\t2382,\n\t\t\"node_modules_angular_common_locales_global_en-SS_js\"\n\t],\n\t\"./en-SX.js\": [\n\t\t38103,\n\t\t\"node_modules_angular_common_locales_global_en-SX_js\"\n\t],\n\t\"./en-SZ.js\": [\n\t\t80955,\n\t\t\"node_modules_angular_common_locales_global_en-SZ_js\"\n\t],\n\t\"./en-TC.js\": [\n\t\t11958,\n\t\t\"node_modules_angular_common_locales_global_en-TC_js\"\n\t],\n\t\"./en-TK.js\": [\n\t\t40318,\n\t\t\"node_modules_angular_common_locales_global_en-TK_js\"\n\t],\n\t\"./en-TO.js\": [\n\t\t65371,\n\t\t\"node_modules_angular_common_locales_global_en-TO_js\"\n\t],\n\t\"./en-TT.js\": [\n\t\t87069,\n\t\t\"node_modules_angular_common_locales_global_en-TT_js\"\n\t],\n\t\"./en-TV.js\": [\n\t\t4005,\n\t\t\"node_modules_angular_common_locales_global_en-TV_js\"\n\t],\n\t\"./en-TZ.js\": [\n\t\t11521,\n\t\t\"node_modules_angular_common_locales_global_en-TZ_js\"\n\t],\n\t\"./en-UG.js\": [\n\t\t59915,\n\t\t\"node_modules_angular_common_locales_global_en-UG_js\"\n\t],\n\t\"./en-UM.js\": [\n\t\t21495,\n\t\t\"node_modules_angular_common_locales_global_en-UM_js\"\n\t],\n\t\"./en-VC.js\": [\n\t\t41893,\n\t\t\"node_modules_angular_common_locales_global_en-VC_js\"\n\t],\n\t\"./en-VG.js\": [\n\t\t56338,\n\t\t\"node_modules_angular_common_locales_global_en-VG_js\"\n\t],\n\t\"./en-VI.js\": [\n\t\t94131,\n\t\t\"node_modules_angular_common_locales_global_en-VI_js\"\n\t],\n\t\"./en-VU.js\": [\n\t\t37881,\n\t\t\"node_modules_angular_common_locales_global_en-VU_js\"\n\t],\n\t\"./en-WS.js\": [\n\t\t87870,\n\t\t\"node_modules_angular_common_locales_global_en-WS_js\"\n\t],\n\t\"./en-ZA.js\": [\n\t\t93524,\n\t\t\"node_modules_angular_common_locales_global_en-ZA_js\"\n\t],\n\t\"./en-ZM.js\": [\n\t\t40816,\n\t\t\"node_modules_angular_common_locales_global_en-ZM_js\"\n\t],\n\t\"./en-ZW.js\": [\n\t\t93784,\n\t\t\"node_modules_angular_common_locales_global_en-ZW_js\"\n\t],\n\t\"./en.js\": [\n\t\t90550,\n\t\t\"node_modules_angular_common_locales_global_en_js\"\n\t],\n\t\"./eo.js\": [\n\t\t73590,\n\t\t\"node_modules_angular_common_locales_global_eo_js\"\n\t],\n\t\"./es-419.js\": [\n\t\t98688,\n\t\t\"node_modules_angular_common_locales_global_es-419_js\"\n\t],\n\t\"./es-AR.js\": [\n\t\t45706,\n\t\t\"node_modules_angular_common_locales_global_es-AR_js\"\n\t],\n\t\"./es-BO.js\": [\n\t\t47830,\n\t\t\"node_modules_angular_common_locales_global_es-BO_js\"\n\t],\n\t\"./es-BR.js\": [\n\t\t44697,\n\t\t\"node_modules_angular_common_locales_global_es-BR_js\"\n\t],\n\t\"./es-BZ.js\": [\n\t\t69696,\n\t\t\"node_modules_angular_common_locales_global_es-BZ_js\"\n\t],\n\t\"./es-CL.js\": [\n\t\t48055,\n\t\t\"node_modules_angular_common_locales_global_es-CL_js\"\n\t],\n\t\"./es-CO.js\": [\n\t\t67646,\n\t\t\"node_modules_angular_common_locales_global_es-CO_js\"\n\t],\n\t\"./es-CR.js\": [\n\t\t1527,\n\t\t\"node_modules_angular_common_locales_global_es-CR_js\"\n\t],\n\t\"./es-CU.js\": [\n\t\t65885,\n\t\t\"node_modules_angular_common_locales_global_es-CU_js\"\n\t],\n\t\"./es-DO.js\": [\n\t\t46271,\n\t\t\"node_modules_angular_common_locales_global_es-DO_js\"\n\t],\n\t\"./es-EA.js\": [\n\t\t56111,\n\t\t\"node_modules_angular_common_locales_global_es-EA_js\"\n\t],\n\t\"./es-EC.js\": [\n\t\t28164,\n\t\t\"node_modules_angular_common_locales_global_es-EC_js\"\n\t],\n\t\"./es-GQ.js\": [\n\t\t71108,\n\t\t\"node_modules_angular_common_locales_global_es-GQ_js\"\n\t],\n\t\"./es-GT.js\": [\n\t\t68247,\n\t\t\"node_modules_angular_common_locales_global_es-GT_js\"\n\t],\n\t\"./es-HN.js\": [\n\t\t41881,\n\t\t\"node_modules_angular_common_locales_global_es-HN_js\"\n\t],\n\t\"./es-IC.js\": [\n\t\t10198,\n\t\t\"node_modules_angular_common_locales_global_es-IC_js\"\n\t],\n\t\"./es-MX.js\": [\n\t\t51140,\n\t\t\"node_modules_angular_common_locales_global_es-MX_js\"\n\t],\n\t\"./es-NI.js\": [\n\t\t39774,\n\t\t\"node_modules_angular_common_locales_global_es-NI_js\"\n\t],\n\t\"./es-PA.js\": [\n\t\t2518,\n\t\t\"node_modules_angular_common_locales_global_es-PA_js\"\n\t],\n\t\"./es-PE.js\": [\n\t\t86059,\n\t\t\"node_modules_angular_common_locales_global_es-PE_js\"\n\t],\n\t\"./es-PH.js\": [\n\t\t69871,\n\t\t\"node_modules_angular_common_locales_global_es-PH_js\"\n\t],\n\t\"./es-PR.js\": [\n\t\t85906,\n\t\t\"node_modules_angular_common_locales_global_es-PR_js\"\n\t],\n\t\"./es-PY.js\": [\n\t\t92706,\n\t\t\"node_modules_angular_common_locales_global_es-PY_js\"\n\t],\n\t\"./es-SV.js\": [\n\t\t88855,\n\t\t\"node_modules_angular_common_locales_global_es-SV_js\"\n\t],\n\t\"./es-US.js\": [\n\t\t25186,\n\t\t\"node_modules_angular_common_locales_global_es-US_js\"\n\t],\n\t\"./es-UY.js\": [\n\t\t18880,\n\t\t\"node_modules_angular_common_locales_global_es-UY_js\"\n\t],\n\t\"./es-VE.js\": [\n\t\t43830,\n\t\t\"node_modules_angular_common_locales_global_es-VE_js\"\n\t],\n\t\"./es.js\": [\n\t\t1150,\n\t\t\"node_modules_angular_common_locales_global_es_js\"\n\t],\n\t\"./et.js\": [\n\t\t17280,\n\t\t\"node_modules_angular_common_locales_global_et_js\"\n\t],\n\t\"./eu.js\": [\n\t\t66154,\n\t\t\"node_modules_angular_common_locales_global_eu_js\"\n\t],\n\t\"./ewo.js\": [\n\t\t82868,\n\t\t\"node_modules_angular_common_locales_global_ewo_js\"\n\t],\n\t\"./fa-AF.js\": [\n\t\t46618,\n\t\t\"node_modules_angular_common_locales_global_fa-AF_js\"\n\t],\n\t\"./fa.js\": [\n\t\t40872,\n\t\t\"node_modules_angular_common_locales_global_fa_js\"\n\t],\n\t\"./ff-Adlm-BF.js\": [\n\t\t58431,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-BF_js\"\n\t],\n\t\"./ff-Adlm-CM.js\": [\n\t\t92290,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-CM_js\"\n\t],\n\t\"./ff-Adlm-GH.js\": [\n\t\t18949,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-GH_js\"\n\t],\n\t\"./ff-Adlm-GM.js\": [\n\t\t61183,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-GM_js\"\n\t],\n\t\"./ff-Adlm-GW.js\": [\n\t\t33168,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-GW_js\"\n\t],\n\t\"./ff-Adlm-LR.js\": [\n\t\t41847,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-LR_js\"\n\t],\n\t\"./ff-Adlm-MR.js\": [\n\t\t5593,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-MR_js\"\n\t],\n\t\"./ff-Adlm-NE.js\": [\n\t\t63499,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-NE_js\"\n\t],\n\t\"./ff-Adlm-NG.js\": [\n\t\t4578,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-NG_js\"\n\t],\n\t\"./ff-Adlm-SL.js\": [\n\t\t30384,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-SL_js\"\n\t],\n\t\"./ff-Adlm-SN.js\": [\n\t\t83773,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm-SN_js\"\n\t],\n\t\"./ff-Adlm.js\": [\n\t\t52716,\n\t\t\"node_modules_angular_common_locales_global_ff-Adlm_js\"\n\t],\n\t\"./ff-CM.js\": [\n\t\t22766,\n\t\t\"node_modules_angular_common_locales_global_ff-CM_js\"\n\t],\n\t\"./ff-GN.js\": [\n\t\t87814,\n\t\t\"node_modules_angular_common_locales_global_ff-GN_js\"\n\t],\n\t\"./ff-Latn-BF.js\": [\n\t\t1971,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-BF_js\"\n\t],\n\t\"./ff-Latn-CM.js\": [\n\t\t96256,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-CM_js\"\n\t],\n\t\"./ff-Latn-GH.js\": [\n\t\t28825,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-GH_js\"\n\t],\n\t\"./ff-Latn-GM.js\": [\n\t\t7762,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-GM_js\"\n\t],\n\t\"./ff-Latn-GN.js\": [\n\t\t47279,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-GN_js\"\n\t],\n\t\"./ff-Latn-GW.js\": [\n\t\t80594,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-GW_js\"\n\t],\n\t\"./ff-Latn-LR.js\": [\n\t\t85751,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-LR_js\"\n\t],\n\t\"./ff-Latn-MR.js\": [\n\t\t68188,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-MR_js\"\n\t],\n\t\"./ff-Latn-NE.js\": [\n\t\t28272,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-NE_js\"\n\t],\n\t\"./ff-Latn-NG.js\": [\n\t\t2387,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-NG_js\"\n\t],\n\t\"./ff-Latn-SL.js\": [\n\t\t34669,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn-SL_js\"\n\t],\n\t\"./ff-Latn.js\": [\n\t\t90509,\n\t\t\"node_modules_angular_common_locales_global_ff-Latn_js\"\n\t],\n\t\"./ff-MR.js\": [\n\t\t56452,\n\t\t\"node_modules_angular_common_locales_global_ff-MR_js\"\n\t],\n\t\"./ff.js\": [\n\t\t98562,\n\t\t\"node_modules_angular_common_locales_global_ff_js\"\n\t],\n\t\"./fi.js\": [\n\t\t4783,\n\t\t\"node_modules_angular_common_locales_global_fi_js\"\n\t],\n\t\"./fil.js\": [\n\t\t64519,\n\t\t\"node_modules_angular_common_locales_global_fil_js\"\n\t],\n\t\"./fo-DK.js\": [\n\t\t65679,\n\t\t\"node_modules_angular_common_locales_global_fo-DK_js\"\n\t],\n\t\"./fo.js\": [\n\t\t73887,\n\t\t\"node_modules_angular_common_locales_global_fo_js\"\n\t],\n\t\"./fr-BE.js\": [\n\t\t31638,\n\t\t\"node_modules_angular_common_locales_global_fr-BE_js\"\n\t],\n\t\"./fr-BF.js\": [\n\t\t84067,\n\t\t\"node_modules_angular_common_locales_global_fr-BF_js\"\n\t],\n\t\"./fr-BI.js\": [\n\t\t6618,\n\t\t\"node_modules_angular_common_locales_global_fr-BI_js\"\n\t],\n\t\"./fr-BJ.js\": [\n\t\t39478,\n\t\t\"node_modules_angular_common_locales_global_fr-BJ_js\"\n\t],\n\t\"./fr-BL.js\": [\n\t\t4817,\n\t\t\"node_modules_angular_common_locales_global_fr-BL_js\"\n\t],\n\t\"./fr-CA.js\": [\n\t\t1647,\n\t\t\"node_modules_angular_common_locales_global_fr-CA_js\"\n\t],\n\t\"./fr-CD.js\": [\n\t\t4261,\n\t\t\"node_modules_angular_common_locales_global_fr-CD_js\"\n\t],\n\t\"./fr-CF.js\": [\n\t\t12296,\n\t\t\"node_modules_angular_common_locales_global_fr-CF_js\"\n\t],\n\t\"./fr-CG.js\": [\n\t\t30529,\n\t\t\"node_modules_angular_common_locales_global_fr-CG_js\"\n\t],\n\t\"./fr-CH.js\": [\n\t\t27394,\n\t\t\"node_modules_angular_common_locales_global_fr-CH_js\"\n\t],\n\t\"./fr-CI.js\": [\n\t\t75949,\n\t\t\"node_modules_angular_common_locales_global_fr-CI_js\"\n\t],\n\t\"./fr-CM.js\": [\n\t\t70239,\n\t\t\"node_modules_angular_common_locales_global_fr-CM_js\"\n\t],\n\t\"./fr-DJ.js\": [\n\t\t58016,\n\t\t\"node_modules_angular_common_locales_global_fr-DJ_js\"\n\t],\n\t\"./fr-DZ.js\": [\n\t\t18165,\n\t\t\"node_modules_angular_common_locales_global_fr-DZ_js\"\n\t],\n\t\"./fr-GA.js\": [\n\t\t98552,\n\t\t\"node_modules_angular_common_locales_global_fr-GA_js\"\n\t],\n\t\"./fr-GF.js\": [\n\t\t32091,\n\t\t\"node_modules_angular_common_locales_global_fr-GF_js\"\n\t],\n\t\"./fr-GN.js\": [\n\t\t78301,\n\t\t\"node_modules_angular_common_locales_global_fr-GN_js\"\n\t],\n\t\"./fr-GP.js\": [\n\t\t22956,\n\t\t\"node_modules_angular_common_locales_global_fr-GP_js\"\n\t],\n\t\"./fr-GQ.js\": [\n\t\t17076,\n\t\t\"node_modules_angular_common_locales_global_fr-GQ_js\"\n\t],\n\t\"./fr-HT.js\": [\n\t\t88020,\n\t\t\"node_modules_angular_common_locales_global_fr-HT_js\"\n\t],\n\t\"./fr-KM.js\": [\n\t\t56535,\n\t\t\"node_modules_angular_common_locales_global_fr-KM_js\"\n\t],\n\t\"./fr-LU.js\": [\n\t\t56506,\n\t\t\"node_modules_angular_common_locales_global_fr-LU_js\"\n\t],\n\t\"./fr-MA.js\": [\n\t\t18133,\n\t\t\"node_modules_angular_common_locales_global_fr-MA_js\"\n\t],\n\t\"./fr-MC.js\": [\n\t\t81451,\n\t\t\"node_modules_angular_common_locales_global_fr-MC_js\"\n\t],\n\t\"./fr-MF.js\": [\n\t\t32770,\n\t\t\"node_modules_angular_common_locales_global_fr-MF_js\"\n\t],\n\t\"./fr-MG.js\": [\n\t\t26709,\n\t\t\"node_modules_angular_common_locales_global_fr-MG_js\"\n\t],\n\t\"./fr-ML.js\": [\n\t\t19309,\n\t\t\"node_modules_angular_common_locales_global_fr-ML_js\"\n\t],\n\t\"./fr-MQ.js\": [\n\t\t28922,\n\t\t\"node_modules_angular_common_locales_global_fr-MQ_js\"\n\t],\n\t\"./fr-MR.js\": [\n\t\t132,\n\t\t\"node_modules_angular_common_locales_global_fr-MR_js\"\n\t],\n\t\"./fr-MU.js\": [\n\t\t15313,\n\t\t\"node_modules_angular_common_locales_global_fr-MU_js\"\n\t],\n\t\"./fr-NC.js\": [\n\t\t79993,\n\t\t\"node_modules_angular_common_locales_global_fr-NC_js\"\n\t],\n\t\"./fr-NE.js\": [\n\t\t9560,\n\t\t\"node_modules_angular_common_locales_global_fr-NE_js\"\n\t],\n\t\"./fr-PF.js\": [\n\t\t491,\n\t\t\"node_modules_angular_common_locales_global_fr-PF_js\"\n\t],\n\t\"./fr-PM.js\": [\n\t\t8768,\n\t\t\"node_modules_angular_common_locales_global_fr-PM_js\"\n\t],\n\t\"./fr-RE.js\": [\n\t\t18606,\n\t\t\"node_modules_angular_common_locales_global_fr-RE_js\"\n\t],\n\t\"./fr-RW.js\": [\n\t\t91670,\n\t\t\"node_modules_angular_common_locales_global_fr-RW_js\"\n\t],\n\t\"./fr-SC.js\": [\n\t\t70023,\n\t\t\"node_modules_angular_common_locales_global_fr-SC_js\"\n\t],\n\t\"./fr-SN.js\": [\n\t\t65225,\n\t\t\"node_modules_angular_common_locales_global_fr-SN_js\"\n\t],\n\t\"./fr-SY.js\": [\n\t\t88879,\n\t\t\"node_modules_angular_common_locales_global_fr-SY_js\"\n\t],\n\t\"./fr-TD.js\": [\n\t\t40500,\n\t\t\"node_modules_angular_common_locales_global_fr-TD_js\"\n\t],\n\t\"./fr-TG.js\": [\n\t\t22618,\n\t\t\"node_modules_angular_common_locales_global_fr-TG_js\"\n\t],\n\t\"./fr-TN.js\": [\n\t\t38339,\n\t\t\"node_modules_angular_common_locales_global_fr-TN_js\"\n\t],\n\t\"./fr-VU.js\": [\n\t\t36931,\n\t\t\"node_modules_angular_common_locales_global_fr-VU_js\"\n\t],\n\t\"./fr-WF.js\": [\n\t\t85135,\n\t\t\"node_modules_angular_common_locales_global_fr-WF_js\"\n\t],\n\t\"./fr-YT.js\": [\n\t\t34371,\n\t\t\"node_modules_angular_common_locales_global_fr-YT_js\"\n\t],\n\t\"./fr.js\": [\n\t\t15132,\n\t\t\"node_modules_angular_common_locales_global_fr_js\"\n\t],\n\t\"./fur.js\": [\n\t\t71800,\n\t\t\"node_modules_angular_common_locales_global_fur_js\"\n\t],\n\t\"./fy.js\": [\n\t\t6301,\n\t\t\"node_modules_angular_common_locales_global_fy_js\"\n\t],\n\t\"./ga-GB.js\": [\n\t\t61948,\n\t\t\"node_modules_angular_common_locales_global_ga-GB_js\"\n\t],\n\t\"./ga.js\": [\n\t\t16307,\n\t\t\"node_modules_angular_common_locales_global_ga_js\"\n\t],\n\t\"./gd.js\": [\n\t\t64624,\n\t\t\"node_modules_angular_common_locales_global_gd_js\"\n\t],\n\t\"./gl.js\": [\n\t\t41026,\n\t\t\"node_modules_angular_common_locales_global_gl_js\"\n\t],\n\t\"./gsw-FR.js\": [\n\t\t81220,\n\t\t\"node_modules_angular_common_locales_global_gsw-FR_js\"\n\t],\n\t\"./gsw-LI.js\": [\n\t\t43805,\n\t\t\"node_modules_angular_common_locales_global_gsw-LI_js\"\n\t],\n\t\"./gsw.js\": [\n\t\t24879,\n\t\t\"node_modules_angular_common_locales_global_gsw_js\"\n\t],\n\t\"./gu.js\": [\n\t\t79110,\n\t\t\"node_modules_angular_common_locales_global_gu_js\"\n\t],\n\t\"./guz.js\": [\n\t\t61520,\n\t\t\"node_modules_angular_common_locales_global_guz_js\"\n\t],\n\t\"./gv.js\": [\n\t\t46567,\n\t\t\"node_modules_angular_common_locales_global_gv_js\"\n\t],\n\t\"./ha-GH.js\": [\n\t\t68099,\n\t\t\"node_modules_angular_common_locales_global_ha-GH_js\"\n\t],\n\t\"./ha-NE.js\": [\n\t\t62742,\n\t\t\"node_modules_angular_common_locales_global_ha-NE_js\"\n\t],\n\t\"./ha.js\": [\n\t\t37466,\n\t\t\"node_modules_angular_common_locales_global_ha_js\"\n\t],\n\t\"./haw.js\": [\n\t\t90014,\n\t\t\"node_modules_angular_common_locales_global_haw_js\"\n\t],\n\t\"./he.js\": [\n\t\t67534,\n\t\t\"node_modules_angular_common_locales_global_he_js\"\n\t],\n\t\"./hi-Latn.js\": [\n\t\t22818,\n\t\t\"node_modules_angular_common_locales_global_hi-Latn_js\"\n\t],\n\t\"./hi.js\": [\n\t\t86143,\n\t\t\"node_modules_angular_common_locales_global_hi_js\"\n\t],\n\t\"./hr-BA.js\": [\n\t\t42857,\n\t\t\"node_modules_angular_common_locales_global_hr-BA_js\"\n\t],\n\t\"./hr.js\": [\n\t\t69392,\n\t\t\"node_modules_angular_common_locales_global_hr_js\"\n\t],\n\t\"./hsb.js\": [\n\t\t32083,\n\t\t\"node_modules_angular_common_locales_global_hsb_js\"\n\t],\n\t\"./hu.js\": [\n\t\t45426,\n\t\t\"node_modules_angular_common_locales_global_hu_js\"\n\t],\n\t\"./hy.js\": [\n\t\t46307,\n\t\t\"node_modules_angular_common_locales_global_hy_js\"\n\t],\n\t\"./ia.js\": [\n\t\t88661,\n\t\t\"node_modules_angular_common_locales_global_ia_js\"\n\t],\n\t\"./id.js\": [\n\t\t82329,\n\t\t\"node_modules_angular_common_locales_global_id_js\"\n\t],\n\t\"./ig.js\": [\n\t\t13819,\n\t\t\"node_modules_angular_common_locales_global_ig_js\"\n\t],\n\t\"./ii.js\": [\n\t\t79501,\n\t\t\"node_modules_angular_common_locales_global_ii_js\"\n\t],\n\t\"./is.js\": [\n\t\t67591,\n\t\t\"node_modules_angular_common_locales_global_is_js\"\n\t],\n\t\"./it-CH.js\": [\n\t\t18177,\n\t\t\"node_modules_angular_common_locales_global_it-CH_js\"\n\t],\n\t\"./it-SM.js\": [\n\t\t33485,\n\t\t\"node_modules_angular_common_locales_global_it-SM_js\"\n\t],\n\t\"./it-VA.js\": [\n\t\t49069,\n\t\t\"node_modules_angular_common_locales_global_it-VA_js\"\n\t],\n\t\"./it.js\": [\n\t\t8922,\n\t\t\"node_modules_angular_common_locales_global_it_js\"\n\t],\n\t\"./ja.js\": [\n\t\t55288,\n\t\t\"node_modules_angular_common_locales_global_ja_js\"\n\t],\n\t\"./jgo.js\": [\n\t\t75582,\n\t\t\"node_modules_angular_common_locales_global_jgo_js\"\n\t],\n\t\"./jmc.js\": [\n\t\t86334,\n\t\t\"node_modules_angular_common_locales_global_jmc_js\"\n\t],\n\t\"./jv.js\": [\n\t\t17211,\n\t\t\"node_modules_angular_common_locales_global_jv_js\"\n\t],\n\t\"./ka.js\": [\n\t\t66337,\n\t\t\"node_modules_angular_common_locales_global_ka_js\"\n\t],\n\t\"./kab.js\": [\n\t\t99850,\n\t\t\"node_modules_angular_common_locales_global_kab_js\"\n\t],\n\t\"./kam.js\": [\n\t\t68401,\n\t\t\"node_modules_angular_common_locales_global_kam_js\"\n\t],\n\t\"./kde.js\": [\n\t\t88839,\n\t\t\"node_modules_angular_common_locales_global_kde_js\"\n\t],\n\t\"./kea.js\": [\n\t\t46317,\n\t\t\"node_modules_angular_common_locales_global_kea_js\"\n\t],\n\t\"./kgp.js\": [\n\t\t54452,\n\t\t\"node_modules_angular_common_locales_global_kgp_js\"\n\t],\n\t\"./khq.js\": [\n\t\t90110,\n\t\t\"node_modules_angular_common_locales_global_khq_js\"\n\t],\n\t\"./ki.js\": [\n\t\t35647,\n\t\t\"node_modules_angular_common_locales_global_ki_js\"\n\t],\n\t\"./kk.js\": [\n\t\t60486,\n\t\t\"node_modules_angular_common_locales_global_kk_js\"\n\t],\n\t\"./kkj.js\": [\n\t\t43955,\n\t\t\"node_modules_angular_common_locales_global_kkj_js\"\n\t],\n\t\"./kl.js\": [\n\t\t61113,\n\t\t\"node_modules_angular_common_locales_global_kl_js\"\n\t],\n\t\"./kln.js\": [\n\t\t16714,\n\t\t\"node_modules_angular_common_locales_global_kln_js\"\n\t],\n\t\"./km.js\": [\n\t\t84490,\n\t\t\"node_modules_angular_common_locales_global_km_js\"\n\t],\n\t\"./kn.js\": [\n\t\t80018,\n\t\t\"node_modules_angular_common_locales_global_kn_js\"\n\t],\n\t\"./ko-KP.js\": [\n\t\t93866,\n\t\t\"node_modules_angular_common_locales_global_ko-KP_js\"\n\t],\n\t\"./ko.js\": [\n\t\t46173,\n\t\t\"node_modules_angular_common_locales_global_ko_js\"\n\t],\n\t\"./kok.js\": [\n\t\t10521,\n\t\t\"node_modules_angular_common_locales_global_kok_js\"\n\t],\n\t\"./ks-Arab.js\": [\n\t\t99425,\n\t\t\"node_modules_angular_common_locales_global_ks-Arab_js\"\n\t],\n\t\"./ks-Deva.js\": [\n\t\t18657,\n\t\t\"node_modules_angular_common_locales_global_ks-Deva_js\"\n\t],\n\t\"./ks.js\": [\n\t\t86074,\n\t\t\"node_modules_angular_common_locales_global_ks_js\"\n\t],\n\t\"./ksb.js\": [\n\t\t31169,\n\t\t\"node_modules_angular_common_locales_global_ksb_js\"\n\t],\n\t\"./ksf.js\": [\n\t\t82961,\n\t\t\"node_modules_angular_common_locales_global_ksf_js\"\n\t],\n\t\"./ksh.js\": [\n\t\t36910,\n\t\t\"node_modules_angular_common_locales_global_ksh_js\"\n\t],\n\t\"./ku.js\": [\n\t\t74283,\n\t\t\"node_modules_angular_common_locales_global_ku_js\"\n\t],\n\t\"./kw.js\": [\n\t\t75536,\n\t\t\"node_modules_angular_common_locales_global_kw_js\"\n\t],\n\t\"./ky.js\": [\n\t\t1180,\n\t\t\"node_modules_angular_common_locales_global_ky_js\"\n\t],\n\t\"./lag.js\": [\n\t\t30683,\n\t\t\"node_modules_angular_common_locales_global_lag_js\"\n\t],\n\t\"./lb.js\": [\n\t\t25764,\n\t\t\"node_modules_angular_common_locales_global_lb_js\"\n\t],\n\t\"./lg.js\": [\n\t\t84851,\n\t\t\"node_modules_angular_common_locales_global_lg_js\"\n\t],\n\t\"./lkt.js\": [\n\t\t67997,\n\t\t\"node_modules_angular_common_locales_global_lkt_js\"\n\t],\n\t\"./ln-AO.js\": [\n\t\t37861,\n\t\t\"node_modules_angular_common_locales_global_ln-AO_js\"\n\t],\n\t\"./ln-CF.js\": [\n\t\t72620,\n\t\t\"node_modules_angular_common_locales_global_ln-CF_js\"\n\t],\n\t\"./ln-CG.js\": [\n\t\t40880,\n\t\t\"node_modules_angular_common_locales_global_ln-CG_js\"\n\t],\n\t\"./ln.js\": [\n\t\t80663,\n\t\t\"node_modules_angular_common_locales_global_ln_js\"\n\t],\n\t\"./lo.js\": [\n\t\t7571,\n\t\t\"node_modules_angular_common_locales_global_lo_js\"\n\t],\n\t\"./lrc-IQ.js\": [\n\t\t43373,\n\t\t\"node_modules_angular_common_locales_global_lrc-IQ_js\"\n\t],\n\t\"./lrc.js\": [\n\t\t85328,\n\t\t\"node_modules_angular_common_locales_global_lrc_js\"\n\t],\n\t\"./lt.js\": [\n\t\t85042,\n\t\t\"node_modules_angular_common_locales_global_lt_js\"\n\t],\n\t\"./lu.js\": [\n\t\t37784,\n\t\t\"node_modules_angular_common_locales_global_lu_js\"\n\t],\n\t\"./luo.js\": [\n\t\t69452,\n\t\t\"node_modules_angular_common_locales_global_luo_js\"\n\t],\n\t\"./luy.js\": [\n\t\t63800,\n\t\t\"node_modules_angular_common_locales_global_luy_js\"\n\t],\n\t\"./lv.js\": [\n\t\t76505,\n\t\t\"node_modules_angular_common_locales_global_lv_js\"\n\t],\n\t\"./mai.js\": [\n\t\t3409,\n\t\t\"node_modules_angular_common_locales_global_mai_js\"\n\t],\n\t\"./mas-TZ.js\": [\n\t\t98172,\n\t\t\"node_modules_angular_common_locales_global_mas-TZ_js\"\n\t],\n\t\"./mas.js\": [\n\t\t2863,\n\t\t\"node_modules_angular_common_locales_global_mas_js\"\n\t],\n\t\"./mer.js\": [\n\t\t52673,\n\t\t\"node_modules_angular_common_locales_global_mer_js\"\n\t],\n\t\"./mfe.js\": [\n\t\t48090,\n\t\t\"node_modules_angular_common_locales_global_mfe_js\"\n\t],\n\t\"./mg.js\": [\n\t\t84235,\n\t\t\"node_modules_angular_common_locales_global_mg_js\"\n\t],\n\t\"./mgh.js\": [\n\t\t79033,\n\t\t\"node_modules_angular_common_locales_global_mgh_js\"\n\t],\n\t\"./mgo.js\": [\n\t\t46956,\n\t\t\"node_modules_angular_common_locales_global_mgo_js\"\n\t],\n\t\"./mi.js\": [\n\t\t7649,\n\t\t\"node_modules_angular_common_locales_global_mi_js\"\n\t],\n\t\"./mk.js\": [\n\t\t50654,\n\t\t\"node_modules_angular_common_locales_global_mk_js\"\n\t],\n\t\"./ml.js\": [\n\t\t87457,\n\t\t\"node_modules_angular_common_locales_global_ml_js\"\n\t],\n\t\"./mn.js\": [\n\t\t78959,\n\t\t\"node_modules_angular_common_locales_global_mn_js\"\n\t],\n\t\"./mni-Beng.js\": [\n\t\t37321,\n\t\t\"node_modules_angular_common_locales_global_mni-Beng_js\"\n\t],\n\t\"./mni.js\": [\n\t\t1574,\n\t\t\"node_modules_angular_common_locales_global_mni_js\"\n\t],\n\t\"./mr.js\": [\n\t\t46886,\n\t\t\"node_modules_angular_common_locales_global_mr_js\"\n\t],\n\t\"./ms-BN.js\": [\n\t\t53395,\n\t\t\"node_modules_angular_common_locales_global_ms-BN_js\"\n\t],\n\t\"./ms-ID.js\": [\n\t\t88902,\n\t\t\"node_modules_angular_common_locales_global_ms-ID_js\"\n\t],\n\t\"./ms-SG.js\": [\n\t\t38814,\n\t\t\"node_modules_angular_common_locales_global_ms-SG_js\"\n\t],\n\t\"./ms.js\": [\n\t\t62005,\n\t\t\"node_modules_angular_common_locales_global_ms_js\"\n\t],\n\t\"./mt.js\": [\n\t\t81385,\n\t\t\"node_modules_angular_common_locales_global_mt_js\"\n\t],\n\t\"./mua.js\": [\n\t\t94837,\n\t\t\"node_modules_angular_common_locales_global_mua_js\"\n\t],\n\t\"./my.js\": [\n\t\t24799,\n\t\t\"node_modules_angular_common_locales_global_my_js\"\n\t],\n\t\"./mzn.js\": [\n\t\t28463,\n\t\t\"node_modules_angular_common_locales_global_mzn_js\"\n\t],\n\t\"./naq.js\": [\n\t\t57822,\n\t\t\"node_modules_angular_common_locales_global_naq_js\"\n\t],\n\t\"./nb-SJ.js\": [\n\t\t39622,\n\t\t\"node_modules_angular_common_locales_global_nb-SJ_js\"\n\t],\n\t\"./nb.js\": [\n\t\t3481,\n\t\t\"node_modules_angular_common_locales_global_nb_js\"\n\t],\n\t\"./nd.js\": [\n\t\t30726,\n\t\t\"node_modules_angular_common_locales_global_nd_js\"\n\t],\n\t\"./nds-NL.js\": [\n\t\t19081,\n\t\t\"node_modules_angular_common_locales_global_nds-NL_js\"\n\t],\n\t\"./nds.js\": [\n\t\t75971,\n\t\t\"node_modules_angular_common_locales_global_nds_js\"\n\t],\n\t\"./ne-IN.js\": [\n\t\t4119,\n\t\t\"node_modules_angular_common_locales_global_ne-IN_js\"\n\t],\n\t\"./ne.js\": [\n\t\t11254,\n\t\t\"node_modules_angular_common_locales_global_ne_js\"\n\t],\n\t\"./nl-AW.js\": [\n\t\t37326,\n\t\t\"node_modules_angular_common_locales_global_nl-AW_js\"\n\t],\n\t\"./nl-BE.js\": [\n\t\t96148,\n\t\t\"node_modules_angular_common_locales_global_nl-BE_js\"\n\t],\n\t\"./nl-BQ.js\": [\n\t\t32550,\n\t\t\"node_modules_angular_common_locales_global_nl-BQ_js\"\n\t],\n\t\"./nl-CW.js\": [\n\t\t19343,\n\t\t\"node_modules_angular_common_locales_global_nl-CW_js\"\n\t],\n\t\"./nl-SR.js\": [\n\t\t89088,\n\t\t\"node_modules_angular_common_locales_global_nl-SR_js\"\n\t],\n\t\"./nl-SX.js\": [\n\t\t53040,\n\t\t\"node_modules_angular_common_locales_global_nl-SX_js\"\n\t],\n\t\"./nl.js\": [\n\t\t23679,\n\t\t\"node_modules_angular_common_locales_global_nl_js\"\n\t],\n\t\"./nmg.js\": [\n\t\t39668,\n\t\t\"node_modules_angular_common_locales_global_nmg_js\"\n\t],\n\t\"./nn.js\": [\n\t\t93849,\n\t\t\"node_modules_angular_common_locales_global_nn_js\"\n\t],\n\t\"./nnh.js\": [\n\t\t93619,\n\t\t\"node_modules_angular_common_locales_global_nnh_js\"\n\t],\n\t\"./no.js\": [\n\t\t83560,\n\t\t\"node_modules_angular_common_locales_global_no_js\"\n\t],\n\t\"./nus.js\": [\n\t\t25582,\n\t\t\"node_modules_angular_common_locales_global_nus_js\"\n\t],\n\t\"./nyn.js\": [\n\t\t88472,\n\t\t\"node_modules_angular_common_locales_global_nyn_js\"\n\t],\n\t\"./om-KE.js\": [\n\t\t27674,\n\t\t\"node_modules_angular_common_locales_global_om-KE_js\"\n\t],\n\t\"./om.js\": [\n\t\t32544,\n\t\t\"node_modules_angular_common_locales_global_om_js\"\n\t],\n\t\"./or.js\": [\n\t\t92012,\n\t\t\"node_modules_angular_common_locales_global_or_js\"\n\t],\n\t\"./os-RU.js\": [\n\t\t93908,\n\t\t\"node_modules_angular_common_locales_global_os-RU_js\"\n\t],\n\t\"./os.js\": [\n\t\t77226,\n\t\t\"node_modules_angular_common_locales_global_os_js\"\n\t],\n\t\"./pa-Arab.js\": [\n\t\t45680,\n\t\t\"node_modules_angular_common_locales_global_pa-Arab_js\"\n\t],\n\t\"./pa-Guru.js\": [\n\t\t34029,\n\t\t\"node_modules_angular_common_locales_global_pa-Guru_js\"\n\t],\n\t\"./pa.js\": [\n\t\t37680,\n\t\t\"node_modules_angular_common_locales_global_pa_js\"\n\t],\n\t\"./pcm.js\": [\n\t\t92686,\n\t\t\"node_modules_angular_common_locales_global_pcm_js\"\n\t],\n\t\"./pl.js\": [\n\t\t18592,\n\t\t\"node_modules_angular_common_locales_global_pl_js\"\n\t],\n\t\"./ps-PK.js\": [\n\t\t18761,\n\t\t\"node_modules_angular_common_locales_global_ps-PK_js\"\n\t],\n\t\"./ps.js\": [\n\t\t70038,\n\t\t\"node_modules_angular_common_locales_global_ps_js\"\n\t],\n\t\"./pt-AO.js\": [\n\t\t88323,\n\t\t\"node_modules_angular_common_locales_global_pt-AO_js\"\n\t],\n\t\"./pt-CH.js\": [\n\t\t17116,\n\t\t\"node_modules_angular_common_locales_global_pt-CH_js\"\n\t],\n\t\"./pt-CV.js\": [\n\t\t49932,\n\t\t\"node_modules_angular_common_locales_global_pt-CV_js\"\n\t],\n\t\"./pt-GQ.js\": [\n\t\t41162,\n\t\t\"node_modules_angular_common_locales_global_pt-GQ_js\"\n\t],\n\t\"./pt-GW.js\": [\n\t\t5043,\n\t\t\"node_modules_angular_common_locales_global_pt-GW_js\"\n\t],\n\t\"./pt-LU.js\": [\n\t\t7342,\n\t\t\"node_modules_angular_common_locales_global_pt-LU_js\"\n\t],\n\t\"./pt-MO.js\": [\n\t\t62433,\n\t\t\"node_modules_angular_common_locales_global_pt-MO_js\"\n\t],\n\t\"./pt-MZ.js\": [\n\t\t1459,\n\t\t\"node_modules_angular_common_locales_global_pt-MZ_js\"\n\t],\n\t\"./pt-PT.js\": [\n\t\t79369,\n\t\t\"node_modules_angular_common_locales_global_pt-PT_js\"\n\t],\n\t\"./pt-ST.js\": [\n\t\t71814,\n\t\t\"node_modules_angular_common_locales_global_pt-ST_js\"\n\t],\n\t\"./pt-TL.js\": [\n\t\t40505,\n\t\t\"node_modules_angular_common_locales_global_pt-TL_js\"\n\t],\n\t\"./pt.js\": [\n\t\t87141,\n\t\t\"node_modules_angular_common_locales_global_pt_js\"\n\t],\n\t\"./qu-BO.js\": [\n\t\t10582,\n\t\t\"node_modules_angular_common_locales_global_qu-BO_js\"\n\t],\n\t\"./qu-EC.js\": [\n\t\t89552,\n\t\t\"node_modules_angular_common_locales_global_qu-EC_js\"\n\t],\n\t\"./qu.js\": [\n\t\t15000,\n\t\t\"node_modules_angular_common_locales_global_qu_js\"\n\t],\n\t\"./rm.js\": [\n\t\t74005,\n\t\t\"node_modules_angular_common_locales_global_rm_js\"\n\t],\n\t\"./rn.js\": [\n\t\t7810,\n\t\t\"node_modules_angular_common_locales_global_rn_js\"\n\t],\n\t\"./ro-MD.js\": [\n\t\t76918,\n\t\t\"node_modules_angular_common_locales_global_ro-MD_js\"\n\t],\n\t\"./ro.js\": [\n\t\t30595,\n\t\t\"node_modules_angular_common_locales_global_ro_js\"\n\t],\n\t\"./rof.js\": [\n\t\t49296,\n\t\t\"node_modules_angular_common_locales_global_rof_js\"\n\t],\n\t\"./ru-BY.js\": [\n\t\t50668,\n\t\t\"node_modules_angular_common_locales_global_ru-BY_js\"\n\t],\n\t\"./ru-KG.js\": [\n\t\t73427,\n\t\t\"node_modules_angular_common_locales_global_ru-KG_js\"\n\t],\n\t\"./ru-KZ.js\": [\n\t\t85518,\n\t\t\"node_modules_angular_common_locales_global_ru-KZ_js\"\n\t],\n\t\"./ru-MD.js\": [\n\t\t89182,\n\t\t\"node_modules_angular_common_locales_global_ru-MD_js\"\n\t],\n\t\"./ru-UA.js\": [\n\t\t65025,\n\t\t\"node_modules_angular_common_locales_global_ru-UA_js\"\n\t],\n\t\"./ru.js\": [\n\t\t62630,\n\t\t\"node_modules_angular_common_locales_global_ru_js\"\n\t],\n\t\"./rw.js\": [\n\t\t60213,\n\t\t\"node_modules_angular_common_locales_global_rw_js\"\n\t],\n\t\"./rwk.js\": [\n\t\t73083,\n\t\t\"node_modules_angular_common_locales_global_rwk_js\"\n\t],\n\t\"./sa.js\": [\n\t\t16138,\n\t\t\"node_modules_angular_common_locales_global_sa_js\"\n\t],\n\t\"./sah.js\": [\n\t\t17125,\n\t\t\"node_modules_angular_common_locales_global_sah_js\"\n\t],\n\t\"./saq.js\": [\n\t\t12295,\n\t\t\"node_modules_angular_common_locales_global_saq_js\"\n\t],\n\t\"./sat-Olck.js\": [\n\t\t75262,\n\t\t\"node_modules_angular_common_locales_global_sat-Olck_js\"\n\t],\n\t\"./sat.js\": [\n\t\t73688,\n\t\t\"node_modules_angular_common_locales_global_sat_js\"\n\t],\n\t\"./sbp.js\": [\n\t\t30639,\n\t\t\"node_modules_angular_common_locales_global_sbp_js\"\n\t],\n\t\"./sc.js\": [\n\t\t16141,\n\t\t\"node_modules_angular_common_locales_global_sc_js\"\n\t],\n\t\"./sd-Arab.js\": [\n\t\t37482,\n\t\t\"node_modules_angular_common_locales_global_sd-Arab_js\"\n\t],\n\t\"./sd-Deva.js\": [\n\t\t61234,\n\t\t\"node_modules_angular_common_locales_global_sd-Deva_js\"\n\t],\n\t\"./sd.js\": [\n\t\t96392,\n\t\t\"node_modules_angular_common_locales_global_sd_js\"\n\t],\n\t\"./se-FI.js\": [\n\t\t16654,\n\t\t\"node_modules_angular_common_locales_global_se-FI_js\"\n\t],\n\t\"./se-SE.js\": [\n\t\t48449,\n\t\t\"node_modules_angular_common_locales_global_se-SE_js\"\n\t],\n\t\"./se.js\": [\n\t\t53056,\n\t\t\"node_modules_angular_common_locales_global_se_js\"\n\t],\n\t\"./seh.js\": [\n\t\t6620,\n\t\t\"node_modules_angular_common_locales_global_seh_js\"\n\t],\n\t\"./ses.js\": [\n\t\t36166,\n\t\t\"node_modules_angular_common_locales_global_ses_js\"\n\t],\n\t\"./sg.js\": [\n\t\t56247,\n\t\t\"node_modules_angular_common_locales_global_sg_js\"\n\t],\n\t\"./shi-Latn.js\": [\n\t\t12054,\n\t\t\"node_modules_angular_common_locales_global_shi-Latn_js\"\n\t],\n\t\"./shi-Tfng.js\": [\n\t\t41226,\n\t\t\"node_modules_angular_common_locales_global_shi-Tfng_js\"\n\t],\n\t\"./shi.js\": [\n\t\t23789,\n\t\t\"node_modules_angular_common_locales_global_shi_js\"\n\t],\n\t\"./si.js\": [\n\t\t76916,\n\t\t\"node_modules_angular_common_locales_global_si_js\"\n\t],\n\t\"./sk.js\": [\n\t\t23702,\n\t\t\"node_modules_angular_common_locales_global_sk_js\"\n\t],\n\t\"./sl.js\": [\n\t\t26998,\n\t\t\"node_modules_angular_common_locales_global_sl_js\"\n\t],\n\t\"./smn.js\": [\n\t\t39024,\n\t\t\"node_modules_angular_common_locales_global_smn_js\"\n\t],\n\t\"./sn.js\": [\n\t\t31357,\n\t\t\"node_modules_angular_common_locales_global_sn_js\"\n\t],\n\t\"./so-DJ.js\": [\n\t\t12733,\n\t\t\"node_modules_angular_common_locales_global_so-DJ_js\"\n\t],\n\t\"./so-ET.js\": [\n\t\t59400,\n\t\t\"node_modules_angular_common_locales_global_so-ET_js\"\n\t],\n\t\"./so-KE.js\": [\n\t\t24252,\n\t\t\"node_modules_angular_common_locales_global_so-KE_js\"\n\t],\n\t\"./so.js\": [\n\t\t88186,\n\t\t\"node_modules_angular_common_locales_global_so_js\"\n\t],\n\t\"./sq-MK.js\": [\n\t\t84864,\n\t\t\"node_modules_angular_common_locales_global_sq-MK_js\"\n\t],\n\t\"./sq-XK.js\": [\n\t\t9250,\n\t\t\"node_modules_angular_common_locales_global_sq-XK_js\"\n\t],\n\t\"./sq.js\": [\n\t\t93914,\n\t\t\"node_modules_angular_common_locales_global_sq_js\"\n\t],\n\t\"./sr-Cyrl-BA.js\": [\n\t\t95562,\n\t\t\"node_modules_angular_common_locales_global_sr-Cyrl-BA_js\"\n\t],\n\t\"./sr-Cyrl-ME.js\": [\n\t\t98954,\n\t\t\"node_modules_angular_common_locales_global_sr-Cyrl-ME_js\"\n\t],\n\t\"./sr-Cyrl-XK.js\": [\n\t\t65042,\n\t\t\"node_modules_angular_common_locales_global_sr-Cyrl-XK_js\"\n\t],\n\t\"./sr-Cyrl.js\": [\n\t\t78269,\n\t\t\"node_modules_angular_common_locales_global_sr-Cyrl_js\"\n\t],\n\t\"./sr-Latn-BA.js\": [\n\t\t81064,\n\t\t\"node_modules_angular_common_locales_global_sr-Latn-BA_js\"\n\t],\n\t\"./sr-Latn-ME.js\": [\n\t\t9267,\n\t\t\"node_modules_angular_common_locales_global_sr-Latn-ME_js\"\n\t],\n\t\"./sr-Latn-XK.js\": [\n\t\t35517,\n\t\t\"node_modules_angular_common_locales_global_sr-Latn-XK_js\"\n\t],\n\t\"./sr-Latn.js\": [\n\t\t85393,\n\t\t\"node_modules_angular_common_locales_global_sr-Latn_js\"\n\t],\n\t\"./sr.js\": [\n\t\t80085,\n\t\t\"node_modules_angular_common_locales_global_sr_js\"\n\t],\n\t\"./su-Latn.js\": [\n\t\t68695,\n\t\t\"node_modules_angular_common_locales_global_su-Latn_js\"\n\t],\n\t\"./su.js\": [\n\t\t25924,\n\t\t\"node_modules_angular_common_locales_global_su_js\"\n\t],\n\t\"./sv-AX.js\": [\n\t\t45491,\n\t\t\"node_modules_angular_common_locales_global_sv-AX_js\"\n\t],\n\t\"./sv-FI.js\": [\n\t\t84027,\n\t\t\"node_modules_angular_common_locales_global_sv-FI_js\"\n\t],\n\t\"./sv.js\": [\n\t\t89393,\n\t\t\"node_modules_angular_common_locales_global_sv_js\"\n\t],\n\t\"./sw-CD.js\": [\n\t\t84121,\n\t\t\"node_modules_angular_common_locales_global_sw-CD_js\"\n\t],\n\t\"./sw-KE.js\": [\n\t\t91942,\n\t\t\"node_modules_angular_common_locales_global_sw-KE_js\"\n\t],\n\t\"./sw-UG.js\": [\n\t\t28575,\n\t\t\"node_modules_angular_common_locales_global_sw-UG_js\"\n\t],\n\t\"./sw.js\": [\n\t\t31348,\n\t\t\"node_modules_angular_common_locales_global_sw_js\"\n\t],\n\t\"./ta-LK.js\": [\n\t\t23706,\n\t\t\"node_modules_angular_common_locales_global_ta-LK_js\"\n\t],\n\t\"./ta-MY.js\": [\n\t\t43348,\n\t\t\"node_modules_angular_common_locales_global_ta-MY_js\"\n\t],\n\t\"./ta-SG.js\": [\n\t\t6867,\n\t\t\"node_modules_angular_common_locales_global_ta-SG_js\"\n\t],\n\t\"./ta.js\": [\n\t\t54559,\n\t\t\"node_modules_angular_common_locales_global_ta_js\"\n\t],\n\t\"./te.js\": [\n\t\t41775,\n\t\t\"node_modules_angular_common_locales_global_te_js\"\n\t],\n\t\"./teo-KE.js\": [\n\t\t84992,\n\t\t\"node_modules_angular_common_locales_global_teo-KE_js\"\n\t],\n\t\"./teo.js\": [\n\t\t36719,\n\t\t\"node_modules_angular_common_locales_global_teo_js\"\n\t],\n\t\"./tg.js\": [\n\t\t78979,\n\t\t\"node_modules_angular_common_locales_global_tg_js\"\n\t],\n\t\"./th.js\": [\n\t\t82378,\n\t\t\"node_modules_angular_common_locales_global_th_js\"\n\t],\n\t\"./ti-ER.js\": [\n\t\t17288,\n\t\t\"node_modules_angular_common_locales_global_ti-ER_js\"\n\t],\n\t\"./ti.js\": [\n\t\t60349,\n\t\t\"node_modules_angular_common_locales_global_ti_js\"\n\t],\n\t\"./tk.js\": [\n\t\t65736,\n\t\t\"node_modules_angular_common_locales_global_tk_js\"\n\t],\n\t\"./to.js\": [\n\t\t70874,\n\t\t\"node_modules_angular_common_locales_global_to_js\"\n\t],\n\t\"./tr-CY.js\": [\n\t\t22913,\n\t\t\"node_modules_angular_common_locales_global_tr-CY_js\"\n\t],\n\t\"./tr.js\": [\n\t\t8734,\n\t\t\"node_modules_angular_common_locales_global_tr_js\"\n\t],\n\t\"./tt.js\": [\n\t\t88659,\n\t\t\"node_modules_angular_common_locales_global_tt_js\"\n\t],\n\t\"./twq.js\": [\n\t\t79754,\n\t\t\"node_modules_angular_common_locales_global_twq_js\"\n\t],\n\t\"./tzm.js\": [\n\t\t50794,\n\t\t\"node_modules_angular_common_locales_global_tzm_js\"\n\t],\n\t\"./ug.js\": [\n\t\t84010,\n\t\t\"node_modules_angular_common_locales_global_ug_js\"\n\t],\n\t\"./uk.js\": [\n\t\t14653,\n\t\t\"node_modules_angular_common_locales_global_uk_js\"\n\t],\n\t\"./und.js\": [\n\t\t89823,\n\t\t\"node_modules_angular_common_locales_global_und_js\"\n\t],\n\t\"./ur-IN.js\": [\n\t\t42183,\n\t\t\"node_modules_angular_common_locales_global_ur-IN_js\"\n\t],\n\t\"./ur.js\": [\n\t\t12397,\n\t\t\"node_modules_angular_common_locales_global_ur_js\"\n\t],\n\t\"./uz-Arab.js\": [\n\t\t79478,\n\t\t\"node_modules_angular_common_locales_global_uz-Arab_js\"\n\t],\n\t\"./uz-Cyrl.js\": [\n\t\t41793,\n\t\t\"node_modules_angular_common_locales_global_uz-Cyrl_js\"\n\t],\n\t\"./uz-Latn.js\": [\n\t\t80844,\n\t\t\"node_modules_angular_common_locales_global_uz-Latn_js\"\n\t],\n\t\"./uz.js\": [\n\t\t69507,\n\t\t\"node_modules_angular_common_locales_global_uz_js\"\n\t],\n\t\"./vai-Latn.js\": [\n\t\t70959,\n\t\t\"node_modules_angular_common_locales_global_vai-Latn_js\"\n\t],\n\t\"./vai-Vaii.js\": [\n\t\t66930,\n\t\t\"node_modules_angular_common_locales_global_vai-Vaii_js\"\n\t],\n\t\"./vai.js\": [\n\t\t3125,\n\t\t\"node_modules_angular_common_locales_global_vai_js\"\n\t],\n\t\"./vi.js\": [\n\t\t47926,\n\t\t\"node_modules_angular_common_locales_global_vi_js\"\n\t],\n\t\"./vun.js\": [\n\t\t26599,\n\t\t\"node_modules_angular_common_locales_global_vun_js\"\n\t],\n\t\"./wae.js\": [\n\t\t45886,\n\t\t\"node_modules_angular_common_locales_global_wae_js\"\n\t],\n\t\"./wo.js\": [\n\t\t12691,\n\t\t\"node_modules_angular_common_locales_global_wo_js\"\n\t],\n\t\"./xh.js\": [\n\t\t21914,\n\t\t\"node_modules_angular_common_locales_global_xh_js\"\n\t],\n\t\"./xog.js\": [\n\t\t28798,\n\t\t\"node_modules_angular_common_locales_global_xog_js\"\n\t],\n\t\"./yav.js\": [\n\t\t39807,\n\t\t\"node_modules_angular_common_locales_global_yav_js\"\n\t],\n\t\"./yi.js\": [\n\t\t61206,\n\t\t\"node_modules_angular_common_locales_global_yi_js\"\n\t],\n\t\"./yo-BJ.js\": [\n\t\t30267,\n\t\t\"node_modules_angular_common_locales_global_yo-BJ_js\"\n\t],\n\t\"./yo.js\": [\n\t\t9171,\n\t\t\"node_modules_angular_common_locales_global_yo_js\"\n\t],\n\t\"./yrl-CO.js\": [\n\t\t44745,\n\t\t\"node_modules_angular_common_locales_global_yrl-CO_js\"\n\t],\n\t\"./yrl-VE.js\": [\n\t\t42749,\n\t\t\"node_modules_angular_common_locales_global_yrl-VE_js\"\n\t],\n\t\"./yrl.js\": [\n\t\t28407,\n\t\t\"node_modules_angular_common_locales_global_yrl_js\"\n\t],\n\t\"./yue-Hans.js\": [\n\t\t89065,\n\t\t\"node_modules_angular_common_locales_global_yue-Hans_js\"\n\t],\n\t\"./yue-Hant.js\": [\n\t\t8000,\n\t\t\"node_modules_angular_common_locales_global_yue-Hant_js\"\n\t],\n\t\"./yue.js\": [\n\t\t84133,\n\t\t\"node_modules_angular_common_locales_global_yue_js\"\n\t],\n\t\"./zgh.js\": [\n\t\t70454,\n\t\t\"node_modules_angular_common_locales_global_zgh_js\"\n\t],\n\t\"./zh-Hans-HK.js\": [\n\t\t77482,\n\t\t\"node_modules_angular_common_locales_global_zh-Hans-HK_js\"\n\t],\n\t\"./zh-Hans-MO.js\": [\n\t\t99719,\n\t\t\"node_modules_angular_common_locales_global_zh-Hans-MO_js\"\n\t],\n\t\"./zh-Hans-SG.js\": [\n\t\t36154,\n\t\t\"node_modules_angular_common_locales_global_zh-Hans-SG_js\"\n\t],\n\t\"./zh-Hans.js\": [\n\t\t73410,\n\t\t\"node_modules_angular_common_locales_global_zh-Hans_js\"\n\t],\n\t\"./zh-Hant-HK.js\": [\n\t\t66656,\n\t\t\"node_modules_angular_common_locales_global_zh-Hant-HK_js\"\n\t],\n\t\"./zh-Hant-MO.js\": [\n\t\t78431,\n\t\t\"node_modules_angular_common_locales_global_zh-Hant-MO_js\"\n\t],\n\t\"./zh-Hant.js\": [\n\t\t57998,\n\t\t\"node_modules_angular_common_locales_global_zh-Hant_js\"\n\t],\n\t\"./zh.js\": [\n\t\t87444,\n\t\t\"node_modules_angular_common_locales_global_zh_js\"\n\t],\n\t\"./zu.js\": [\n\t\t56380,\n\t\t\"node_modules_angular_common_locales_global_zu_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 = 6790;\nmodule.exports = webpackAsyncContext;"],"names":["Renderer2","LOCALE_ID","EventTypes","RouteConstants","i0","AppComponent","constructor","locale","config","layoutService","authGuardMsgService","authService","interceptorMsgService","eventService","title","translateService","chartService","renderer","pageHeader","pageTitle","pageIcon","iconLink","confirmDialogRequired","pullDownItems","breadcrumbItems","primeng","userDeniedPermissionSubscription","userDeniedPermission","subscribe","data","openAccessDeniedDialog","profileCheck","isUserDataLoaded$Subscription","isUserDataLoaded$","s","isUserDataLoaded","userLanguage","getUserLanguage","isLoadingSubscription","isLoading","setTimeout","loading","isGraphLoadingSubscription","isGraphLoading","enableText","setTitle","instant","openBuildNewResultViewSubscription","listen","BuildNewResultView","eventData","openBuildNewResultsModal","isBuildNewResultsModalEdit","isEdit","globalErrorHandlingEventSubscripion","GlobalServiceError","handleGlobalError","ngOnInit","layoutChanges","layout","displayTemplate","setDefaultLang","setLocale","isErrorDialogDisplayed","closedFromRetry","isTimeoutError","setIsGraphLoading","IsTimeout","errorMessage","retry","openGlobalErrorDialog","execute","technicalErrorReasonMessage","technicalErrorSupportMessage","correlationId","CorrelationId","onCloseGlobalErrorDialog","ngAfterViewInit","loader","selectRootElement","setStyle","preconditionFailed","isPreconditionFailure","unKnownProfile","lang","use","dayNamesMin","monthNames","monthNamesShort","days","JSON","parse","months","monthShort","setTranslation","ngOnDestroy","unsubscribe","setApplicationTitleSubscription","isLoggedIn","closeErrorDialog","retryProfile","location","reload","getPage","window","href","includes","GraphsAndChartsPath","selectors","decls","vars","consts","template","ctx","StoreKeys","EventBuildNewResults","NavigationEnd","filter","AppRoute","AppHeaderComponent","appConfigService","router","storeService","configurationService","translate","ConfigurationsLoaded","setNavigationMenus","events","pipe","event","url","indexOf","activeRoute","appRoute","Impersonate","getUserName","isConfigurationsLoaded$","res","_","Get","UserDetails","userName","name","getSupportUri","menuItems","some","item","code","forEach","redirectTo","navigate","then","result","navigationUri","logout","openNewResultViewModal","isPreview","broadCast","getEolHomePage","navItems","configurations","useResults","label","icon","expanded","styleClass","items","routerLink","ResultsHomePath","ManageResultViewPath","command","enableGraphsAndCharts","length","push","documentsMenuItem","find","i","separator","isImpersonatedUser","EolBaseUrl","target","concat","Injector","AnalyticsService","AnalyticsServiceProvider","injector","initialize","provider","get","factory","providedIn","AnalyticsSources","NoAnalytics","logPageView","path","options","console","log","LOG_MESSAGE","logEvent","action","category","value","logAppView","screen","appName","appId","appVersion","installerId","OAuthInfoEvent","OAuthErrorEvent","OAuthSuccessEvent","environment","BehaviorSubject","UserProfileModel","map","DOCUMENT","StoreKey","OAuthInfoEventTypes","GraphTypes","AuthService","oauthService","analyticsService","fieldDefinitionService","resultSearchService","cookieService","sessionRevocationService","cookieStateService","document","removeUserStateCookie","logOut","login","setConfiguration","enableAuthentication","toPromise","type","Logout","TokenExpire","getValidIdTokenMessage","stringify","tryLogin","currentRedirectUri","hasValidAccessToken","check","redirectUri","configuration","oauthConfiguration","delete","defaultView","checkRedirectUrlMatching","createCookie","initLoginFlow","performPostAuthenticationChecks","userDetails","trackingConsent","undefined","getRoutePath","Promise","resolve","authConfig","responseType","loadDiscoveryDocumentAndTryLogin","getInitialData","doSessionBackgroundCheck","setDefinitions","setResultsDefinitions","ParameterTrend","ParameterTrendFilterDefinitions","ParameterTrendPrefDefinitions","loadConfigurations","initializeSearch","browserLanguage","getBrowserLang","getSystemInitialData","setLocalization","profile","translationDetail","getUserDetailsFromService","unknownProfile","next","getConfigurations","response","Save","ShowAggregatedColumnsinDownload","showAggregatedColumnsinDownload","UseSpecificExport","useSpecificExport","UseComplianceAssessment","useComplianceAssessment","EnableGraphsAndCharts","EnableParameterTrend","enableParameterTrend","EnableResultConformity","enableResultsConformity","EnableReceivedSampleStatus","enableReceivedSampleStatus","uiStartDate","getUIStartDate","systemData","canManagePublicViews","languageCode","translations","currentLang","setupAuthConfig","dopSessionConfig","setSessionRevocationConfig","setInit","configure","getPostLogoutRedirectUrl","postLogoutRedirectUri","getRedirectUrl","getAccessToken","getIdToken","getClaims","getIdentityClaims","hasValidIdToken","expirydate","Date","setSeconds","getSeconds","set","revokeSession","getSessionId","handleLogout","checkSessionStatus","isRevoked","error","idClaims","getUserDetails","impersonatedData","getState","isImpersonated","issuerUri","issuer","substring","uri","language","EventEmitter","SimpleChanges","TreeItem","TreeModel","ViewConfiguration","PicklistTranslationModel","ColumnCapability","ctx_r0","AssignFieldsComponent","fieldConfigurationService","setPageHeader","viewConfiguration","selectedItems","treeModel","resetTreeItems","getFieldDefinitions","updateSelectedItemsSubscription","UpdateSelectedFields","sort","a","b","columns","id","setTranslations","fieldConfigurationsChangedSubscription","getDefinitions","definitions","Object","assign","mapTreeModel","groups","e","user","localeCompare","FieldConfigurationsChanged","editResults","editResultsFields","isReset","default","fieldConfig","view","fields","getOwnPropertyNames","field","obj","exclude","moveSelectedItemById","si","ExportOnly","selectedForMoreAction","fieldGroups","treeItems","fieldGroup","treeItem","fieldDescription","dataItem","pickListTranslations","availableFieldsTitle","eiAvailableFields","addAllTitle","eiAddAll","removeAllTitle","eiRemoveAll","selectedItemsTitle","eiSelectedFields","displaySelectionBoxTitle","eiDownloadOnly","displaySelectionBoxNote","eiDownloadOnlyNote","searchTextNote","eiSeachTextNote","search","eiSearch","confirmFieldMovement","confirmMovement","cancelFieldMovement","cancelMovement","ngOnChanges","simpleChanges","currentValue","onSelectedItemsChange","isEnabledContinue","emit","onApply","inputs","outputs","features","GridTemplate","SystemDataLoadEvent","FieldDefinitionCachedService","Definitions","getGraphDefinitions","templateName","key","getDefinitionsForGraph","getGraphPreferences","getPreferencesForGraph","isFieldDefinitionsLoaded","SystemDataLoaded","filterKey","prefKey","getFieldDetails","Sample","toLowerCase","SampleDetailFields","Order","OrderDetailFields","Fields","collectFields","QuickAssessmentResponse","FieldSearchResponse","ListValue","SearchRequest","SearchResponse","FieldSearchRequest","Observable","throwError","catchError","HttpHeaders","HttpErrorResponse","ListData","ExportConstants","HttpStatusCode","ErrorEventModel","ServiceMethod","HandleTechnicalError","HandleTimeout","TestStatus","ResultsSearchService","dataService","serviceMehod","isFunctional","responses","message","setFunctionalErrors","apiConfig","resultsSearchServiceBaseUrl","head","SearchResults","request","put","SearchResultsData","headers","headerInfo","getHeader","properties","count","SampleAttachmentList","CompareSamplesData","cancelled","nonCancelled","references","ref","Cancelled","ResultValue","x","TestCode","ParameterName","y","ResultUnit","pagination","DownloadAttachments","observe","getOrderAttachments","apiUrl","post","DownloadARAttachments","SearchFilterResults","selectedValues","selectedValuesCollection","size","filterItemsPerPage","hasMoreResults","keys","values","text","isApplied","exportResult","exportFormat","accept","getAcceptHeader","availableAssessments","handleError","AssessmentOptions","assessmentSettings","SampleAssessmentSummary","performComplianceAssessment","DownloadAssessment","performQuickAssessment","fileResponse","sampleCount","QuickAssessment","availableExportOptions","ExportOptions","getExportSettings","exportCode","ExportSettings","performExport","PerformExport","performQuickExport","QuickExport","samplesCount","countRequest","Excel","Csv","status","BAD_REQUEST","INTERNAL_SERVER_ERROR","ServiceError","getMessage"],"sourceRoot":"webpack:///","x_google_ignoreList":[132]}